@spcsn/taro-cli 0.1.6 → 1.0.1
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/LICENSE +1 -153
- package/README.md +10 -7
- package/define-config.d.ts +1 -0
- package/define-config.js +1 -0
- package/dist/cli.js +140 -110
- package/dist/cli.js.map +1 -1
- package/dist/commands/{customCommand.d.ts → custom-command.d.ts} +1 -1
- package/dist/commands/custom-command.js +23 -0
- package/dist/commands/custom-command.js.map +1 -0
- package/dist/create/creator.js +2 -0
- package/dist/create/creator.js.map +1 -1
- package/dist/create/{fetchTemplate.js → fetch-template.js} +26 -33
- package/dist/create/fetch-template.js.map +1 -0
- package/dist/create/project.d.ts +2 -6
- package/dist/create/project.js +240 -285
- package/dist/create/project.js.map +1 -1
- package/dist/create/template-creator.d.ts +75 -0
- package/dist/create/template-creator.js +275 -0
- package/dist/create/template-creator.js.map +1 -0
- package/dist/doctor/validators.d.ts +7 -6
- package/dist/doctor/validators.js +6 -7
- package/dist/doctor/validators.js.map +1 -1
- package/dist/platform-weapp/apis-list.d.ts +1 -0
- package/dist/platform-weapp/apis-list.js +37 -0
- package/dist/platform-weapp/apis-list.js.map +1 -0
- package/dist/platform-weapp/apis.d.ts +16 -0
- package/dist/platform-weapp/apis.js +34 -0
- package/dist/platform-weapp/apis.js.map +1 -0
- package/dist/platform-weapp/components-react.d.ts +80 -0
- package/dist/platform-weapp/components-react.js +86 -0
- package/dist/platform-weapp/components-react.js.map +1 -0
- package/dist/platform-weapp/components.d.ts +4 -0
- package/dist/platform-weapp/components.js +520 -0
- package/dist/platform-weapp/components.js.map +1 -0
- package/dist/platform-weapp/index.d.ts +11 -0
- package/dist/platform-weapp/index.js +17 -0
- package/dist/platform-weapp/index.js.map +1 -0
- package/dist/platform-weapp/program.d.ts +35 -0
- package/dist/platform-weapp/program.js +64 -0
- package/dist/platform-weapp/program.js.map +1 -0
- package/dist/platform-weapp/runtime-utils.d.ts +27 -0
- package/dist/platform-weapp/runtime-utils.js +48 -0
- package/dist/platform-weapp/runtime-utils.js.map +1 -0
- package/dist/platform-weapp/runtime.d.ts +1 -0
- package/dist/platform-weapp/runtime.js +7 -0
- package/dist/platform-weapp/runtime.js.map +1 -0
- package/dist/platform-weapp/template.d.ts +39 -0
- package/dist/platform-weapp/template.js +119 -0
- package/dist/platform-weapp/template.js.map +1 -0
- package/dist/presets/commands/build.js +25 -45
- package/dist/presets/commands/build.js.map +1 -1
- package/dist/presets/commands/init.js +2 -4
- package/dist/presets/commands/init.js.map +1 -1
- package/dist/presets/constant/hooks.d.ts +0 -2
- package/dist/presets/constant/hooks.js +1 -3
- package/dist/presets/constant/hooks.js.map +1 -1
- package/dist/presets/files/generate-framework-info.js +68 -0
- package/dist/presets/files/generate-framework-info.js.map +1 -0
- package/dist/presets/files/{generateProjectConfig.js → generate-project-config.js} +1 -1
- package/dist/presets/files/generate-project-config.js.map +1 -0
- package/dist/presets/files/{writeFileToDist.js → write-file-to-dist.js} +1 -1
- package/dist/presets/files/write-file-to-dist.js.map +1 -0
- package/dist/presets/hooks/build.js +1 -3
- package/dist/presets/hooks/build.js.map +1 -1
- package/dist/presets/index.js +3 -5
- package/dist/presets/index.js.map +1 -1
- package/dist/util/{appConfig.d.ts → app-config.d.ts} +2 -2
- package/dist/util/{appConfig.js → app-config.js} +4 -3
- package/dist/util/app-config.js.map +1 -0
- package/dist/util/defineConfig.d.ts +5 -5
- package/dist/util/defineConfig.js.map +1 -1
- package/dist/util/index.d.ts +9 -1
- package/dist/util/index.js +54 -23
- package/dist/util/index.js.map +1 -1
- package/package.json +24 -27
- package/postinstall.js +1 -17
- package/src/cli.ts +185 -132
- package/src/commands/custom-command.ts +22 -0
- package/src/create/{fetchTemplate.ts → fetch-template.ts} +30 -35
- package/src/create/project.ts +31 -78
- package/src/create/template-creator.ts +325 -0
- package/src/doctor/validators.js +1 -0
- package/src/doctor/validators.ts +8 -6
- package/src/platform-weapp/apis-list.ts +33 -0
- package/src/platform-weapp/apis.ts +48 -0
- package/src/platform-weapp/components-react.ts +81 -0
- package/src/platform-weapp/components.ts +521 -0
- package/src/platform-weapp/index.ts +25 -0
- package/src/platform-weapp/program.ts +70 -0
- package/src/platform-weapp/runtime-utils.ts +57 -0
- package/src/platform-weapp/runtime.ts +6 -0
- package/src/platform-weapp/template.ts +150 -0
- package/src/presets/commands/build.ts +20 -40
- package/src/presets/commands/init.ts +1 -4
- package/src/presets/constant/hooks.js +12 -0
- package/src/presets/constant/hooks.ts +0 -2
- package/src/presets/files/{generateFrameworkInfo.ts → generate-framework-info.ts} +7 -1
- package/src/presets/hooks/build.ts +1 -3
- package/src/presets/index.ts +3 -5
- package/src/util/app-config.js +1 -0
- package/src/util/{appConfig.ts → app-config.ts} +5 -4
- package/src/util/defineConfig.ts +6 -6
- package/src/util/index.ts +67 -25
- package/templates/default/config/dev.js +1 -1
- package/templates/default/config/index.js +28 -40
- package/templates/default/config/prod.js +1 -1
- package/templates/default/package.json.tmpl +2 -17
- package/templates/default/types/global.d.ts +0 -4
- package/templates/plugin-compile/README.md +3 -1
- package/templates/plugin-compile/package.json.tmpl +1 -2
- package/templates/plugin-compile/src/index.ts +18 -28
- package/dist/commands/customCommand.js +0 -23
- package/dist/commands/customCommand.js.map +0 -1
- package/dist/config/packagesManagement.d.ts +0 -19
- package/dist/config/packagesManagement.js +0 -22
- package/dist/config/packagesManagement.js.map +0 -1
- package/dist/create/fetchTemplate.js.map +0 -1
- package/dist/create/page.d.ts +0 -65
- package/dist/create/page.js +0 -266
- package/dist/create/page.js.map +0 -1
- package/dist/create/plugin.d.ts +0 -16
- package/dist/create/plugin.js +0 -77
- package/dist/create/plugin.js.map +0 -1
- package/dist/presets/commands/config.js +0 -121
- package/dist/presets/commands/config.js.map +0 -1
- package/dist/presets/commands/create.js +0 -112
- package/dist/presets/commands/create.js.map +0 -1
- package/dist/presets/commands/doctor.js +0 -15
- package/dist/presets/commands/doctor.js.map +0 -1
- package/dist/presets/commands/global-config.d.ts +0 -3
- package/dist/presets/commands/global-config.js +0 -175
- package/dist/presets/commands/global-config.js.map +0 -1
- package/dist/presets/commands/help.d.ts +0 -3
- package/dist/presets/commands/help.js +0 -16
- package/dist/presets/commands/help.js.map +0 -1
- package/dist/presets/commands/info.d.ts +0 -3
- package/dist/presets/commands/info.js +0 -96
- package/dist/presets/commands/info.js.map +0 -1
- package/dist/presets/commands/inspect.d.ts +0 -3
- package/dist/presets/commands/inspect.js +0 -155
- package/dist/presets/commands/inspect.js.map +0 -1
- package/dist/presets/commands/update.d.ts +0 -3
- package/dist/presets/commands/update.js +0 -187
- package/dist/presets/commands/update.js.map +0 -1
- package/dist/presets/files/generateFrameworkInfo.d.ts +0 -3
- package/dist/presets/files/generateFrameworkInfo.js +0 -30
- package/dist/presets/files/generateFrameworkInfo.js.map +0 -1
- package/dist/presets/files/generateProjectConfig.d.ts +0 -3
- package/dist/presets/files/generateProjectConfig.js.map +0 -1
- package/dist/presets/files/writeFileToDist.d.ts +0 -3
- package/dist/presets/files/writeFileToDist.js.map +0 -1
- package/dist/presets/hooks/create.d.ts +0 -3
- package/dist/presets/hooks/create.js +0 -42
- package/dist/presets/hooks/create.js.map +0 -1
- package/dist/presets/platforms/plugin.d.ts +0 -3
- package/dist/presets/platforms/plugin.js +0 -106
- package/dist/presets/platforms/plugin.js.map +0 -1
- package/dist/presets/platforms/rn.d.ts +0 -3
- package/dist/presets/platforms/rn.js +0 -130
- package/dist/presets/platforms/rn.js.map +0 -1
- package/dist/util/appConfig.js.map +0 -1
- package/dist/util/createPage.d.ts +0 -9
- package/dist/util/createPage.js +0 -114
- package/dist/util/createPage.js.map +0 -1
- package/src/commands/customCommand.ts +0 -22
- package/src/config/packagesManagement.ts +0 -20
- package/src/config/rn-stylelint.json +0 -4
- package/src/create/page.ts +0 -325
- package/src/create/plugin.ts +0 -55
- package/src/presets/commands/config.ts +0 -86
- package/src/presets/commands/create.ts +0 -104
- package/src/presets/commands/doctor.ts +0 -21
- package/src/presets/commands/global-config.ts +0 -140
- package/src/presets/commands/help.ts +0 -17
- package/src/presets/commands/info.ts +0 -81
- package/src/presets/commands/inspect.ts +0 -137
- package/src/presets/commands/update.ts +0 -175
- package/src/presets/hooks/create.ts +0 -9
- package/src/presets/platforms/plugin.ts +0 -75
- package/src/presets/platforms/rn.ts +0 -125
- package/src/util/createPage.ts +0 -139
- package/templates/default/babel.config.js +0 -14
- /package/dist/create/{fetchTemplate.d.ts → fetch-template.d.ts} +0 -0
- /package/dist/presets/{commands/config.d.ts → files/generate-framework-info.d.ts} +0 -0
- /package/dist/presets/{commands/create.d.ts → files/generate-project-config.d.ts} +0 -0
- /package/dist/presets/{commands/doctor.d.ts → files/write-file-to-dist.d.ts} +0 -0
- /package/src/presets/files/{generateProjectConfig.ts → generate-project-config.ts} +0 -0
- /package/src/presets/files/{writeFileToDist.ts → write-file-to-dist.ts} +0 -0
package/LICENSE
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2018 O2Team
|
|
4
|
+
Copyright (c) 2026 SPCSN contributors
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -19,156 +20,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
20
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
21
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
22
|
SOFTWARE.
|
|
22
|
-
|
|
23
|
-
========================================================================
|
|
24
|
-
|
|
25
|
-
MIT (react-devtools):
|
|
26
|
-
The following files embed [react-devtools](https://github.com/facebook/react) MIT:
|
|
27
|
-
`/packages/taro-plugin-react-devtools/src/backend/index.js`
|
|
28
|
-
See `/LICENSE` for details of the license.
|
|
29
|
-
|
|
30
|
-
==================
|
|
31
|
-
|
|
32
|
-
MIT (vue-devtools):
|
|
33
|
-
The following files embed [vue-devtools](https://github.com/vuejs/devtools) MIT:
|
|
34
|
-
`/packages/taro-plugin-vue-devtools/src/backend/*`
|
|
35
|
-
See `/LICENSE` for details of the license.
|
|
36
|
-
|
|
37
|
-
==================
|
|
38
|
-
|
|
39
|
-
MIT (vite):
|
|
40
|
-
The following files embed [vite](https://github.com/vitejs/vite) MIT:
|
|
41
|
-
`/packages/taro-webpack5-prebundle/src/prebundle/scanImport.ts`,
|
|
42
|
-
`/packages/taro-webpack5-prebundle/src/prebundle/bundle.ts`,
|
|
43
|
-
`/packages/taro-webpack5-prebundle/src/h5.ts`,
|
|
44
|
-
`/packages/taro-webpack5-prebundle/src/min.ts`
|
|
45
|
-
See `/LICENSE` for details of the license.
|
|
46
|
-
|
|
47
|
-
==================
|
|
48
|
-
|
|
49
|
-
MIT (webpack):
|
|
50
|
-
The following files embed [webpack](https://github.com/webpack/webpack) MIT:
|
|
51
|
-
`/packages/taro-webpack5-prebundle/src/webpack/TaroContainerEntryModule.ts`,
|
|
52
|
-
`/packages/taro-webpack5-prebundle/src/webpack/TaroContainerPlugin.ts`,
|
|
53
|
-
`/packages/taro-webpack5-prebundle/src/webpack/TaroContainerReferencePlugin.ts`,
|
|
54
|
-
`/packages/taro-webpack5-prebundle/src/webpack/TaroModuleFederationPlugin.ts`
|
|
55
|
-
See `/LICENSE` for details of the license.
|
|
56
|
-
|
|
57
|
-
==================
|
|
58
|
-
|
|
59
|
-
MIT (sizzle):
|
|
60
|
-
The following files embed [sizzle](https://github.com/jquery/sizzle) MIT:
|
|
61
|
-
`/packages/taro-extends/src/jquery/sizzle.js`
|
|
62
|
-
See `/LICENSE.txt` for details of the license.
|
|
63
|
-
|
|
64
|
-
==================
|
|
65
|
-
|
|
66
|
-
MIT (zepto):
|
|
67
|
-
The following files embed [zepto](https://github.com/madrobby/zepto) MIT:
|
|
68
|
-
`/packages/taro-extends/src/jquery/zepto.js`,
|
|
69
|
-
`/packages/taro-extends/src/jquery/event.js`
|
|
70
|
-
See `/MIT-LICENSE` for details of the license.
|
|
71
|
-
|
|
72
|
-
==================
|
|
73
|
-
|
|
74
|
-
MIT (css-to-react-native):
|
|
75
|
-
The following files embed [css-to-react-native](https://github.com/styled-components/css-to-react-native) MIT:
|
|
76
|
-
`/packages/css-to-react-native/src/css-to-react-native/*`
|
|
77
|
-
See `/LICENSE.md` for details of the license.
|
|
78
|
-
|
|
79
|
-
==================
|
|
80
|
-
|
|
81
|
-
MIT (reactify-wc):
|
|
82
|
-
The following files embed [reactify-wc](https://github.com/BBKolton/reactify-wc) MIT:
|
|
83
|
-
`/packages/taro-components-library-react/src/component-lib/reactify-wc.ts`
|
|
84
|
-
See `/LICENSE` for details of the license.
|
|
85
|
-
|
|
86
|
-
==================
|
|
87
|
-
|
|
88
|
-
MIT (ant-design-mobile-rn):
|
|
89
|
-
The following files embed [ant-design-mobile-rn](https://github.com/ant-design/ant-design-mobile-rn) MIT:
|
|
90
|
-
`/packages/taro-components-rn/src/components/Swiper/carousel.tsx`
|
|
91
|
-
See `/LICENSE` for details of the license.
|
|
92
|
-
|
|
93
|
-
==================
|
|
94
|
-
|
|
95
|
-
MIT (react-wx-images-viewer):
|
|
96
|
-
The following files embed [react-wx-images-viewer](https://github.com/react-ld/react-wx-images-viewer) MIT:
|
|
97
|
-
`/packages/taro-h5/src/api/media/image/previewImage.ts`
|
|
98
|
-
See `/LICENSE` for details of the license.
|
|
99
|
-
|
|
100
|
-
==================
|
|
101
|
-
|
|
102
|
-
MIT (webpack-contrib/css-loader):
|
|
103
|
-
The following files embed [webpack-contrib/css-loader](https://github.com/webpack-contrib/css-loader) MIT:
|
|
104
|
-
`/packages/taro-rn-style-transformer/src/utils/index.ts`
|
|
105
|
-
See `/LICENSE` for details of the license.
|
|
106
|
-
|
|
107
|
-
==================
|
|
108
|
-
|
|
109
|
-
MIT (react-native):
|
|
110
|
-
The following files embed [react-native](https://github.com/facebook/react-native) MIT:
|
|
111
|
-
`/packages/taro-rn-style-transformer/src/transforms/StyleSheet/*`
|
|
112
|
-
See `/LICENSE` for details of the license.
|
|
113
|
-
|
|
114
|
-
==================
|
|
115
|
-
|
|
116
|
-
MIT (myrne/performance-now):
|
|
117
|
-
The following files embed [myrne/performance-now](https://github.com/myrne/performance-now) MIT:
|
|
118
|
-
`/packages/taro-runtime/src/bom/raf.ts`
|
|
119
|
-
See `/LICENSE` for details of the license.
|
|
120
|
-
|
|
121
|
-
==================
|
|
122
|
-
|
|
123
|
-
Apache (chameleon-api):
|
|
124
|
-
The following files embed [chameleon-api](https://github.com/chameleon-team/chameleon-api) Apache:
|
|
125
|
-
`/packages/taro-h5/src/api/device/clipboard.ts`
|
|
126
|
-
|
|
127
|
-
==================
|
|
128
|
-
|
|
129
|
-
MIT (uni-app):
|
|
130
|
-
The following files embed [uni-app](https://github.com/dcloudio/uni-app) MIT:
|
|
131
|
-
`/packages/taro-components-rn/src/components/Video/index.tsx`
|
|
132
|
-
See `/LICENSE` for details of the license.
|
|
133
|
-
|
|
134
|
-
==================
|
|
135
|
-
|
|
136
|
-
MIT (miniprogram-render):
|
|
137
|
-
The following files embed [miniprogram-render](https://github.com/Tencent/kbone) MIT:
|
|
138
|
-
`/packages/taro-plugin-http/src/runtime/Cookie.ts`
|
|
139
|
-
See `/LICENSE` for details of the license.
|
|
140
|
-
|
|
141
|
-
==================
|
|
142
|
-
|
|
143
|
-
MIT (stencil-ds-output-targets):
|
|
144
|
-
The following files embed [stencil-ds-output-targets](https://github.com/ionic-team/stencil-ds-output-targets/) MIT:
|
|
145
|
-
`/packages/taro-components-library-react/src/react-component-lib/utils/attachProps.ts`
|
|
146
|
-
`/packages/taro-components-library-react/src/react-component-lib/utils/case.ts`
|
|
147
|
-
`/packages/taro-components-library-react/src/react-component-lib/utils/dev.ts`
|
|
148
|
-
`/packages/taro-components-library-react/src/react-component-lib/utils/index.tsx`
|
|
149
|
-
`/packages/taro-components-library-react/src/react-component-lib/createComponent.tsx`
|
|
150
|
-
`/packages/taro-components-library-react/src/react-component-lib/createOverlayComponent.tsx`
|
|
151
|
-
`/packages/taro-components-library-react/src/react-component-lib/interfaces.ts`
|
|
152
|
-
`/packages/taro-components-library-vue3/src/vue-component-lib/utils.ts`
|
|
153
|
-
See `/LICENSE` for details of the license.
|
|
154
|
-
|
|
155
|
-
==================
|
|
156
|
-
|
|
157
|
-
MIT (weui):
|
|
158
|
-
The following files embed [weui](https://github.com/Tencent/weui) MIT:
|
|
159
|
-
`/packages/taro-components/src/components/*.scss`
|
|
160
|
-
See `/LICENSE.txt` for details of the license.
|
|
161
|
-
|
|
162
|
-
==================
|
|
163
|
-
|
|
164
|
-
Apache-2.0 (intersection-observer):
|
|
165
|
-
The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
|
|
166
|
-
`/packages/taro-api/src/polyfill/intersection-observer.ts`
|
|
167
|
-
See `/LICENSE.txt` for details of the license.
|
|
168
|
-
|
|
169
|
-
==================
|
|
170
|
-
|
|
171
|
-
MIT (babel-plugin-jsx-dom-expressions):
|
|
172
|
-
The following files embed [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/blob/main/packages/babel-plugin-jsx-dom-expressions) MIT:
|
|
173
|
-
`/packages/babel-plugin-transform-solid-jsx/src/*`
|
|
174
|
-
See `/LICENSE` for details of the license.
|
package/README.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# `@spcsn/taro-cli`
|
|
2
2
|
|
|
3
|
-
`@spcsn/taro`
|
|
3
|
+
`@spcsn/taro-cli` 是 Taro Lite 的命令行入口,负责项目初始化、构建、配置检查和运行环境信息输出。
|
|
4
|
+
|
|
5
|
+
## 包定位
|
|
6
|
+
|
|
7
|
+
- 业务侧公开工具包,可全局安装,也可作为项目 devDependency 使用。
|
|
8
|
+
- 内部编排 `@spcsn/taro-service`、`@spcsn/taro-mini-runner` 和微信小程序平台能力。
|
|
9
|
+
- 业务项目不应直接依赖 CLI 背后的 service、runner、helper 等内部包。
|
|
4
10
|
|
|
5
11
|
## 安装
|
|
6
12
|
|
|
@@ -20,15 +26,12 @@ taro <command> [options]
|
|
|
20
26
|
| --- | --- |
|
|
21
27
|
| `init <name>` | 创建新项目 |
|
|
22
28
|
| `build` | 构建项目 |
|
|
23
|
-
| `config` |
|
|
29
|
+
| `config` | 查看或设置全局配置 |
|
|
24
30
|
| `doctor` | 检测项目配置与依赖是否有问题 |
|
|
25
31
|
| `info` | 打印当前环境信息 |
|
|
26
32
|
| `inspect` | 检查 Vite 构建配置 |
|
|
27
33
|
| `update` | 更新 `@spcsn` 相关依赖到最新版本 |
|
|
28
34
|
|
|
29
|
-
##
|
|
30
|
-
|
|
31
|
-
- 微信小程序(weapp)
|
|
32
|
-
- Skyline / glass-easel
|
|
35
|
+
## 支持范围
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
当前只维护 React 19 开发微信小程序(Skyline / glass-easel)链路,不支持 H5、React Native、Harmony、Vue、Webpack 等上游历史路径。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dist/util/defineConfig';
|
package/define-config.js
ADDED
|
@@ -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
|
|
43
|
-
const
|
|
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
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
92
|
-
|
|
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
|
|
96
|
-
|
|
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
|
-
|
|
101
|
-
|
|
168
|
+
const type = getStringArg(args, 'type');
|
|
169
|
+
if (type) {
|
|
170
|
+
process.env.TARO_ENV = type;
|
|
102
171
|
}
|
|
103
|
-
|
|
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
|
|
109
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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(
|
|
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-
|
|
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
|
|
197
|
-
env
|
|
198
|
-
deviceType: args
|
|
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,
|
|
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
|
|
217
|
-
description: args
|
|
255
|
+
projectName: _[1] || getStringArg(args, 'name'),
|
|
256
|
+
description: getStringArg(args, 'description'),
|
|
218
257
|
typescript: args.typescript,
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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
|
|
226
|
-
css: args
|
|
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
|
|
247
|
-
console.log('
|
|
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,
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/dist/create/creator.js
CHANGED
|
@@ -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();
|