@zohodesk/react-cli 1.0.1-exp.1 → 1.0.2

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 (119) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/Changelog.md +1019 -1019
  5. package/README.md +1165 -1152
  6. package/bin/cli.js +483 -483
  7. package/docs/CustomChunks.md +26 -26
  8. package/docs/DevServerPort.md +39 -39
  9. package/docs/DevStart.md +18 -18
  10. package/docs/HoverActive.md +12 -12
  11. package/docs/InstallNode.md +28 -28
  12. package/docs/SelectorWeight.md +9 -6
  13. package/docs/TODOS.md +10 -10
  14. package/docs/ValueReplacer.md +60 -60
  15. package/docs/VariableConversion.md +729 -724
  16. package/docs/warnings_while_install.txt +35 -35
  17. package/files/eslintrc.js +62 -62
  18. package/files/prettierrc.js +3 -3
  19. package/lib/configs/webpack.css.umd.config.js +4 -4
  20. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  21. package/lib/loaderUtils/getCSSLoaders.js +1 -1
  22. package/lib/loaders/workerLoader.js +9 -9
  23. package/lib/pluginUtils/getDevPlugins.js +5 -5
  24. package/lib/pluginUtils/getProdPlugins.js +5 -5
  25. package/lib/plugins/EFCPlugin.md +6 -6
  26. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  27. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  28. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  29. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  30. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  31. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  32. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  33. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  34. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  35. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  36. package/lib/plugins/SelectorPlugin.js +15 -38
  37. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  38. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  39. package/lib/plugins/VariableConversionCollector.js +54 -54
  40. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  41. package/lib/postcss-plugins/SelectorReplace.js +80 -0
  42. package/lib/postcss-plugins/__test__/selectorReplace.test.js +28 -0
  43. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  44. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  45. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  46. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +0 -1
  47. package/lib/postcss-plugins/variableModificationPlugin/index.js +13 -13
  48. package/lib/sh/pre-commit.sh +34 -34
  49. package/lib/sh/reportPublish.sh +45 -45
  50. package/lib/utils/buildstats.html +148 -148
  51. package/lib/utils/resultSchema.json +73 -73
  52. package/npm8.md +9 -9
  53. package/package.json +120 -121
  54. package/postpublish.js +8 -8
  55. package/result.json +1 -0
  56. package/templates/app/.eslintrc.js +140 -140
  57. package/templates/app/README.md +12 -12
  58. package/templates/app/app/index.html +24 -24
  59. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  60. package/templates/app/app/properties/i18nkeys.json +3 -3
  61. package/templates/app/docs/all.html +69 -69
  62. package/templates/app/mockapi/index.js +18 -18
  63. package/templates/app/package.json +37 -37
  64. package/templates/app/src/actions/SampleActions/index.js +37 -37
  65. package/templates/app/src/actions/index.js +65 -65
  66. package/templates/app/src/appUrls.js +19 -19
  67. package/templates/app/src/components/Alert/Alert.js +134 -134
  68. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  69. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  70. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  71. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  72. package/templates/app/src/components/Sample/SampleList.js +61 -61
  73. package/templates/app/src/components/Slider/Slider.css +41 -41
  74. package/templates/app/src/components/Slider/Slider.js +55 -55
  75. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  76. package/templates/app/src/containers/AppContainer/index.js +96 -96
  77. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  78. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  79. package/templates/app/src/containers/DevTools/index.js +10 -10
  80. package/templates/app/src/containers/Header/index.js +67 -67
  81. package/templates/app/src/containers/Header/index.module.css +43 -43
  82. package/templates/app/src/containers/Redirect/index.js +63 -63
  83. package/templates/app/src/containers/Redirector/index.js +47 -47
  84. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  85. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  86. package/templates/app/src/historyChange.js +5 -5
  87. package/templates/app/src/index.html +10 -10
  88. package/templates/app/src/index.js +24 -24
  89. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  90. package/templates/app/src/reducers/alertData.js +11 -11
  91. package/templates/app/src/reducers/index.js +6 -6
  92. package/templates/app/src/reducers/samples.js +19 -19
  93. package/templates/app/src/store/configureStore.dev.js +51 -51
  94. package/templates/app/src/store/configureStore.js +5 -5
  95. package/templates/app/src/store/configureStore.prod.js +26 -26
  96. package/templates/app/src/util/Common.js +5 -5
  97. package/templates/app/src/util/RequestAPI.js +132 -132
  98. package/templates/docs/all.html +249 -249
  99. package/templates/docs/component.html +178 -178
  100. package/templates/docs/components.html +221 -221
  101. package/templates/docs/css/b.min.css +6 -6
  102. package/templates/docs/css/component.css +42 -42
  103. package/templates/docs/css/componentTest.css +6 -6
  104. package/templates/docs/css/hopscotch.css +585 -585
  105. package/templates/docs/css/style.css +1022 -1022
  106. package/templates/docs/impactReportTemplate.html +154 -154
  107. package/templates/docs/index.html +1501 -1501
  108. package/templates/docs/js/active-line.js +72 -72
  109. package/templates/docs/js/b.min.js +7 -7
  110. package/templates/docs/js/codemirror.js +9680 -9680
  111. package/templates/docs/js/designTokens.js +334 -334
  112. package/templates/docs/js/j.min.js +4 -4
  113. package/templates/docs/js/javascript.js +874 -874
  114. package/templates/docs/js/matchbrackets.js +145 -145
  115. package/unittest/index.html +37 -0
  116. package/lib/plugins/cssoPlugin.js +0 -37
  117. package/lib/plugins/utils/checkPattern.js +0 -57
  118. package/lib/plugins/utils/classHandling.js +0 -28
  119. package/lib/plugins/utils/fileHandling.js +0 -122
@@ -1,26 +1,26 @@
1
- # Custom Chunks
2
-
3
- In react-cli we provide options to create custom chunks.
4
- This Custom Chunk Option is array of Object
5
- that Object keys are
6
-
7
- - `pattern` regex pattern as string
8
- - `name` chunk name
9
- - `size` is count which is minmum chunk dublicated or need in chunks
10
-
11
- > Since 0.0.1-exp.164.1
12
-
13
- extra features in custom chunks :-
14
- for more details [SplitChunkPlugin](https://webpack.js.org/plugins/split-chunks-plugin/) webpack
15
-
16
- - `minChunks`: `minChunks` is alies of `size` default value is `2`,
17
- - `rules`: `rules` is same as `pattern` with some easy hooks
18
- - use `/` for both windows and linux we will replace internally
19
- - for `.*` we need to use `*`
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
- - `chunks`: by this option we can specify , default value is `all`,
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
- includeDepenency: includeDepenency default value is false
1
+ # Custom Chunks
2
+
3
+ In react-cli we provide options to create custom chunks.
4
+ This Custom Chunk Option is array of Object
5
+ that Object keys are
6
+
7
+ - `pattern` regex pattern as string
8
+ - `name` chunk name
9
+ - `size` is count which is minmum chunk dublicated or need in chunks
10
+
11
+ > Since 0.0.1-exp.164.1
12
+
13
+ extra features in custom chunks :-
14
+ for more details [SplitChunkPlugin](https://webpack.js.org/plugins/split-chunks-plugin/) webpack
15
+
16
+ - `minChunks`: `minChunks` is alies of `size` default value is `2`,
17
+ - `rules`: `rules` is same as `pattern` with some easy hooks
18
+ - use `/` for both windows and linux we will replace internally
19
+ - for `.*` we need to use `*`
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
+ - `chunks`: by this option we can specify , default value is `all`,
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
+ includeDepenency: includeDepenency default value is false
@@ -1,39 +1,39 @@
1
- # Dev server port
2
-
3
- in react-cli dev server ports are below
4
-
5
- In summary
6
- for https port will be same as given
7
- for http2 port will be same as given + 1
8
- for http port will be same as given + 2
9
-
10
- with https certificate `react-cli.app.sercer.httpsCerts` given value
11
- in default port `react-cli.app.server.port` is 9090
12
-
13
- | Protocal | Port |
14
- | :------: | :--: |
15
- | HTTPS | 9090 |
16
- | HTTP2 | 9091 |
17
- | HTTP | 9092 |
18
-
19
- in custom port `react-cli.app.server.port` is 5050
20
-
21
- | Protocal | Port |
22
- | :------: | :--: |
23
- | HTTPS | 5050 |
24
- | HTTP2 | 5051 |
25
- | HTTP | 5052 |
26
-
27
- with out https certificate
28
-
29
- in custom port `react-cli.app.server.port` is 9090
30
-
31
- | Protocal | Port |
32
- | :------: | :--: |
33
- | HTTP | 9092 |
34
-
35
- in custom port `react-cli.app.server.port` is 5050
36
-
37
- | Protocal | Port |
38
- | :------: | :--: |
39
- | HTTP | 5052 |
1
+ # Dev server port
2
+
3
+ in react-cli dev server ports are below
4
+
5
+ In summary
6
+ for https port will be same as given
7
+ for http2 port will be same as given + 1
8
+ for http port will be same as given + 2
9
+
10
+ with https certificate `react-cli.app.sercer.httpsCerts` given value
11
+ in default port `react-cli.app.server.port` is 9090
12
+
13
+ | Protocal | Port |
14
+ | :------: | :--: |
15
+ | HTTPS | 9090 |
16
+ | HTTP2 | 9091 |
17
+ | HTTP | 9092 |
18
+
19
+ in custom port `react-cli.app.server.port` is 5050
20
+
21
+ | Protocal | Port |
22
+ | :------: | :--: |
23
+ | HTTPS | 5050 |
24
+ | HTTP2 | 5051 |
25
+ | HTTP | 5052 |
26
+
27
+ with out https certificate
28
+
29
+ in custom port `react-cli.app.server.port` is 9090
30
+
31
+ | Protocal | Port |
32
+ | :------: | :--: |
33
+ | HTTP | 9092 |
34
+
35
+ in custom port `react-cli.app.server.port` is 5050
36
+
37
+ | Protocal | Port |
38
+ | :------: | :--: |
39
+ | HTTP | 5052 |
package/docs/DevStart.md CHANGED
@@ -1,18 +1,18 @@
1
- # DevServer Start
2
-
3
- ## command
4
-
5
- > `react-cli start`
6
-
7
- ## Options
8
-
9
- we have to typs of options command line arguments and package.json option specifying
10
-
11
- ### First package.json option specifying
12
-
13
- 1. `react-cli.app.context`
14
- 1. `react-cli.app.server`
15
- 1. `react-cli.app.server`
16
- 1. `react-cli.app.server`
17
- 1. `react-cli.app.server`
18
- 1. `react-cli.app.server`
1
+ # DevServer Start
2
+
3
+ ## command
4
+
5
+ > `react-cli start`
6
+
7
+ ## Options
8
+
9
+ we have to typs of options command line arguments and package.json option specifying
10
+
11
+ ### First package.json option specifying
12
+
13
+ 1. `react-cli.app.context`
14
+ 1. `react-cli.app.server`
15
+ 1. `react-cli.app.server`
16
+ 1. `react-cli.app.server`
17
+ 1. `react-cli.app.server`
18
+ 1. `react-cli.app.server`
@@ -1,12 +1,12 @@
1
- # hover active css handling
2
-
3
- In general we write css with some hover in it.
4
- But In mobile there is no hover and some times this hover css may do something messy some thing like we may need to click a button we need to click it double time.
5
-
6
- To handle this behaviour we write a postcss plugin
7
-
8
- PostCSS plugin that transforms :hover selectors to :active on devices where a mouse isn't the primary input mechanism.
9
-
10
- when we write hover css it will have some problem in mobile devices the reason was in mobile device ther is no mouse
11
-
12
- for this we have to handle that as
1
+ # hover active css handling
2
+
3
+ In general we write css with some hover in it.
4
+ But In mobile there is no hover and some times this hover css may do something messy some thing like we may need to click a button we need to click it double time.
5
+
6
+ To handle this behaviour we write a postcss plugin
7
+
8
+ PostCSS plugin that transforms :hover selectors to :active on devices where a mouse isn't the primary input mechanism.
9
+
10
+ when we write hover css it will have some problem in mobile devices the reason was in mobile device ther is no mouse
11
+
12
+ for this we have to handle that as
@@ -1,28 +1,28 @@
1
- ### Step 1: Update APT index
2
-
3
- Run the apt update command on your Ubuntu Linux to update package repository contents database.
4
-
5
- > sudo apt update
6
-
7
- ### Step 2: Install Node.js 14 on Ubuntu 22.04|20.04|18.04
8
-
9
- After system update, install Node.js 14 on Ubuntu 22.04|20.04|18.04 by first installing the required repository.
10
-
11
- > curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
12
-
13
- The script above will create apt sources list file for the NodeSource Node.js 14.x repo:
14
-
15
- > \# Ubuntu 20.04 example
16
- >
17
- > $ cat /etc/apt/sources.list.d/nodesource.list
18
- > deb https://deb.nodesource.com/node_14.x focal main
19
- > deb-src https://deb.nodesource.com/node_14.x focal main
20
-
21
- Once the repository is added, you can begin the installation of Node.js 14 on Ubuntu Linux:
22
-
23
- > sudo apt -y install nodejs
24
-
25
- Verify the version of Node.js installed.
26
-
27
- > $ node -v
28
- > v14.17.5
1
+ ### Step 1: Update APT index
2
+
3
+ Run the apt update command on your Ubuntu Linux to update package repository contents database.
4
+
5
+ > sudo apt update
6
+
7
+ ### Step 2: Install Node.js 14 on Ubuntu 22.04|20.04|18.04
8
+
9
+ After system update, install Node.js 14 on Ubuntu 22.04|20.04|18.04 by first installing the required repository.
10
+
11
+ > curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
12
+
13
+ The script above will create apt sources list file for the NodeSource Node.js 14.x repo:
14
+
15
+ > \# Ubuntu 20.04 example
16
+ >
17
+ > $ cat /etc/apt/sources.list.d/nodesource.list
18
+ > deb https://deb.nodesource.com/node_14.x focal main
19
+ > deb-src https://deb.nodesource.com/node_14.x focal main
20
+
21
+ Once the repository is added, you can begin the installation of Node.js 14 on Ubuntu Linux:
22
+
23
+ > sudo apt -y install nodejs
24
+
25
+ Verify the version of Node.js installed.
26
+
27
+ > $ node -v
28
+ > v14.17.5
@@ -1,6 +1,9 @@
1
-
2
- -- Selector weight plugin --
3
- * Plugin implementation for the execution of a Selector weight to be added to all classes of multiple files is included in the react-cli setup. This can be activated when the `selectorWeight` variable in `package.json` is set to true.
4
- * all classes in all files will be added with the `defaultSelector` provided in package.json to increase selector weight
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
- * `excludeStrings` is an array used to exclude selectors that should not be converted. Default selectors such as body, html are excluded through this way.
1
+
2
+ -- Selector weight plugin --
3
+ * Plugin implementation for the execution of a Selector weight to be added to all classes of multiple files is included in the react-cli setup. This can be activated when the `selectorWeight` variable in `package.json` is set to true.
4
+ * all classes in all files will be added with the `defaultSelector` provided in package.json to increase selector weight
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
+ * `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.
package/docs/TODOS.md CHANGED
@@ -1,10 +1,10 @@
1
- we need to fix all the warning print while install react-cli
2
-
3
- 1. npm WARN deprecated `babel-eslint@10.1.0`: babel-eslint is now `@babel/eslint-parser`. This package will no longer receive updates.
4
- to resolve this warning use https://tjaddison.com/blog/2021/03/updating-babel-eslint-to-babeleslint-parser-for-react-apps/
5
-
6
- 2. npm WARN deprecated eslint-loader@4.0.2: This loader has been deprecated. Please use eslint-webpack-plugin.
7
- for this warning we need to confirm `is eslint-loader need while build` it's simplely waste of time if you ask me.
8
- 3. gitlab@14.2.2: The gitlab package has found a new home in the @gitbeaker organization. For the latest gitlab node library, check out @gitbeaker/node
9
- for this warning we need to check with gitbeaker and impact team as well.
10
- 4. `fsevents@1.2.13` and `chokidar@2.1.8` these are just dependent packages need to check parent package of this package
1
+ we need to fix all the warning print while install react-cli
2
+
3
+ 1. npm WARN deprecated `babel-eslint@10.1.0`: babel-eslint is now `@babel/eslint-parser`. This package will no longer receive updates.
4
+ to resolve this warning use https://tjaddison.com/blog/2021/03/updating-babel-eslint-to-babeleslint-parser-for-react-apps/
5
+
6
+ 2. npm WARN deprecated eslint-loader@4.0.2: This loader has been deprecated. Please use eslint-webpack-plugin.
7
+ for this warning we need to confirm `is eslint-loader need while build` it's simplely waste of time if you ask me.
8
+ 3. gitlab@14.2.2: The gitlab package has found a new home in the @gitbeaker organization. For the latest gitlab node library, check out @gitbeaker/node
9
+ for this warning we need to check with gitbeaker and impact team as well.
10
+ 4. `fsevents@1.2.13` and `chokidar@2.1.8` these are just dependent packages need to check parent package of this package
@@ -1,60 +1,60 @@
1
- # value replacer
2
-
3
- <!-- file paths
4
- 1. src/postcss-plugins/ValueReplacer.js
5
- 2. src/common/valueReplacer.js
6
- -->
7
-
8
- this option is array of objects which will have a two keys
9
- new option `valueReplacer` added for replace css property value while build running
10
-
11
- - this option is array of object, that object two keys
12
- 1. `props` key for array of property names
13
- 2. `values` key is object ,this object key contents will be replaced as value content
14
- - this option wiil be work for below
15
-
16
- - `start`
17
- - `docs`
18
- - `nowatchstart`
19
- - `devbuild`
20
- - `build:library:es`
21
- - `build:component:es`
22
- - `build:library:cmjs`
23
- - `build:component:cmjs`
24
- Example data:-
25
-
26
- ```json
27
- {
28
- "react-cli": {
29
- "css": {
30
- "valueReplacer": [
31
- {
32
- "props": ["font", "font-family"],
33
- "values": {
34
- "zdfonts-rCallBar": "zdf-rCallBar_1",
35
- "zdfonts-rPuvi": "zdf-rPuvi_1"
36
- }
37
- // ,suffix: '0'
38
- }
39
- ]
40
- }
41
- }
42
- }
43
- ```
44
-
45
- Example Replace:-
46
- before replace
47
-
48
- ```css
49
- .some-selector {
50
- font: zdfonts-rCallBar !important;
51
- }
52
- ```
53
-
54
- after replace
55
-
56
- ```css
57
- .some-selector {
58
- font: zdf-rCallBar_1 !important;
59
- }
60
- ```
1
+ # value replacer
2
+
3
+ <!-- file paths
4
+ 1. src/postcss-plugins/ValueReplacer.js
5
+ 2. src/common/valueReplacer.js
6
+ -->
7
+
8
+ this option is array of objects which will have a two keys
9
+ new option `valueReplacer` added for replace css property value while build running
10
+
11
+ - this option is array of object, that object two keys
12
+ 1. `props` key for array of property names
13
+ 2. `values` key is object ,this object key contents will be replaced as value content
14
+ - this option wiil be work for below
15
+
16
+ - `start`
17
+ - `docs`
18
+ - `nowatchstart`
19
+ - `devbuild`
20
+ - `build:library:es`
21
+ - `build:component:es`
22
+ - `build:library:cmjs`
23
+ - `build:component:cmjs`
24
+ Example data:-
25
+
26
+ ```json
27
+ {
28
+ "react-cli": {
29
+ "css": {
30
+ "valueReplacer": [
31
+ {
32
+ "props": ["font", "font-family"],
33
+ "values": {
34
+ "zdfonts-rCallBar": "zdf-rCallBar_1",
35
+ "zdfonts-rPuvi": "zdf-rPuvi_1"
36
+ }
37
+ // ,suffix: '0'
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ Example Replace:-
46
+ before replace
47
+
48
+ ```css
49
+ .some-selector {
50
+ font: zdfonts-rCallBar !important;
51
+ }
52
+ ```
53
+
54
+ after replace
55
+
56
+ ```css
57
+ .some-selector {
58
+ font: zdf-rCallBar_1 !important;
59
+ }
60
+ ```