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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) 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 +1152 -1161
  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 +6 -6
  13. package/docs/TODOS.md +10 -10
  14. package/docs/ValueReplacer.md +60 -60
  15. package/docs/VariableConversion.md +724 -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/common/getEntries.js +6 -9
  20. package/lib/configs/webpack.css.umd.config.js +4 -4
  21. package/lib/configs/webpack.docs.config.js +14 -26
  22. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  23. package/lib/loaders/workerLoader.js +9 -9
  24. package/lib/pluginUtils/configHtmlWebpackPlugins.js +1 -2
  25. package/lib/pluginUtils/getDevPlugins.js +8 -9
  26. package/lib/pluginUtils/getDocsPlugins.js +3 -16
  27. package/lib/pluginUtils/getProdPlugins.js +5 -7
  28. package/lib/plugins/EFCPlugin.md +6 -6
  29. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  30. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  31. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  32. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  33. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  34. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  35. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  36. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  37. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  38. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  39. package/lib/plugins/SelectorPlugin.js +71 -25
  40. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  41. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  42. package/lib/plugins/VariableConversionCollector.js +54 -54
  43. package/lib/plugins/cssoPlugin.js +37 -0
  44. package/lib/plugins/utils/checkPattern.js +57 -0
  45. package/lib/plugins/utils/classHandling.js +28 -0
  46. package/lib/plugins/utils/fileHandling.js +122 -0
  47. package/lib/postcss-plugins/IncludePlugin.js +24 -0
  48. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  49. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  50. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  51. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  52. package/lib/postcss-plugins/variableModificationPlugin/index.js +23 -1
  53. package/lib/schemas/index.js +0 -8
  54. package/lib/sh/pre-commit.sh +34 -34
  55. package/lib/sh/reportPublish.sh +45 -45
  56. package/lib/utils/buildstats.html +148 -148
  57. package/lib/utils/resultSchema.json +73 -73
  58. package/npm8.md +9 -9
  59. package/package.json +121 -121
  60. package/postpublish.js +8 -8
  61. package/templates/app/.eslintrc.js +140 -140
  62. package/templates/app/README.md +12 -12
  63. package/templates/app/app/index.html +24 -24
  64. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  65. package/templates/app/app/properties/i18nkeys.json +3 -3
  66. package/templates/app/docs/all.html +69 -69
  67. package/templates/app/mockapi/index.js +18 -18
  68. package/templates/app/package.json +37 -37
  69. package/templates/app/src/actions/SampleActions/index.js +37 -37
  70. package/templates/app/src/actions/index.js +65 -65
  71. package/templates/app/src/appUrls.js +19 -19
  72. package/templates/app/src/components/Alert/Alert.js +134 -134
  73. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  74. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  75. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  76. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  77. package/templates/app/src/components/Sample/SampleList.js +61 -61
  78. package/templates/app/src/components/Slider/Slider.css +41 -41
  79. package/templates/app/src/components/Slider/Slider.js +55 -55
  80. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  81. package/templates/app/src/containers/AppContainer/index.js +96 -96
  82. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  83. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  84. package/templates/app/src/containers/DevTools/index.js +10 -10
  85. package/templates/app/src/containers/Header/index.js +67 -67
  86. package/templates/app/src/containers/Header/index.module.css +43 -43
  87. package/templates/app/src/containers/Redirect/index.js +63 -63
  88. package/templates/app/src/containers/Redirector/index.js +47 -47
  89. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  90. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  91. package/templates/app/src/historyChange.js +5 -5
  92. package/templates/app/src/index.html +10 -10
  93. package/templates/app/src/index.js +24 -24
  94. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  95. package/templates/app/src/reducers/alertData.js +11 -11
  96. package/templates/app/src/reducers/index.js +6 -6
  97. package/templates/app/src/reducers/samples.js +19 -19
  98. package/templates/app/src/store/configureStore.dev.js +51 -51
  99. package/templates/app/src/store/configureStore.js +5 -5
  100. package/templates/app/src/store/configureStore.prod.js +26 -26
  101. package/templates/app/src/util/Common.js +5 -5
  102. package/templates/app/src/util/RequestAPI.js +132 -132
  103. package/templates/docs/all.html +249 -249
  104. package/templates/docs/component.html +178 -178
  105. package/templates/docs/components.html +221 -221
  106. package/templates/docs/css/b.min.css +6 -6
  107. package/templates/docs/css/component.css +42 -42
  108. package/templates/docs/css/componentTest.css +6 -6
  109. package/templates/docs/css/hopscotch.css +585 -585
  110. package/templates/docs/css/style.css +1022 -1022
  111. package/templates/docs/impactReportTemplate.html +154 -154
  112. package/templates/docs/index.html +1501 -1501
  113. package/templates/docs/js/active-line.js +72 -72
  114. package/templates/docs/js/b.min.js +7 -7
  115. package/templates/docs/js/codemirror.js +9680 -9680
  116. package/templates/docs/js/designTokens.js +334 -334
  117. package/templates/docs/js/j.min.js +4 -4
  118. package/templates/docs/js/javascript.js +874 -874
  119. package/templates/docs/js/matchbrackets.js +145 -145
  120. package/lib/configs/webpack.docs1.config.js +0 -122
  121. package/lib/hooks/docsEntry.js +0 -18
  122. package/result.json +0 -1
  123. package/templates/docs/a.html +0 -13
  124. package/templates/docs/docsEntry.js +0 -14
  125. package/templates/docs/docsRoot.js +0 -3
  126. package/unittest/index.html +0 -37
@@ -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
+ };
@@ -11,17 +11,14 @@ var _utils = require("../utils");
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- const getEntries = (appSchemas, mode) => {
15
- const appPath = process.cwd();
16
- const {
14
+ let getEntries = (appSchemas, mode) => {
15
+ let appPath = process.cwd();
16
+ let {
17
17
  isReactMig,
18
18
  hasWidget,
19
19
  server,
20
20
  folder
21
21
  } = appSchemas.app;
22
- const {
23
- mainEntryFile
24
- } = appSchemas.app;
25
22
  const {
26
23
  hasEFC: prevOptionForEnableEFC
27
24
  } = appSchemas.app;
@@ -29,8 +26,8 @@ const getEntries = (appSchemas, mode) => {
29
26
  hasEFC: newOptionForEnableEFC
30
27
  } = appSchemas.efc;
31
28
  const hasEFC = newOptionForEnableEFC || prevOptionForEnableEFC;
32
- const mainJs = [];
33
- const entry = {
29
+ let mainJs = [];
30
+ let entry = {
34
31
  main: mainJs
35
32
  };
36
33
 
@@ -38,7 +35,7 @@ const getEntries = (appSchemas, mode) => {
38
35
  mainJs.push(`${_path.default.join(__dirname, '..', 'templates', 'WMSTemplate')}?wmsPath=wss:${(0, _utils.getServerURL)(server)}`);
39
36
  }
40
37
 
41
- mainJs.push(_path.default.join(appPath, folder, isReactMig ? 'migration.js' : mainEntryFile));
38
+ mainJs.push(_path.default.join(appPath, folder, isReactMig ? 'migration.js' : 'index.js'));
42
39
 
43
40
  if (hasWidget) {
44
41
  entry.widget = [_path.default.join(appPath, folder, 'widget.js')];
@@ -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$/,
@@ -10,8 +10,6 @@ var _loaderUtils = require("../loaderUtils");
10
10
 
11
11
  var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
12
12
 
13
- var _fs = require("fs");
14
-
15
13
  var _resolvers = require("./resolvers");
16
14
 
17
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -37,18 +35,9 @@ const {
37
35
  const appPath = process.cwd();
38
36
  const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
39
37
 
40
- const docsAppEntry = _path.default.join(appPath, componentFolder, 'index.js');
41
-
42
- const docsEntry = _path.default.resolve(__dirname, '..', 'hooks', 'docsEntry.js');
43
-
44
- console.log("jijij", (0, _fs.readFileSync)(docsEntry).toString().replace('TOTAL_COMPONENTS_MAPPING', JSON.stringify(_path.default.relative(_path.default.dirname(docsEntry), docsAppEntry))));
45
- (0, _fs.writeFileSync)(docsEntry, (0, _fs.readFileSync)(docsEntry).toString().replace('TOTAL_COMPONENTS_MAPPING', JSON.stringify(_path.default.relative(_path.default.dirname(docsEntry), docsAppEntry))));
46
-
47
38
  module.exports = isSSTest => ({
48
39
  entry: {
49
- main: [docsEntry // path.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'),
50
- // path.join(appPath, componentFolder, 'index.js')
51
- ],
40
+ main: [_path.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path.default.join(appPath, componentFolder, 'index.js')],
52
41
  vendor: ['react', 'react-dom', 'redux', 'react-redux']
53
42
  },
54
43
  devtool: 'none',
@@ -56,9 +45,9 @@ module.exports = isSSTest => ({
56
45
  output: {
57
46
  path: _path.default.join(appPath, 'build'),
58
47
  filename: 'js/[name].js',
59
- publicPath: '/docs/' // library: 'Component',
60
- // libraryTarget: 'umd'
61
-
48
+ publicPath: '/docs/',
49
+ library: 'Component',
50
+ libraryTarget: 'umd'
62
51
  },
63
52
  plugins: (0, _pluginUtils.getDocsPlugins)(isSSTest, options),
64
53
  module: {
@@ -97,17 +86,16 @@ module.exports = isSSTest => ({
97
86
  cssHashSelectors,
98
87
  classNamePrefix
99
88
  })
100
- }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), // {
101
- // test: /\.html$/,
102
- // use: {
103
- // loader: 'html-loader',
104
- // options: {
105
- // attrs: [':data-src'],
106
- // interpolate: 'require'
107
- // }
108
- // }
109
- // },
110
- {
89
+ }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
90
+ test: /\.html$/,
91
+ use: {
92
+ loader: 'html-loader',
93
+ options: {
94
+ attrs: [':data-src'],
95
+ interpolate: 'require'
96
+ }
97
+ }
98
+ }, {
111
99
  test: /\.tmpl$/,
112
100
  use: [{
113
101
  loader: 'html-loader',
@@ -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
  */
@@ -16,7 +16,7 @@ var _SingleEntryPlugin = _interopRequireDefault(require("webpack/lib/SingleEntry
16
16
 
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
19
- /* import WebWorkerTemplatePlugin from 'webpack/lib/webworker/WebWorkerTemplatePlugin';
19
+ /* import WebWorkerTemplatePlugin from 'webpack/lib/webworker/WebWorkerTemplatePlugin';
20
20
  import ExternalsPlugin from 'webpack/lib/ExternalsPlugin'; */
21
21
  const schema = {
22
22
  'type': 'object',
@@ -80,14 +80,14 @@ function pitch(request) {
80
80
  globalObject: 'self'
81
81
  };
82
82
  workerContext.compiler = this._compilation.createChildCompiler(`worker-loader ${request}`, workerContext.options);
83
- /*
84
- new WebWorkerTemplatePlugin().apply(workerContext.compiler);
85
-
86
- if (compilerOptions.externals) {
87
- new ExternalsPlugin(
88
- getExternalsType(compilerOptions),
89
- compilerOptions.externals
90
- ).apply(workerContext.compiler);
83
+ /*
84
+ new WebWorkerTemplatePlugin().apply(workerContext.compiler);
85
+
86
+ if (compilerOptions.externals) {
87
+ new ExternalsPlugin(
88
+ getExternalsType(compilerOptions),
89
+ compilerOptions.externals
90
+ ).apply(workerContext.compiler);
91
91
  } */
92
92
 
93
93
  new _SingleEntryPlugin.default(this.context, `!!${request}`, _path.default.parse(this.resourcePath).name).apply(workerContext.compiler);
@@ -29,7 +29,6 @@ const defaultHTMLMiniFyOption = {
29
29
 
30
30
  function configHtmlWebpackPlugins(plugins, {
31
31
  enableChunkHash = false,
32
- mainEntryHtmlFile,
33
32
  folder,
34
33
  inject,
35
34
  crossorigin,
@@ -39,7 +38,7 @@ function configHtmlWebpackPlugins(plugins, {
39
38
  const optionsHtmlWebpack = {
40
39
  chunksSortMode: 'none',
41
40
  filename: enableChunkHash ? 'index.[templatehash:20].html' : 'index.html',
42
- template: _path.default.join(process.cwd(), folder, mainEntryHtmlFile),
41
+ template: _path.default.join(process.cwd(), folder, 'index.html'),
43
42
  minify: minifyHtmlOptions === true ? defaultHTMLMiniFyOption : minifyHtmlOptions === null ? false : minifyHtmlOptions,
44
43
  // : typeof minifyHtmlOptions === 'object'
45
44
  // ? minifyHtmlOptions
@@ -41,7 +41,6 @@ const getDevPlugins = (options, publicPath) => {
41
41
  app: {
42
42
  tpFolder,
43
43
  folder,
44
- mainEntryHtmlFile,
45
44
  instrumentScript,
46
45
  devCssFileBountry,
47
46
  context,
@@ -49,7 +48,7 @@ const getDevPlugins = (options, publicPath) => {
49
48
  hasShadowDOM,
50
49
  cssVariableReplacementConfig,
51
50
  plugins: pluginObject,
52
- // exclude,
51
+ exclude,
53
52
  selectorWeightConfig,
54
53
  server: {
55
54
  mode
@@ -110,11 +109,11 @@ const getDevPlugins = (options, publicPath) => {
110
109
  }
111
110
 
112
111
  const i18nManifestFileName = 'i18n-manifest.json';
113
- /**
114
- * NOTE:
115
- * this file name ext .i18n.js added
116
- * Because, in service worker they maintain cache as file name based
117
- * So, to make differce we added .i18n.js ext.
112
+ /**
113
+ * NOTE:
114
+ * this file name ext .i18n.js added
115
+ * Because, in service worker they maintain cache as file name based
116
+ * So, to make differce we added .i18n.js ext.
118
117
  */
119
118
 
120
119
  const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].i18n.js';
@@ -155,7 +154,6 @@ const getDevPlugins = (options, publicPath) => {
155
154
  }));
156
155
  (0, _configHtmlWebpackPlugins.configHtmlWebpackPlugins)(pluginsArr, {
157
156
  enableChunkHash: false,
158
- mainEntryHtmlFile,
159
157
  folder,
160
158
  minify: false,
161
159
  inject,
@@ -202,7 +200,8 @@ const getDevPlugins = (options, publicPath) => {
202
200
 
203
201
  if (pluginObject.selectorWeight) {
204
202
  pluginsArr.push(new _SelectorPlugin.default({
205
- selectorWeightConfig
203
+ selectorWeightConfig,
204
+ exclude: exclude.selectorWeight
206
205
  }));
207
206
  }
208
207
 
@@ -9,28 +9,24 @@ var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sens
9
9
 
10
10
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
11
11
 
12
- var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
13
-
14
12
  var _webpack = _interopRequireDefault(require("webpack"));
15
13
 
16
14
  var _path = _interopRequireDefault(require("path"));
17
15
 
18
16
  var _plugins = require("../plugins");
19
17
 
20
- var _fs = require("fs");
21
-
22
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
19
 
24
20
  // isForLibraryImpact this variable for now only used in getLibraryImactPlugins.
25
21
  // So you gona use it please check with that function as well
26
- const getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
27
- const {
22
+ let getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
23
+ let {
28
24
  app: {
29
25
  folder
30
26
  },
31
27
  unusedFiles
32
28
  } = options;
33
- const plugins = [new _plugins.CleanUpStatsPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.ProvidePlugin({
29
+ let plugins = [new _plugins.CleanUpStatsPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.ProvidePlugin({
34
30
  React: 'react'
35
31
  }), new _webpack.default.DefinePlugin({
36
32
  __TEST__: false,
@@ -51,15 +47,6 @@ const getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
51
47
  })));
52
48
  }
53
49
 
54
- const tempHTML = _path.default.join(__dirname, '../../templates/docs/a.html');
55
-
56
- console.log('tempHTML', tempHTML, (0, _fs.existsSync)(tempHTML));
57
- plugins.push(new _htmlWebpackPlugin.default({
58
- filename: 'out.html',
59
- template: tempHTML // scriptLoading: 'defer',
60
- // inject: false
61
-
62
- }));
63
50
  return plugins;
64
51
  };
65
52
 
@@ -49,7 +49,6 @@ const getProdPlugins = (options, publicPath = '') => {
49
49
  enableSMapHook,
50
50
  tpFolder,
51
51
  folder,
52
- mainEntryHtmlFile,
53
52
  outputFolder,
54
53
  context,
55
54
  enableSMap,
@@ -117,11 +116,11 @@ const getProdPlugins = (options, publicPath = '') => {
117
116
  }
118
117
 
119
118
  const i18nManifestFileName = 'i18n-manifest.json';
120
- /**
121
- * NOTE:
122
- * this file name ext .i18n.js added
123
- * Because, in service worker they maintain cache as file name based
124
- * So, to make differce we added .i18n.js ext.
119
+ /**
120
+ * NOTE:
121
+ * this file name ext .i18n.js added
122
+ * Because, in service worker they maintain cache as file name based
123
+ * So, to make differce we added .i18n.js ext.
125
124
  */
126
125
 
127
126
  const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].[chunkhash].i18n.js';
@@ -160,7 +159,6 @@ const getProdPlugins = (options, publicPath = '') => {
160
159
  (0, _configHtmlWebpackPlugins.configHtmlWebpackPlugins)(pluginsArr, {
161
160
  enableChunkHash,
162
161
  folder,
163
- mainEntryHtmlFile,
164
162
  inject,
165
163
  minify: minifyHtmlOptions,
166
164
  crossorigin,
@@ -1,6 +1,6 @@
1
- # EFC Plugin
2
-
3
- In EFC plugin we are create sdk file for efc related purpose
4
-
5
-
6
- # document will be soon
1
+ # EFC Plugin
2
+
3
+ In EFC plugin we are create sdk file for efc related purpose
4
+
5
+
6
+ # document will be soon
@@ -116,10 +116,10 @@ class I18NInjectIntoIndexPlugin {
116
116
  i18nObj = i18nFiles.reduce((res, next) => {
117
117
  let fileName = next.replace(`i18n${_path.default.sep}`, '');
118
118
  let splittedFileName = fileName.split('.');
119
- /* if (this.isDevelopment) {
120
- res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;
121
- } else {
122
- res[splittedFileName[0]] = fileName;
119
+ /* if (this.isDevelopment) {
120
+ res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;
121
+ } else {
122
+ res[splittedFileName[0]] = fileName;
123
123
  } */
124
124
 
125
125
  res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;