@zohodesk/react-cli 1.1.14-exp.3 → 1.1.14-kubernetes

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 (102) hide show
  1. package/README.md +16 -281
  2. package/bin/cli.js +55 -30
  3. package/docs/CustomChunks.md +9 -12
  4. package/docs/SelectorWeight.md +0 -3
  5. package/docs/ValueReplacer.md +0 -27
  6. package/docs/VariableConversion.md +1 -6
  7. package/lib/common/splitChunks.js +45 -65
  8. package/lib/common/testPattern.js +11 -9
  9. package/lib/common/valueReplacer.js +3 -1
  10. package/lib/configs/resolvers.js +5 -16
  11. package/lib/configs/webpack.css.umd.config.js +2 -3
  12. package/lib/configs/webpack.dev.config.js +5 -15
  13. package/lib/configs/webpack.docs.config.js +3 -14
  14. package/lib/configs/webpack.impact.config.js +2 -8
  15. package/lib/configs/webpack.prod.config.js +5 -15
  16. package/lib/constants.js +3 -3
  17. package/lib/loaderUtils/getCSSLoaders.js +49 -98
  18. package/lib/loaderUtils/windowsModification.js +1 -6
  19. package/lib/loaders/docsLoader.js +7 -18
  20. package/lib/loaders/selectorMappingLoader.js +9 -9
  21. package/lib/pluginUtils/getDevPlugins.js +6 -25
  22. package/lib/pluginUtils/getProdPlugins.js +5 -32
  23. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  24. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  25. package/lib/plugins/EFCPlugin.js +9 -9
  26. package/lib/plugins/EFCTemplatePlugin.js +12 -10
  27. package/lib/plugins/I18NInjectIntoIndexPlugin.js +9 -8
  28. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +3 -2
  29. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +13 -30
  30. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +7 -2
  31. package/lib/plugins/I18nSplitPlugin/index.js +1 -1
  32. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  33. package/lib/plugins/ReportGeneratePlugin.js +6 -8
  34. package/lib/plugins/ResourceHintsPlugin.js +3 -13
  35. package/lib/plugins/SelectorPlugin.js +37 -77
  36. package/lib/plugins/{MinifyPlugin.js → UglifyCSSPlugin.js} +3 -3
  37. package/lib/plugins/UnusedFilesFindPlugin.js +5 -7
  38. package/lib/plugins/VariableConversionCollector.js +101 -40
  39. package/lib/plugins/composeCommonPlugin.js +30 -0
  40. package/lib/plugins/index.js +7 -7
  41. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  42. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -4
  43. package/lib/postcss-plugins/ValueReplacer.js +29 -8
  44. package/lib/postcss-plugins/hoverActivePlugin.js +6 -0
  45. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +1 -0
  46. package/lib/postcss-plugins/variableModificationPlugin/index.js +38 -94
  47. package/lib/postcss-plugins/variableModifier.js +244 -0
  48. package/lib/schemas/index.js +18 -94
  49. package/lib/servers/devBuild.js +11 -13
  50. package/lib/servers/getCliPath.js +5 -3
  51. package/lib/servers/httpsOptions.js +13 -12
  52. package/lib/servers/nowatchserver.js +55 -62
  53. package/lib/servers/server.js +52 -53
  54. package/lib/utils/cssClassNameGenerate.js +13 -70
  55. package/lib/utils/getOptions.js +28 -35
  56. package/lib/utils/getServerURL.js +9 -1
  57. package/lib/utils/index.js +12 -14
  58. package/lib/utils/initPreCommitHook.js +5 -5
  59. package/lib/utils/pullOrigin.js +3 -3
  60. package/lib/utils/reinstallDependencies.js +3 -3
  61. package/lib/utils/switchBranch.js +2 -4
  62. package/package.json +3 -5
  63. package/templates/docs/all.html +0 -1
  64. package/templates/docs/component.html +0 -1
  65. package/templates/docs/components.html +0 -1
  66. package/templates/docs/css/style.css +169 -136
  67. package/templates/docs/index.html +632 -796
  68. package/.vscode/settings.json +0 -25
  69. package/docs/ComposeMinification.md +0 -13
  70. package/docs/MarkdownParser.md +0 -18
  71. package/docs/ReactLive.md +0 -14
  72. package/docs/patternFiltering.md +0 -57
  73. package/lib/common/buildEs.js +0 -12
  74. package/lib/common/runPreProcess.js +0 -71
  75. package/lib/deprecationLogger.js +0 -40
  76. package/lib/loaderUtils/tests/windowsModification.test.js +0 -10
  77. package/lib/loaders/__test__/markdownLoader.spec.js +0 -145
  78. package/lib/loaders/composeLoader.js +0 -298
  79. package/lib/loaders/markdownLoader.js +0 -71
  80. package/lib/loaders/reactLiveConvertor.js +0 -105
  81. package/lib/logger.js +0 -27
  82. package/lib/plugins/CustomAttributePlugin.js +0 -82
  83. package/lib/plugins/CustomAttributePlugin.md +0 -35
  84. package/lib/plugins/EfcResourceCleanupPlugin.js +0 -43
  85. package/lib/plugins/StatsPlugin.js +0 -82
  86. package/lib/plugins/utils/classHandling.js +0 -35
  87. package/lib/plugins/utils/fileHandling.js +0 -92
  88. package/lib/plugins/utils/tests/fileHandling.test.js +0 -30
  89. package/lib/plugins/variableConvertorUtils.js +0 -133
  90. package/lib/postcss-plugins/EmptyPlugin.js +0 -8
  91. package/lib/postcss-plugins/IncludePlugin.js +0 -23
  92. package/lib/postcss-plugins/SelectorReplace.js +0 -80
  93. package/lib/postcss-plugins/__test__/selectorReplace.test.js +0 -28
  94. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +0 -43
  95. package/lib/servers/requireLocalOrGlobal.js +0 -61
  96. package/lib/utils/deprecationSupport.js +0 -134
  97. package/lib/utils/log.js +0 -11
  98. package/lib/utils/object-manipulation.js +0 -88
  99. package/lib/utils/selectorReplacer.js +0 -47
  100. package/lib/utils/variableConverter.js +0 -104
  101. package/npm-shrinkwrap.json +0 -33485
  102. package/templates/docs/css/markdown.css +0 -202
package/README.md CHANGED
@@ -44,274 +44,24 @@ Now to run app
44
44
 
45
45
  # Change Logs
46
46
 
47
- # 1.1.14 (11-9-2023)
48
-
49
- **Feature:-**
50
-
51
- - Value Replacer supports `^` before and `$` after the word to consider the whole word for replacement. Only if the exact word comes as value, there will be a replacement made.
52
-
53
- **Issue Fix**
54
-
55
- - 'space' character on variable conversion changes to undefined fixed.
56
- - calc(100%) variable conversion to undefined fixed.
57
- - height value if text converts to undefined, issue fixed.
58
-
59
- # 1.1.13 (4-9-2023)
60
-
61
- **Changes**
62
-
63
- - Fixed the issue related to the resource cleanup plugin. (EfcResouceCleanupPlugin)
64
-
65
-
66
- # 1.1.12 (1-9-2023)
67
-
68
- **Features**
69
-
70
- - Generating stats.json file for the build assets only in production mode. To use this feature we need to add `stats > enable` or cli flags `enable_stats`.
71
- - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by custom attributes enable flag.
72
-
73
- **Changes**
74
-
75
- - Added a new config `stats` to control stats file generation.
76
- - Using Existing custom attributes flag, we can control resource cleanup plugin.
77
-
78
- # 1.1.11 (4-8-2023)
79
-
80
- **Changes**
81
-
82
- - we have renamed our default config file as `react-cli.config.js` instead of `build.config.js`. But we still support `build.config.js` we will remove it in later major version.
83
-
84
- - Prop-type, Prop description, Default Props support for docs given.
85
- - Docs and Docs_Code UI updated.
86
-
87
- **Features:-**
88
-
89
- - custom classname prefix for separate packages now supported.
90
- - to use custom classnames for specific patterns, we use the following pattern in `app > customClassNamePrefix` or `docs > customClassNamePrefix` :
91
-
92
- ```
93
- "customClassNamePrefix" : [
94
- {
95
- "enable": true,
96
- "prefix": "[required-prefix]",
97
- "patterns":[
98
- "**/[path-name]/**/*.css"
99
- ]
100
- }
101
- ]
102
- ```
103
-
104
- For example,
105
-
106
- ```
107
- "customClassNamePrefix": [
108
- {
109
- "enable": true,
110
- "prefix": "zdSvg",
111
- "patterns": [
112
- "**/@zohodesk/svg/**/*.css"
113
- ]
114
- },
115
- ],
116
- ```
117
-
118
- **Issue Fix:**
119
-
120
- - typo fix, (../src/common/runPreProcess.js) to (../lib/common/runPreProcess.js) in cli.js our code.
121
-
122
- # 1.1.10 (2-8-2023)
123
-
124
- **Issue Fix:**
125
-
126
- - undefined plugin postcss issue fixed for docs.
127
- - unnecessary deprecation warning stopped. (for exclude config)
128
-
129
- # 1.1.9 (25-7-2023)
130
-
131
- **Features:-**
132
-
133
- - we have added config file support for react-cli schema. the default config file name `build.config.js` support added. In `build.config.js` you must export configuration object under `config` key. And Note: `build.config.js` is high priority then `package.json` `react-cli` config.
134
- - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
135
- only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
136
- - added support for pattern as function for custom chunks split logic.
137
- - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
138
- - added `postCssPluginOrder` feature :
139
-
140
- - If `app > postCssPluginOrder` or `docs > postCssPluginOrder` is set to "false", default plugin order will be followed.
141
- - If `app > postCssPluginOrder` or `docs > postCssPluginOrder` is set to "true", order preserved in `plugins` Object will be considered.
142
- - If `app > postCssPluginOrder` or `docs > postCssPluginOrder` is set to an array with plugins in a custom order, the custom order will be considered.
143
-
144
- - We use the same plugin names as in `patterns` for the plugins to execute successfully.
145
-
146
- **Issue Fix**
147
-
148
- - fixed file path separator issue with split chunks config for vendor exclude list for windows (that was work well for mac and ubuntu only issue in windows).
149
- - fixed cssUniqueness pattern not working in docs.
150
-
151
- **Changes**
152
-
153
- - previously all custom chunks are enforce true, no we have given support for enforce false for chunks on splitChunks config.
154
-
155
- # 1.1.8
156
-
157
- **Issue Fix**
158
-
159
- - Docs fix for Selector Replace 'always require argument' issue.
160
-
161
- # 1.1.7
162
-
163
- **Feature**
164
-
165
- - Markdown parser feature added in docs
166
- For more info please refer to :
167
- [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/2.0.0/docs/MarkdownParser.md)
168
-
169
- # 1.1.6-exp.2
170
-
171
- - fixed file path separator issue with split chunks config for vendor exclude list.
172
- - added support for not doing enforce true for chunks on splitChunks config.
173
-
174
- # 1.1.5-exp.5
175
-
176
- - fixed the issues regarding custom chunks base config schema.
177
-
178
- # 1.1.5-exp.4
179
-
180
- - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
181
-
182
- # 1.1.5-exp.3
183
-
184
- - added options to split chunks base config
185
- - added support for passing custom chunks split logic as function.
186
-
187
- # 1.1.6
188
-
189
- **Issue Fix**
190
-
191
- - local install react-cli spawnSync Error fix in npm 8
192
- - babel version update issue fix (Cannot read properties of undefined (reading 'file')) and (BABEL_TRANSFORM_ERROR)
193
-
194
- # 1.1.5-exp.2
195
-
196
- **Issue Fix**
197
-
198
- - local install react-cli spawnSync Error fix in npm 8
199
-
200
- # 1.1.5
201
-
202
- **Issue Fix**
203
-
204
- - include pattern fix for variable converter plugin fixed
205
-
206
- # 1.1.4
207
-
208
- **Issue Fix**
209
-
210
- - global install react-cli spawnSync Error fix
211
- - `0px` variable value conversion issue fixed
212
- - pattern exclude for postcss plugins case fixed
213
-
214
- # 1.1.3
215
-
216
- **Issue Fix**
217
-
218
- - local install react-cli spawnSync Error fix
219
-
220
- # 1.1.2
221
-
222
- **Issue Fix**
223
-
224
- - ReactLiveConverter filepath changed to 'reactLiveConverter.js' in docLoader file
225
-
226
- # 1.1.1
227
-
228
- **Issue Fix**
229
-
230
- - docs component name incorrect in windows, when using --enableReactLive issue fixed.
231
-
232
- **Feature Update**
233
-
234
- - Support for desk-library to use Selector Replace plugin using individual script. To use `react-cli selectorReplacer [source] [target]`
235
-
236
- # 1.1.0
237
-
238
- **Feature Update**
239
-
240
- - Support for desk-library to use variable conversion plugin using individual script. To use `react-cli variableConverter [source] [target]`
241
- - pattern filter changes, new filter system instead of exclude to include or exclude files for plugins.
242
- For more info please refer to :
243
- [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/2.0.0/docs/patternFiltering.md)
244
- - React Live feature implemented for Docs.
245
- [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/2.0.0/docs/ReactLive.md)
246
-
247
- # 1.0.3-beta.1
248
-
249
- **Issue Fix**
250
-
251
- - nock api not working issue fixed. This error throwing in @zohodesk/react-cli@1.0.2 version. but working in older versions ( 0.0.1-beta.178 )
252
-
253
- # 1.0.3
254
-
255
- **Feature Update**
256
-
257
- - Support for global httpsCerts usage
258
- - Support for global client_packages_group usage
259
- - custom attribute for dynamically loading chunks, In this version we merged changes from [0.0.1-beta.167.1](#0.0.1-beta.167.1).
260
- **Package Update**
261
- - @zohodesk/client_packages_group@**1.0.1** ==> @zohodesk/client_packages_group@**1.0.2**
262
-
263
- # 1.0.2
264
-
265
- **Feature Update**
266
-
267
- - Selector replace plugin made as a custom postcss-plugin with update to code that was unpublished in package.
268
-
269
- # 1.0.1
270
-
271
- **Issue Fix**
272
-
273
- - variable conversion for px and var(--) values in same declaration was not supported, now it is supported.
274
- - package-lock.json removed from `.npmignore`
275
-
276
- **Feature Update**
277
-
278
- - exclude added to Selector Plugin
279
-
280
- # 1.0.0
281
-
282
- ## Major Release
283
-
284
- **Changes:**
285
-
286
- - File support added for `.webp` for `docs`, `dev` and `prod` mode
287
- - File support added for `.webm` for `docs`, `dev` and `prod` mode
288
-
289
- **Breaking Changes:**
290
-
291
- - We have remove ssl certificate for security reasons.
292
- So default https server won't run.
293
- In order to make it work as before you need to specify two things
294
- 1. install `@zohodesk-private/client_dev_cert`
295
- 2. `react-cli.app.server.httpsCerts` option example `"httpsCerts": "@zohodesk-private/client_dev_cert"`
296
- unless configaration are proper this may break `start` , `docs` , `nowatchstart`. and mock wms `/wmsmockapi` won't work.
297
- So Please be carefull when you update this version or above without proper configaration.
298
47
 
299
48
  # 0.0.1-beta.178
300
49
 
301
50
  **Changes:**
302
51
 
303
52
  - File support added for `.webp` for `docs`, `dev` and `prod` mode
53
+ - and this version has same as `0.0.1-exp.178.1`, `0.0.1-exp.178.2`
304
54
  - File support added for `.webm` for `docs`, `dev` and `prod` mode
305
55
 
306
56
  **Breaking Changes:**
307
57
 
308
- - We have remove ssl certificate for security reasons.
309
- So default https server won't run.
310
- In order to make it work as before you need to specify two things
58
+ - We have remove ssl certificate for security reasons.
59
+ So default https server won't run.
60
+ In order to make it work as before you need to specify two things
311
61
  1. install `@zohodesk-private/client_dev_cert`
312
- 2. `react-cli.app.server.httpsCerts` option example `"httpsCerts": "@zohodesk-private/client_dev_cert"`
313
- unless configaration are proper this may break `start` , `docs` , `nowatchstart`.
314
- So Please be carefull when you update this version or above without proper configaration.
62
+ 2. `react-cli.app.server.httpsCerts` option example `"httpsCerts": "@zohodesk-private/client_dev_cert"`
63
+ unless configaration are proper this may break `start` , `docs` , `nowatchstart`.
64
+ So Please be carefull when you update this version or above without proper configaration.
315
65
 
316
66
  # 0.0.1-exp.178.2
317
67
 
@@ -323,13 +73,13 @@ For example,
323
73
 
324
74
  **Breaking Changes:**
325
75
 
326
- - We have remove ssl certificate for security reasons.
327
- So default https server won't run.
328
- In order to make it work as before you need to specify two things
76
+ - We have remove ssl certificate for security reasons.
77
+ So default https server won't run.
78
+ In order to make it work as before you need to specify two things
329
79
  1. install `@zohodesk-private/client_dev_cert`
330
- 2. `react-cli.app.server.httpsCerts` option example `"httpsCerts": "@zohodesk-private/client_dev_cert"`
331
- unless configaration are proper this may break `start` , `docs` , `nowatchstart`.
332
- So Please be carefull when you update this version or above without proper configaration.
80
+ 2. `react-cli.app.server.httpsCerts` option example `"httpsCerts": "@zohodesk-private/client_dev_cert"`
81
+ unless configaration are proper this may break `start` , `docs` , `nowatchstart`.
82
+ So Please be carefull when you update this version or above without proper configaration.
333
83
 
334
84
  # 0.0.1-beta.177
335
85
 
@@ -390,8 +140,8 @@ cli has been updated to fix compose issue faced when classname:hover exists and
390
140
 
391
141
  **Feature:-**
392
142
 
393
- - `react-cli.test.classnameFormat` option added to change CssModules (Ex: import style from "./a.module.css" ) className transform template unittest case.
394
- `classnameFormat` default value `[classname]` you can customize it. Example: `[classname]-[hash]`
143
+ - `react-cli.test.classnameFormat` option added to change CssModules (Ex: import style from "./a.module.css" ) className transform template unittest case.
144
+ `classnameFormat` default value `[classname]` you can customize it. Example: `[classname]-[hash]`
395
145
 
396
146
  **Changes:-**
397
147
 
@@ -410,7 +160,7 @@ For an more information and reference, refer to `[details](https://zgit.csez.zoh
410
160
 
411
161
  # 0.0.1-beta.172
412
162
 
413
- We have renamed some options, For Our future features convenience.
163
+ We have renamed some options, For Our future features convenience.
414
164
  We have given fallback support.
415
165
  Deprecation Warnings:-
416
166
 
@@ -486,11 +236,6 @@ Features:-
486
236
 
487
237
  - In docs we have added `Description` for Component Props- check out it in `PropTypes` tab
488
238
 
489
- # 0.0.1-beta.167.1
490
-
491
- In this version we merged changes from [0.0.1-betaa.138.1](#0.0.1-betaa.138.1).
492
- and with [0.0.1-beta.167](#0.0.1-beta.167) version changes.
493
-
494
239
  # 0.0.1-beta.167
495
240
 
496
241
  SSL certificate update
@@ -752,12 +497,6 @@ impact servise related changes:-
752
497
  - babel runtime plugin issue fix in prod config
753
498
  - few enhancements
754
499
 
755
- # 0.0.1-betaa.138.1
756
-
757
- - new feature added for custom extra attribute for dynamically added tags by webpack.
758
- - To enable this feature you need to enable "react-cli" => "app" => "customAttributes" => "enable"
759
- - For more [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/9eea8df14e55584b2114b5e484ca8b751a4ba191/src/plugins/CustomAttributePlugin.md)
760
-
761
500
  # 0.0.1-beta.138
762
501
 
763
502
  - sstest library version updated
@@ -1396,7 +1135,3 @@ impact servise related changes:-
1396
1135
  - prod string error fix
1397
1136
  - efc build support
1398
1137
  - single style tag support
1399
-
1400
- ```
1401
-
1402
- ```
package/bin/cli.js CHANGED
@@ -1,19 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const path = require('path');
4
- const { spawnSync: _spawnSync, execSync } = require('child_process');
5
- const getOptions = require('../lib/utils/getOptions.js').default;
4
+ const { existsSync } = require('fs');
5
+ const { spawnSync: _spawnSync, spawn } = require('child_process');
6
+ const { getOptions } = require('../lib/utils/index.js');
6
7
 
7
- const { log } = require('../lib/utils/log.js');
8
+ const { log } = require('../lib/utils');
8
9
  const { getCliPath } = require('../lib/servers/getCliPath.js');
9
- const { runPreProcess } = require('../lib/common/runPreProcess.js');
10
10
  //initPreCommitHook();
11
11
 
12
- const [, , option] = process.argv;
13
- const args = process.argv.slice(3);
14
- const appPath = process.cwd();
15
-
16
- const options = getOptions({ start: true, build: true, docs: true }[option]);
12
+ const options = getOptions();
17
13
 
18
14
  function spawnSync(...args) {
19
15
  const result = _spawnSync(...args);
@@ -24,6 +20,7 @@ function spawnSync(...args) {
24
20
  }
25
21
 
26
22
  const { esLint: esLintOptions } = options || {};
23
+ const { preprocess } = options;
27
24
  const {
28
25
  ignoreFilePaths: esLintIgnorePaths,
29
26
  fix: esLintFix,
@@ -31,6 +28,10 @@ const {
31
28
  reportPath: reportPath
32
29
  } = esLintOptions || {};
33
30
 
31
+ const [, , option] = process.argv;
32
+ const args = process.argv.slice(3);
33
+ const appPath = process.cwd();
34
+
34
35
  const webpack = getCliPath('webpack');
35
36
 
36
37
  const nodemon = getCliPath('nodemon');
@@ -38,10 +39,49 @@ const babel = getCliPath('babel');
38
39
  const propertyToJson = getCliPath('propertyToJson');
39
40
  const esLint = getCliPath('eslint');
40
41
 
41
- runPreProcess({ options, option, nodemon, spawnSync });
42
+ const preprocesserPath = preprocess.runner
43
+ ? path.join(process.cwd(), preprocess.runner)
44
+ : '';
45
+ const preprocessCli = preprocess.stopNodemon ? 'node' : nodemon;
46
+ if (preprocesserPath && existsSync(preprocesserPath)) {
47
+ // eslint-disable-next-line default-case
48
+ switch (option) {
49
+ case 'start':
50
+ case 'docs':
51
+ spawn(preprocessCli, [preprocesserPath], {
52
+ stdio: 'inherit',
53
+ cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
54
+ });
55
+ // NOTE: it's ok if we not close this here
56
+ // Because when node server stops this program willbe closed So this nodemon will be killed as well
57
+ break;
58
+ case 'nowatchstart':
59
+ case 'devbuild':
60
+ case 'build:library:es':
61
+ case 'build:component:es':
62
+ case 'build:library:cmjs':
63
+ case 'build:component:cmjs':
64
+ spawnSync('node', [preprocesserPath], {
65
+ stdio: 'inherit',
66
+ cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
67
+ });
68
+ break;
69
+ }
70
+ }
42
71
 
43
72
  let result;
44
73
  switch (option) {
74
+ case 'preprocessor':
75
+ if (preprocesserPath && existsSync(preprocesserPath)) {
76
+ result = spawnSync(preprocessCli, [preprocesserPath], {
77
+ stdio: 'inherit',
78
+ cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
79
+ });
80
+ process.exit(result.status);
81
+ } else {
82
+ console.error(`preProcessor not exists ${preprocesserPath}`);
83
+ }
84
+ break;
45
85
  case 'lint-setup': {
46
86
  result = spawnSync(
47
87
  'node',
@@ -76,22 +116,6 @@ switch (option) {
76
116
  { stdio: 'inherit' }
77
117
  );
78
118
 
79
- process.exit(result.status);
80
- break;
81
- case 'variableConverter':
82
- result = spawnSync(
83
- 'node',
84
- [require.resolve('../lib/utils/variableConverter')].concat(args),
85
- { stdio: 'inherit' }
86
- );
87
- process.exit(result.status);
88
- break;
89
- case 'selectorReplacer':
90
- result = spawnSync(
91
- 'node',
92
- [require.resolve('../lib/utils/selectorReplacer.js')].concat(args),
93
- { stdio: 'inherit' }
94
- );
95
119
  process.exit(result.status);
96
120
  break;
97
121
  case 'valuereplacer':
@@ -191,7 +215,9 @@ switch (option) {
191
215
  case 'devbuild':
192
216
  result = spawnSync(
193
217
  'node',
194
- [require.resolve('../lib/servers/devBuild')].concat(args),
218
+ [
219
+ require.resolve('../lib/servers/devBuild')
220
+ ].concat(args),
195
221
  // [require.resolve('../lib/servers/staticServer'), '--expose-http2'].concat(args),
196
222
  { stdio: 'inherit' }
197
223
  );
@@ -230,7 +256,7 @@ switch (option) {
230
256
  require.resolve('../lib/servers/mockserver.js'),
231
257
  '--delay',
232
258
  '2500ms',
233
- '--watch',
259
+ 'watch',
234
260
  `${appPath + path.sep}mockapi`
235
261
  ].concat(args),
236
262
  { stdio: 'inherit' }
@@ -437,9 +463,8 @@ switch (option) {
437
463
  case '--v':
438
464
  case '-v':
439
465
  log(`@zohodesk/react-cli v${require('../package.json').version}`);
440
- log(`Node Js Version : ${process.version}`);
441
- log(`Npm Version : ${execSync('npm --version')}`);
442
466
  break;
467
+
443
468
  default:
444
469
  log(`react-cli > Unknown option "${option}"`);
445
470
  log('react-cli app <appName>');
@@ -4,26 +4,23 @@ In react-cli we provide options to create custom chunks.
4
4
  This Custom Chunk Option is array of Object
5
5
  that Object keys are
6
6
 
7
- - `pattern` **{ String | Function | Array<String> }** regex pattern as string and custom logic to split chunks can be defined using function
8
- - `name` **{ String }** chunk name
9
- - `size` **{ Number }** is count which is minimum chunk duplicated or need in chunks
7
+ - `pattern` regex pattern as string
8
+ - `name` chunk name
9
+ - `size` is count which is minmum chunk dublicated or need in chunks
10
10
 
11
11
  > Since 0.0.1-exp.164.1
12
12
 
13
13
  extra features in custom chunks :-
14
14
  for more details [SplitChunkPlugin](https://webpack.js.org/plugins/split-chunks-plugin/) webpack
15
15
 
16
- - `minChunks`: `minChunks` is alias of `size` default value is `2`,
17
- - `rules`: `rules` is same as `pattern` with some easy hooks **(removed after v1.1.5)**
16
+ - `minChunks`: `minChunks` is alies of `size` default value is `2`,
17
+ - `rules`: `rules` is same as `pattern` with some easy hooks
18
18
  - use `/` for both windows and linux we will replace internally
19
19
  - for `.*` we need to use `*`
20
20
  - we can consider rules as regex when the `rules-string` has any of these `*`, `^`, `$`. So if you want regex then kindly use `*` in your `rules-string` for force regex
21
21
  - `chunks`: by this option we can specify , default value is `all`,
22
22
  - `priority`: priority default value is `-10 * (index + 2)`,
23
- - `enforce`: enforce default value is `true`,
24
- - `maxSize`: maxSize, default value is `0`,
25
- - `minSize`: minSize, default value is `20000`,
26
- - `reuseExistingChunk` If the current chunk contains modules already split out from the main bundle, it will be reused instead of a new one being generated. This can affect the resulting file name of the chunk.
27
- - `automaticNamePrefix` with this you can specify for chunks created through that specified config. default value `''`.
28
- - `cacheGroupName`: `cacheGroupName` is alias of `name`, But it won't work as chunk name, instead it will just work as key in cacheGroup.
29
- <!-- includeDependency: includeDependency default value is `false` -->
23
+ - `enforce`: enforce default value is true,
24
+ - `maxSize`: maxSize, default value is 0,
25
+ - `minSize`: minSize, default value is 20000,
26
+ includeDepenency: includeDepenency default value is false
@@ -4,6 +4,3 @@
4
4
  * all classes in all files will be added with the `defaultSelector` provided in package.json to increase selector weight
5
5
  * in case a specific chunk file is supposed to have a different selector, it can be mentioned in the `customFileSelectorWeight.json`. This will add the new selector to that particular chunk file.
6
6
  * `excludeStrings` is an array used to exclude selectors that should not be converted. Default selectors such as body, html are excluded through this way.
7
-
8
- # v1.0.1 update:
9
- * exclude support added, file paths to be added in `react-cli > app > exclude > selectorWeight` to be excluded from conversion.
@@ -58,30 +58,3 @@ new option `valueReplacer` added for replace css property value while build runn
58
58
  font: zdf-rCallBar_1 !important;
59
59
  }
60
60
  ```
61
-
62
-
63
- If we need the exact word to be considered for replacement ( that is, if value is `text` and only if the value is `text` and not `text_cursor` or `cursortext` for example, the conversion happens ) we have to use `^` before the word and `$` after the word in the key.
64
-
65
- # For Example :
66
- {
67
- valueReplacer: [
68
- {
69
- "props": [
70
- "cursor",
71
- "--label_cursor",
72
- "--checkbox_cursor",
73
- "--tag_cursor",
74
- "--button_cursor",
75
- "--textboxicon_icon_cursor",
76
- ],
77
- "values": {
78
- "^default$": "var(--zdr-cursor-default)",
79
- "^pointer$": "var(--zdr-cursor-pointer)",
80
- "^text$": "var(--zdr-cursor-text)",
81
- "^move$": "var(--zdr-cursor-move)",
82
- }
83
- }
84
- ]
85
- }
86
-
87
- - Here we have added `^` before and `$` after default, pointer, text and move. Only if the exact words default, pointer, text and move are used, the values will be converted.
@@ -4,13 +4,8 @@
4
4
 
5
5
  Conversion for Variables from Variables to px in Supportapp completed (`variableIgnore.js` && `pxParserPostcss.js` to be referred to), and px to custom variables through the new `variableModificationPlugin`. Error Log generation can also be converted on enabling
6
6
 
7
-
8
- **Issue Fix**
9
- # Issue fix done in `1.0.1`
10
- - variable conversion for px and var(--) values in same declaration was not supported, now it is supported.
11
-
12
7
  **Features:**
13
- # Features below are added from `0.0.1-beta.173`
8
+ # Features below are added form `0.0.1-beta.173`
14
9
  1. variables are converted from px to custom variables ( options are consumed from `cssVariableReplacementOptions.json` present in source folder )
15
10
  2. To enable the error log generation `errorLog` is to be made `true` in `cssVariableReplacementOptions.json` ( it will take a little longer than usual build time )
16
11
  3. To enable the console display of errors that are generated, `errorInConsole` is to be made `true` in `cssVariableReplacementOptions.json`