@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
@@ -1,25 +0,0 @@
1
- {
2
- "cSpell.words": [
3
- "classname",
4
- "cmjs",
5
- "devbuild",
6
- "escodegen",
7
- "expublish",
8
- "gitclone",
9
- "hgclone",
10
- "mockapi",
11
- "mockserver",
12
- "nowatchserver",
13
- "nowatchstart",
14
- "postpublish",
15
- "propertytojson",
16
- "sslcert",
17
- "sslcertupdate",
18
- "sstest",
19
- "uglifycss",
20
- "valuereplacer",
21
- "xmlhttprequest",
22
- "zohodesk",
23
- "zsecurity"
24
- ]
25
- }
@@ -1,13 +0,0 @@
1
- # Compose Minification
2
-
3
- We use this plugin to extract all the common attributes ( margin, padding... ) supported and write them in respective common files( margin.css, padding.css... ) These are further reference to the classname instead of a line of code by composing and adding classnames for the same.
4
-
5
-
6
- # Feature :
7
-
8
- * We can enable this plugin by representing the value of ` react-cli > app > plugins > composeMinification ` to `true`.
9
- * The creation of `margin.css`, `padding.css`, `position.css` and so on will be done initially by a manual script for the application.
10
- * Further the `composeMinification` plugin converts the `props` of common attributes under check into `compose` and `values` into `compose format` ( m10 from `../margin.css`)
11
- * On runtime the conversion takes place and classnames for the properties (`margin`, `padding`, so on...) are added with references to respective files and styles are applied.
12
-
13
-
@@ -1,18 +0,0 @@
1
-
2
- ----> markdownParser <----
3
-
4
- 1. Markdown parser allows us to write Documentation using Markdown language inside the Javascript file
5
- 2. This will converts the snippets to HTML tag.
6
- 3. We can implement this only inside the particular syntax which is metioned below.
7
- 4. We can enable/disable this feature by `npm run docs --markdown_parser=true/false` default value will be `true`.
8
- 5. Also we can enable/disable this feature by adding `enableMDParser` key inside the package.json under the `docs`.
9
-
10
- ### syntax
11
- ```
12
- /* MD:START
13
- # Hello World
14
- MD:END */
15
- ```
16
-
17
- # v1.1.7 update:
18
- * Markdown Parser feature implemented.
package/docs/ReactLive.md DELETED
@@ -1,14 +0,0 @@
1
-
2
- ----> ReactLive <----
3
-
4
- 1. React Live is a live playground for reactjs (For now we have implemented in our docs)
5
- 2. So, for this we are using reactLiveConverter.js (src/loaders) to convert the file format.
6
- 3. We can enable/disable this feature by `npm run docs --enableReactLive=true/false` default value will be `true`.
7
- 4. Also we can enable/disable this feature by adding `enableReactLive` key inside the package.json under the `docs`.
8
-
9
- # v1.1.0 update:
10
- * ReactLive feature implemented.
11
-
12
- # v1.1.2 update:
13
-
14
- * ReactLiveConverter filepath changed to 'reactLiveConverter.js' in docLoader file
@@ -1,57 +0,0 @@
1
- # Pattern filtering
2
-
3
- As replacement for exclude we now have patterns in place of exclude to include or exclude a file based on its name in package.json.
4
-
5
-
6
- # Example for patterns :
7
-
8
- **Old System** :
9
- To exclude `node_modules` folder from convertion for the `cssVariableReplacement` plugin, we used to have :
10
-
11
- `react-cli > app > exclude > cssVariableReplacement` as ['node_modules'] in `package.json`
12
-
13
- Example :
14
-
15
- "exclude": {
16
- "cssVariableReplacement": [
17
- "node_modules"
18
- ]
19
- },
20
-
21
- **New System** :
22
-
23
- To include all files for convertion for the `valueReplacer` plugin, we now have :
24
-
25
- `react-cli > app > patterns > valueReplacer` as ['*'] in `package.json`
26
-
27
- To include `src` files for convertion for the `cssVariableReplacement` plugin, we now have :
28
-
29
- `react-cli > app > patterns > hoverActive` as ['src'] in `package.json`
30
-
31
- To exclude `node_modules` files for convertion for the `hoverActive` plugin, we now have :
32
-
33
- `react-cli > app > patterns > cssVariableReplacement` as ['!node_modules'] in `package.json`
34
- Here the `!` denotes that the folder structure/file is not to be converted.
35
-
36
- Example :
37
-
38
- "patterns": {
39
- "valueReplacer": [
40
- "*"
41
- ],
42
- "hoverActive": [
43
- "src"
44
- ],
45
- "cssVariableReplacement": [
46
- "!node_modules"
47
- ],
48
- },
49
-
50
- Note :
51
- `patterns` also added support for cssUniqueness to be applied to selective files.
52
-
53
- "patterns" : {
54
- "cssUniqueness": [
55
- "*"
56
- ],
57
- }
@@ -1,12 +0,0 @@
1
- // result = spawnSync(
2
- // babel,
3
- // [
4
- // 'src',
5
- // '--out-dir',
6
- // 'es',
7
- // `--presets=${require.resolve('../lib/babel/es-plugins-presets.js')}`,
8
- // '--copy-files'
9
- // ].concat(args),
10
- // { stdio: 'inherit' }
11
- // );
12
- "use strict";
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.runPreProcess = runPreProcess;
7
-
8
- var _path = _interopRequireWildcard(require("path"));
9
-
10
- var _fs = require("fs");
11
-
12
- var _child_process = require("child_process");
13
-
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
- function runPreProcess({
19
- options,
20
- option,
21
- nodemon,
22
- spawnSync
23
- }) {
24
- const {
25
- preprocess
26
- } = options;
27
- const preprocessorPath = preprocess.runner ? _path.default.join(process.cwd(), preprocess.runner) : '';
28
- const preprocessCli = preprocess.stopNodemon ? 'node' : nodemon;
29
-
30
- if (preprocessorPath && (0, _fs.existsSync)(preprocessorPath)) {
31
- const preprocessorDirPath = (0, _path.dirname)(preprocessorPath);
32
- const watchOptions = preprocessCli === nodemon ? ['--watch', preprocessorDirPath] : []; // eslint-disable-next-line default-case
33
-
34
- switch (option) {
35
- case 'start':
36
- case 'docs':
37
- (0, _child_process.spawn)(preprocessCli, [preprocessorPath, ...watchOptions], {
38
- stdio: 'inherit',
39
- cwd: preprocessorDirPath
40
- }); // NOTE: it's ok if we not close this here
41
- // Because when node server stops this program will be closed So this nodemon will be killed as well
42
-
43
- break;
44
-
45
- case 'nowatchstart':
46
- case 'devbuild':
47
- case 'build:library:es':
48
- case 'build:component:es':
49
- case 'build:library:cmjs':
50
- case 'build:component:cmjs':
51
- spawnSync('node', [preprocessorPath], {
52
- stdio: 'inherit',
53
- cwd: preprocessorPath.slice(0, preprocessorPath.lastIndexOf('/') + 1)
54
- });
55
- break;
56
-
57
- case 'preprocessor':
58
- {
59
- const result = spawnSync(preprocessCli, [preprocessorPath, ...watchOptions], {
60
- stdio: 'inherit',
61
- cwd: preprocessorDirPath
62
- });
63
- process.exit(result.status);
64
- break;
65
- }
66
- }
67
- } else if (option === 'preprocess') {
68
- console.error(`preProcessor not exists ${preprocessorPath}`);
69
- process.exit(0);
70
- }
71
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.deprecateMessage = deprecateMessage;
7
- exports.deprecateOption = deprecateOption;
8
- exports.deprecationLoggerEnd = deprecationLoggerEnd;
9
-
10
- var _logger = require("./logger");
11
-
12
- function deprecateMessage(message) {
13
- // eslint-disable-next-line no-use-before-define
14
- deprecationLoggerStart();
15
- (0, _logger.messageLogger)('\x1b[36m%s\x1b[0m', message);
16
- }
17
-
18
- function printLine() {
19
- deprecateMessage('\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n ');
20
- }
21
-
22
- let isFirstDeprecation = false;
23
-
24
- function deprecateOption(previousObjPath = '', newObjPath = '', message = '') {
25
- deprecateMessage(`Please move "${previousObjPath.split('.').join(' > ')}" to "${newObjPath.split('.').join(' > ')}" following option ${message}`);
26
- }
27
-
28
- function deprecationLoggerStart() {
29
- if (!isFirstDeprecation) {
30
- isFirstDeprecation = true;
31
- printLine();
32
- }
33
- }
34
-
35
- function deprecationLoggerEnd() {
36
- if (isFirstDeprecation) {
37
- isFirstDeprecation = false;
38
- printLine();
39
- }
40
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- const {
4
- windowsModificationFile
5
- } = require('../windowsModification');
6
-
7
- const tests = ['D:\\MyWork\\React Build\\desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'D:/MyWork/React Build/desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'src\\components\\Accessibility\\Accessibility.module.css', 'src/components/Accessibility/Accessibility.module.css', 'Accessibility.module.css', ''];
8
- tests.forEach(test => {
9
- console.log(windowsModificationFile(test));
10
- });
@@ -1,145 +0,0 @@
1
- "use strict";
2
-
3
- const {
4
- markdownParser
5
- } = require('../markdownLoader'); // Replace './your-file' with the correct file path
6
-
7
-
8
- describe('markdownParser', () => {
9
- test('For {}(braces) case', () => {
10
- const source = `
11
- /* MD:START
12
- # {Hi, This is Test Case :)}
13
- MD:END */
14
- `;
15
- const expectedOutput = `
16
- <><div class="markDown"><h1>&#123;Hi, This is Test Case :)&#125;</h1>
17
- </div></>
18
- `;
19
- expect(markdownParser(source)).toEqual(expectedOutput);
20
- });
21
- test('For $ (dollor) case', () => {
22
- const source = `
23
- /* MD:START
24
- # $Hi, This is Test Case :)
25
- MD:END */
26
- `;
27
- const expectedOutput = `
28
- <><div class="markDown"><h1>&#36;Hi, This is Test Case :)</h1>
29
- </div></>
30
- `;
31
- expect(markdownParser(source)).toEqual(expectedOutput);
32
- });
33
- test('For All kind of Tag Cases', () => {
34
- const source = `
35
- /* MD:START
36
- # Markdown File with Variety of Data
37
-
38
- ## Text
39
-
40
- This is a paragraph of text.
41
-
42
- ## Headings
43
-
44
- ### Heading 1
45
-
46
- ### Heading 2
47
-
48
- #### Heading 2.1
49
-
50
- #### Heading 2.2
51
-
52
- ## Lists
53
-
54
- ### Unordered List
55
-
56
- - Item 1
57
- - Item 2
58
- - Item 3
59
-
60
- ### Ordered List
61
-
62
- 1. First item
63
- 2. Second item
64
- 3. Third item
65
-
66
- ## Links
67
-
68
- Here's a link to [OpenAI's website](https://openai.com).
69
-
70
- ## Images
71
-
72
- ![Markdown Logo](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg)
73
-
74
- ## Tables
75
-
76
- | Name | Age | Gender |
77
- |-------|-----|--------|
78
- | John | 25 | Male |
79
- | Sarah | 30 | Female |
80
- | Mark | 35 | Male |
81
-
82
- MD:END */
83
- `;
84
- const expectedOutput = `
85
- <><div class="markDown"><h1>Markdown File with Variety of Data</h1>
86
- <h2>Text</h2>
87
- <p>This is a paragraph of text.</p>
88
- <h2>Headings</h2>
89
- <h3>Heading 1</h3>
90
- <h3>Heading 2</h3>
91
- <h4>Heading 2.1</h4>
92
- <h4>Heading 2.2</h4>
93
- <h2>Lists</h2>
94
- <h3>Unordered List</h3>
95
- <ul>
96
- <li>Item 1</li>
97
- <li>Item 2</li>
98
- <li>Item 3</li>
99
- </ul>
100
- <h3>Ordered List</h3>
101
- <ol>
102
- <li>First item</li>
103
- <li>Second item</li>
104
- <li>Third item</li>
105
- </ol>
106
- <h2>Links</h2>
107
- <p>Here's a link to <a href="https://openai.com">OpenAI's website</a>.</p>
108
- <h2>Images</h2>
109
- <p><img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg" alt="Markdown Logo"/></p>
110
- <h2>Tables</h2>
111
- <table>
112
- <thead>
113
- <tr>
114
- <th>Name</th>
115
- <th>Age</th>
116
- <th>Gender</th>
117
- </tr>
118
- </thead>
119
- <tbody>
120
- <tr>
121
- <td>John</td>
122
- <td>25</td>
123
- <td>Male</td>
124
- </tr>
125
- <tr>
126
- <td>Sarah</td>
127
- <td>30</td>
128
- <td>Female</td>
129
- </tr>
130
- <tr>
131
- <td>Mark</td>
132
- <td>35</td>
133
- <td>Male</td>
134
- </tr>
135
- </tbody>
136
- </table>
137
- </div></>
138
- `;
139
- expect(markdownParser(source)).toEqual(expectedOutput);
140
- });
141
- test('For Source null case', () => {
142
- expect(markdownParser(null)).toEqual('');
143
- expect(markdownParser('')).toEqual('');
144
- });
145
- });