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 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.0" , '-v, --version');
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 fast = await Promise.any(REMOTES.map((remote) => {
142
- const url = `${remote}/${repository}/archive/refs/heads/master.zip`;
143
- return axios__default["default"]({
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 getFastNodeUrl() {
777
- const loading = ora__default["default"]('正在选择 Node.js 网址');
778
- loading.start();
779
- try {
780
- const fast = await Promise.any(NODEJS_URLS.map((url) => axios__default["default"]({
781
- url,
782
- method: 'HEAD',
783
- timeout: 15 * 1000,
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, _b, _c;
781
+ var _a;
782
+ const loading = ora__default["default"]('正在获取 Node.js lts 版本号');
783
+ loading.start();
795
784
  try {
796
- const url = await getFastNodeUrl();
797
- if (!url) {
798
- return;
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
- const html = (await axios__default["default"].get(url)).data;
801
- const version = (_b = (_a = html.match(/<strong>(.*)<\/strong>/)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
802
- console.log(`当前 Node.js 的 lts 版本为 ${version}`);
803
- return (_c = version === null || version === void 0 ? void 0 : version.split('.')) === null || _c === void 0 ? void 0 : _c[0];
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.1",
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": "^22.0.1",
36
- "@rollup/plugin-json": "^4.1.0",
37
- "@rollup/plugin-node-resolve": "^14.0.0",
38
- "@rollup/plugin-replace": "^4.0.0",
39
- "@rollup/plugin-typescript": "^8.0.0",
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",