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

Sign up to get free protection for your applications and to get access to all the features.
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
+ }