@spcsn/taro-cli 0.1.5 → 1.0.0

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.
Files changed (220) hide show
  1. package/README.md +37 -0
  2. package/define-config.d.ts +1 -0
  3. package/define-config.js +1 -0
  4. package/dist/cli.js +140 -110
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/{customCommand.d.ts → custom-command.d.ts} +1 -1
  7. package/dist/commands/custom-command.js +23 -0
  8. package/dist/commands/custom-command.js.map +1 -0
  9. package/dist/create/creator.js +2 -0
  10. package/dist/create/creator.js.map +1 -1
  11. package/dist/create/{fetchTemplate.js → fetch-template.js} +26 -33
  12. package/dist/create/fetch-template.js.map +1 -0
  13. package/dist/create/project.d.ts +2 -6
  14. package/dist/create/project.js +240 -285
  15. package/dist/create/project.js.map +1 -1
  16. package/dist/create/template-creator.d.ts +75 -0
  17. package/dist/create/template-creator.js +275 -0
  18. package/dist/create/template-creator.js.map +1 -0
  19. package/dist/doctor/validators.d.ts +7 -6
  20. package/dist/doctor/validators.js +6 -7
  21. package/dist/doctor/validators.js.map +1 -1
  22. package/dist/platform-weapp/apis-list.d.ts +1 -0
  23. package/dist/platform-weapp/apis-list.js +37 -0
  24. package/dist/platform-weapp/apis-list.js.map +1 -0
  25. package/dist/platform-weapp/apis.d.ts +16 -0
  26. package/dist/platform-weapp/apis.js +34 -0
  27. package/dist/platform-weapp/apis.js.map +1 -0
  28. package/dist/platform-weapp/components-react.d.ts +80 -0
  29. package/dist/platform-weapp/components-react.js +86 -0
  30. package/dist/platform-weapp/components-react.js.map +1 -0
  31. package/dist/platform-weapp/components.d.ts +4 -0
  32. package/dist/platform-weapp/components.js +520 -0
  33. package/dist/platform-weapp/components.js.map +1 -0
  34. package/dist/platform-weapp/index.d.ts +11 -0
  35. package/dist/platform-weapp/index.js +17 -0
  36. package/dist/platform-weapp/index.js.map +1 -0
  37. package/dist/platform-weapp/program.d.ts +35 -0
  38. package/dist/platform-weapp/program.js +64 -0
  39. package/dist/platform-weapp/program.js.map +1 -0
  40. package/dist/platform-weapp/runtime-utils.d.ts +27 -0
  41. package/dist/platform-weapp/runtime-utils.js +48 -0
  42. package/dist/platform-weapp/runtime-utils.js.map +1 -0
  43. package/dist/platform-weapp/runtime.d.ts +1 -0
  44. package/dist/platform-weapp/runtime.js +7 -0
  45. package/dist/platform-weapp/runtime.js.map +1 -0
  46. package/dist/platform-weapp/template.d.ts +39 -0
  47. package/dist/platform-weapp/template.js +119 -0
  48. package/dist/platform-weapp/template.js.map +1 -0
  49. package/dist/presets/commands/build.js +25 -45
  50. package/dist/presets/commands/build.js.map +1 -1
  51. package/dist/presets/commands/init.js +2 -4
  52. package/dist/presets/commands/init.js.map +1 -1
  53. package/dist/presets/constant/hooks.d.ts +0 -2
  54. package/dist/presets/constant/hooks.js +1 -3
  55. package/dist/presets/constant/hooks.js.map +1 -1
  56. package/dist/presets/files/generate-framework-info.js +68 -0
  57. package/dist/presets/files/generate-framework-info.js.map +1 -0
  58. package/dist/presets/files/{generateProjectConfig.js → generate-project-config.js} +1 -1
  59. package/dist/presets/files/generate-project-config.js.map +1 -0
  60. package/dist/presets/files/{writeFileToDist.js → write-file-to-dist.js} +1 -1
  61. package/dist/presets/files/write-file-to-dist.js.map +1 -0
  62. package/dist/presets/hooks/build.js +1 -3
  63. package/dist/presets/hooks/build.js.map +1 -1
  64. package/dist/presets/index.js +3 -5
  65. package/dist/presets/index.js.map +1 -1
  66. package/dist/util/{appConfig.d.ts → app-config.d.ts} +2 -2
  67. package/dist/util/{appConfig.js → app-config.js} +4 -3
  68. package/dist/util/app-config.js.map +1 -0
  69. package/dist/util/defineConfig.d.ts +5 -5
  70. package/dist/util/defineConfig.js.map +1 -1
  71. package/dist/util/index.d.ts +9 -1
  72. package/dist/util/index.js +54 -23
  73. package/dist/util/index.js.map +1 -1
  74. package/package.json +36 -39
  75. package/postinstall.js +1 -17
  76. package/src/cli.ts +185 -132
  77. package/src/commands/custom-command.ts +22 -0
  78. package/src/create/{fetchTemplate.ts → fetch-template.ts} +30 -35
  79. package/src/create/project.ts +31 -78
  80. package/src/create/template-creator.ts +325 -0
  81. package/src/doctor/validators.js +1 -0
  82. package/src/doctor/validators.ts +8 -6
  83. package/src/platform-weapp/apis-list.ts +33 -0
  84. package/src/platform-weapp/apis.ts +48 -0
  85. package/src/platform-weapp/components-react.ts +81 -0
  86. package/src/platform-weapp/components.ts +521 -0
  87. package/src/platform-weapp/index.ts +25 -0
  88. package/src/platform-weapp/program.ts +70 -0
  89. package/src/platform-weapp/runtime-utils.ts +57 -0
  90. package/src/platform-weapp/runtime.ts +6 -0
  91. package/src/platform-weapp/template.ts +150 -0
  92. package/src/presets/commands/build.ts +20 -40
  93. package/src/presets/commands/init.ts +1 -4
  94. package/src/presets/constant/hooks.js +12 -0
  95. package/src/presets/constant/hooks.ts +0 -2
  96. package/src/presets/files/{generateFrameworkInfo.ts → generate-framework-info.ts} +7 -1
  97. package/src/presets/hooks/build.ts +1 -3
  98. package/src/presets/index.ts +3 -5
  99. package/src/util/app-config.js +1 -0
  100. package/src/util/{appConfig.ts → app-config.ts} +5 -4
  101. package/src/util/defineConfig.ts +6 -6
  102. package/src/util/index.ts +67 -25
  103. package/templates/default/config/dev.js +1 -1
  104. package/templates/default/config/index.js +28 -40
  105. package/templates/default/config/prod.js +1 -1
  106. package/templates/default/package.json.tmpl +2 -17
  107. package/templates/default/types/global.d.ts +0 -4
  108. package/templates/plugin-compile/README.md +3 -1
  109. package/templates/plugin-compile/package.json.tmpl +1 -2
  110. package/templates/plugin-compile/src/index.ts +18 -28
  111. package/LICENSE +0 -174
  112. package/dist/commands/customCommand.js +0 -23
  113. package/dist/commands/customCommand.js.map +0 -1
  114. package/dist/config/packagesManagement.d.ts +0 -19
  115. package/dist/config/packagesManagement.js +0 -22
  116. package/dist/config/packagesManagement.js.map +0 -1
  117. package/dist/create/fetchTemplate.js.map +0 -1
  118. package/dist/create/page.d.ts +0 -65
  119. package/dist/create/page.js +0 -266
  120. package/dist/create/page.js.map +0 -1
  121. package/dist/create/plugin.d.ts +0 -16
  122. package/dist/create/plugin.js +0 -77
  123. package/dist/create/plugin.js.map +0 -1
  124. package/dist/presets/commands/config.js +0 -121
  125. package/dist/presets/commands/config.js.map +0 -1
  126. package/dist/presets/commands/create.js +0 -112
  127. package/dist/presets/commands/create.js.map +0 -1
  128. package/dist/presets/commands/doctor.js +0 -15
  129. package/dist/presets/commands/doctor.js.map +0 -1
  130. package/dist/presets/commands/global-config.d.ts +0 -3
  131. package/dist/presets/commands/global-config.js +0 -175
  132. package/dist/presets/commands/global-config.js.map +0 -1
  133. package/dist/presets/commands/help.d.ts +0 -3
  134. package/dist/presets/commands/help.js +0 -16
  135. package/dist/presets/commands/help.js.map +0 -1
  136. package/dist/presets/commands/info.d.ts +0 -3
  137. package/dist/presets/commands/info.js +0 -96
  138. package/dist/presets/commands/info.js.map +0 -1
  139. package/dist/presets/commands/inspect.d.ts +0 -3
  140. package/dist/presets/commands/inspect.js +0 -155
  141. package/dist/presets/commands/inspect.js.map +0 -1
  142. package/dist/presets/commands/update.d.ts +0 -3
  143. package/dist/presets/commands/update.js +0 -187
  144. package/dist/presets/commands/update.js.map +0 -1
  145. package/dist/presets/files/generateFrameworkInfo.d.ts +0 -3
  146. package/dist/presets/files/generateFrameworkInfo.js +0 -30
  147. package/dist/presets/files/generateFrameworkInfo.js.map +0 -1
  148. package/dist/presets/files/generateProjectConfig.d.ts +0 -3
  149. package/dist/presets/files/generateProjectConfig.js.map +0 -1
  150. package/dist/presets/files/writeFileToDist.d.ts +0 -3
  151. package/dist/presets/files/writeFileToDist.js.map +0 -1
  152. package/dist/presets/hooks/create.d.ts +0 -3
  153. package/dist/presets/hooks/create.js +0 -42
  154. package/dist/presets/hooks/create.js.map +0 -1
  155. package/dist/presets/platforms/plugin.d.ts +0 -3
  156. package/dist/presets/platforms/plugin.js +0 -106
  157. package/dist/presets/platforms/plugin.js.map +0 -1
  158. package/dist/presets/platforms/rn.d.ts +0 -3
  159. package/dist/presets/platforms/rn.js +0 -130
  160. package/dist/presets/platforms/rn.js.map +0 -1
  161. package/dist/util/appConfig.js.map +0 -1
  162. package/dist/util/createPage.d.ts +0 -9
  163. package/dist/util/createPage.js +0 -114
  164. package/dist/util/createPage.js.map +0 -1
  165. package/src/__tests__/__mocks__/presets.ts +0 -15
  166. package/src/__tests__/build-config.spec.ts +0 -66
  167. package/src/__tests__/cli.spec.ts +0 -226
  168. package/src/__tests__/config.spec.ts +0 -224
  169. package/src/__tests__/doctor-config.spec.ts +0 -918
  170. package/src/__tests__/doctor-recommand.spec.ts +0 -136
  171. package/src/__tests__/doctor.spec.ts +0 -94
  172. package/src/__tests__/dotenv-parse.spec.ts +0 -105
  173. package/src/__tests__/env/.env +0 -2
  174. package/src/__tests__/fixtures/default/.env +0 -3
  175. package/src/__tests__/fixtures/default/.env.development +0 -1
  176. package/src/__tests__/fixtures/default/.env.local +0 -1
  177. package/src/__tests__/fixtures/default/.env.pre +0 -3
  178. package/src/__tests__/fixtures/default/.env.production +0 -1
  179. package/src/__tests__/fixtures/default/.env.uat +0 -5
  180. package/src/__tests__/fixtures/default/.env.uat.local +0 -1
  181. package/src/__tests__/fixtures/default/babel.config.js +0 -10
  182. package/src/__tests__/fixtures/default/config/dev.js +0 -9
  183. package/src/__tests__/fixtures/default/config/index.js +0 -84
  184. package/src/__tests__/fixtures/default/config/prod.js +0 -18
  185. package/src/__tests__/fixtures/default/package.json +0 -27
  186. package/src/__tests__/fixtures/default/src/app.config.js +0 -11
  187. package/src/__tests__/fixtures/default/src/app.js +0 -16
  188. package/src/__tests__/fixtures/default/src/app.scss +0 -0
  189. package/src/__tests__/fixtures/default/src/index.html +0 -19
  190. package/src/__tests__/fixtures/default/src/pages/index/index.config.js +0 -3
  191. package/src/__tests__/fixtures/default/src/pages/index/index.jsx +0 -22
  192. package/src/__tests__/fixtures/default/src/pages/index/index.scss +0 -0
  193. package/src/__tests__/info.spec.ts +0 -72
  194. package/src/__tests__/inspect.spec.ts +0 -160
  195. package/src/__tests__/update.spec.ts +0 -310
  196. package/src/__tests__/utils/index.ts +0 -54
  197. package/src/commands/customCommand.ts +0 -22
  198. package/src/config/packagesManagement.ts +0 -20
  199. package/src/config/rn-stylelint.json +0 -4
  200. package/src/create/page.ts +0 -325
  201. package/src/create/plugin.ts +0 -55
  202. package/src/presets/commands/config.ts +0 -86
  203. package/src/presets/commands/create.ts +0 -104
  204. package/src/presets/commands/doctor.ts +0 -21
  205. package/src/presets/commands/global-config.ts +0 -140
  206. package/src/presets/commands/help.ts +0 -17
  207. package/src/presets/commands/info.ts +0 -81
  208. package/src/presets/commands/inspect.ts +0 -137
  209. package/src/presets/commands/update.ts +0 -175
  210. package/src/presets/hooks/create.ts +0 -9
  211. package/src/presets/platforms/plugin.ts +0 -75
  212. package/src/presets/platforms/rn.ts +0 -125
  213. package/src/util/createPage.ts +0 -139
  214. package/templates/default/babel.config.js +0 -14
  215. /package/dist/create/{fetchTemplate.d.ts → fetch-template.d.ts} +0 -0
  216. /package/dist/presets/{commands/config.d.ts → files/generate-framework-info.d.ts} +0 -0
  217. /package/dist/presets/{commands/create.d.ts → files/generate-project-config.d.ts} +0 -0
  218. /package/dist/presets/{commands/doctor.d.ts → files/write-file-to-dist.d.ts} +0 -0
  219. /package/src/presets/files/{generateProjectConfig.ts → generate-project-config.ts} +0 -0
  220. /package/src/presets/files/{writeFileToDist.ts → write-file-to-dist.ts} +0 -0
package/README.md CHANGED
@@ -0,0 +1,37 @@
1
+ # `@spcsn/taro-cli`
2
+
3
+ `@spcsn/taro-cli` 是 Taro Lite 的命令行入口,负责项目初始化、构建、配置检查和运行环境信息输出。
4
+
5
+ ## 包定位
6
+
7
+ - 业务侧公开工具包,可全局安装,也可作为项目 devDependency 使用。
8
+ - 内部编排 `@spcsn/taro-service`、`@spcsn/taro-mini-runner` 和微信小程序平台能力。
9
+ - 业务项目不应直接依赖 CLI 背后的 service、runner、helper 等内部包。
10
+
11
+ ## 安装
12
+
13
+ ```shell
14
+ pnpm add -g @spcsn/taro-cli
15
+ ```
16
+
17
+ ## 使用
18
+
19
+ ```shell
20
+ taro <command> [options]
21
+ ```
22
+
23
+ ## 命令
24
+
25
+ | 命令 | 说明 |
26
+ | --- | --- |
27
+ | `init <name>` | 创建新项目 |
28
+ | `build` | 构建项目 |
29
+ | `config` | 查看或设置全局配置 |
30
+ | `doctor` | 检测项目配置与依赖是否有问题 |
31
+ | `info` | 打印当前环境信息 |
32
+ | `inspect` | 检查 Vite 构建配置 |
33
+ | `update` | 更新 `@spcsn` 相关依赖到最新版本 |
34
+
35
+ ## 支持范围
36
+
37
+ 当前只维护 React 19 开发微信小程序(Skyline / glass-easel)链路,不支持 H5、React Native、Harmony、Vue、Webpack 等上游历史路径。
@@ -0,0 +1 @@
1
+ export * from './dist/util/defineConfig';
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/util/defineConfig.js');
package/dist/cli.js CHANGED
@@ -39,12 +39,95 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const path = __importStar(require("node:path"));
40
40
  const taro_helper_1 = require("@spcsn/taro-helper");
41
41
  const taro_service_1 = require("@spcsn/taro-service");
42
- const minimist_1 = __importDefault(require("minimist"));
43
- const customCommand_1 = __importDefault(require("./commands/customCommand"));
44
- const util_1 = require("./util");
45
- const DISABLE_GLOBAL_CONFIG_COMMANDS = ['global-config', 'doctor', 'update', 'config'];
42
+ const custom_command_1 = __importDefault(require("./commands/custom-command"));
43
+ const index_js_1 = require("./util/index.js");
46
44
  const DEFAULT_FRAMEWORK = 'react';
45
+ const SUPPORTED_COMMANDS = new Set(['build', 'init']);
46
+ const ARG_ALIASES = {
47
+ envPrefix: ['env-prefix'],
48
+ help: ['h'],
49
+ port: ['p'],
50
+ version: ['v'],
51
+ };
52
+ const BOOLEAN_ARGS = new Set(['disable-global-config', 'h', 'help', 'v', 'version']);
53
+ function parseArgValue(value) {
54
+ if (value.trim() !== '' && /^-?\d+(\.\d+)?$/.test(value)) {
55
+ return Number(value);
56
+ }
57
+ return value;
58
+ }
59
+ function setArgValue(args, key, value) {
60
+ args[key] = value;
61
+ for (const [canonicalKey, aliases] of Object.entries(ARG_ALIASES)) {
62
+ if (key === canonicalKey || aliases.includes(key)) {
63
+ args[canonicalKey] = value;
64
+ aliases.forEach((alias) => {
65
+ args[alias] = value;
66
+ });
67
+ return;
68
+ }
69
+ }
70
+ }
71
+ function getStringArg(args, key) {
72
+ const value = args[key];
73
+ return typeof value === 'string' ? value : undefined;
74
+ }
75
+ function getNumberArg(args, key) {
76
+ const value = args[key];
77
+ return typeof value === 'number' ? value : undefined;
78
+ }
79
+ function parseCliArgs(argv) {
80
+ const args = {
81
+ _: [],
82
+ build: true,
83
+ check: true,
84
+ h: false,
85
+ help: false,
86
+ 'inject-global-style': true,
87
+ v: false,
88
+ version: false,
89
+ };
90
+ for (let index = 0; index < argv.length; index++) {
91
+ const item = argv[index];
92
+ if (!item.startsWith('-') || item === '-') {
93
+ args._.push(item);
94
+ continue;
95
+ }
96
+ if (item === '--') {
97
+ args._.push(...argv.slice(index + 1));
98
+ break;
99
+ }
100
+ const normalizedItem = item.replace(/^--?/, '');
101
+ const equalIndex = normalizedItem.indexOf('=');
102
+ const rawKey = equalIndex >= 0 ? normalizedItem.slice(0, equalIndex) : normalizedItem;
103
+ const inlineValue = equalIndex >= 0 ? normalizedItem.slice(equalIndex + 1) : undefined;
104
+ const isNegativeBoolean = rawKey.startsWith('no-');
105
+ const key = isNegativeBoolean ? rawKey.slice(3) : rawKey;
106
+ if (isNegativeBoolean) {
107
+ setArgValue(args, key, false);
108
+ continue;
109
+ }
110
+ if (inlineValue !== undefined) {
111
+ setArgValue(args, key, parseArgValue(inlineValue));
112
+ continue;
113
+ }
114
+ if (BOOLEAN_ARGS.has(key)) {
115
+ setArgValue(args, key, true);
116
+ continue;
117
+ }
118
+ const nextItem = argv[index + 1];
119
+ if (nextItem && !nextItem.startsWith('-')) {
120
+ setArgValue(args, key, parseArgValue(nextItem));
121
+ index++;
122
+ }
123
+ else {
124
+ setArgValue(args, key, true);
125
+ }
126
+ }
127
+ return args;
128
+ }
47
129
  class CLI {
130
+ appPath;
48
131
  constructor(appPath) {
49
132
  this.appPath = appPath || process.cwd();
50
133
  const majorVersion = parseInt(process.version.substring(1).split('.')[0], 10);
@@ -56,57 +139,42 @@ class CLI {
56
139
  return this.parseArgs();
57
140
  }
58
141
  async parseArgs() {
59
- var _a;
60
- const args = (0, minimist_1.default)(process.argv.slice(2), {
61
- alias: {
62
- version: ['v'],
63
- help: ['h'],
64
- port: ['p'],
65
- resetCache: ['reset-cache'], // specially for rn, Removes cached files.
66
- publicPath: ['public-path'], // specially for rn, assets public path.
67
- bundleOutput: ['bundle-output'], // specially for rn, File name where to store the resulting bundle.
68
- sourcemapOutput: ['sourcemap-output'], // specially for rn, File name where to store the sourcemap file for resulting bundle.
69
- sourceMapUrl: ['sourcemap-use-absolute-path'], // specially for rn, Report SourceMapURL using its full path.
70
- sourcemapSourcesRoot: ['sourcemap-sources-root'], // specially for rn, Path to make sourcemaps sources entries relative to.
71
- assetsDest: ['assets-dest'], // specially for rn, Directory name where to store assets referenced in the bundle.
72
- envPrefix: ['env-prefix'],
73
- },
74
- boolean: ['version', 'help', 'disable-global-config'],
75
- default: {
76
- build: true,
77
- check: true,
78
- 'inject-global-style': true,
79
- },
80
- });
142
+ const totalStartMs = index_js_1.cliProfiler.start();
143
+ const parseArgsStartMs = index_js_1.cliProfiler.start();
144
+ const args = parseCliArgs(process.argv.slice(2));
145
+ index_js_1.cliProfiler.end('parse args', parseArgsStartMs);
81
146
  const _ = args._;
82
147
  const command = _[0];
83
148
  if (command) {
84
149
  const appPath = this.appPath;
85
150
  const presetsPath = path.resolve(__dirname, 'presets');
86
151
  const commandsPath = path.resolve(presetsPath, 'commands');
87
- const platformsPath = path.resolve(presetsPath, 'platforms');
88
- const commandPlugins = taro_helper_1.fs.readdirSync(commandsPath);
89
152
  const targetPlugin = `${command}.js`;
153
+ if (!SUPPORTED_COMMANDS.has(command)) {
154
+ console.log('当前 CLI 仅支持 build 和 init 命令。');
155
+ return;
156
+ }
90
157
  // 设置环境变量
91
- (_a = process.env).NODE_ENV || (_a.NODE_ENV = args.env);
92
- if (process.env.NODE_ENV === 'undefined' && (command === 'build' || command === 'inspect')) {
158
+ const env = getStringArg(args, 'env');
159
+ const envPrefix = getStringArg(args, 'envPrefix');
160
+ process.env.NODE_ENV ||= env;
161
+ if (process.env.NODE_ENV === 'undefined' && command === 'build') {
93
162
  process.env.NODE_ENV = args.watch ? 'development' : 'production';
94
163
  }
95
- args.type || (args.type = args.t);
96
- // React-only / weapp-first fork:build/inspect 命令未显式指定 --type 时默认 weapp
97
- if (!args.type && (command === 'build' || command === 'inspect') && typeof args.plugin !== 'string') {
164
+ args.type ||= getStringArg(args, 't');
165
+ if (!args.type && command === 'build') {
98
166
  args.type = 'weapp';
99
167
  }
100
- if (args.type) {
101
- process.env.TARO_ENV = args.type;
168
+ const type = getStringArg(args, 'type');
169
+ if (type) {
170
+ process.env.TARO_ENV = type;
102
171
  }
103
- if (typeof args.plugin === 'string') {
104
- process.env.TARO_ENV = 'plugin';
105
- }
106
- const mode = args.mode || process.env.NODE_ENV;
172
+ const mode = getStringArg(args, 'mode') || process.env.NODE_ENV || 'production';
107
173
  // 这里解析 dotenv 以便于 config 解析时能获取 dotenv 配置信息
108
- const expandEnv = (0, taro_helper_1.dotenvParse)(appPath, args.envPrefix, mode);
109
- const disableGlobalConfig = !!(args['disable-global-config'] || DISABLE_GLOBAL_CONFIG_COMMANDS.includes(command));
174
+ const dotenvStartMs = index_js_1.cliProfiler.start();
175
+ const expandEnv = (0, taro_helper_1.dotenvParse)(appPath, envPrefix, mode);
176
+ index_js_1.cliProfiler.end('dotenv parse', dotenvStartMs);
177
+ const disableGlobalConfig = !!args['disable-global-config'];
110
178
  const configEnv = {
111
179
  mode,
112
180
  command,
@@ -115,38 +183,31 @@ class CLI {
115
183
  appPath: this.appPath,
116
184
  disableGlobalConfig: disableGlobalConfig,
117
185
  });
118
- await config.init(configEnv);
186
+ await index_js_1.cliProfiler.measure('config init', () => config.init(configEnv));
187
+ const kernelStartMs = index_js_1.cliProfiler.start();
119
188
  const kernel = new taro_service_1.Kernel({
120
189
  appPath,
121
190
  presets: [path.resolve(__dirname, '.', 'presets', 'index.js')],
122
191
  config,
123
192
  plugins: [],
124
193
  });
125
- kernel.optsPlugins || (kernel.optsPlugins = []);
194
+ index_js_1.cliProfiler.end('kernel init', kernelStartMs);
195
+ kernel.optsPlugins ||= [];
126
196
  // 将自定义的 变量 添加到 config.env 中,实现 definePlugin 字段定义
127
197
  const initialConfig = kernel.config?.initialConfig;
128
198
  if (initialConfig) {
129
199
  initialConfig.env = (0, taro_helper_1.patchEnv)(initialConfig, expandEnv);
130
200
  }
131
- if (commandPlugins.includes(targetPlugin)) {
132
- // 针对不同的内置命令注册对应的命令插件
133
- kernel.optsPlugins.push(path.resolve(commandsPath, targetPlugin));
134
- }
135
- // 把内置命令插件传递给 kernel,可以暴露给其他插件使用
201
+ kernel.optsPlugins.push(path.resolve(commandsPath, targetPlugin));
136
202
  kernel.cliCommandsPath = commandsPath;
137
- kernel.cliCommands = commandPlugins
138
- .filter((commandFileName) => /^[\w-]+(\.[\w-]+)*\.js$/.test(commandFileName))
139
- .map((fileName) => fileName.replace(/\.js$/, ''));
203
+ kernel.cliCommands = Array.from(SUPPORTED_COMMANDS);
140
204
  switch (command) {
141
- case 'inspect':
142
205
  case 'build': {
143
- let plugin;
144
- let platform = args.type;
145
- const { publicPath, bundleOutput, sourcemapOutput, sourceMapUrl, sourcemapSourcesRoot, assetsDest } = args;
206
+ let platform = getStringArg(args, 'type');
146
207
  // 针对不同的内置平台注册对应的端平台插件
147
208
  switch (platform) {
148
209
  case 'weapp':
149
- kernel.optsPlugins.push(`@spcsn/taro-plugin-platform-${platform}`);
210
+ kernel.optsPlugins.push(path.resolve(__dirname, 'platform-weapp'));
150
211
  break;
151
212
  default: {
152
213
  if (platform) {
@@ -162,28 +223,11 @@ class CLI {
162
223
  console.log('当前 Fork 仅支持 React 框架。');
163
224
  return;
164
225
  }
165
- kernel.optsPlugins.push('@spcsn/taro-plugin-framework-react');
166
- // 编译小程序插件
167
- if (typeof args.plugin === 'string') {
168
- plugin = args.plugin;
169
- if (plugin !== 'weapp') {
170
- console.log('当前 Fork 仅支持 weapp 小程序插件编译。');
171
- return;
172
- }
173
- platform = 'plugin';
174
- kernel.optsPlugins.push(path.resolve(platformsPath, 'plugin.js'));
175
- kernel.optsPlugins.push(`@spcsn/taro-plugin-platform-${plugin}`);
176
- }
177
- // 传递 inspect 参数即可
178
- if (command === 'inspect') {
179
- (0, customCommand_1.default)(command, kernel, args);
180
- break;
181
- }
182
- (0, customCommand_1.default)(command, kernel, {
226
+ kernel.optsPlugins.push(require.resolve('@spcsn/taro-mini-runner/framework-react'));
227
+ await index_js_1.cliProfiler.measure('build command', () => (0, custom_command_1.default)(command, kernel, {
183
228
  args,
184
229
  _,
185
230
  platform,
186
- plugin,
187
231
  isWatch: Boolean(args.watch),
188
232
  // Note: 是否把 Taro 组件编译为原生自定义组件
189
233
  isBuildNativeComp: _[1] === 'native-components',
@@ -193,45 +237,38 @@ class CLI {
193
237
  withoutBuild: !args.build,
194
238
  noInjectGlobalStyle: !args['inject-global-style'],
195
239
  noCheck: !args.check,
196
- port: args.port,
197
- env: args.env,
198
- deviceType: args.platform,
199
- resetCache: !!args.resetCache,
200
- publicPath,
201
- bundleOutput,
202
- sourcemapOutput,
203
- sourceMapUrl,
204
- sourcemapSourcesRoot,
205
- assetsDest,
240
+ port: getNumberArg(args, 'port'),
241
+ env,
242
+ deviceType: getStringArg(args, 'platform'),
206
243
  qr: !!args.qr,
207
244
  blended: Boolean(args.blended),
208
245
  h: args.h,
209
- });
246
+ }));
247
+ index_js_1.cliProfiler.end('total', totalStartMs);
248
+ index_js_1.cliProfiler.print();
210
249
  break;
211
250
  }
212
251
  case 'init': {
213
- (0, customCommand_1.default)(command, kernel, {
252
+ await index_js_1.cliProfiler.measure('init command', () => (0, custom_command_1.default)(command, kernel, {
214
253
  _,
215
254
  appPath,
216
- projectName: _[1] || args.name,
217
- description: args.description,
255
+ projectName: _[1] || getStringArg(args, 'name'),
256
+ description: getStringArg(args, 'description'),
218
257
  typescript: args.typescript,
219
- buildEs5: args['build-es5'],
220
- framework: args.framework,
221
- compiler: args.compiler,
222
- npm: args.npm,
223
- templateSource: args['template-source'],
258
+ framework: getStringArg(args, 'framework'),
259
+ compiler: getStringArg(args, 'compiler'),
260
+ npm: getStringArg(args, 'npm'),
261
+ templateSource: getStringArg(args, 'template-source'),
224
262
  clone: !!args.clone,
225
- template: args.template,
226
- css: args.css,
263
+ template: getStringArg(args, 'template'),
264
+ css: getStringArg(args, 'css'),
227
265
  autoInstall: args.autoInstall,
228
266
  h: args.h,
229
- });
267
+ }));
268
+ index_js_1.cliProfiler.end('total', totalStartMs);
269
+ index_js_1.cliProfiler.print();
230
270
  break;
231
271
  }
232
- default:
233
- (0, customCommand_1.default)(command, kernel, args);
234
- break;
235
272
  }
236
273
  }
237
274
  else {
@@ -243,18 +280,11 @@ class CLI {
243
280
  console.log(' -h, --help output usage information');
244
281
  console.log();
245
282
  console.log('Commands:');
246
- console.log(' init [projectName] Init a project with default templete');
247
- console.log(' config <cmd> Taro config');
248
- console.log(' create Create page for project');
249
- console.log(' build Build a project with options');
250
- console.log(' update Update packages of taro');
251
- console.log(' info Diagnostics Taro env info');
252
- console.log(' doctor Diagnose taro project');
253
- console.log(' inspect Inspect the webpack config');
254
- console.log(' help [cmd] display help for [cmd]');
283
+ console.log(' init [projectName] Init a project with default template');
284
+ console.log(' build Build a WeApp project');
255
285
  }
256
286
  else if (args.v) {
257
- console.log((0, util_1.getPkgVersion)());
287
+ console.log((0, index_js_1.getPkgVersion)());
258
288
  }
259
289
  }
260
290
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Kernel } from '@spcsn/taro-service';
2
2
  export default function customCommand(command: string, kernel: Kernel, args: {
3
3
  _: string[];
4
4
  [key: string]: any;
5
- }): void;
5
+ }): Promise<void>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = customCommand;
4
+ function customCommand(command, kernel, args) {
5
+ if (typeof command !== 'string')
6
+ return Promise.resolve();
7
+ const options = {};
8
+ const excludeKeys = ['_', 'version', 'v', 'help', 'h', 'disable-global-config'];
9
+ Object.keys(args).forEach((key) => {
10
+ if (!excludeKeys.includes(key)) {
11
+ options[key] = args[key];
12
+ }
13
+ });
14
+ return kernel.run({
15
+ name: command,
16
+ opts: {
17
+ _: args._,
18
+ options,
19
+ isHelp: args.h,
20
+ },
21
+ });
22
+ }
23
+ //# sourceMappingURL=custom-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-command.js","sourceRoot":"","sources":["../../src/commands/custom-command.ts"],"names":[],"mappings":";;AAEA,gCAmBC;AAnBD,SAAwB,aAAa,CAAC,OAAe,EAAE,MAAc,EAAE,IAAyC;IAC9G,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAE1D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAChF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC;QAChB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -37,6 +37,8 @@ const path = __importStar(require("node:path"));
37
37
  const taro_helper_1 = require("@spcsn/taro-helper");
38
38
  const util_1 = require("../util");
39
39
  class Creator {
40
+ _rootPath;
41
+ rootPath;
40
42
  constructor(sourceRoot) {
41
43
  this.rootPath = this.sourceRoot(sourceRoot || path.join((0, util_1.getRootPath)()));
42
44
  this.init();
@@ -1 +1 @@
1
- {"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/create/creator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,oDAAwC;AAExC,kCAAsC;AAEtC,MAAqB,OAAO;IAI1B,YAAY,UAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,KAAI,CAAC;IAET,UAAU,CAAC,QAAiB;QAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,gBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,gBAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,GAAG,IAAc;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,KAAI,CAAC;CACX;AA9BD,0BA8BC"}
1
+ {"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/create/creator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,oDAAwC;AAExC,kCAAsC;AAEtC,MAAqB,OAAO;IAChB,SAAS,CAAU;IACtB,QAAQ,CAAS;IAExB,YAAY,UAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,KAAI,CAAC;IAET,UAAU,CAAC,QAAiB;QAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,gBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,gBAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,GAAG,IAAc;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,KAAI,CAAC;CACX;AA9BD,0BA8BC"}
@@ -40,23 +40,21 @@ exports.default = fetchTemplate;
40
40
  const path = __importStar(require("node:path"));
41
41
  const taro_helper_1 = require("@spcsn/taro-helper");
42
42
  const AdmZip = __importStar(require("adm-zip"));
43
- const axios_1 = __importDefault(require("axios"));
44
43
  const download = __importStar(require("download-git-repo"));
45
44
  const ora_1 = __importDefault(require("ora"));
46
45
  const util_1 = require("../util");
47
46
  const constants_1 = require("./constants");
48
47
  const TEMP_DOWNLOAD_FOLDER = 'taro-temp';
49
- function fetchTemplate(templateSource, templateRootPath, clone) {
48
+ async function fetchTemplate(templateSource, templateRootPath, clone) {
50
49
  const type = (0, util_1.getTemplateSourceType)(templateSource);
51
50
  const tempPath = path.join(templateRootPath, TEMP_DOWNLOAD_FOLDER);
52
51
  let name;
53
- // eslint-disable-next-line no-async-promise-executor
54
- return new Promise(async (resolve) => {
55
- // 下载文件的缓存目录
56
- if (taro_helper_1.fs.existsSync(tempPath))
57
- await taro_helper_1.fs.remove(tempPath);
58
- await taro_helper_1.fs.mkdirp(templateRootPath);
59
- await taro_helper_1.fs.mkdir(tempPath);
52
+ // 下载文件的缓存目录
53
+ if (taro_helper_1.fs.existsSync(tempPath))
54
+ await taro_helper_1.fs.remove(tempPath);
55
+ await taro_helper_1.fs.mkdirp(templateRootPath);
56
+ await taro_helper_1.fs.mkdir(tempPath);
57
+ return new Promise((resolve) => {
60
58
  const spinner = (0, ora_1.default)(`正在从 ${templateSource} 拉取远程模板...`).start();
61
59
  if (type === 'git') {
62
60
  name = path.basename(templateSource);
@@ -78,29 +76,24 @@ function fetchTemplate(templateSource, templateRootPath, clone) {
78
76
  name = 'from-remote-url';
79
77
  const zipPath = path.join(tempPath, name + '.zip');
80
78
  const unZipPath = path.join(tempPath, name);
81
- axios_1.default
82
- .get(templateSource, { responseType: 'stream' })
83
- .then((response) => {
84
- const ws = taro_helper_1.fs.createWriteStream(zipPath);
85
- response.data.pipe(ws);
86
- ws.on('finish', () => {
87
- // unzip
88
- const zip = new AdmZip(zipPath);
89
- zip.extractAllTo(unZipPath, true);
90
- const files = (0, util_1.readDirWithFileTypes)(unZipPath).filter((file) => !file.name.startsWith('.') && file.isDirectory && file.name !== '__MACOSX');
91
- if (files.length !== 1) {
92
- spinner.color = 'red';
93
- spinner.fail(taro_helper_1.chalk.red(`拉取远程模板仓库失败!\n${new Error('远程模板源组织格式错误')}`));
94
- return resolve();
95
- }
96
- name = path.join(name, files[0].name);
97
- spinner.color = 'green';
98
- spinner.succeed(`${taro_helper_1.chalk.grey('拉取远程模板仓库成功!')}`);
99
- resolve();
100
- });
101
- ws.on('error', (error) => {
102
- throw error;
103
- });
79
+ fetch(templateSource)
80
+ .then(async (response) => {
81
+ if (!response.ok) {
82
+ throw new Error(`HTTP ${response.status} ${response.statusText}`);
83
+ }
84
+ await taro_helper_1.fs.writeFile(zipPath, Buffer.from(await response.arrayBuffer()));
85
+ const zip = new AdmZip(zipPath);
86
+ zip.extractAllTo(unZipPath, true);
87
+ const files = (0, util_1.readDirWithFileTypes)(unZipPath).filter((file) => !file.name.startsWith('.') && file.isDirectory && file.name !== '__MACOSX');
88
+ if (files.length !== 1) {
89
+ spinner.color = 'red';
90
+ spinner.fail(taro_helper_1.chalk.red(`拉取远程模板仓库失败!\n${new Error('远程模板源组织格式错误')}`));
91
+ return resolve();
92
+ }
93
+ name = path.join(name, files[0].name);
94
+ spinner.color = 'green';
95
+ spinner.succeed(`${taro_helper_1.chalk.grey('拉取远程模板仓库成功!')}`);
96
+ resolve();
104
97
  })
105
98
  .catch(async (error) => {
106
99
  spinner.color = 'red';
@@ -166,4 +159,4 @@ function fetchTemplate(templateSource, templateRootPath, clone) {
166
159
  }
167
160
  });
168
161
  }
169
- //# sourceMappingURL=fetchTemplate.js.map
162
+ //# sourceMappingURL=fetch-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-template.js","sourceRoot":"","sources":["../../src/create/fetch-template.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { CompilerType, CSSType, FrameworkType, NpmType } from '@spcsn/taro-binding';
2
1
  import Creator from './creator';
3
- import type { ITemplates } from './fetchTemplate';
2
+ import { CompilerType, CSSType, FrameworkType, NpmType } from './template-creator';
3
+ import type { ITemplates } from './fetch-template';
4
4
  export interface IProjectConf {
5
5
  projectName: string;
6
6
  projectDir: string;
@@ -10,7 +10,6 @@ export interface IProjectConf {
10
10
  template: string;
11
11
  description?: string;
12
12
  typescript?: boolean;
13
- buildEs5?: boolean;
14
13
  css: CSSType;
15
14
  date?: string;
16
15
  src?: string;
@@ -42,7 +41,6 @@ export default class Project extends Creator {
42
41
  template: string;
43
42
  description?: string;
44
43
  typescript?: boolean;
45
- buildEs5?: boolean;
46
44
  css: CSSType;
47
45
  date?: string;
48
46
  src?: string;
@@ -57,8 +55,6 @@ export default class Project extends Creator {
57
55
  askProjectName: AskMethods;
58
56
  askDescription: AskMethods;
59
57
  askTypescript: AskMethods;
60
- askBuildEs5: AskMethods;
61
- askCSS: AskMethods;
62
58
  askCompiler: AskMethods;
63
59
  askFramework: AskMethods;
64
60
  askTemplateSource: AskMethods;