@zohodesk/react-cli 0.0.1-exp.160.2 → 0.0.1-exp.161.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +183 -183
  3. package/README.md +746 -746
  4. package/bin/cli.js +421 -421
  5. package/cert/cert.pem +37 -37
  6. package/cert/key.pem +27 -27
  7. package/files/eslintrc.js +62 -62
  8. package/files/prettierrc.js +3 -3
  9. package/lib/configs/webpack.css.umd.config.js +4 -4
  10. package/lib/configs/webpack.prod.config.js +2 -6
  11. package/lib/loaders/scriptInstrumentLoader.js +2 -2
  12. package/lib/loaders/workerLoader.js +9 -9
  13. package/lib/pluginUtils/getDevPlugins.js +5 -5
  14. package/lib/pluginUtils/getProdPlugins.js +5 -5
  15. package/lib/plugins/EFCPlugin.md +6 -6
  16. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  17. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  18. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  19. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  20. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -86
  21. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  22. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  23. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  24. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  25. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  26. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  27. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  28. package/lib/postcss-plugins/RTLSplitPlugin.js +12 -12
  29. package/lib/sh/pre-commit.sh +34 -34
  30. package/lib/sh/reportPublish.sh +45 -45
  31. package/lib/utils/buildstats.html +148 -148
  32. package/lib/utils/resultSchema.json +73 -73
  33. package/package.json +144 -145
  34. package/templates/app/.eslintrc.js +140 -140
  35. package/templates/app/README.md +12 -12
  36. package/templates/app/app/index.html +24 -24
  37. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  38. package/templates/app/app/properties/i18nkeys.json +3 -3
  39. package/templates/app/docs/all.html +69 -69
  40. package/templates/app/mockapi/index.js +18 -18
  41. package/templates/app/package.json +37 -37
  42. package/templates/app/src/actions/SampleActions/index.js +37 -37
  43. package/templates/app/src/actions/index.js +65 -65
  44. package/templates/app/src/appUrls.js +19 -19
  45. package/templates/app/src/components/Alert/Alert.js +134 -134
  46. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  47. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  48. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  49. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  50. package/templates/app/src/components/Sample/SampleList.js +61 -61
  51. package/templates/app/src/components/Slider/Slider.css +41 -41
  52. package/templates/app/src/components/Slider/Slider.js +55 -55
  53. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  54. package/templates/app/src/containers/AppContainer/index.js +96 -96
  55. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  56. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  57. package/templates/app/src/containers/DevTools/index.js +10 -10
  58. package/templates/app/src/containers/Header/index.js +67 -67
  59. package/templates/app/src/containers/Header/index.module.css +43 -43
  60. package/templates/app/src/containers/Redirect/index.js +63 -63
  61. package/templates/app/src/containers/Redirector/index.js +47 -47
  62. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  63. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  64. package/templates/app/src/historyChange.js +5 -5
  65. package/templates/app/src/index.html +10 -10
  66. package/templates/app/src/index.js +24 -24
  67. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  68. package/templates/app/src/reducers/alertData.js +11 -11
  69. package/templates/app/src/reducers/index.js +6 -6
  70. package/templates/app/src/reducers/samples.js +19 -19
  71. package/templates/app/src/store/configureStore.dev.js +51 -51
  72. package/templates/app/src/store/configureStore.js +5 -5
  73. package/templates/app/src/store/configureStore.prod.js +26 -26
  74. package/templates/app/src/util/Common.js +5 -5
  75. package/templates/app/src/util/RequestAPI.js +132 -132
  76. package/templates/docs/all.html +249 -249
  77. package/templates/docs/component.html +178 -178
  78. package/templates/docs/components.html +221 -221
  79. package/templates/docs/css/b.min.css +6 -6
  80. package/templates/docs/css/component.css +42 -42
  81. package/templates/docs/css/componentTest.css +6 -6
  82. package/templates/docs/css/hopscotch.css +585 -585
  83. package/templates/docs/css/style.css +1022 -1022
  84. package/templates/docs/impactReportTemplate.html +154 -154
  85. package/templates/docs/index.html +1493 -1493
  86. package/templates/docs/js/active-line.js +72 -72
  87. package/templates/docs/js/b.min.js +7 -7
  88. package/templates/docs/js/codemirror.js +9680 -9680
  89. package/templates/docs/js/designTokens.js +334 -334
  90. package/templates/docs/js/j.min.js +4 -4
  91. package/templates/docs/js/javascript.js +874 -874
  92. package/templates/docs/js/matchbrackets.js +145 -145
package/bin/cli.js CHANGED
@@ -1,421 +1,421 @@
1
- #!/usr/bin/env node
2
-
3
- let path = require('path');
4
- let os = require('os');
5
- let { spawnSync } = require('child_process');
6
- let { getOptions } = require('../lib/utils/index.js');
7
-
8
- let { log } = require('../lib/utils');
9
- //initPreCommitHook();
10
-
11
- let options = getOptions();
12
-
13
- let { esLint: esLintOptions } = options || {};
14
- let {
15
- ignoreFilePaths: esLintIgnorePaths,
16
- fix: esLintFix,
17
- isCI: isCI,
18
- reportPath: reportPath
19
- } = esLintOptions || {};
20
-
21
- let isWindows = os.platform().toLowerCase() === 'win32';
22
-
23
- let [, , option] = process.argv;
24
- let args = process.argv.slice(3);
25
- let appPath = process.cwd();
26
-
27
- const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
28
-
29
- const _getCliPath = !isNodeModuleUnderAppFolder
30
- ? libName => path.join(__dirname, '..', 'node_modules', '.bin', libName)
31
- : libName => libName;
32
- const suffixExt = isWindows ? '.cmd' : '';
33
-
34
- function getCliPath(libName) {
35
- return _getCliPath(libName) + suffixExt;
36
- }
37
-
38
- let webpack = getCliPath('webpack');
39
-
40
- let nodemon = getCliPath('nodemon');
41
- let babel = getCliPath('babel');
42
- let propertyToJson = getCliPath('propertyToJson');
43
- let esLint = getCliPath('eslint');
44
-
45
- let result;
46
- switch (option) {
47
- case 'lint-setup': {
48
- result = spawnSync(
49
- 'node',
50
- [require.resolve('../lib/utils/lint/index.js')].concat(args),
51
- { stdio: 'inherit' }
52
- );
53
- process.exit(result.status);
54
- break;
55
- }
56
- case 'add-lint-scripts': {
57
- result = spawnSync(
58
- 'node',
59
- [require.resolve('../lib/utils/lint/lintScripts.js')].concat(args),
60
- { stdio: 'inherit' }
61
- );
62
- process.exit(result.status);
63
- break;
64
- }
65
- case 'postpublish':
66
- result = spawnSync(
67
- 'node',
68
- [require.resolve('../lib/utils/dependencyPostPublish')].concat(args),
69
- { stdio: 'inherit' }
70
- );
71
-
72
- process.exit(result.status);
73
- break;
74
- case 'rtl':
75
- result = spawnSync(
76
- 'node',
77
- [require.resolve('../lib/utils/rtl')].concat(args),
78
- { stdio: 'inherit' }
79
- );
80
-
81
- process.exit(result.status);
82
- break;
83
- case 'app':
84
- result = spawnSync(
85
- 'cp',
86
- ['-r', path.join(__dirname, '..', 'templates', 'app')].concat(args),
87
- { stdio: 'inherit' }
88
- );
89
- process.exit(result.status);
90
- break;
91
-
92
- case 'library':
93
- result = spawnSync(
94
- 'cp',
95
- ['-r', path.join(__dirname, '..', 'templates', 'library')].concat(args),
96
- { stdio: 'inherit' }
97
- );
98
- process.exit(result.status);
99
- break;
100
-
101
- case 'move':
102
- result = spawnSync(
103
- 'node',
104
- [require.resolve('../lib/utils/copy')].concat(args.concat(false)),
105
- { stdio: 'inherit' }
106
- );
107
- process.exit(result.status);
108
- break;
109
-
110
- case 'copy':
111
- result = spawnSync(
112
- 'node',
113
- [require.resolve('../lib/utils/copy')].concat(args),
114
- { stdio: 'inherit' }
115
- );
116
- process.exit(result.status);
117
- break;
118
-
119
- case 'copyTimezones':
120
- result = spawnSync(
121
- 'node',
122
- [require.resolve('../lib/utils/copyTimezones')].concat(args),
123
- { stdio: 'inherit' }
124
- );
125
- process.exit(result.status);
126
- break;
127
-
128
- case 'clone':
129
- result = spawnSync(
130
- 'node',
131
- [require.resolve('../lib/utils/repoClone')].concat(args.concat(args)),
132
- { stdio: 'inherit' }
133
- );
134
- process.exit(result.status);
135
- break;
136
-
137
- case 'sslcertupdate':
138
- result = spawnSync(
139
- 'node',
140
- [require.resolve('../lib/common/sslcertUpdater')].concat(args),
141
- { stdio: 'inherit' }
142
- );
143
- process.exit(result.status);
144
- break;
145
-
146
- case 'propertyToJson':
147
- result = spawnSync(
148
- propertyToJson,
149
- args.map(arg => path.join(appPath, arg)),
150
- {
151
- stdio: 'inherit'
152
- }
153
- );
154
- process.exit(result.status);
155
- break;
156
-
157
- case 'clean':
158
- args = args.map(arg => path.join(appPath, arg));
159
- result = spawnSync(
160
- 'node',
161
- [require.resolve('../lib/utils/clean')].concat(args),
162
- { stdio: 'inherit' }
163
- );
164
- process.exit(result.status);
165
- break;
166
-
167
- case 'nowatchstart':
168
- result = spawnSync(
169
- 'node',
170
- [
171
- require.resolve('../lib/servers/nowatchserver'),
172
- '--expose-http2'
173
- ].concat(args),
174
- // [require.resolve('../lib/servers/staticServer'), '--expose-http2'].concat(args),
175
- { stdio: 'inherit' }
176
- );
177
- process.exit(result.status);
178
- break;
179
- case 'start':
180
- result = spawnSync(
181
- 'node',
182
- [
183
- options.app.disableWatch
184
- ? require.resolve('../lib/servers/nowatchserver')
185
- : require.resolve('../lib/servers/server'),
186
-
187
- '--expose-http2'
188
- ].concat(args),
189
- { stdio: 'inherit' }
190
- );
191
- process.exit(result.status);
192
- break;
193
- case 'mockserver':
194
- result = spawnSync(
195
- nodemon,
196
- [
197
- require.resolve('../lib/servers/mockserver.js'),
198
- '--delay',
199
- '2500ms',
200
- 'watch',
201
- `${appPath + path.sep}mockapi`
202
- ].concat(args),
203
- { stdio: 'inherit' }
204
- );
205
- process.exit(result.status);
206
- break;
207
-
208
- case 'docs':
209
- result = spawnSync(
210
- 'node',
211
- [require.resolve('../lib/servers/docsServer')].concat(args),
212
- { stdio: 'inherit' }
213
- );
214
- process.exit(result.status);
215
- break;
216
-
217
- case 'build':
218
- result = spawnSync(
219
- webpack,
220
- [
221
- '--config',
222
- require.resolve('../lib/configs/webpack.prod.config.js')
223
- ].concat(args),
224
- { stdio: 'inherit' }
225
- );
226
-
227
- process.exit(result.status);
228
- break;
229
-
230
- case 'build:library:umd':
231
- case 'build:component:umd':
232
- result = spawnSync(
233
- webpack,
234
- [
235
- '--config',
236
- require.resolve('../lib/configs/webpack.component.umd.config.js')
237
- ],
238
- { stdio: 'inherit' }
239
- );
240
- process.exit(result.status);
241
- break;
242
- case 'build:css:umd':
243
- result = spawnSync(
244
- webpack,
245
- ['--config', require.resolve('../lib/configs/webpack.css.umd.config.js')],
246
- { stdio: 'inherit' }
247
- );
248
- process.exit(result.status);
249
- break;
250
- case 'build:component:server':
251
- result = spawnSync(
252
- webpack,
253
- ['--config', require.resolve('../lib/configs/webpack.server.config.js')],
254
- { stdio: 'inherit' }
255
- );
256
- process.exit(result.status);
257
- break;
258
-
259
- case 'build:library:cmjs':
260
- case 'build:component:cmjs':
261
- result = spawnSync(
262
- babel,
263
- [
264
- 'src',
265
- '-d',
266
- 'lib',
267
- `--presets=${require.resolve('../lib/babel/cmjs-plugins-presets.js')}`,
268
- '--copy-files'
269
- ].concat(args),
270
- { stdio: 'inherit' }
271
- );
272
- process.exit(result.status);
273
- break;
274
-
275
- case 'build:library:es':
276
- case 'build:component:es':
277
- result = spawnSync(
278
- babel,
279
- [
280
- 'src',
281
- '--out-dir',
282
- 'es',
283
- `--presets=${require.resolve('../lib/babel/es-plugins-presets.js')}`,
284
- '--copy-files'
285
- ].concat(args),
286
- { stdio: 'inherit' }
287
- );
288
- process.exit(result.status);
289
- break;
290
-
291
- case 'test':
292
- result = spawnSync(
293
- 'node',
294
- [require.resolve('../lib/jest/run.js')].concat(args),
295
- { stdio: 'inherit' }
296
- );
297
- process.exit(result.status);
298
- break;
299
-
300
- case 'sstest':
301
- result = spawnSync(
302
- 'node',
303
- [require.resolve('../lib/servers/scrServer')].concat(args),
304
- { stdio: 'inherit' }
305
- );
306
- process.exit(result.status);
307
- break;
308
-
309
- case 'impact:library':
310
- result = spawnSync(
311
- webpack,
312
- [
313
- '--config',
314
- require.resolve('../lib/configs/webpack.impact.config.js')
315
- ].concat(args),
316
- { stdio: 'inherit' }
317
- );
318
-
319
- // result = spawnSync(
320
- // webpack,
321
- // [require.resolve('../lib/server/libraryImpact')].concat(args),
322
- // { stdio: 'inherit' }
323
- // )
324
-
325
- process.exit(result.status);
326
- break;
327
-
328
- case 'publish:report':
329
- result = spawnSync(
330
- 'sh',
331
- [path.join(__dirname, '..', 'lib', 'sh', 'reportPublish.sh')].concat(
332
- args
333
- ),
334
- { stdio: 'inherit' }
335
- );
336
- process.exit(result.status);
337
- break;
338
-
339
- case 'impact':
340
- result = spawnSync(
341
- 'node',
342
- [require.resolve('../lib/server/impactServer')].concat(args),
343
- { stdio: 'inherit' }
344
- );
345
- process.exit(result.status);
346
- break;
347
-
348
- case 'cluster:monitor':
349
- result = spawnSync(
350
- 'node',
351
- [require.resolve('../lib/servers/clusterHubServer')].concat(args),
352
- { stdio: 'inherit' }
353
- );
354
- process.exit(result.status);
355
- break;
356
-
357
- case 'lint':
358
- result = spawnSync(
359
- esLint,
360
- [
361
- '-c',
362
- path.join(__dirname, '..', '.eslintrc.js'),
363
- isCI ? '--no-eslintrc' : false,
364
- '--ignore-path',
365
- esLintIgnorePaths
366
- ? path.join(appPath, esLintIgnorePaths)
367
- : path.join(__dirname, '..', '.eslintignore'),
368
- esLintFix ? '--fix' : false,
369
- isCI ? '-f' : false,
370
- isCI ? path.join(__dirname, './../lib/utils/lintReporter.js') : false
371
- ]
372
- .filter(Boolean)
373
- .concat(args.map(arg => path.join(appPath, arg))),
374
- {
375
- stdio: 'inherit'
376
- }
377
- );
378
- isCI ? log(`You can see the eslint result from ${reportPath}`) : false;
379
- break;
380
-
381
- case 'set:config':
382
- result = spawnSync(
383
- 'node',
384
- [require.resolve('../lib/utils/setEnvVariables')].concat(args),
385
- { stdio: 'inherit' }
386
- );
387
- process.exit(result.status);
388
- break;
389
-
390
- case 'help':
391
- result = spawnSync(
392
- 'node',
393
- [require.resolve('../lib/servers/helpServer')].concat(args),
394
- { stdio: 'inherit' }
395
- );
396
- process.exit(result.status);
397
- break;
398
-
399
- case '--version':
400
- case '-version':
401
- case '--v':
402
- case '-v':
403
- log(`@zohodesk/react-cli v${require('../package.json').version}`);
404
- break;
405
-
406
- default:
407
- log(`react-cli > Unknown option "${option}"`);
408
- log('react-cli app <appName>');
409
- log('react-cli library <libraryName>');
410
- log('react-cli start');
411
- log('react-cli build');
412
- log('react-cli sstest');
413
- log('react-cli test');
414
- log('react-cli publish:report');
415
- log('react-cli build:library:es');
416
- log('react-cli gitclone <last argument clone folder>');
417
- log('react-cli hgclone <last argument clone folder>');
418
-
419
- process.exit(0);
420
- break;
421
- }
1
+ #!/usr/bin/env node
2
+
3
+ let path = require('path');
4
+ let os = require('os');
5
+ let { spawnSync } = require('child_process');
6
+ let { getOptions } = require('../lib/utils/index.js');
7
+
8
+ let { log } = require('../lib/utils');
9
+ //initPreCommitHook();
10
+
11
+ let options = getOptions();
12
+
13
+ let { esLint: esLintOptions } = options || {};
14
+ let {
15
+ ignoreFilePaths: esLintIgnorePaths,
16
+ fix: esLintFix,
17
+ isCI: isCI,
18
+ reportPath: reportPath
19
+ } = esLintOptions || {};
20
+
21
+ let isWindows = os.platform().toLowerCase() === 'win32';
22
+
23
+ let [, , option] = process.argv;
24
+ let args = process.argv.slice(3);
25
+ let appPath = process.cwd();
26
+
27
+ const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
28
+
29
+ const _getCliPath = !isNodeModuleUnderAppFolder
30
+ ? libName => path.join(__dirname, '..', 'node_modules', '.bin', libName)
31
+ : libName => libName;
32
+ const suffixExt = isWindows ? '.cmd' : '';
33
+
34
+ function getCliPath(libName) {
35
+ return _getCliPath(libName) + suffixExt;
36
+ }
37
+
38
+ let webpack = getCliPath('webpack');
39
+
40
+ let nodemon = getCliPath('nodemon');
41
+ let babel = getCliPath('babel');
42
+ let propertyToJson = getCliPath('propertyToJson');
43
+ let esLint = getCliPath('eslint');
44
+
45
+ let result;
46
+ switch (option) {
47
+ case 'lint-setup': {
48
+ result = spawnSync(
49
+ 'node',
50
+ [require.resolve('../lib/utils/lint/index.js')].concat(args),
51
+ { stdio: 'inherit' }
52
+ );
53
+ process.exit(result.status);
54
+ break;
55
+ }
56
+ case 'add-lint-scripts': {
57
+ result = spawnSync(
58
+ 'node',
59
+ [require.resolve('../lib/utils/lint/lintScripts.js')].concat(args),
60
+ { stdio: 'inherit' }
61
+ );
62
+ process.exit(result.status);
63
+ break;
64
+ }
65
+ case 'postpublish':
66
+ result = spawnSync(
67
+ 'node',
68
+ [require.resolve('../lib/utils/dependencyPostPublish')].concat(args),
69
+ { stdio: 'inherit' }
70
+ );
71
+
72
+ process.exit(result.status);
73
+ break;
74
+ case 'rtl':
75
+ result = spawnSync(
76
+ 'node',
77
+ [require.resolve('../lib/utils/rtl')].concat(args),
78
+ { stdio: 'inherit' }
79
+ );
80
+
81
+ process.exit(result.status);
82
+ break;
83
+ case 'app':
84
+ result = spawnSync(
85
+ 'cp',
86
+ ['-r', path.join(__dirname, '..', 'templates', 'app')].concat(args),
87
+ { stdio: 'inherit' }
88
+ );
89
+ process.exit(result.status);
90
+ break;
91
+
92
+ case 'library':
93
+ result = spawnSync(
94
+ 'cp',
95
+ ['-r', path.join(__dirname, '..', 'templates', 'library')].concat(args),
96
+ { stdio: 'inherit' }
97
+ );
98
+ process.exit(result.status);
99
+ break;
100
+
101
+ case 'move':
102
+ result = spawnSync(
103
+ 'node',
104
+ [require.resolve('../lib/utils/copy')].concat(args.concat(false)),
105
+ { stdio: 'inherit' }
106
+ );
107
+ process.exit(result.status);
108
+ break;
109
+
110
+ case 'copy':
111
+ result = spawnSync(
112
+ 'node',
113
+ [require.resolve('../lib/utils/copy')].concat(args),
114
+ { stdio: 'inherit' }
115
+ );
116
+ process.exit(result.status);
117
+ break;
118
+
119
+ case 'copyTimezones':
120
+ result = spawnSync(
121
+ 'node',
122
+ [require.resolve('../lib/utils/copyTimezones')].concat(args),
123
+ { stdio: 'inherit' }
124
+ );
125
+ process.exit(result.status);
126
+ break;
127
+
128
+ case 'clone':
129
+ result = spawnSync(
130
+ 'node',
131
+ [require.resolve('../lib/utils/repoClone')].concat(args.concat(args)),
132
+ { stdio: 'inherit' }
133
+ );
134
+ process.exit(result.status);
135
+ break;
136
+
137
+ case 'sslcertupdate':
138
+ result = spawnSync(
139
+ 'node',
140
+ [require.resolve('../lib/common/sslcertUpdater')].concat(args),
141
+ { stdio: 'inherit' }
142
+ );
143
+ process.exit(result.status);
144
+ break;
145
+
146
+ case 'propertyToJson':
147
+ result = spawnSync(
148
+ propertyToJson,
149
+ args.map(arg => path.join(appPath, arg)),
150
+ {
151
+ stdio: 'inherit'
152
+ }
153
+ );
154
+ process.exit(result.status);
155
+ break;
156
+
157
+ case 'clean':
158
+ args = args.map(arg => path.join(appPath, arg));
159
+ result = spawnSync(
160
+ 'node',
161
+ [require.resolve('../lib/utils/clean')].concat(args),
162
+ { stdio: 'inherit' }
163
+ );
164
+ process.exit(result.status);
165
+ break;
166
+
167
+ case 'nowatchstart':
168
+ result = spawnSync(
169
+ 'node',
170
+ [
171
+ require.resolve('../lib/servers/nowatchserver'),
172
+ '--expose-http2'
173
+ ].concat(args),
174
+ // [require.resolve('../lib/servers/staticServer'), '--expose-http2'].concat(args),
175
+ { stdio: 'inherit' }
176
+ );
177
+ process.exit(result.status);
178
+ break;
179
+ case 'start':
180
+ result = spawnSync(
181
+ 'node',
182
+ [
183
+ options.app.disableWatch
184
+ ? require.resolve('../lib/servers/nowatchserver')
185
+ : require.resolve('../lib/servers/server'),
186
+
187
+ '--expose-http2'
188
+ ].concat(args),
189
+ { stdio: 'inherit' }
190
+ );
191
+ process.exit(result.status);
192
+ break;
193
+ case 'mockserver':
194
+ result = spawnSync(
195
+ nodemon,
196
+ [
197
+ require.resolve('../lib/servers/mockserver.js'),
198
+ '--delay',
199
+ '2500ms',
200
+ 'watch',
201
+ `${appPath + path.sep}mockapi`
202
+ ].concat(args),
203
+ { stdio: 'inherit' }
204
+ );
205
+ process.exit(result.status);
206
+ break;
207
+
208
+ case 'docs':
209
+ result = spawnSync(
210
+ 'node',
211
+ [require.resolve('../lib/servers/docsServer')].concat(args),
212
+ { stdio: 'inherit' }
213
+ );
214
+ process.exit(result.status);
215
+ break;
216
+
217
+ case 'build':
218
+ result = spawnSync(
219
+ webpack,
220
+ [
221
+ '--config',
222
+ require.resolve('../lib/configs/webpack.prod.config.js')
223
+ ].concat(args),
224
+ { stdio: 'inherit' }
225
+ );
226
+
227
+ process.exit(result.status);
228
+ break;
229
+
230
+ case 'build:library:umd':
231
+ case 'build:component:umd':
232
+ result = spawnSync(
233
+ webpack,
234
+ [
235
+ '--config',
236
+ require.resolve('../lib/configs/webpack.component.umd.config.js')
237
+ ],
238
+ { stdio: 'inherit' }
239
+ );
240
+ process.exit(result.status);
241
+ break;
242
+ case 'build:css:umd':
243
+ result = spawnSync(
244
+ webpack,
245
+ ['--config', require.resolve('../lib/configs/webpack.css.umd.config.js')],
246
+ { stdio: 'inherit' }
247
+ );
248
+ process.exit(result.status);
249
+ break;
250
+ case 'build:component:server':
251
+ result = spawnSync(
252
+ webpack,
253
+ ['--config', require.resolve('../lib/configs/webpack.server.config.js')],
254
+ { stdio: 'inherit' }
255
+ );
256
+ process.exit(result.status);
257
+ break;
258
+
259
+ case 'build:library:cmjs':
260
+ case 'build:component:cmjs':
261
+ result = spawnSync(
262
+ babel,
263
+ [
264
+ 'src',
265
+ '-d',
266
+ 'lib',
267
+ `--presets=${require.resolve('../lib/babel/cmjs-plugins-presets.js')}`,
268
+ '--copy-files'
269
+ ].concat(args),
270
+ { stdio: 'inherit' }
271
+ );
272
+ process.exit(result.status);
273
+ break;
274
+
275
+ case 'build:library:es':
276
+ case 'build:component:es':
277
+ result = spawnSync(
278
+ babel,
279
+ [
280
+ 'src',
281
+ '--out-dir',
282
+ 'es',
283
+ `--presets=${require.resolve('../lib/babel/es-plugins-presets.js')}`,
284
+ '--copy-files'
285
+ ].concat(args),
286
+ { stdio: 'inherit' }
287
+ );
288
+ process.exit(result.status);
289
+ break;
290
+
291
+ case 'test':
292
+ result = spawnSync(
293
+ 'node',
294
+ [require.resolve('../lib/jest/run.js')].concat(args),
295
+ { stdio: 'inherit' }
296
+ );
297
+ process.exit(result.status);
298
+ break;
299
+
300
+ case 'sstest':
301
+ result = spawnSync(
302
+ 'node',
303
+ [require.resolve('../lib/servers/scrServer')].concat(args),
304
+ { stdio: 'inherit' }
305
+ );
306
+ process.exit(result.status);
307
+ break;
308
+
309
+ case 'impact:library':
310
+ result = spawnSync(
311
+ webpack,
312
+ [
313
+ '--config',
314
+ require.resolve('../lib/configs/webpack.impact.config.js')
315
+ ].concat(args),
316
+ { stdio: 'inherit' }
317
+ );
318
+
319
+ // result = spawnSync(
320
+ // webpack,
321
+ // [require.resolve('../lib/server/libraryImpact')].concat(args),
322
+ // { stdio: 'inherit' }
323
+ // )
324
+
325
+ process.exit(result.status);
326
+ break;
327
+
328
+ case 'publish:report':
329
+ result = spawnSync(
330
+ 'sh',
331
+ [path.join(__dirname, '..', 'lib', 'sh', 'reportPublish.sh')].concat(
332
+ args
333
+ ),
334
+ { stdio: 'inherit' }
335
+ );
336
+ process.exit(result.status);
337
+ break;
338
+
339
+ case 'impact':
340
+ result = spawnSync(
341
+ 'node',
342
+ [require.resolve('../lib/server/impactServer')].concat(args),
343
+ { stdio: 'inherit' }
344
+ );
345
+ process.exit(result.status);
346
+ break;
347
+
348
+ case 'cluster:monitor':
349
+ result = spawnSync(
350
+ 'node',
351
+ [require.resolve('../lib/servers/clusterHubServer')].concat(args),
352
+ { stdio: 'inherit' }
353
+ );
354
+ process.exit(result.status);
355
+ break;
356
+
357
+ case 'lint':
358
+ result = spawnSync(
359
+ esLint,
360
+ [
361
+ '-c',
362
+ path.join(__dirname, '..', '.eslintrc.js'),
363
+ isCI ? '--no-eslintrc' : false,
364
+ '--ignore-path',
365
+ esLintIgnorePaths
366
+ ? path.join(appPath, esLintIgnorePaths)
367
+ : path.join(__dirname, '..', '.eslintignore'),
368
+ esLintFix ? '--fix' : false,
369
+ isCI ? '-f' : false,
370
+ isCI ? path.join(__dirname, './../lib/utils/lintReporter.js') : false
371
+ ]
372
+ .filter(Boolean)
373
+ .concat(args.map(arg => path.join(appPath, arg))),
374
+ {
375
+ stdio: 'inherit'
376
+ }
377
+ );
378
+ isCI ? log(`You can see the eslint result from ${reportPath}`) : false;
379
+ break;
380
+
381
+ case 'set:config':
382
+ result = spawnSync(
383
+ 'node',
384
+ [require.resolve('../lib/utils/setEnvVariables')].concat(args),
385
+ { stdio: 'inherit' }
386
+ );
387
+ process.exit(result.status);
388
+ break;
389
+
390
+ case 'help':
391
+ result = spawnSync(
392
+ 'node',
393
+ [require.resolve('../lib/servers/helpServer')].concat(args),
394
+ { stdio: 'inherit' }
395
+ );
396
+ process.exit(result.status);
397
+ break;
398
+
399
+ case '--version':
400
+ case '-version':
401
+ case '--v':
402
+ case '-v':
403
+ log(`@zohodesk/react-cli v${require('../package.json').version}`);
404
+ break;
405
+
406
+ default:
407
+ log(`react-cli > Unknown option "${option}"`);
408
+ log('react-cli app <appName>');
409
+ log('react-cli library <libraryName>');
410
+ log('react-cli start');
411
+ log('react-cli build');
412
+ log('react-cli sstest');
413
+ log('react-cli test');
414
+ log('react-cli publish:report');
415
+ log('react-cli build:library:es');
416
+ log('react-cli gitclone <last argument clone folder>');
417
+ log('react-cli hgclone <last argument clone folder>');
418
+
419
+ process.exit(0);
420
+ break;
421
+ }