Browse Source

feat: 更新

master
lkh 4 years ago
parent
commit
f51e6b018f
  1. 1
      .gitignore
  2. 46
      bin/command/create.js
  3. 16
      bin/index.js
  4. 175
      package-lock.json
  5. 5
      package.json

1
.gitignore

@ -1 +1,2 @@
.test .test
node_modules

46
bin/command/create.js

@ -1,4 +1,48 @@
module.exports = async function(projectName, templateType) {
const chalk = require('chalk');
const path = require('path');
const fs = require('fs-extra');
module.exports = function(projectName, templateType) {
console.log('创建项目:', projectName); console.log('创建项目:', projectName);
console.log('类型:', templateType); console.log('类型:', templateType);
/**
* 类型
* 1 platform
* 2 application
* 3 component
*/
console.log(chalk.white('\n 开始初始化... \n'));
return new Promise(async (resolve, reject) => {
// 创建文件目录
const dir = `${projectName}`;
await fs.ensureDir(dir).then(res => {
console.log('创建成功');
console.log(res);
}).catch(err => {
console.log('创建失败');
});
// 复制文件
switch (parseInt(templateType)) {
case 1:
console.log('框架');
console.log(__dirname);
fs.copy(path.join(__dirname, '../../templates/platform'), projectName)
.then(() => console.log('success!'))
.catch(err => console.error(err));
break;
case 2:
console.log('应用');
break;
case 3:
console.log('组件库');
break;
default:
break;
}
});
} }

16
bin/index.js

@ -31,7 +31,17 @@ const templateOpts = [
type: 'list', type: 'list',
name: 'templateType', name: 'templateType',
message: '模板类型', message: '模板类型',
choices: ['platform', 'application', 'component']
choices: [
{
value: 1, name: 'platform 框架模板'
},
{
value: 2, name: 'application 应用模板'
},
{
value: 3, name: 'component 组件库模板'
}
]
} }
]; ];
@ -41,10 +51,8 @@ Cli
.description('通过选择模板类型,创建新的项目') .description('通过选择模板类型,创建新的项目')
.action(async (projectName) => { .action(async (projectName) => {
Prompt.prompt(templateOpts).then(result => { Prompt.prompt(templateOpts).then(result => {
console.log('选择结果:');
console.log(JSON.stringify(result));
// 创建 // 创建
Create(projectName, 1);
Create(projectName, result.templateType);
}) })
}); });

175
package-lock.json

@ -31,22 +31,22 @@
"integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=" "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo="
}, },
"bl": { "bl": {
"version": "4.1.0",
"resolved": "https://r.cnpmjs.org/bl/download/bl-4.1.0.tgz",
"integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=",
"version": "5.0.0",
"resolved": "https://r.cnpmjs.org/bl/download/bl-5.0.0.tgz",
"integrity": "sha1-aSiASkHp2pA0ho4cUMqI8h9XrqI=",
"requires": { "requires": {
"buffer": "^5.5.0",
"buffer": "^6.0.3",
"inherits": "^2.0.4", "inherits": "^2.0.4",
"readable-stream": "^3.4.0" "readable-stream": "^3.4.0"
} }
}, },
"buffer": { "buffer": {
"version": "5.7.1",
"resolved": "https://r.cnpmjs.org/buffer/download/buffer-5.7.1.tgz",
"integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=",
"version": "6.0.3",
"resolved": "https://r.cnpmjs.org/buffer/download/buffer-6.0.3.tgz",
"integrity": "sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY=",
"requires": { "requires": {
"base64-js": "^1.3.1", "base64-js": "^1.3.1",
"ieee754": "^1.1.13"
"ieee754": "^1.2.1"
} }
}, },
"chalk": { "chalk": {
@ -140,6 +140,21 @@
"escape-string-regexp": "^1.0.5" "escape-string-regexp": "^1.0.5"
} }
}, },
"fs-extra": {
"version": "10.0.0",
"resolved": "https://r.cnpmjs.org/fs-extra/download/fs-extra-10.0.0.tgz",
"integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"graceful-fs": {
"version": "4.2.8",
"resolved": "https://r.cnpmjs.org/graceful-fs/download/graceful-fs-4.2.8.tgz",
"integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo="
},
"has-flag": { "has-flag": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://r.cnpmjs.org/has-flag/download/has-flag-4.0.0.tgz", "resolved": "https://r.cnpmjs.org/has-flag/download/has-flag-4.0.0.tgz",
@ -182,6 +197,62 @@
"string-width": "^4.1.0", "string-width": "^4.1.0",
"strip-ansi": "^6.0.0", "strip-ansi": "^6.0.0",
"through": "^2.3.6" "through": "^2.3.6"
},
"dependencies": {
"bl": {
"version": "4.1.0",
"resolved": "https://r.cnpmjs.org/bl/download/bl-4.1.0.tgz",
"integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=",
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://r.cnpmjs.org/buffer/download/buffer-5.7.1.tgz",
"integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"is-interactive": {
"version": "1.0.0",
"resolved": "https://r.cnpmjs.org/is-interactive/download/is-interactive-1.0.0.tgz",
"integrity": "sha1-zqbmrlyHCnsKAAQHC3tYfgJSkS4="
},
"is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://r.cnpmjs.org/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz",
"integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc="
},
"log-symbols": {
"version": "4.1.0",
"resolved": "https://r.cnpmjs.org/log-symbols/download/log-symbols-4.1.0.tgz",
"integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=",
"requires": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
}
},
"ora": {
"version": "5.4.1",
"resolved": "https://r.cnpmjs.org/ora/download/ora-5.4.1.tgz",
"integrity": "sha1-GyZ4Qmr0rEpQkAjl5KyemVnbnhg=",
"requires": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0",
"is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0",
"log-symbols": "^4.1.0",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
}
}
} }
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
@ -190,14 +261,23 @@
"integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
}, },
"is-interactive": { "is-interactive": {
"version": "1.0.0",
"resolved": "https://r.cnpmjs.org/is-interactive/download/is-interactive-1.0.0.tgz",
"integrity": "sha1-zqbmrlyHCnsKAAQHC3tYfgJSkS4="
"version": "2.0.0",
"resolved": "https://r.cnpmjs.org/is-interactive/download/is-interactive-2.0.0.tgz",
"integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA="
}, },
"is-unicode-supported": { "is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://r.cnpmjs.org/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz",
"integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc="
"version": "1.1.0",
"resolved": "https://r.cnpmjs.org/is-unicode-supported/download/is-unicode-supported-1.1.0.tgz",
"integrity": "sha1-kSe3H5+oL1LKXCDpgue+wO4x7h4="
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://r.cnpmjs.org/jsonfile/download/jsonfile-6.1.0.tgz",
"integrity": "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=",
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
}, },
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.21",
@ -205,12 +285,12 @@
"integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
}, },
"log-symbols": { "log-symbols": {
"version": "4.1.0",
"resolved": "https://r.cnpmjs.org/log-symbols/download/log-symbols-4.1.0.tgz",
"integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=",
"version": "5.0.0",
"resolved": "https://r.cnpmjs.org/log-symbols/download/log-symbols-5.0.0.tgz",
"integrity": "sha1-dyDTxqVsNl4fZYkWBpuhjZQQkso=",
"requires": { "requires": {
"chalk": "^4.1.0", "chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
"is-unicode-supported": "^1.0.0"
} }
}, },
"mimic-fn": { "mimic-fn": {
@ -232,19 +312,51 @@
} }
}, },
"ora": { "ora": {
"version": "5.4.1",
"resolved": "https://r.cnpmjs.org/ora/download/ora-5.4.1.tgz",
"integrity": "sha1-GyZ4Qmr0rEpQkAjl5KyemVnbnhg=",
"version": "6.0.1",
"resolved": "https://r.cnpmjs.org/ora/download/ora-6.0.1.tgz",
"integrity": "sha1-aMqp/WxIWkDW9GxQo5QPo9+Zx/M=",
"requires": { "requires": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0",
"is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0",
"log-symbols": "^4.1.0",
"strip-ansi": "^6.0.0",
"bl": "^5.0.0",
"chalk": "^4.1.2",
"cli-cursor": "^4.0.0",
"cli-spinners": "^2.6.0",
"is-interactive": "^2.0.0",
"is-unicode-supported": "^1.1.0",
"log-symbols": "^5.0.0",
"strip-ansi": "^7.0.1",
"wcwidth": "^1.0.1" "wcwidth": "^1.0.1"
},
"dependencies": {
"ansi-regex": {
"version": "6.0.1",
"resolved": "https://r.cnpmjs.org/ansi-regex/download/ansi-regex-6.0.1.tgz",
"integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo="
},
"cli-cursor": {
"version": "4.0.0",
"resolved": "https://r.cnpmjs.org/cli-cursor/download/cli-cursor-4.0.0.tgz",
"integrity": "sha1-POz+NzS/T+Aqg2HL3A9v4oxqV+o=",
"requires": {
"restore-cursor": "^4.0.0"
}
},
"restore-cursor": {
"version": "4.0.0",
"resolved": "https://r.cnpmjs.org/restore-cursor/download/restore-cursor-4.0.0.tgz",
"integrity": "sha1-UZVgpDGJdQlt725gnUQQDtqkzLk=",
"requires": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
"strip-ansi": {
"version": "7.0.1",
"resolved": "https://r.cnpmjs.org/strip-ansi/download/strip-ansi-7.0.1.tgz",
"integrity": "sha1-YXQKCM42th5Q5lZT8HBg0ACXX7I=",
"requires": {
"ansi-regex": "^6.0.1"
}
}
} }
}, },
"os-tmpdir": { "os-tmpdir": {
@ -356,6 +468,11 @@
"resolved": "https://r.cnpmjs.org/type-fest/download/type-fest-0.21.3.tgz", "resolved": "https://r.cnpmjs.org/type-fest/download/type-fest-0.21.3.tgz",
"integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=" "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc="
}, },
"universalify": {
"version": "2.0.0",
"resolved": "https://r.cnpmjs.org/universalify/download/universalify-2.0.0.tgz",
"integrity": "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc="
},
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://r.cnpmjs.org/util-deprecate/download/util-deprecate-1.0.2.tgz", "resolved": "https://r.cnpmjs.org/util-deprecate/download/util-deprecate-1.0.2.tgz",

5
package.json

@ -16,7 +16,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chalk": "^4.1.2",
"commander": "^8.2.0", "commander": "^8.2.0",
"inquirer": "^8.2.0"
"fs-extra": "^10.0.0",
"inquirer": "^8.2.0",
"ora": "^6.0.1"
} }
} }
Loading…
Cancel
Save