@zohodesk/react-cli 1.1.29-exp.2 → 1.1.29-exp.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 (222) hide show
  1. package/README.md +18 -0
  2. package/lib/babel/babel-option-utils/babel-preset-react-option.js +3 -0
  3. package/lib/babel/cmjs-plugins-presets.js +13 -2
  4. package/lib/babel/es-plugins-presets.js +14 -3
  5. package/lib/common/buildEs.js +0 -1
  6. package/lib/common/getEntries.js +13 -2
  7. package/lib/common/getPublicPathConfig.js +6 -0
  8. package/lib/common/index.js +6 -1
  9. package/lib/common/runPreProcess.js +15 -6
  10. package/lib/common/splitChunks.js +21 -2
  11. package/lib/common/sslcertUpdater.js +18 -7
  12. package/lib/common/templateParameters.js +2 -0
  13. package/lib/common/testPattern.js +21 -10
  14. package/lib/common/valueReplacer.js +16 -1
  15. package/lib/configs/jest.config.js +11 -2
  16. package/lib/configs/libAlias.js +16 -10
  17. package/lib/configs/resolvers.js +16 -6
  18. package/lib/configs/webpack.component.umd.config.js +6 -1
  19. package/lib/configs/webpack.css.umd.config.js +14 -6
  20. package/lib/configs/webpack.dev.config.js +14 -1
  21. package/lib/configs/webpack.docs.config.js +9 -1
  22. package/lib/configs/webpack.impact.config.js +8 -1
  23. package/lib/configs/webpack.prod.config.js +17 -4
  24. package/lib/constants.js +18 -9
  25. package/lib/deprecationLogger.js +7 -0
  26. package/lib/hooks/docsProptypeHook.js +8 -4
  27. package/lib/jest/commitedFilesResult.js +46 -4
  28. package/lib/jest/coverageCollector.js +12 -1
  29. package/lib/jest/jsonMaker.js +6 -0
  30. package/lib/jest/preProcessors/cssPreprocessor.js +9 -1
  31. package/lib/jest/preProcessors/jsPreprocessor.js +11 -2
  32. package/lib/jest/preProcessors/otherFilesPreprocessor.js +4 -1
  33. package/lib/jest/result.js +23 -1
  34. package/lib/jest/run.js +18 -7
  35. package/lib/jest/setup.js +60 -8
  36. package/lib/loaderUtils/configsAssetsLoaders.js +12 -2
  37. package/lib/loaderUtils/getCSSLoaders.js +22 -10
  38. package/lib/loaderUtils/getDevJsLoaders.js +13 -4
  39. package/lib/loaderUtils/index.js +4 -1
  40. package/lib/loaderUtils/tests/windowsModification.test.js +1 -0
  41. package/lib/loaderUtils/windowsModification.js +3 -2
  42. package/lib/loaders/__test__/markdownLoader.spec.js +1 -0
  43. package/lib/loaders/composeLoader.js +37 -13
  44. package/lib/loaders/docsLoader.js +12 -1
  45. package/lib/loaders/docsPropsLoader.js +8 -4
  46. package/lib/loaders/enhancedReactLiveConverter.js +23 -2
  47. package/lib/loaders/fileBountryLoader.js +3 -1
  48. package/lib/loaders/fileLoader.js +23 -12
  49. package/lib/loaders/markdownLoader.js +19 -14
  50. package/lib/loaders/reactLiveConvertor.js +15 -5
  51. package/lib/loaders/scriptInstrumentLoader.js +16 -7
  52. package/lib/loaders/selectorMappingLoader.js +26 -7
  53. package/lib/loaders/workerLoader.js +24 -9
  54. package/lib/logger.js +4 -0
  55. package/lib/middlewares/HMRMiddleware.js +27 -13
  56. package/lib/middlewares/SSTMiddleware.js +5 -1
  57. package/lib/pluginUtils/configHtmlWebpackPlugins.js +24 -1
  58. package/lib/pluginUtils/getDevPlugins.js +42 -9
  59. package/lib/pluginUtils/getDocsPlugins.js +13 -3
  60. package/lib/pluginUtils/getLibraryImactPlugins.js +6 -5
  61. package/lib/pluginUtils/getLibraryPlugins.js +8 -2
  62. package/lib/pluginUtils/getProdPlugins.js +47 -8
  63. package/lib/pluginUtils/getServerPlugins.js +8 -2
  64. package/lib/pluginUtils/getUMDCSSPlugins.js +10 -2
  65. package/lib/pluginUtils/getUMDComponentPlugins.js +10 -2
  66. package/lib/pluginUtils/index.js +9 -1
  67. package/lib/plugins/CdnChangePlugin.js +18 -2
  68. package/lib/plugins/CleanupStatsPlugin.js +5 -0
  69. package/lib/plugins/CssOrderControlPlugin.js +6 -3
  70. package/lib/plugins/CustomAttributePlugin.js +19 -14
  71. package/lib/plugins/CustomScriptLoadingStrategyPlugin.js +23 -3
  72. package/lib/plugins/EFCPlugin.js +34 -20
  73. package/lib/plugins/EFCTemplatePlugin.js +30 -19
  74. package/lib/plugins/EfcResourceCleanupPlugin.js +3 -0
  75. package/lib/plugins/EventsHandlingPlugin.js +4 -2
  76. package/lib/plugins/I18NInjectIntoIndexPlugin.js +37 -14
  77. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +15 -10
  78. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +10 -4
  79. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +155 -78
  80. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +81 -198
  81. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +23 -12
  82. package/lib/plugins/I18nSplitPlugin/index.js +24 -13
  83. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +12 -2
  84. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +1 -0
  85. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +5 -0
  86. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +8 -1
  87. package/lib/plugins/I18nSplitPlugin/utils/index.js +4 -0
  88. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +20 -0
  89. package/lib/plugins/I18nSplitPlugin/utils/unicodeConversion.js +1 -0
  90. package/lib/plugins/ManifestPlugin.js +18 -1
  91. package/lib/plugins/MinifyPlugin.js +10 -1
  92. package/lib/plugins/ModuleStatsPlugin.js +24 -1
  93. package/lib/plugins/OptimizeJSPlugin.js +10 -2
  94. package/lib/plugins/PublicPathCallbackPlugin.js +12 -1
  95. package/lib/plugins/PublicPathChangePlugin.js +39 -6
  96. package/lib/plugins/ReportGeneratePlugin.js +32 -5
  97. package/lib/plugins/RequireVariablePublicPlugin.js +8 -1
  98. package/lib/plugins/ResourceHintsPlugin.js +13 -4
  99. package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +17 -12
  100. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +17 -10
  101. package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +5 -2
  102. package/lib/plugins/ScriptInstrumentPlugin.js +8 -1
  103. package/lib/plugins/SelectorPlugin.js +32 -6
  104. package/lib/plugins/ServiceWorkerPlugin.js +22 -5
  105. package/lib/plugins/ShadowDOMSupportPlugin.js +41 -4
  106. package/lib/plugins/SourceMapHookPlugin.js +12 -2
  107. package/lib/plugins/StatsPlugin.js +14 -0
  108. package/lib/plugins/TPHashMappingPlugin.js +18 -3
  109. package/lib/plugins/UnusedFilesFindPlugin.js +39 -4
  110. package/lib/plugins/VariableConversionCollector.js +42 -15
  111. package/lib/plugins/index.js +20 -1
  112. package/lib/plugins/libraryImpactPlugin.js +33 -1
  113. package/lib/plugins/utils/classHandling.js +6 -0
  114. package/lib/plugins/utils/fileHandling.js +15 -6
  115. package/lib/plugins/utils/tests/fileHandling.test.js +4 -0
  116. package/lib/plugins/variableConvertorUtils.js +29 -14
  117. package/lib/plugins/webpackwatchrunplugin.js +5 -0
  118. package/lib/postcss-plugins/EmptyPlugin.js +4 -3
  119. package/lib/postcss-plugins/ExcludePlugin.js +5 -1
  120. package/lib/postcss-plugins/IncludePlugin.js +5 -1
  121. package/lib/postcss-plugins/RTLSplitPlugin.js +27 -14
  122. package/lib/postcss-plugins/SelectorReplace.js +16 -1
  123. package/lib/postcss-plugins/ValueReplacer.js +6 -7
  124. package/lib/postcss-plugins/__test__/hoverActivePlugin.spec.js +3 -0
  125. package/lib/postcss-plugins/__test__/selectorReplace.test.js +3 -6
  126. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +5 -2
  127. package/lib/postcss-plugins/hoverActivePlugin.js +67 -31
  128. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +7 -0
  129. package/lib/postcss-plugins/variableModificationPlugin/index.js +49 -28
  130. package/lib/schemas/index.js +10 -3
  131. package/lib/servers/clusterHubServer.js +11 -1
  132. package/lib/servers/devBuild.js +26 -14
  133. package/lib/servers/docsServer.js +3 -1
  134. package/lib/servers/docsServerCore.js +22 -1
  135. package/lib/servers/getCliPath.js +9 -0
  136. package/lib/servers/helpServer.js +6 -1
  137. package/lib/servers/httpsOptions.js +8 -2
  138. package/lib/servers/impactServer.js +35 -3
  139. package/lib/servers/mockserver.js +10 -1
  140. package/lib/servers/nowatchserver.js +37 -12
  141. package/lib/servers/requireLocalOrGlobal.js +17 -6
  142. package/lib/servers/scrServer.js +21 -14
  143. package/lib/servers/server.js +36 -6
  144. package/lib/servers/ssServer.js +17 -1
  145. package/lib/templates/CoverageScriptTemplate.js +14 -0
  146. package/lib/templates/WMSTemplate.js +13 -7
  147. package/lib/templates/linterConstant.js +4 -2
  148. package/lib/utils/babelPresets.js +7 -3
  149. package/lib/utils/clean.js +9 -3
  150. package/lib/utils/copy.js +7 -1
  151. package/lib/utils/copyTimezones.js +9 -1
  152. package/lib/utils/createEventStream.js +6 -1
  153. package/lib/utils/cssClassNameGenerate.js +30 -10
  154. package/lib/utils/cssURLReplacer.js +22 -1
  155. package/lib/utils/dependencyPostPublish.js +10 -1
  156. package/lib/utils/deprecationSupport.js +32 -7
  157. package/lib/utils/fileUtils.js +28 -1
  158. package/lib/utils/folderIterator.js +13 -2
  159. package/lib/utils/getComponents.js +21 -0
  160. package/lib/utils/getCurrentBranch.js +5 -0
  161. package/lib/utils/getDependenciesImpactList.js +22 -1
  162. package/lib/utils/getFileType.js +10 -2
  163. package/lib/utils/getHash.js +8 -1
  164. package/lib/utils/getIp.js +2 -0
  165. package/lib/utils/getOptions.js +53 -16
  166. package/lib/utils/getServerURL.js +10 -1
  167. package/lib/utils/index.js +51 -4
  168. package/lib/utils/init.js +1 -0
  169. package/lib/utils/initPreCommitHook.js +30 -7
  170. package/lib/utils/jsonHelper.js +22 -3
  171. package/lib/utils/libraryImpactConfig.js +5 -2
  172. package/lib/utils/lint/addScripts.js +5 -2
  173. package/lib/utils/lint/checkExistingConfig.js +12 -3
  174. package/lib/utils/lint/copyConfigs.js +3 -0
  175. package/lib/utils/lint/index.js +9 -0
  176. package/lib/utils/lint/lintScripts.js +1 -0
  177. package/lib/utils/lint/lintSetup.js +4 -3
  178. package/lib/utils/lint/lintStagedPreCommitHook.js +1 -0
  179. package/lib/utils/lint/question.js +7 -0
  180. package/lib/utils/lintReporter.js +20 -0
  181. package/lib/utils/log.js +1 -0
  182. package/lib/utils/mailSender.js +8 -1
  183. package/lib/utils/object-manipulation.js +17 -1
  184. package/lib/utils/pullOrigin.js +4 -0
  185. package/lib/utils/reinstallDependencies.js +29 -1
  186. package/lib/utils/removeAttributes.js +8 -1
  187. package/lib/utils/repoClone.js +28 -3
  188. package/lib/utils/request.js +12 -0
  189. package/lib/utils/rtl.js +17 -5
  190. package/lib/utils/selectorReplacer.js +16 -10
  191. package/lib/utils/setEnvVariables.js +2 -0
  192. package/lib/utils/ssTestHack.js +11 -1
  193. package/lib/utils/switchBranch.js +5 -0
  194. package/lib/utils/typeCheck.js +1 -0
  195. package/lib/utils/urlConcat.js +4 -0
  196. package/lib/utils/useExitCleanup.js +10 -9
  197. package/lib/utils/variableConverter.js +31 -22
  198. package/{package-lock.json → npm-shrinkwrap.json} +2333 -2101
  199. package/package.json +3 -2
  200. package/lib/plugins/I18nSplitPlugin/utils/applyMetaManifest.js +0 -279
  201. package/lib/plugins/I18nSplitPlugin/utils/createMetaManifest.js +0 -51
  202. package/lib/plugins/I18nSplitPlugin/utils/createRegularManifest.js +0 -48
  203. package/lib/plugins/newi18nsplitplugin/18nPlugin1.js +0 -306
  204. package/lib/plugins/newi18nsplitplugin/18nPlugin2.js +0 -363
  205. package/lib/plugins/newi18nsplitplugin/18nPlugin3.js +0 -694
  206. package/lib/plugins/newi18nsplitplugin/18nPlugin_hashed.js +0 -1258
  207. package/lib/plugins/newi18nsplitplugin/18nPlugin_working.js +0 -542
  208. package/lib/plugins/newi18nsplitplugin/18nplugin.js +0 -974
  209. package/lib/plugins/newi18nsplitplugin/ChunkManager.js +0 -131
  210. package/lib/plugins/newi18nsplitplugin/GenerateModuleIdToKeysMapPlugin.js +0 -59
  211. package/lib/plugins/newi18nsplitplugin/I18nDiffPlugin.js +0 -262
  212. package/lib/plugins/newi18nsplitplugin/I18nDownloadLogic.js +0 -166
  213. package/lib/plugins/newi18nsplitplugin/I18nPropertiesPlugin.js +0 -111
  214. package/lib/plugins/newi18nsplitplugin/KeyCollector.js +0 -163
  215. package/lib/plugins/newi18nsplitplugin/ManifestGenerator.js +0 -88
  216. package/lib/plugins/newi18nsplitplugin/UnicodeConversionPlugin.js +0 -101
  217. package/lib/plugins/newi18nsplitplugin/constants.js +0 -162
  218. package/lib/plugins/newi18nsplitplugin/utils/I18nKeyHasher.js +0 -78
  219. package/lib/plugins/newi18nsplitplugin/utils/getJsResourceKeys.js +0 -22
  220. package/lib/plugins/newi18nsplitplugin/utils/i18nChunkUtils.js +0 -18
  221. package/lib/plugins/newi18nsplitplugin/utils/manifestGenerator.js +0 -580
  222. package/lib/plugins/newi18nsplitplugin/utils/propertiesUtils.js +0 -54
@@ -4,27 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _path = _interopRequireDefault(require("path"));
9
+
8
10
  var _fs = _interopRequireDefault(require("fs"));
11
+
9
12
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
13
+
10
14
  var _lodashWebpackPlugin = _interopRequireDefault(require("lodash-webpack-plugin"));
15
+
11
16
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
17
+
12
18
  var _I18nSplitPlugin = _interopRequireDefault(require("../plugins/I18nSplitPlugin"));
19
+
13
20
  var _RequireVariablePublicPlugin = _interopRequireDefault(require("../plugins/RequireVariablePublicPlugin"));
21
+
14
22
  var _CssOrderControlPlugin = _interopRequireDefault(require("../plugins/CssOrderControlPlugin"));
23
+
15
24
  var _copyWebpackPlugin = _interopRequireDefault(require("copy-webpack-plugin"));
25
+
16
26
  var _webpack = _interopRequireDefault(require("webpack"));
27
+
17
28
  var _plugins = require("../plugins");
29
+
18
30
  var _CustomAttributePlugin = require("../plugins/CustomAttributePlugin");
31
+
19
32
  var _RtlCssPlugin = require("../plugins/RtlSplitPlugin/RtlCssPlugin");
33
+
20
34
  var _VariableConversionCollector = _interopRequireDefault(require("../plugins/VariableConversionCollector"));
35
+
21
36
  var _SelectorPlugin = _interopRequireDefault(require("../plugins/SelectorPlugin"));
37
+
22
38
  var _configHtmlWebpackPlugins = require("./configHtmlWebpackPlugins");
39
+
23
40
  var _EfcResourceCleanupPlugin = _interopRequireDefault(require("../plugins/EfcResourceCleanupPlugin"));
41
+
24
42
  var _EventsHandlingPlugin = require("../plugins/EventsHandlingPlugin");
25
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
- // import { windowsModification } from '../loaderUtils/windowsModification';
27
43
 
44
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
+
46
+ // import { windowsModification } from '../loaderUtils/windowsModification';
28
47
  const getDevPlugins = (options, publicPath) => {
29
48
  const {
30
49
  app: {
@@ -67,8 +86,8 @@ const getDevPlugins = (options, publicPath) => {
67
86
  } = options;
68
87
  const hasEFC = newOptionForEnableEFC || prevOptionForEnableEFC;
69
88
  const cssLTRFileNameTempalte = enableRTLSplit ? 'css/[name].ltr.css' : 'css/[name].css';
70
- const cssRTLFileNameTempalte = 'css/[name].rtl.css';
71
- // const selectorWeightLocal = windowsModification(exclude.selectorWeight);
89
+ const cssRTLFileNameTempalte = 'css/[name].rtl.css'; // const selectorWeightLocal = windowsModification(exclude.selectorWeight);
90
+
72
91
  const pluginsArr = [new _plugins.CleanUpStatsPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.IgnorePlugin(/^\.\/domain$/, /moment$/), new _webpack.default.DefinePlugin({
73
92
  __CLIENT__: true,
74
93
  __TEST__: false,
@@ -86,6 +105,7 @@ const getDevPlugins = (options, publicPath) => {
86
105
  // ignoreOrder: true,
87
106
  chunkFilename: cssLTRFileNameTempalte
88
107
  }), new _plugins.ResourceHintsPlugin(resourceHints)];
108
+
89
109
  if (enableRTLSplit) {
90
110
  pluginsArr.push(new _RtlCssPlugin.RtlCssPlugin({
91
111
  templateLabel: options.css.templateLabel,
@@ -96,11 +116,13 @@ const getDevPlugins = (options, publicPath) => {
96
116
  filename: cssRTLFileNameTempalte
97
117
  }));
98
118
  }
119
+
99
120
  if (unusedFiles.enable) {
100
121
  pluginsArr.push(new _plugins.UnusedFilesFindPlugin(Object.assign(unusedFiles, {
101
122
  origin: _path.default.join(process.cwd(), folder)
102
123
  })));
103
124
  }
125
+
104
126
  const i18nManifestFileName = 'i18n-manifest.json';
105
127
  /**
106
128
  * NOTE:
@@ -111,6 +133,7 @@ const getDevPlugins = (options, publicPath) => {
111
133
 
112
134
  const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].i18n.js';
113
135
  const i18nPublicPath = publicPath || '';
136
+
114
137
  if (i18n.chunkSplitEnable) {
115
138
  pluginsArr.push(new _I18nSplitPlugin.default({
116
139
  jsResource: i18n.jsResource,
@@ -125,6 +148,7 @@ const getDevPlugins = (options, publicPath) => {
125
148
  }));
126
149
  } else {
127
150
  const i18nPath = _path.default.join(process.cwd(), context, 'i18n');
151
+
128
152
  if (_fs.default.existsSync(i18nPath)) {
129
153
  pluginsArr.push(new _copyWebpackPlugin.default([{
130
154
  from: `${i18nPath}/`,
@@ -133,6 +157,7 @@ const getDevPlugins = (options, publicPath) => {
133
157
  }]));
134
158
  }
135
159
  }
160
+
136
161
  tpFolder && pluginsArr.push(new _copyWebpackPlugin.default([{
137
162
  from: `${_path.default.join(process.cwd(), context, tpFolder)}/`,
138
163
  to: `./${tpFolder}/`,
@@ -151,6 +176,7 @@ const getDevPlugins = (options, publicPath) => {
151
176
  hasEFC,
152
177
  customScriptLoadingStrategey
153
178
  });
179
+
154
180
  if (hasEFC) {
155
181
  pluginsArr.push(new _plugins.EFCPlugin({
156
182
  isDevelopment: true,
@@ -160,10 +186,11 @@ const getDevPlugins = (options, publicPath) => {
160
186
  serverUrl: publicPath,
161
187
  entryPointName: 'efc',
162
188
  nameScope: efcNameSpace,
163
- localeAttr: efcLocaleAttr
164
- // outputFile: 'zohodesk-efc-sdk-latest.js',
189
+ localeAttr: efcLocaleAttr // outputFile: 'zohodesk-efc-sdk-latest.js',
190
+
165
191
  }));
166
192
  }
193
+
167
194
  pluginsArr.push(new _plugins.I18NInjectIntoIndexPlugin({
168
195
  publicPath: i18nPublicPath,
169
196
  isDevelopment: true,
@@ -179,17 +206,20 @@ const getDevPlugins = (options, publicPath) => {
179
206
  globalCacheObj: context
180
207
  })));
181
208
  hasShadowDOM && pluginsArr.push(new _plugins.ShadowDOMSupportPlugin());
209
+
182
210
  if (devCssFileBountry) {
183
211
  pluginsArr.push(new _RequireVariablePublicPlugin.default({
184
212
  requireFuncName: 'require'
185
213
  }));
186
214
  }
215
+
187
216
  if (pluginObject.cssVariableReplacement) {
188
217
  pluginsArr.push(new _VariableConversionCollector.default({
189
218
  cssVariableReplacementConfig,
190
219
  patterns
191
220
  }));
192
221
  }
222
+
193
223
  if (pluginObject.selectorWeight) {
194
224
  pluginsArr.push(new _SelectorPlugin.default({
195
225
  selectorWeightConfig,
@@ -197,11 +227,14 @@ const getDevPlugins = (options, publicPath) => {
197
227
  patterns
198
228
  }));
199
229
  }
200
- pluginsArr.push(new _EventsHandlingPlugin.EventsHandlingPlugin());
201
- // if (pluginObject.minifier) {
230
+
231
+ pluginsArr.push(new _EventsHandlingPlugin.EventsHandlingPlugin()); // if (pluginObject.minifier) {
202
232
  // // console.log('minifier active');
203
233
  // pluginsArr.push(new MinifierPlugin());
204
234
  // }
235
+
205
236
  return pluginsArr.filter(Boolean);
206
237
  };
207
- var _default = exports.default = getDevPlugins;
238
+
239
+ var _default = getDevPlugins;
240
+ exports.default = _default;
@@ -4,15 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
9
+
8
10
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
11
+
9
12
  var _webpack = _interopRequireDefault(require("webpack"));
13
+
10
14
  var _path = _interopRequireDefault(require("path"));
15
+
11
16
  var _plugins = require("../plugins");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
13
20
  // isForLibraryImpact this variable for now only used in getLibraryImactPlugins.
14
21
  // So you gona use it please check with that function as well
15
-
16
22
  let getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
17
23
  let {
18
24
  app: {
@@ -32,6 +38,7 @@ let getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
32
38
  filename: 'css/[name].css',
33
39
  chunkFilename: 'css/[name].css'
34
40
  })].filter(Boolean);
41
+
35
42
  if (unusedFiles.enable) {
36
43
  plugins.push(new _plugins.UnusedFilesFindPlugin(Object.assign(unusedFiles, {
37
44
  docsFilename: 'Undocsfiles.json',
@@ -39,6 +46,9 @@ let getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
39
46
  origin: _path.default.join(process.cwd(), folder)
40
47
  })));
41
48
  }
49
+
42
50
  return plugins;
43
51
  };
44
- var _default = exports.default = getDocsPlugins;
52
+
53
+ var _default = getDocsPlugins;
54
+ exports.default = _default;
@@ -4,15 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = getLibraryImactPlugins;
7
+
7
8
  var _libraryImpactPlugin = _interopRequireDefault(require("../plugins/libraryImpactPlugin"));
9
+
8
10
  var _getDocsPlugins = _interopRequireDefault(require("./getDocsPlugins"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- // import ModuleStatsPlugin from '../plugins/ModuleStatsPlugin';
11
11
 
12
- function getLibraryImactPlugins(options) {
13
- let plugins = (0, _getDocsPlugins.default)(false, options, true);
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
 
15
- // for performance But for furture maintanablity we adding isForLibraryImpact in getDocsPlugin
14
+ // import ModuleStatsPlugin from '../plugins/ModuleStatsPlugin';
15
+ function getLibraryImactPlugins(options) {
16
+ let plugins = (0, _getDocsPlugins.default)(false, options, true); // for performance But for furture maintanablity we adding isForLibraryImpact in getDocsPlugin
16
17
  // plugins.filter(plugin => !(plugin instanceof ModuleStatsPlugin));
17
18
 
18
19
  plugins.push(new _libraryImpactPlugin.default({
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
9
+
8
10
  var _webpack = _interopRequireDefault(require("webpack"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  let getLibraryPlugins = () => {
11
15
  let plugins = [new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.DefinePlugin({
12
16
  __TEST__: false,
@@ -19,4 +23,6 @@ let getLibraryPlugins = () => {
19
23
  })];
20
24
  return plugins;
21
25
  };
22
- var _default = exports.default = getLibraryPlugins;
26
+
27
+ var _default = getLibraryPlugins;
28
+ exports.default = _default;
@@ -4,26 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _path = _interopRequireDefault(require("path"));
9
+
8
10
  var _fs = _interopRequireDefault(require("fs"));
11
+
9
12
  var _webpack = _interopRequireDefault(require("webpack"));
13
+
10
14
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
15
+
11
16
  var _webpackBundleAnalyzer = require("webpack-bundle-analyzer");
17
+
12
18
  var _lodashWebpackPlugin = _interopRequireDefault(require("lodash-webpack-plugin"));
19
+
13
20
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
21
+
14
22
  var _I18nSplitPlugin = _interopRequireDefault(require("../plugins/I18nSplitPlugin"));
23
+
15
24
  var _copyWebpackPlugin = _interopRequireDefault(require("copy-webpack-plugin"));
25
+
16
26
  var _VariableConversionCollector = _interopRequireDefault(require("../plugins/VariableConversionCollector"));
27
+
17
28
  var _SelectorPlugin = _interopRequireDefault(require("../plugins/SelectorPlugin"));
29
+
18
30
  var _EventsHandlingPlugin = require("../plugins/EventsHandlingPlugin");
31
+
19
32
  var _plugins = require("../plugins");
33
+
20
34
  var _CustomAttributePlugin = require("../plugins/CustomAttributePlugin");
35
+
21
36
  var _RtlCssPlugin = require("../plugins/RtlSplitPlugin/RtlCssPlugin");
37
+
22
38
  var _CssOrderControlPlugin = _interopRequireDefault(require("../plugins/CssOrderControlPlugin"));
39
+
23
40
  var _configHtmlWebpackPlugins = require("./configHtmlWebpackPlugins");
41
+
24
42
  var _StatsPlugin = _interopRequireDefault(require("../plugins/StatsPlugin"));
43
+
25
44
  var _EfcResourceCleanupPlugin = _interopRequireDefault(require("../plugins/EfcResourceCleanupPlugin"));
26
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
45
+
46
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
+
27
48
  // eslint-disable-next-line no-unused-vars
28
49
  const getProdPlugins = (options, publicPath = '') => {
29
50
  let {
@@ -104,6 +125,7 @@ const getProdPlugins = (options, publicPath = '') => {
104
125
  filename: cssLTRFileNameTempalte,
105
126
  chunkFilename: cssLTRFileNameTempalte
106
127
  }), new _plugins.ResourceHintsPlugin(options.resourceHints), new _plugins.MinifyPlugin()];
128
+
107
129
  if (enableRTLSplit) {
108
130
  pluginsArr.push(new _RtlCssPlugin.RtlCssPlugin({
109
131
  templateLabel: options.css.templateLabel,
@@ -114,6 +136,7 @@ const getProdPlugins = (options, publicPath = '') => {
114
136
  filename: cssRTLFileNameTempalte
115
137
  }));
116
138
  }
139
+
117
140
  const i18nManifestFileName = 'i18n-manifest.json';
118
141
  /**
119
142
  * NOTE:
@@ -123,8 +146,7 @@ const getProdPlugins = (options, publicPath = '') => {
123
146
  */
124
147
 
125
148
  const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].[chunkhash].i18n.js';
126
- const i18nPublicPath = Array.isArray(publicPaths) && !cdnMapping.isCdnEnabled ? publicPaths['4'] : '';
127
- // const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].[contentHash]_.js';
149
+ const i18nPublicPath = Array.isArray(publicPaths) && !cdnMapping.isCdnEnabled ? publicPaths['4'] : ''; // const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].[contentHash]_.js';
128
150
  // const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name]_.js';
129
151
 
130
152
  if (i18n.chunkSplitEnable) {
@@ -141,6 +163,7 @@ const getProdPlugins = (options, publicPath = '') => {
141
163
  }));
142
164
  } else {
143
165
  const i18nPath = _path.default.join(process.cwd(), context, 'i18n');
166
+
144
167
  if (_fs.default.existsSync(i18nPath)) {
145
168
  pluginsArr.push(new _copyWebpackPlugin.default([{
146
169
  from: `${i18nPath}/`,
@@ -149,6 +172,7 @@ const getProdPlugins = (options, publicPath = '') => {
149
172
  }]));
150
173
  }
151
174
  }
175
+
152
176
  tpFolder && pluginsArr.push(new _copyWebpackPlugin.default([{
153
177
  from: `${_path.default.join(process.cwd(), context, tpFolder)}/`,
154
178
  to: `./${tpFolder}/`,
@@ -163,6 +187,7 @@ const getProdPlugins = (options, publicPath = '') => {
163
187
  crossorigin,
164
188
  hasEFC
165
189
  });
190
+
166
191
  if (hasEFC) {
167
192
  pluginsArr.push(new _plugins.EFCPlugin({
168
193
  isDevelopment,
@@ -177,6 +202,7 @@ const getProdPlugins = (options, publicPath = '') => {
177
202
  cdnVariableName: cdnMapping.isCdnEnabled ? cdnMapping.variableName : null
178
203
  }));
179
204
  }
205
+
180
206
  pluginsArr.push(new _plugins.I18NInjectIntoIndexPlugin({
181
207
  // Because we will handle cdn url in CdnChangePlugin
182
208
  publicPath: cdnMapping.isCdnEnabled ? '' : i18nPublicPath,
@@ -186,6 +212,7 @@ const getProdPlugins = (options, publicPath = '') => {
186
212
  i18nManifestFileName,
187
213
  mainChunkName: 'main'
188
214
  }));
215
+
189
216
  if (publicPaths && !isDevelopment && !cdnMapping.isCdnEnabled) {
190
217
  const {
191
218
  callback
@@ -197,20 +224,24 @@ const getProdPlugins = (options, publicPath = '') => {
197
224
  resourceHints
198
225
  }));
199
226
  }
227
+
200
228
  if (cdnMapping.isCdnEnabled) {
201
229
  pluginsArr.push(new _plugins.CdnChangePlugin(cdnMapping));
202
230
  }
231
+
203
232
  pluginsArr.push(new _lodashWebpackPlugin.default({
204
233
  collections: true,
205
234
  shorthands: true
206
235
  }));
207
236
  hasShadowDOM && pluginsArr.push(new _plugins.ShadowDOMSupportPlugin());
237
+
208
238
  if (!isDevelopment) {
209
239
  enableSMap && enableSMapHook && pluginsArr.push(new _plugins.SourceMapHookPlugin());
210
240
  optimize && pluginsArr.push(new _plugins.OptimizeJSPlugin());
211
241
  pluginsArr.push(new _plugins.ManifestPlugin({
212
242
  fileName: manifestFileName
213
243
  }));
244
+
214
245
  if (bundleAnalyze) {
215
246
  pluginsArr.push(new _webpackBundleAnalyzer.BundleAnalyzerPlugin({
216
247
  analyzerMode: 'static',
@@ -225,9 +256,9 @@ const getProdPlugins = (options, publicPath = '') => {
225
256
  assets: true,
226
257
  assetsSort: 'name'
227
258
  }
228
- }));
229
- // plugins.push(new ReportGeneratePlugin());
259
+ })); // plugins.push(new ReportGeneratePlugin());
230
260
  }
261
+
231
262
  if (tpHashMapping && tpHashMapping.length > 0) {
232
263
  pluginsArr.push(new _plugins.TPHashMappingPlugin({
233
264
  fileMappings: tpHashMapping,
@@ -235,6 +266,7 @@ const getProdPlugins = (options, publicPath = '') => {
235
266
  }));
236
267
  }
237
268
  }
269
+
238
270
  if (!isDevelopment && serviceWorker.enableSw) {
239
271
  const {
240
272
  filePath,
@@ -242,9 +274,11 @@ const getProdPlugins = (options, publicPath = '') => {
242
274
  exitPath = '/',
243
275
  replaceText = '@@'
244
276
  } = serviceWorker;
277
+
245
278
  if (!filePath) {
246
279
  throw new Error('File Path required for service worker plugin');
247
280
  }
281
+
248
282
  pluginsArr.push(new _plugins.ServiceWorkerPlugin({
249
283
  filePath: _path.default.join(process.cwd(), filePath),
250
284
  i18nFileNameTemplate,
@@ -254,20 +288,23 @@ const getProdPlugins = (options, publicPath = '') => {
254
288
  publicPaths
255
289
  }));
256
290
  }
291
+
257
292
  if (pluginObject.cssVariableReplacement) {
258
293
  pluginsArr.push(new _VariableConversionCollector.default({
259
294
  cssVariableReplacementConfig,
260
295
  patterns
261
296
  }));
262
297
  }
298
+
263
299
  if (pluginObject.selectorWeight) {
264
300
  pluginsArr.push(new _SelectorPlugin.default({
265
301
  selectorWeightConfig,
266
302
  exclude: exclude.selectorWeight,
267
303
  patterns
268
304
  }));
269
- }
270
- // plugins.push(new VariableConversionCollector({}));
305
+ } // plugins.push(new VariableConversionCollector({}));
306
+
307
+
271
308
  cssOrderControler.enable && pluginsArr.push(new _CssOrderControlPlugin.default(cssOrderControler));
272
309
  customAttributes.enable && pluginsArr.push(new _CustomAttributePlugin.CustomAttributePlugin(customAttributes));
273
310
  customAttributes.enable && pluginsArr.push(new _EfcResourceCleanupPlugin.default(Object.assign({}, customAttributes, {
@@ -281,4 +318,6 @@ const getProdPlugins = (options, publicPath = '') => {
281
318
  pluginsArr.push(new _EventsHandlingPlugin.EventsHandlingPlugin());
282
319
  return pluginsArr;
283
320
  };
284
- var _default = exports.default = getProdPlugins;
321
+
322
+ var _default = getProdPlugins;
323
+ exports.default = _default;
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _webpack = _interopRequireDefault(require("webpack"));
9
+
8
10
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  let getProdPlugins = () => {
11
15
  let plugins = [new _webpack.default.optimize.ModuleConcatenationPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.IgnorePlugin(/^\.\/domain$/, /moment$/), new _webpack.default.DefinePlugin({
12
16
  __TEST__: false,
@@ -16,4 +20,6 @@ let getProdPlugins = () => {
16
20
  })];
17
21
  return plugins;
18
22
  };
19
- var _default = exports.default = getProdPlugins;
23
+
24
+ var _default = getProdPlugins;
25
+ exports.default = _default;
@@ -4,11 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
9
+
8
10
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
11
+
9
12
  var _plugins = require("../plugins");
13
+
10
14
  var _webpack = _interopRequireDefault(require("webpack"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  let getUMDCSSPlugins = () => {
13
19
  let plugins = [new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.DefinePlugin({
14
20
  __TEST__: false,
@@ -24,4 +30,6 @@ let getUMDCSSPlugins = () => {
24
30
  }), new _plugins.MinifyPlugin()];
25
31
  return plugins;
26
32
  };
27
- var _default = exports.default = getUMDCSSPlugins;
33
+
34
+ var _default = getUMDCSSPlugins;
35
+ exports.default = _default;
@@ -4,11 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
9
+
8
10
  var _webpack = _interopRequireDefault(require("webpack"));
11
+
9
12
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
13
+
10
14
  var _plugins = require("../plugins");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  let getUMDComponentPlugins = isDocs => {
13
19
  let plugins = [new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.DefinePlugin({
14
20
  __TEST__: false,
@@ -24,4 +30,6 @@ let getUMDComponentPlugins = isDocs => {
24
30
  }), new _plugins.MinifyPlugin()];
25
31
  return plugins;
26
32
  };
27
- var _default = exports.default = getUMDComponentPlugins;
33
+
34
+ var _default = getUMDComponentPlugins;
35
+ exports.default = _default;
@@ -45,11 +45,19 @@ Object.defineProperty(exports, "getUMDComponentPlugins", {
45
45
  return _getUMDComponentPlugins.default;
46
46
  }
47
47
  });
48
+
48
49
  var _getDevPlugins = _interopRequireDefault(require("./getDevPlugins"));
50
+
49
51
  var _getProdPlugins = _interopRequireDefault(require("./getProdPlugins"));
52
+
50
53
  var _getDocsPlugins = _interopRequireDefault(require("./getDocsPlugins"));
54
+
51
55
  var _getServerPlugins = _interopRequireDefault(require("./getServerPlugins"));
56
+
52
57
  var _getLibraryPlugins = _interopRequireDefault(require("./getLibraryPlugins"));
58
+
53
59
  var _getUMDComponentPlugins = _interopRequireDefault(require("./getUMDComponentPlugins"));
60
+
54
61
  var _getUMDCSSPlugins = _interopRequireDefault(require("./getUMDCSSPlugins"));
55
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
62
+
63
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -4,16 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
9
+
8
10
  var _utils = require("../utils");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  const MODULE_TYPE = 'css/mini-extract';
15
+
11
16
  const isI18nFile = url => url.endsWith('.i18n.js');
17
+
12
18
  const {
13
19
  app: {
14
20
  enableSMap
15
21
  }
16
22
  } = (0, _utils.getOptions)();
23
+
17
24
  class CdnChangePlugin {
18
25
  constructor(options) {
19
26
  this.i18nTemplate = options.i18nTemplate || '{{__I18N_CDN__}}';
@@ -21,8 +28,10 @@ class CdnChangePlugin {
21
28
  this.cssTemplate = options.cssTemplate || '{{__CSS_CDN__}}';
22
29
  this.jsTemplate = options.jsTemplate || '{{__JS_CDN__}}';
23
30
  }
31
+
24
32
  getCssChunkObject(mainChunk) {
25
33
  const obj = {};
34
+
26
35
  for (const chunk of mainChunk.getAllAsyncChunks()) {
27
36
  for (const module of chunk.modulesIterable) {
28
37
  if (module.type === MODULE_TYPE) {
@@ -31,12 +40,15 @@ class CdnChangePlugin {
31
40
  }
32
41
  }
33
42
  }
43
+
34
44
  return obj;
35
45
  }
46
+
36
47
  apply(compiler) {
37
48
  compiler.hooks.thisCompilation.tap('CdnChangePlugin', compilation => {
38
49
  compilation.mainTemplate.hooks.requireEnsure.tap('CdnChangePlugin', (source, chunk) => {
39
50
  const chunkMap = this.getCssChunkObject(chunk);
51
+
40
52
  if (Object.keys(chunkMap).length > 0) {
41
53
  return source.replace('__webpack_require__.p', `window['${this.variableName}']`);
42
54
  }
@@ -50,6 +62,7 @@ class CdnChangePlugin {
50
62
  if (enableSMap && !isI18nFile(js)) {
51
63
  js = js.replace('js/', `{{--js-smap}}js/`); //eslint-disable-line
52
64
  }
65
+
53
66
  return `${isI18nFile(js) ? this.i18nTemplate : this.jsTemplate}${js}`;
54
67
  })
55
68
  });
@@ -57,5 +70,8 @@ class CdnChangePlugin {
57
70
  });
58
71
  });
59
72
  }
73
+
60
74
  }
61
- var _default = exports.default = CdnChangePlugin;
75
+
76
+ var _default = CdnChangePlugin;
77
+ exports.default = _default;
@@ -4,20 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  class CleanUpStatsPlugin {
8
9
  shouldPickStatChild(child) {
9
10
  return child.name.indexOf('mini-css-extract-plugin') !== 0;
10
11
  }
12
+
11
13
  apply(compiler) {
12
14
  compiler.hooks.done.tap('CleanUpStatsPlugin', stats => {
13
15
  const {
14
16
  children
15
17
  } = stats.compilation;
18
+
16
19
  if (Array.isArray(children)) {
17
20
  // eslint-disable-next-line no-param-reassign
18
21
  stats.compilation.children = children.filter(child => this.shouldPickStatChild(child));
19
22
  }
20
23
  });
21
24
  }
25
+
22
26
  }
27
+
23
28
  exports.default = CleanUpStatsPlugin;