@zohodesk/react-cli 1.0.2-exp.2 → 1.0.3

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 (149) 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 +1184 -1165
  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 +8 -8
  13. package/docs/TODOS.md +10 -10
  14. package/docs/ValueReplacer.md +60 -60
  15. package/docs/VariableConversion.md +729 -729
  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/common/testPattern.js +0 -2
  20. package/lib/common/valueReplacer.js +1 -3
  21. package/lib/configs/resolvers.js +14 -3
  22. package/lib/configs/webpack.css.umd.config.js +4 -4
  23. package/lib/configs/webpack.dev.config.js +0 -6
  24. package/lib/configs/webpack.docs.config.js +0 -4
  25. package/lib/configs/webpack.impact.config.js +0 -4
  26. package/lib/configs/webpack.prod.config.js +0 -6
  27. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  28. package/lib/loaderUtils/getCSSLoaders.js +47 -81
  29. package/lib/loaderUtils/windowsModification.js +1 -6
  30. package/lib/loaders/selectorMappingLoader.js +9 -9
  31. package/lib/loaders/workerLoader.js +9 -9
  32. package/lib/logger.js +20 -0
  33. package/lib/pluginUtils/getDevPlugins.js +12 -18
  34. package/lib/pluginUtils/getProdPlugins.js +10 -6
  35. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  36. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  37. package/lib/plugins/CustomAttributePlugin.js +82 -0
  38. package/lib/plugins/CustomAttributePlugin.md +35 -0
  39. package/lib/plugins/EFCPlugin.js +9 -9
  40. package/lib/plugins/EFCPlugin.md +6 -6
  41. package/lib/plugins/EFCTemplatePlugin.js +10 -12
  42. package/lib/plugins/I18NInjectIntoIndexPlugin.js +12 -13
  43. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
  44. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  45. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  46. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +10 -15
  47. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  48. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  49. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  50. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  51. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  52. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  53. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  54. package/lib/plugins/SelectorPlugin.js +36 -53
  55. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  56. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  57. package/lib/plugins/{MinifyPlugin.js → UglifyCSSPlugin.js} +3 -3
  58. package/lib/plugins/VariableConversionCollector.js +84 -97
  59. package/lib/plugins/composeCommonPlugin.js +30 -0
  60. package/lib/plugins/index.js +7 -7
  61. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  62. package/lib/postcss-plugins/IncludePlugin.js +0 -1
  63. package/lib/postcss-plugins/RTLSplitPlugin.js +14 -20
  64. package/lib/postcss-plugins/ValueReplacer.js +14 -5
  65. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  66. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  67. package/lib/postcss-plugins/hoverActivePlugin.js +3 -9
  68. package/lib/postcss-plugins/variableModificationPlugin/index.js +20 -3
  69. package/lib/postcss-plugins/variableModifier.js +24 -58
  70. package/lib/schemas/index.js +11 -35
  71. package/lib/servers/devBuild.js +13 -11
  72. package/lib/servers/httpsOptions.js +12 -13
  73. package/lib/servers/nowatchserver.js +5 -3
  74. package/lib/servers/requireLocalOrGlobal.js +61 -0
  75. package/lib/servers/server.js +3 -5
  76. package/lib/sh/pre-commit.sh +34 -34
  77. package/lib/sh/reportPublish.sh +45 -45
  78. package/lib/utils/buildstats.html +148 -148
  79. package/lib/utils/cssClassNameGenerate.js +12 -41
  80. package/lib/utils/resultSchema.json +73 -73
  81. package/npm8.md +9 -9
  82. package/package-lock.json +14407 -0
  83. package/package.json +120 -122
  84. package/postpublish.js +8 -8
  85. package/templates/app/.eslintrc.js +140 -140
  86. package/templates/app/README.md +12 -12
  87. package/templates/app/app/index.html +24 -24
  88. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  89. package/templates/app/app/properties/i18nkeys.json +3 -3
  90. package/templates/app/docs/all.html +69 -69
  91. package/templates/app/mockapi/index.js +18 -18
  92. package/templates/app/package.json +37 -37
  93. package/templates/app/src/actions/SampleActions/index.js +37 -37
  94. package/templates/app/src/actions/index.js +65 -65
  95. package/templates/app/src/appUrls.js +19 -19
  96. package/templates/app/src/components/Alert/Alert.js +134 -134
  97. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  98. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  99. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  100. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  101. package/templates/app/src/components/Sample/SampleList.js +61 -61
  102. package/templates/app/src/components/Slider/Slider.css +41 -41
  103. package/templates/app/src/components/Slider/Slider.js +55 -55
  104. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  105. package/templates/app/src/containers/AppContainer/index.js +96 -96
  106. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  107. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  108. package/templates/app/src/containers/DevTools/index.js +10 -10
  109. package/templates/app/src/containers/Header/index.js +67 -67
  110. package/templates/app/src/containers/Header/index.module.css +43 -43
  111. package/templates/app/src/containers/Redirect/index.js +63 -63
  112. package/templates/app/src/containers/Redirector/index.js +47 -47
  113. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  114. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  115. package/templates/app/src/historyChange.js +5 -5
  116. package/templates/app/src/index.html +10 -10
  117. package/templates/app/src/index.js +24 -24
  118. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  119. package/templates/app/src/reducers/alertData.js +11 -11
  120. package/templates/app/src/reducers/index.js +6 -6
  121. package/templates/app/src/reducers/samples.js +19 -19
  122. package/templates/app/src/store/configureStore.dev.js +51 -51
  123. package/templates/app/src/store/configureStore.js +5 -5
  124. package/templates/app/src/store/configureStore.prod.js +26 -26
  125. package/templates/app/src/util/Common.js +5 -5
  126. package/templates/app/src/util/RequestAPI.js +132 -132
  127. package/templates/docs/all.html +249 -249
  128. package/templates/docs/component.html +178 -178
  129. package/templates/docs/components.html +221 -221
  130. package/templates/docs/css/b.min.css +6 -6
  131. package/templates/docs/css/component.css +42 -42
  132. package/templates/docs/css/componentTest.css +6 -6
  133. package/templates/docs/css/hopscotch.css +585 -585
  134. package/templates/docs/css/style.css +1022 -1022
  135. package/templates/docs/impactReportTemplate.html +154 -154
  136. package/templates/docs/index.html +1501 -1501
  137. package/templates/docs/js/active-line.js +72 -72
  138. package/templates/docs/js/b.min.js +7 -7
  139. package/templates/docs/js/codemirror.js +9680 -9680
  140. package/templates/docs/js/designTokens.js +334 -334
  141. package/templates/docs/js/j.min.js +4 -4
  142. package/templates/docs/js/javascript.js +874 -874
  143. package/templates/docs/js/matchbrackets.js +145 -145
  144. package/lib/loaderUtils/tests/windowsModification.test.js +0 -10
  145. package/lib/loaders/composeLoader.js +0 -175
  146. package/lib/plugins/utils/classHandling.js +0 -20
  147. package/lib/plugins/utils/fileHandling.js +0 -92
  148. package/lib/plugins/utils/tests/fileHandling.test.js +0 -30
  149. package/lib/postcss-plugins/EmptyPlugin.js +0 -8
@@ -1,35 +1,35 @@
1
- npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
2
- npm WARN deprecated eslint-loader@4.0.2: This loader has been deprecated. Please use eslint-webpack-plugin
3
- npm WARN deprecated 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. A full list of the features can be found here: https://github.com/jdalrymple/gitbeaker#readme
4
- npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
5
- npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
6
- npm WARN deprecated webdriverio@4.14.4: outdated version, please use @next
7
- npm WARN deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
8
- npm WARN deprecated cross-spawn-async@1.0.1: cross-spawn no longer requires a build toolchain, use it instead
9
- npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
10
- npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
11
- npm WARN deprecated har-validator@5.1.5: this library is no longer supported
12
- npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
13
- npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
14
- npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
15
- npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
16
- npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
17
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
18
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
19
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^2.1.2 (node_modules/jest-haste-map/node_modules/fsevents):
20
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
21
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/nodemon/node_modules/chokidar/node_modules/fsevents):
22
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
23
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/watchpack/node_modules/chokidar/node_modules/fsevents):
24
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
25
- npm WARN check2@1.0.0 No description
26
- npm WARN check2@1.0.0 No repository field.
27
-
28
- + @zohodesk/react-cli@0.0.1-beta.165
29
- updated 1 package and audited 1899 packages in 51.509s
30
-
31
- 21 packages are looking for funding
32
- run `npm fund` for details
33
-
34
- found 42 vulnerabilities (2 low, 20 moderate, 8 high, 12 critical)
35
- run `npm audit fix` to fix them, or `npm audit` for details
1
+ npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
2
+ npm WARN deprecated eslint-loader@4.0.2: This loader has been deprecated. Please use eslint-webpack-plugin
3
+ npm WARN deprecated 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. A full list of the features can be found here: https://github.com/jdalrymple/gitbeaker#readme
4
+ npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
5
+ npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
6
+ npm WARN deprecated webdriverio@4.14.4: outdated version, please use @next
7
+ npm WARN deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
8
+ npm WARN deprecated cross-spawn-async@1.0.1: cross-spawn no longer requires a build toolchain, use it instead
9
+ npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
10
+ npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
11
+ npm WARN deprecated har-validator@5.1.5: this library is no longer supported
12
+ npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
13
+ npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
14
+ npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
15
+ npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
16
+ npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
17
+ npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
18
+ npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
19
+ npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^2.1.2 (node_modules/jest-haste-map/node_modules/fsevents):
20
+ npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
21
+ npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/nodemon/node_modules/chokidar/node_modules/fsevents):
22
+ npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
23
+ npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/watchpack/node_modules/chokidar/node_modules/fsevents):
24
+ npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
25
+ npm WARN check2@1.0.0 No description
26
+ npm WARN check2@1.0.0 No repository field.
27
+
28
+ + @zohodesk/react-cli@0.0.1-beta.165
29
+ updated 1 package and audited 1899 packages in 51.509s
30
+
31
+ 21 packages are looking for funding
32
+ run `npm fund` for details
33
+
34
+ found 42 vulnerabilities (2 low, 20 moderate, 8 high, 12 critical)
35
+ run `npm audit fix` to fix them, or `npm audit` for details
package/files/eslintrc.js CHANGED
@@ -1,62 +1,62 @@
1
- const [off, , error] = ['off', 'warn', 'error'];
2
-
3
- module.exports = {
4
- env: {
5
- browser: true,
6
- es2021: true,
7
- },
8
- extends: [
9
- 'plugin:react/recommended',
10
- 'plugin:react-hooks/recommended',
11
- 'airbnb',
12
- 'prettier',
13
- ],
14
- parserOptions: {
15
- ecmaFeatures: {
16
- jsx: true,
17
- },
18
- ecmaVersion: 12,
19
- sourceType: 'module',
20
- },
21
- plugins: [
22
- 'react',
23
- 'css-modules',
24
- '@zohodesk/zsecurity',
25
- '@zohodesk/react-performance',
26
- ],
27
- rules: {
28
- // Internal Rules
29
- '@zohodesk/react-performance/no-ref-mapstatetoprops': error,
30
- '@zohodesk/zsecurity/no-unsecure-html': error,
31
- '@zohodesk/zsecurity/no-protocol-check': error,
32
-
33
- // CSS Module Rules
34
- 'css-modules/no-unused-class': [error, { camelCase: true }],
35
- 'css-modules/no-undef-class': [error, { camelCase: 'only' }],
36
-
37
- 'import/no-unresolved': off,
38
- 'import/no-extraneous-dependencies': off,
39
-
40
- // As redux used
41
- 'no-shadow': off, // As we import the action files and use the same name in getting from props built from connect.
42
- 'react/jsx-filename-extension': off,
43
-
44
- // As we don't follow
45
- 'react/require-default-props': off,
46
- 'react/jsx-props-no-spreading': off,
47
-
48
- // As we didn't update
49
- 'react/jsx-fragments': off,
50
-
51
- // Not needed
52
- 'no-plusplus': off,
53
- 'no-unused-expressions': [
54
- error,
55
- {
56
- allowShortCircuit: true,
57
- allowTernary: true,
58
- },
59
- ],
60
- 'react/jsx-no-target-blank': error,
61
- },
62
- };
1
+ const [off, , error] = ['off', 'warn', 'error'];
2
+
3
+ module.exports = {
4
+ env: {
5
+ browser: true,
6
+ es2021: true,
7
+ },
8
+ extends: [
9
+ 'plugin:react/recommended',
10
+ 'plugin:react-hooks/recommended',
11
+ 'airbnb',
12
+ 'prettier',
13
+ ],
14
+ parserOptions: {
15
+ ecmaFeatures: {
16
+ jsx: true,
17
+ },
18
+ ecmaVersion: 12,
19
+ sourceType: 'module',
20
+ },
21
+ plugins: [
22
+ 'react',
23
+ 'css-modules',
24
+ '@zohodesk/zsecurity',
25
+ '@zohodesk/react-performance',
26
+ ],
27
+ rules: {
28
+ // Internal Rules
29
+ '@zohodesk/react-performance/no-ref-mapstatetoprops': error,
30
+ '@zohodesk/zsecurity/no-unsecure-html': error,
31
+ '@zohodesk/zsecurity/no-protocol-check': error,
32
+
33
+ // CSS Module Rules
34
+ 'css-modules/no-unused-class': [error, { camelCase: true }],
35
+ 'css-modules/no-undef-class': [error, { camelCase: 'only' }],
36
+
37
+ 'import/no-unresolved': off,
38
+ 'import/no-extraneous-dependencies': off,
39
+
40
+ // As redux used
41
+ 'no-shadow': off, // As we import the action files and use the same name in getting from props built from connect.
42
+ 'react/jsx-filename-extension': off,
43
+
44
+ // As we don't follow
45
+ 'react/require-default-props': off,
46
+ 'react/jsx-props-no-spreading': off,
47
+
48
+ // As we didn't update
49
+ 'react/jsx-fragments': off,
50
+
51
+ // Not needed
52
+ 'no-plusplus': off,
53
+ 'no-unused-expressions': [
54
+ error,
55
+ {
56
+ allowShortCircuit: true,
57
+ allowTernary: true,
58
+ },
59
+ ],
60
+ 'react/jsx-no-target-blank': error,
61
+ },
62
+ };
@@ -1,3 +1,3 @@
1
- module.exports = {
2
- trailingComma: 'none',
3
- };
1
+ module.exports = {
2
+ trailingComma: 'none',
3
+ };
@@ -62,8 +62,6 @@ const isRelatedPackage = (req, item) => isRelated(req, `node_modules${_path.sep}
62
62
  exports.isRelatedPackage = isRelatedPackage;
63
63
 
64
64
  function isDependency(m, excludeList) {
65
- // let reasons = m.reasons.map(r => r.module.userRequest);
66
- // m.reasons.some(r => !r.module || !r.module.userRequest) && console.log(m.reasons);
67
65
  return m.reasons.some(r => excludeList.some(item => r.module && isRelated(r.module.userRequest, item)));
68
66
  } // export function queryHandler(conditions, pattern) {
69
67
  // }
@@ -32,11 +32,9 @@ if (!_fs.default.existsSync(dist)) {
32
32
  }
33
33
 
34
34
  (0, _folderIterator.default)(src, dist, docopy ? false : ['.css'], false, (fromPath, toPath) => {
35
- //console.log({ fromPath: fromPath, toPath: toPath });
36
- let css = _fs.default.readFileSync(fromPath);
35
+ const css = _fs.default.readFileSync(fromPath);
37
36
 
38
37
  if (docopy && !fromPath.endsWith('.css')) {
39
- //console.log(toPath,'....');
40
38
  _fs.default.writeFileSync(toPath, css);
41
39
 
42
40
  return;
@@ -8,6 +8,10 @@ exports.moduleResolver = moduleResolver;
8
8
 
9
9
  var _constants = require("../constants");
10
10
 
11
+ var _logger = require("../logger");
12
+
13
+ var _requireLocalOrGlobal = require("../servers/requireLocalOrGlobal");
14
+
11
15
  var _libAlias = require("./libAlias");
12
16
 
13
17
  var _client_packages_group = require("@zohodesk/client_packages_group");
@@ -17,10 +21,17 @@ function moduleResolver(options) {
17
21
  moduleResolvePath,
18
22
  disableES5Transpile
19
23
  } = options.app;
20
- const nodeModulesPath = moduleResolvePath ? require(require.resolve(moduleResolvePath, {
21
- paths: [options.cwd]
22
- })).nodeModulesPath : _client_packages_group.nodeModulesPath; // const {unstableDepsInverse} = options;
24
+ let required = moduleResolvePath && (0, _requireLocalOrGlobal.requireLocal)(moduleResolvePath);
25
+
26
+ if (!required) {
27
+ required = (0, _requireLocalOrGlobal.requireGlobal)('@zohodesk/client_packages_group');
28
+
29
+ if (required) {
30
+ (0, _logger.messageLogger)('global `@zohodesk/client_packages_group` package taken as client_packages_group');
31
+ }
32
+ }
23
33
 
34
+ const nodeModulesPath = required ? required.nodeModulesPath : _client_packages_group.nodeModulesPath;
24
35
  return {
25
36
  modules: [nodeModulesPath, _constants.cliNodemodulesPath, 'node_modules'].filter(Boolean),
26
37
  alias: disableES5Transpile ? _libAlias.libAlias : {} // alias: { ...libAlias, ...clientDependenies }
@@ -67,10 +67,10 @@ module.exports = {
67
67
  }],
68
68
  include: _path.default.join(appPath, 'src')
69
69
  }
70
- /*,
71
- {
72
- test: /\.css$/,
73
- use: [MiniCssExtractPlugin.loader, 'css-loader']
70
+ /*,
71
+ {
72
+ test: /\.css$/,
73
+ use: [MiniCssExtractPlugin.loader, 'css-loader']
74
74
  }*/
75
75
  , {
76
76
  test: /(\.module)?\.css$/,
@@ -25,8 +25,6 @@ const {
25
25
  outputFolder,
26
26
  plugins,
27
27
  exclude,
28
- patterns,
29
- patternsRootDir,
30
28
  mediaQueryHoverActiveString,
31
29
  cssVariableReplacementConfig,
32
30
  selectorWeightConfig,
@@ -104,8 +102,6 @@ module.exports = {
104
102
  use: (0, _loaderUtils.getCSSLoaders)({
105
103
  plugins,
106
104
  exclude,
107
- patterns,
108
- patternsRootDir,
109
105
  mediaQueryHoverActiveString,
110
106
  cssVariableReplacementConfig,
111
107
  selectorWeightConfig,
@@ -118,8 +114,6 @@ module.exports = {
118
114
  use: (0, _loaderUtils.getCSSLoaders)({
119
115
  plugins,
120
116
  exclude,
121
- patterns,
122
- patternsRootDir,
123
117
  mediaQueryHoverActiveString,
124
118
  cssVariableReplacementConfig,
125
119
  selectorWeightConfig,
@@ -22,8 +22,6 @@ const {
22
22
  cssUniqueness,
23
23
  plugins,
24
24
  exclude,
25
- patterns,
26
- patternsRootDir,
27
25
  mediaQueryHoverActiveString,
28
26
  cssVariableReplacementConfig,
29
27
  selectorWeightConfig,
@@ -79,8 +77,6 @@ module.exports = isSSTest => ({
79
77
  use: (0, _loaderUtils.getCSSLoaders)({
80
78
  plugins,
81
79
  exclude,
82
- patterns,
83
- patternsRootDir,
84
80
  mediaQueryHoverActiveString,
85
81
  cssVariableReplacementConfig,
86
82
  selectorWeightConfig,
@@ -21,8 +21,6 @@ const {
21
21
  cssUniqueness,
22
22
  plugins,
23
23
  exclude,
24
- patterns,
25
- patternsRootDir,
26
24
  mediaQueryHoverActiveString,
27
25
  cssVariableReplacementConfig,
28
26
  selectorWeightConfig,
@@ -79,8 +77,6 @@ module.exports = {
79
77
  use: (0, _loaderUtils.getCSSLoaders)({
80
78
  plugins,
81
79
  exclude,
82
- patterns,
83
- patternsRootDir,
84
80
  mediaQueryHoverActiveString,
85
81
  cssVariableReplacementConfig,
86
82
  selectorWeightConfig,
@@ -29,8 +29,6 @@ const {
29
29
  server,
30
30
  plugins,
31
31
  exclude,
32
- patterns,
33
- patternsRootDir,
34
32
  mediaQueryHoverActiveString,
35
33
  cssVariableReplacementConfig,
36
34
  selectorWeightConfig,
@@ -155,8 +153,6 @@ module.exports = {
155
153
  use: (0, _loaderUtils.getCSSLoaders)({
156
154
  plugins,
157
155
  exclude,
158
- patterns,
159
- patternsRootDir,
160
156
  cssVariableReplacementConfig,
161
157
  selectorWeightConfig,
162
158
  mediaQueryHoverActiveString,
@@ -169,8 +165,6 @@ module.exports = {
169
165
  use: (0, _loaderUtils.getCSSLoaders)({
170
166
  plugins,
171
167
  exclude,
172
- patterns,
173
- patternsRootDir,
174
168
  mediaQueryHoverActiveString,
175
169
  cssVariableReplacementConfig,
176
170
  selectorWeightConfig,
@@ -79,39 +79,39 @@ function createNameTemplate(enableChunkHash) {
79
79
  const ext = `${enableChunkHash ? '.[hash:20]' : ''}.[ext]`;
80
80
  return `[name]${ext}`;
81
81
  }
82
- /*
83
- export function createImageAndFontsAndSVGLoaders(enableChunkHash) {
84
- const nameTemplate = createNameTemplate(enableChunkHash);
85
- return [
86
- configImageLoader(nameTemplate),
87
- configFontLoader(nameTemplate),
88
- configSVGLoader(nameTemplate),
89
- configAudioLoader(nameTemplate)
90
- ];
91
- }
82
+ /*
83
+ export function createImageAndFontsAndSVGLoaders(enableChunkHash) {
84
+ const nameTemplate = createNameTemplate(enableChunkHash);
85
+ return [
86
+ configImageLoader(nameTemplate),
87
+ configFontLoader(nameTemplate),
88
+ configSVGLoader(nameTemplate),
89
+ configAudioLoader(nameTemplate)
90
+ ];
91
+ }
92
92
  */
93
93
 
94
- /*
95
- export function createLoaderOptionObject(
96
- loaderName,
97
- nameTemplate,
98
- fallback,
99
- limit = 1000
100
- ) {
101
- return {
102
- loader: loaderName,
103
- options: {
104
- limit,
105
- name: nameTemplate,
106
- fallback
107
- }
108
- };
109
- }
110
-
111
- function configLoaderObject(filter, loaderAndOptions) {
112
- return {
113
- test: filter,
114
- use: loaderAndOptions
115
- };
116
- }
94
+ /*
95
+ export function createLoaderOptionObject(
96
+ loaderName,
97
+ nameTemplate,
98
+ fallback,
99
+ limit = 1000
100
+ ) {
101
+ return {
102
+ loader: loaderName,
103
+ options: {
104
+ limit,
105
+ name: nameTemplate,
106
+ fallback
107
+ }
108
+ };
109
+ }
110
+
111
+ function configLoaderObject(filter, loaderAndOptions) {
112
+ return {
113
+ test: filter,
114
+ use: loaderAndOptions
115
+ };
116
+ }
117
117
  */
@@ -11,7 +11,7 @@ var _cssClassNameGenerate = _interopRequireDefault(require("../utils/cssClassNam
11
11
 
12
12
  var _utils = require("../utils");
13
13
 
14
- var _fileHandling = require("../plugins/utils/fileHandling");
14
+ var _windowsModification = require("./windowsModification");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -19,11 +19,21 @@ const fs = require('fs');
19
19
 
20
20
  const options = (0, _utils.getOptions)();
21
21
 
22
+ function excludeEmptyCheckPlugin({
23
+ enable,
24
+ ignore,
25
+ plugins
26
+ }) {
27
+ return enable ? ignore.length === 0 ? plugins : [require('../postcss-plugins/ExcludePlugin')({
28
+ ignore,
29
+ plugins
30
+ })] : [];
31
+ }
32
+
22
33
  const getCSSLoaders = optionsObj => {
23
34
  const {
24
35
  plugins,
25
- patterns,
26
- patternsRootDir,
36
+ exclude,
27
37
  mediaQueryHoverActiveString,
28
38
  cssVariableReplacementConfig,
29
39
  classNameBlob,
@@ -41,6 +51,10 @@ const getCSSLoaders = optionsObj => {
41
51
  const {
42
52
  cssSelectorZipPath
43
53
  } = options.impactService;
54
+ const rtlExcludeLocal = (0, _windowsModification.windowsModification)(exclude.rtl);
55
+ const hoverActiveExcludeLocal = (0, _windowsModification.windowsModification)(exclude.hoverActive);
56
+ const combinerMediaQueryExcludeLocal = (0, _windowsModification.windowsModification)(exclude.combinerMediaQuery);
57
+ const cssVariableReplacementExcludeLocal = (0, _windowsModification.windowsModification)(exclude.cssVariableReplacement);
44
58
  const cssLoaderOptions = {
45
59
  // importLoaders: hasRTL||hoverActive ? 1 : 0,
46
60
  importLoaders: 1,
@@ -51,19 +65,34 @@ const getCSSLoaders = optionsObj => {
51
65
  if (classNameBlob) {
52
66
  cssLoaderOptions.modules.localIdentName = classNameBlob;
53
67
  } else {
54
- cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix, patterns, patternsRootDir);
55
- } // console.log('selector weight config : ', selectorWeightConfig);
56
-
57
-
58
- let postcssPlugins = [plugins.valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), plugins.selectorReplace && require('../postcss-plugins/SelectorReplace')(selectorReplace), plugins.hasRTL && require('@zohodesk/postcss-rtl')({
59
- addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
60
- if (prefix === '[dir]') {
61
- return selector;
68
+ cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
69
+ }
70
+
71
+ const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('../postcss-plugins/SelectorReplace')(selectorReplace), ...excludeEmptyCheckPlugin({
72
+ enable: plugins.hasRTL,
73
+ ignore: rtlExcludeLocal,
74
+ plugins: [require('@zohodesk/postcss-rtl')({
75
+ addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
76
+ if (prefix === '[dir]') {
77
+ return selector;
78
+ }
79
+
80
+ return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
62
81
  }
63
-
64
- return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
65
- }
66
- }), plugins.combinerMediaQuery && require('postcss-combine-media-query')(), plugins.hoverActive && require('../postcss-plugins/hoverActivePlugin')(mediaQueryHoverActiveString), plugins.cssVariableReplacement && fs.existsSync(cssVariableReplacementConfig) && require('../postcss-plugins/variableModificationPlugin/index').plugin(cssVariableReplacementConfig)].filter(Boolean);
82
+ })]
83
+ }), ...excludeEmptyCheckPlugin({
84
+ enable: plugins.combinerMediaQuery,
85
+ ignore: combinerMediaQueryExcludeLocal,
86
+ plugins: [require('postcss-combine-media-query')]
87
+ }), ...excludeEmptyCheckPlugin({
88
+ enable: plugins.hoverActive,
89
+ ignore: hoverActiveExcludeLocal,
90
+ plugins: [require('../postcss-plugins/hoverActivePlugin')(mediaQueryHoverActiveString)]
91
+ }), ...excludeEmptyCheckPlugin({
92
+ enable: plugins.cssVariableReplacement,
93
+ ignore: cssVariableReplacementExcludeLocal,
94
+ plugins: [fs.existsSync(cssVariableReplacementConfig) && require('../postcss-plugins/variableModificationPlugin/index').plugin(cssVariableReplacementConfig)]
95
+ })].filter(Boolean);
67
96
  return [cssSelectorZipPath && {
68
97
  loader: require.resolve('../loaders/selectorMappingLoader')
69
98
  }, {
@@ -83,74 +112,11 @@ const getCSSLoaders = optionsObj => {
83
112
  loader: 'postcss-loader',
84
113
  options: {
85
114
  ident: 'postcss',
86
- plugins: function (params) {
87
- // console.log('check here : ', params.resourcePath);
88
- // getCSSLoaders for all postcss filtering
89
-
90
- /*
91
- input :
92
- params.resourcePath : 'D:/MyWork/..../desk_client_app/supportapp/src/components/Avatar/Avatar.module.css,
93
- patterns : [
94
- // include all files
95
- "valueReplacer": [
96
- "*"
97
- ],
98
- // include all files
99
- "selectorReplace": [
100
- "*"
101
- ],
102
- // include src folder, include deskapp folder, exclude node modules
103
- "hoverActive": [
104
- "src",
105
- "deskapp",
106
- "!node_modules"
107
- ],
108
- // include src folder, include deskapp folder, exclude node modules
109
- "combinerMediaQuery": [
110
- "src",
111
- "deskapp",
112
- "!node_modules"
113
- ],
114
- // include src folder, include deskapp folder, exclude node modules
115
- "hasRTL": [
116
- "src",
117
- "deskapp",
118
- "!node_modules"
119
- ],
120
- // include src folder, include deskapp folder, exclude node modules
121
- "cssVariableReplacement": [
122
- "src",
123
- "deskapp",
124
- "!node_modules"
125
- ],
126
- // include src folder, include deskapp folder, exclude node modules
127
- "selectorWeight": [
128
- "src",
129
- "deskapp",
130
- "!node_modules"
131
- ],
132
- // include all files
133
- "cssUniqueness": [
134
- "*"
135
- ]
136
- ],
137
-
138
- [ postcssPlugins that are implemented ]
139
- rootDir : patternsRootDir : 'supportapp'
140
- */
141
- postcssPlugins = (0, _fileHandling.isFileNameMatchingPattern)({
142
- filename: params.resourcePath,
143
- filterObject: patterns,
144
- plugins: postcssPlugins,
145
- rootDir: patternsRootDir
146
- }); // postcssPlugins that are allowed
147
-
148
- return postcssPlugins.length > 0 ? postcssPlugins : [require('../postcss-plugins/EmptyPlugin')()];
115
+ plugins: function () {
116
+ return postcssPlugins;
149
117
  }
150
118
  }
151
- } : null, {
152
- loader: require.resolve('../loaders/composeLoader')
153
- }].filter(Boolean);
119
+ } : null].filter(Boolean);
154
120
  };
155
121
 
156
122
  var _default = getCSSLoaders;
@@ -4,13 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.windowsModification = windowsModification;
7
- exports.windowsModificationFile = windowsModificationFile;
8
7
  const isWin = process.platform === 'win32';
9
8
 
10
9
  function windowsModification(array) {
11
10
  return isWin ? array && Array.isArray(array) && array.map(r => r.replace(/\//g, '\\')) : array;
12
- }
13
-
14
- function windowsModificationFile(filename) {
15
- return isWin ? filename.replace(/\//g, '\\') : filename;
16
- } // module.exports = { windowsModification, windowsModificationFile };
11
+ }