neo-cmp-cli 1.6.8 → 1.7.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/README.md CHANGED
@@ -31,7 +31,7 @@ npm i -g neo-cmp-cli
31
31
  #### 2) 创建自定义组件项目
32
32
  ```bash
33
33
  # 方式一:创建空的自定义组件项目
34
- neo createProject
34
+ neo create project
35
35
 
36
36
  # 方式二:根据模板创建自定义组件项目(默认 React+TS,可用 -t 指定模板,-n 指定自定义组件名称)
37
37
  neo init
@@ -45,7 +45,7 @@ cd xxCmpProject
45
45
  #### 4) 创建自定义组件
46
46
  ```bash
47
47
  # 在当前项目中创建一个自定义组件
48
- neo createCmp
48
+ neo create cmp
49
49
  ```
50
50
  默认在当前项目 src/components/ 目录下新增自定义组件。
51
51
 
@@ -63,7 +63,7 @@ neo linkDebug
63
63
  需在NeoCRM / 页面设计器端启动 debug 模式,并添加控制台输出的外链脚本地址,方可在页面设计器端使用当前自定义组件。
64
64
 
65
65
  #### 7) 构建并发布到 NeoCRM
66
- 执行 `neo pushCmp` 即可构建并发布自定义组件至 NeoCRM 平台。
66
+ 执行 `neo push cmp` 即可构建并发布自定义组件至 NeoCRM 平台。
67
67
  **发布前请确保**:`package.json` 的 `name` 唯一、`version` 不重复,并已配置 NeoCRM 平台授权信息。
68
68
 
69
69
  ##### 需自行添加授权配置
@@ -89,20 +89,20 @@ module.exports = {
89
89
  **详细使用说明**:请参考下方「[发布自定义组件至 NeoCRM](#6发布自定义组件至-neocrm)」章节。
90
90
 
91
91
  #### 8) 删除线上自定义组件
92
- 执行 `neo deleteCmp` 即可从 NeoCRM 平台删除指定的自定义组件。
92
+ 执行 `neo delete cmp` 即可从 NeoCRM 平台删除指定的自定义组件。
93
93
  **删除前请确保**:已配置 NeoCRM 平台授权信息,且确认要删除的组件名称正确(删除操作不可恢复)。
94
94
  **详细使用说明**:请参考下方「[删除线上自定义组件](#8删除线上自定义组件)」章节。
95
95
 
96
96
  ## 常用命令说明
97
97
  - **neo init**: 交互式创建自定义组件(支持 -t、--name);
98
- - **neo createProject**: 创建自定义组件项目(支持 --name);
99
- - **neo createCmp**: 在当前项目中创建一个自定义组件(支持 --name);
98
+ - **neo create project**: 创建自定义组件项目(支持 --name);
99
+ - **neo create cmp**: 在当前项目中创建一个自定义组件(支持 --name);
100
100
  - **neo preview**: 本地预览自定义组件内容(支持 --name),默认支持热更新与接口代理;
101
101
  - **neo linkDebug**: 外链调试模式,在平台端页面设计器中调试自定义组件;
102
102
  - **neo publish2oss**: 构建并上传到对象存储(支持 --name,可自定义配置对象存储);
103
- - **neo pushCmp**: 构建并发布到NeoCRM平台(支持 --name,需自行添加授权配置);
104
- - **neo pullCmp**: 拉取线上自定义组件(NeoCRM平台)至当前项目(支持 --name,需自行添加授权配置);
105
- - **neo deleteCmp**: 删除线上自定义组件(NeoCRM平台)(支持 --name,需自行添加授权配置)。
103
+ - **neo push cmp**: 构建并发布到NeoCRM平台(支持 --name,需自行添加授权配置);
104
+ - **neo pull cmp**: 拉取线上自定义组件(NeoCRM平台)至当前项目(支持 --name,需自行添加授权配置);
105
+ - **neo delete cmp**: 删除线上自定义组件(NeoCRM平台)(支持 --name,需自行添加授权配置)。
106
106
 
107
107
  ## 开发须知
108
108
  #### 1)默认自动识别自定义组件
@@ -156,17 +156,17 @@ neo linkDebug
156
156
  将第 1 步生成的「外链脚本地址」添加进来,即可在此页面设计器 / 组件物料面板中看到对应自定义组件。
157
157
 
158
158
  #### 6)发布自定义组件至 NeoCRM
159
- 执行 `neo pushCmp` 即可构建并发布自定义组件至 NeoCRM 平台,其构建后资源也会上传到 NeoCRM 平台端提供的 CDN 中。
159
+ 执行 `neo push cmp` 即可构建并发布自定义组件至 NeoCRM 平台,其构建后资源也会上传到 NeoCRM 平台端提供的 CDN 中。
160
160
 
161
161
  ##### 使用方式
162
162
  ```bash
163
163
  # 方式一:交互式选择要发布的自定义组件
164
- neo pushCmp
164
+ neo push cmp
165
165
 
166
166
  # 方式二:直接指定要发布的自定义组件名称
167
- neo pushCmp --name=xxCmp
167
+ neo push cmp --name=xxCmp
168
168
  # 或
169
- neo pushCmp -n xxCmp
169
+ neo push cmp -n xxCmp
170
170
  ```
171
171
 
172
172
  ##### 发布前请确保
@@ -233,18 +233,18 @@ A: 请检查 `neo.config.js` 文件中是否配置了 `neoConfig.auth`,确保
233
233
  发布成功后,即可在对应租户环境下的页面设计器和表单设计器中使用此自定义组件。
234
234
 
235
235
  #### 7)拉取线上自定义组件至本地项目
236
- 执行 `neo pullCmp` 即可从 NeoCRM 平台拉取自定义组件源码到当前项目。
236
+ 执行 `neo pull cmp` 即可从 NeoCRM 平台拉取自定义组件源码到当前项目。
237
237
  该命令会将线上自定义组件的源码下载并解析到当前项目的 `src/components` 目录下。
238
238
 
239
239
  ##### 使用方式
240
240
  ```bash
241
241
  # 方式一:交互式选择要拉取的自定义组件
242
- neo pullCmp
242
+ neo pull cmp
243
243
 
244
244
  # 方式二:直接指定要拉取的自定义组件名称
245
- neo pullCmp --name=xxCmp
245
+ neo pull cmp --name=xxCmp
246
246
  # 或
247
- neo pullCmp -n xxCmp
247
+ neo pull cmp -n xxCmp
248
248
  ```
249
249
 
250
250
  ##### 拉取前请确保
@@ -258,18 +258,18 @@ neo pullCmp -n xxCmp
258
258
  - zip 源文件会保留在 `.neo-cli/zip-source` 目录下,可手动删除
259
259
 
260
260
  #### 8)删除线上自定义组件
261
- 执行 `neo deleteCmp` 即可从 NeoCRM 平台删除指定的自定义组件。
261
+ 执行 `neo delete cmp` 即可从 NeoCRM 平台删除指定的自定义组件。
262
262
  该命令会删除平台上的自定义组件,删除后该组件将无法在页面设计器和表单设计器中使用。
263
263
 
264
264
  ##### 使用方式
265
265
  ```bash
266
266
  # 方式一:交互式选择要删除的自定义组件
267
- neo deleteCmp
267
+ neo delete cmp
268
268
 
269
269
  # 方式二:直接指定要删除的自定义组件名称
270
- neo deleteCmp --name=xxCmp
270
+ neo delete cmp --name=xxCmp
271
271
  # 或
272
- neo deleteCmp -n xxCmp
272
+ neo delete cmp -n xxCmp
273
273
  ```
274
274
 
275
275
  ##### 删除前请确保
@@ -279,11 +279,11 @@ neo deleteCmp -n xxCmp
279
279
  ##### 注意事项
280
280
  - **删除操作不可恢复**:删除后的自定义组件将无法恢复,请谨慎操作
281
281
  - **影响范围**:删除组件后,所有使用该组件的页面和表单将受到影响,请确保没有正在使用的场景
282
- - **建议先备份**:删除前建议先使用 `neo pullCmp` 拉取组件源码到本地进行备份
282
+ - **建议先备份**:删除前建议先使用 `neo pull cmp` 拉取组件源码到本地进行备份
283
283
 
284
284
  #### 9)发布自定义组件至CDN
285
285
  执行 `neo publish2oss` 即可构建对应自定义组件,并自动将构建后资源上传到对象存储(OSS)中。
286
- 备注:请优先使用 neo pushCmp
286
+ 备注:请优先使用 neo push cmp
287
287
 
288
288
  ##### 发布前请确保
289
289
  - **package.json 的 name 唯一**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-cmp-cli",
3
- "version": "1.6.8",
3
+ "version": "1.7.1",
4
4
  "description": "前端脚手架:自定义组件开发工具,支持react 和 vue2.0技术栈。",
5
5
  "keywords": [
6
6
  "neo-cli",
@@ -161,92 +161,95 @@ yargs
161
161
  neoConfigInit('neo.config.js');
162
162
  }
163
163
  )
164
- .command(
165
- 'createProject [options]',
166
- '创建自定义组件项目(含工程代码)',
167
- (yargs) => {
168
- yargs
169
- .reset()
170
- .usage(titleTip('Usage') + ': $0 preview [options]')
171
- .option('name', {
172
- alias: 'n',
173
- describe: '自定义组件项目名称'
174
- })
175
- .alias('h', 'help');
176
- },
177
- (argv) => {
178
- if (argv.name) {
179
- mainAction.createCmpProjectByTemplate(argv.name);
180
- } else {
181
- const questions = [
182
- {
183
- name: 'name',
184
- type: 'input',
185
- message: '请设置自定义组件项目名称:'
186
- }
187
- ];
188
-
189
- inquirer.prompt(questions).then((ans) => {
190
- // 验证项目名称是否合法
191
- const { isValid, errors } = validateProjectName(ans.name);
192
- if (!isValid) {
193
- console.error(errors.join('\n'));
194
- process.exit(1);
195
- }
196
-
197
- if (!ans.name) {
198
- console.error('自定义组件项目名称不能为空。');
199
- process.exit(1);
200
- } else {
201
- mainAction.createCmpProjectByTemplate(ans.name);
202
- }
203
- });
164
+ .command('create', '创建项目或者组件', (yargs) => {
165
+ return yargs
166
+ .command(
167
+ 'project [options]',
168
+ '创建自定义组件项目(含工程代码)',
169
+ (yargs) => {
170
+ yargs
171
+ .reset()
172
+ .usage(titleTip('Usage') + ': $0 project [options]')
173
+ .option('name', {
174
+ alias: 'n',
175
+ describe: '自定义组件项目名称'
176
+ })
177
+ .alias('h', 'help');
178
+ },
179
+ (argv) => {
180
+ if (argv.name) {
181
+ mainAction.createCmpProjectByTemplate(argv.name);
182
+ } else {
183
+ const questions = [
184
+ {
185
+ name: 'name',
186
+ type: 'input',
187
+ message: '请设置自定义组件项目名称:'
188
+ }
189
+ ];
190
+
191
+ inquirer.prompt(questions).then((ans) => {
192
+ // 验证项目名称是否合法
193
+ const { isValid, errors } = validateProjectName(ans.name);
194
+ if (!isValid) {
195
+ console.error(errors.join('\n'));
196
+ process.exit(1);
197
+ }
198
+
199
+ if (!ans.name) {
200
+ console.error('自定义组件项目名称不能为空。');
201
+ process.exit(1);
202
+ } else {
203
+ mainAction.createCmpProjectByTemplate(ans.name);
204
+ }
205
+ });
206
+ }
204
207
  }
205
- }
206
- )
207
- .command(
208
- 'createCmp [options]',
209
- '创建自定义组件',
210
- (yargs) => {
211
- yargs
212
- .reset()
213
- .usage(titleTip('Usage') + ': $0 preview [options]')
214
- .option('name', {
215
- alias: 'n',
216
- describe: '自定义组件名称'
217
- })
218
- .alias('h', 'help');
219
- },
220
- (argv) => {
221
- if (argv.name) {
222
- mainAction.createCmpByTemplate(argv.name);
223
- } else {
224
- const questions = [
225
- {
226
- name: 'name',
227
- type: 'input',
228
- message: '请设置自定义组件名称:'
229
- }
230
- ];
231
-
232
- inquirer.prompt(questions).then((ans) => {
233
- if (!ans.name) {
234
- console.error('自定义组件名称不能为空。');
235
- process.exit(1);
236
- } else {
237
- mainAction.createCmpByTemplate(ans.name);
238
- }
239
- });
208
+ )
209
+ .command(
210
+ 'cmp [options]',
211
+ '创建自定义组件',
212
+ (yargs) => {
213
+ yargs
214
+ .reset()
215
+ .usage(titleTip('Usage') + ': $0 cmp [options]')
216
+ .option('name', {
217
+ alias: 'n',
218
+ describe: '自定义组件名称'
219
+ })
220
+ .alias('h', 'help');
221
+ },
222
+ (argv) => {
223
+ if (argv.name) {
224
+ mainAction.createCmpByTemplate(argv.name);
225
+ } else {
226
+ const questions = [
227
+ {
228
+ name: 'name',
229
+ type: 'input',
230
+ message: '请设置自定义组件名称:'
231
+ }
232
+ ];
233
+
234
+ inquirer.prompt(questions).then((ans) => {
235
+ if (!ans.name) {
236
+ console.error('自定义组件名称不能为空。');
237
+ process.exit(1);
238
+ } else {
239
+ mainAction.createCmpByTemplate(ans.name);
240
+ }
241
+ });
242
+ }
240
243
  }
241
- }
242
- )
244
+ )
245
+ })
243
246
  .command(
244
- 'pullCmp [options]',
247
+ 'pull cmp [options]',
245
248
  '拉取线上自定义组件',
246
249
  (yargs) => {
247
250
  yargs
248
251
  .reset()
249
- .usage(titleTip('Usage') + ': $0 preview [options]')
252
+ .usage(titleTip('Usage') + ': $0 pull cmp [options]')
250
253
  .option('name', {
251
254
  alias: 'n',
252
255
  describe: '自定义组件名称'
@@ -290,12 +293,12 @@ yargs
290
293
  }
291
294
  )
292
295
  .command(
293
- 'deleteCmp [options]',
296
+ 'delete cmp [options]',
294
297
  '删除线上自定义组件',
295
298
  (yargs) => {
296
299
  yargs
297
300
  .reset()
298
- .usage(titleTip('Usage') + ': $0 deleteCmp [options]')
301
+ .usage(titleTip('Usage') + ': $0 delete cmp [options]')
299
302
  .option('name', {
300
303
  alias: 'n',
301
304
  describe: '自定义组件名称'
@@ -479,12 +482,12 @@ yargs
479
482
  }
480
483
  )
481
484
  .command(
482
- 'pushCmp [options]',
485
+ 'push cmp [options]',
483
486
  '构建并发布自定义组件到 NeoCRM 平台',
484
487
  (yargs) => {
485
488
  yargs
486
489
  .reset()
487
- .usage(titleTip('Usage') + ': $0 pushCmp [options]')
490
+ .usage(titleTip('Usage') + ': $0 push cmp [options]')
488
491
  .option('name', {
489
492
  alias: 'n',
490
493
  describe: '自定义组件名称'
@@ -592,10 +595,10 @@ yargs
592
595
  const commands = [
593
596
  { cmd: 'init [options]', desc: '根据模板创建一个自定义组件' },
594
597
  // { cmd: 'config init', desc: '创建 neo.config.js 配置文件' },
595
- { cmd: 'createProject [options]', desc: '创建自定义组件项目(含工程代码)' },
596
- { cmd: 'createCmp [options]', desc: '创建自定义组件' },
597
- { cmd: 'pullCmp [options]', desc: '拉取线上自定义组件' },
598
- { cmd: 'deleteCmp [options]', desc: '删除线上自定义组件' },
598
+ { cmd: 'create project [options]', desc: '创建自定义组件项目(含工程代码)' },
599
+ { cmd: 'create cmp [options]', desc: '创建自定义组件' },
600
+ { cmd: 'pull cmp [options]', desc: '拉取线上自定义组件' },
601
+ { cmd: 'delete cmp [options]', desc: '删除线上自定义组件' },
599
602
  { cmd: 'preview [options]', desc: '预览指定自定义组件(仅预览组件本身内容)' },
600
603
  // { cmd: 'dev', desc: '开启本地调试模式' },
601
604
  { cmd: 'linkDebug', desc: '开启外链调试模式(在线上页面设计器端调试)' },
@@ -603,7 +606,7 @@ yargs
603
606
  // { cmd: 'build2lib', desc: '构建 UMD 模块' },
604
607
  // { cmd: 'build2esm', desc: '构建 ESM 模块' },
605
608
  // { cmd: 'publish2oss [options]', desc: '发布到oss' },
606
- { cmd: 'pushCmp [options]', desc: '构建并发布自定义组件到 NeoCRM 平台' },
609
+ { cmd: 'push cmp [options]', desc: '构建并发布自定义组件到 NeoCRM 平台' },
607
610
  // { cmd: 'inspect', desc: '输出当前配置文件' },
608
611
  { cmd: 'open [options]', desc: '使用 Cursor 或 VSCode 打开项目' }
609
612
  ];
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^9.1.1",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.6.8",
51
+ "neo-cmp-cli": "^1.7.1",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5"
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^9.1.1",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.6.8",
51
+ "neo-cmp-cli": "^1.7.1",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5",
@@ -12,7 +12,7 @@
12
12
  "scripts": {
13
13
  "preview": "neo preview",
14
14
  "linkDebug": "neo linkDebug",
15
- "pushCmp": "neo pushCmp",
15
+ "pushCmp": "neo push cmp",
16
16
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
17
17
  },
18
18
  "files": [
@@ -46,7 +46,7 @@
46
46
  "@commitlint/config-conventional": "^9.1.1",
47
47
  "@types/react": "^16.9.11",
48
48
  "@types/react-dom": "^16.9.15",
49
- "neo-cmp-cli": "^1.6.8",
49
+ "neo-cmp-cli": "^1.7.1",
50
50
  "husky": "^4.2.5",
51
51
  "lint-staged": "^10.2.9",
52
52
  "prettier": "^2.0.5"
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -52,7 +52,7 @@
52
52
  "@types/react": "^16.9.11",
53
53
  "@types/react-dom": "^16.9.15",
54
54
  "@types/axios": "^0.14.0",
55
- "neo-cmp-cli": "^1.6.8",
55
+ "neo-cmp-cli": "^1.7.1",
56
56
  "husky": "^4.2.5",
57
57
  "lint-staged": "^10.2.9",
58
58
  "prettier": "^2.0.5"
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -45,7 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@commitlint/cli": "^8.3.5",
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
- "neo-cmp-cli": "^1.6.8",
48
+ "neo-cmp-cli": "^1.7.1",
49
49
  "husky": "^4.2.5",
50
50
  "lint-staged": "^10.2.9",
51
51
  "prettier": "^2.0.5"
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -47,7 +47,7 @@
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
48
  "@types/react": "^16.9.11",
49
49
  "@types/react-dom": "^16.9.15",
50
- "neo-cmp-cli": "^1.6.8",
50
+ "neo-cmp-cli": "^1.7.1",
51
51
  "husky": "^4.2.5",
52
52
  "lint-staged": "^10.2.9",
53
53
  "prettier": "^2.0.5"
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "preview": "neo preview",
15
15
  "linkDebug": "neo linkDebug",
16
- "pushCmp": "neo pushCmp",
16
+ "pushCmp": "neo push cmp",
17
17
  "format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
18
18
  },
19
19
  "files": [
@@ -45,7 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@commitlint/cli": "^8.3.5",
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
- "neo-cmp-cli": "^1.6.8",
48
+ "neo-cmp-cli": "^1.7.1",
49
49
  "husky": "^4.2.5",
50
50
  "lint-staged": "^10.2.9",
51
51
  "prettier": "^2.0.5",
@@ -30,7 +30,7 @@ module.exports = function (cmpName, componentBaseDir = './src/components') {
30
30
 
31
31
  if (!hasNeoProject()) {
32
32
  console.error(
33
- `${consoleTag}当前(${process.cwd()})还不是自定义组件项目,请先创建一个自定义组件项目(neo init / neo createProject)。`
33
+ `${consoleTag}当前(${process.cwd()})还不是自定义组件项目,请先创建一个自定义组件项目(neo init / neo create project)。`
34
34
  );
35
35
  process.exit(1);
36
36
  }
@@ -119,7 +119,7 @@ module.exports = async function (cmpZipUrl, cmpName, componentBaseDir = './src/c
119
119
 
120
120
  if (!hasNeoProject()) {
121
121
  errorLog(
122
- `当前(${process.cwd()})还不是自定义组件项目,请先创建一个自定义组件项目(neo init / neo createProject)。`
122
+ `当前(${process.cwd()})还不是自定义组件项目,请先创建一个自定义组件项目(neo init / neo create project)。`
123
123
  );
124
124
  process.exit(1);
125
125
  }