cmyr-template-cli 1.14.1 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/plopfile.js +39 -34
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
|
13
13
|
|
|
14
14
|
const program = new commander.Command('ct')
|
|
15
15
|
.description('草梅项目创建器');
|
|
16
|
-
program.version("1.14.
|
|
16
|
+
program.version("1.14.1" , '-v, --version');
|
|
17
17
|
const args = process.argv.slice(2);
|
|
18
18
|
if (args.length === 0) {
|
|
19
19
|
args.push('create');
|
package/dist/plopfile.js
CHANGED
|
@@ -57,6 +57,7 @@ const NODEJS_URLS = [
|
|
|
57
57
|
'https://nodejs.org/zh-cn/download/',
|
|
58
58
|
'http://nodejs.cn/download/',
|
|
59
59
|
];
|
|
60
|
+
const NODE_INDEX_URL = 'https://cdn.npmmirror.com/binaries/node/index.json';
|
|
60
61
|
const REMOTES = [
|
|
61
62
|
'https://github.com',
|
|
62
63
|
'https://hub.fastgit.xyz',
|
|
@@ -138,16 +139,9 @@ async function getFastGitRepo(repository) {
|
|
|
138
139
|
const loading = ora__default["default"](`正在选择镜像源 - ${repository}`);
|
|
139
140
|
loading.start();
|
|
140
141
|
try {
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
url,
|
|
145
|
-
method: 'HEAD',
|
|
146
|
-
timeout: 15 * 1000,
|
|
147
|
-
});
|
|
148
|
-
}));
|
|
149
|
-
loading.succeed(`成功选择了镜像源 - ${fast.config.url}`);
|
|
150
|
-
return `direct:${fast.config.url}`;
|
|
142
|
+
const fastUrl = await getFastUrl(REMOTES.map((remote) => `${remote}/${repository}/archive/refs/heads/master.zip`));
|
|
143
|
+
loading.succeed(`成功选择了镜像源 - ${fastUrl}`);
|
|
144
|
+
return `direct:${fastUrl}`;
|
|
151
145
|
}
|
|
152
146
|
catch (error) {
|
|
153
147
|
console.error(error);
|
|
@@ -773,40 +767,51 @@ async function getAuthorWebsiteFromGithubAPI(githubUsername) {
|
|
|
773
767
|
return '';
|
|
774
768
|
}
|
|
775
769
|
}
|
|
776
|
-
async function
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
loading.succeed(`成功选择了 Node.js 网址 - ${fast.config.url}`);
|
|
786
|
-
return fast.config.url;
|
|
787
|
-
}
|
|
788
|
-
catch (error) {
|
|
789
|
-
console.error(error);
|
|
790
|
-
loading.fail('选择 Node.js 网址失败!');
|
|
791
|
-
}
|
|
770
|
+
async function getLtsNodeVersionByIndexJson() {
|
|
771
|
+
var _a, _b, _c;
|
|
772
|
+
const resp = await axios__default["default"].get(NODE_INDEX_URL);
|
|
773
|
+
return (_c = (_b = (_a = resp.data) === null || _a === void 0 ? void 0 : _a.find((e) => e.lts)) === null || _b === void 0 ? void 0 : _b.version) === null || _c === void 0 ? void 0 : _c.replace('v', '');
|
|
774
|
+
}
|
|
775
|
+
async function getLtsNodeVersionByHtml(url) {
|
|
776
|
+
var _a, _b;
|
|
777
|
+
const html = (await axios__default["default"].get(url)).data;
|
|
778
|
+
return (_b = (_a = html.match(/<strong>(.*)<\/strong>/)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
|
|
792
779
|
}
|
|
793
780
|
async function getLtsNodeVersion() {
|
|
794
|
-
var _a
|
|
781
|
+
var _a;
|
|
782
|
+
const loading = ora__default["default"]('正在获取 Node.js lts 版本号');
|
|
783
|
+
loading.start();
|
|
795
784
|
try {
|
|
796
|
-
const
|
|
797
|
-
|
|
798
|
-
|
|
785
|
+
const fastUrl = await getFastUrl([...NODEJS_URLS, NODE_INDEX_URL]);
|
|
786
|
+
loading.succeed(`成功选择了 Node.js 网址 - ${fastUrl}`);
|
|
787
|
+
let version = '';
|
|
788
|
+
if (fastUrl === NODE_INDEX_URL) {
|
|
789
|
+
version = await getLtsNodeVersionByIndexJson();
|
|
799
790
|
}
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
791
|
+
else {
|
|
792
|
+
version = await getLtsNodeVersionByHtml(fastUrl);
|
|
793
|
+
}
|
|
794
|
+
console.log(`获取 Node.js lts 版本号成功,版本号为 ${version}`);
|
|
795
|
+
return (_a = version === null || version === void 0 ? void 0 : version.split('.')) === null || _a === void 0 ? void 0 : _a[0];
|
|
804
796
|
}
|
|
805
797
|
catch (error) {
|
|
806
798
|
console.error(error);
|
|
799
|
+
loading.fail('获取 Node.js lts 版本号失败');
|
|
807
800
|
return '';
|
|
808
801
|
}
|
|
809
802
|
}
|
|
803
|
+
async function getFastUrl(urls) {
|
|
804
|
+
var _a;
|
|
805
|
+
const fast = await Promise.any(urls.map((url) => axios__default["default"]({
|
|
806
|
+
url,
|
|
807
|
+
method: 'HEAD',
|
|
808
|
+
timeout: 15 * 1000,
|
|
809
|
+
headers: {
|
|
810
|
+
'Accept-Encoding': '',
|
|
811
|
+
},
|
|
812
|
+
})));
|
|
813
|
+
return (_a = fast === null || fast === void 0 ? void 0 : fast.config) === null || _a === void 0 ? void 0 : _a.url;
|
|
814
|
+
}
|
|
810
815
|
async function getNpmPackageVersion(name) {
|
|
811
816
|
const version = (await asyncExec(`${PACKAGE_MANAGER} view ${name} version`)) || '';
|
|
812
817
|
return version.trim();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cmyr-template-cli",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
4
4
|
"description": "草梅友仁自制的项目模板创建器",
|
|
5
5
|
"author": "CaoMeiYouRen",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"build:prod": "npm run build && rimraf temp && cross-env NODE_ENV=production ct create"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@rollup/plugin-commonjs": "^
|
|
36
|
-
"@rollup/plugin-json": "^
|
|
37
|
-
"@rollup/plugin-node-resolve": "^
|
|
38
|
-
"@rollup/plugin-replace": "^
|
|
39
|
-
"@rollup/plugin-typescript": "^
|
|
35
|
+
"@rollup/plugin-commonjs": "^23.0.0",
|
|
36
|
+
"@rollup/plugin-json": "^5.0.0",
|
|
37
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
38
|
+
"@rollup/plugin-replace": "^5.0.0",
|
|
39
|
+
"@rollup/plugin-typescript": "^9.0.1",
|
|
40
40
|
"@semantic-release/changelog": "^6.0.0",
|
|
41
41
|
"@semantic-release/git": "^10.0.0",
|
|
42
42
|
"@types/debug": "^4.1.5",
|