@zohodesk/client_build_tool 0.0.1-0.exp.0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/.babelrc +12 -0
  2. package/.lintstagedrc +3 -0
  3. package/.vscode/settings.json +5 -0
  4. package/CHANGELOG.md +84 -0
  5. package/ConfigurationDocumentation.md +567 -0
  6. package/ContributionGuide.md +2 -0
  7. package/NOTES-Dec12.md +12 -0
  8. package/README.md +184 -0
  9. package/README_backup.md +100 -0
  10. package/TODO.md +35 -0
  11. package/cli.js +31 -0
  12. package/docs/BabelCustomizations.md +55 -0
  13. package/docs/CSSCustomPluginsDocumentation.md +71 -0
  14. package/docs/CustomChunksConfiguration.md +0 -0
  15. package/docs/EFCFileTemplate.md +0 -0
  16. package/docs/MockApi.md +61 -0
  17. package/docs/NameTemplateUtility.md +93 -0
  18. package/docs/ServiseWorkerTemplate.md +0 -0
  19. package/docs/SupportedBrowserVersions.md +61 -0
  20. package/helpDocs/check.js +7 -0
  21. package/helpDocs/commmands/build.md +0 -0
  22. package/helpDocs/commmands/start.md +0 -0
  23. package/helpDocs/examples/buildWithContentHash.md +0 -0
  24. package/helpDocs/examples/startDevServer.md +0 -0
  25. package/helpDocs/examples/startWithMockAPI.md +0 -0
  26. package/helpDocs/node18-env.md +30 -0
  27. package/helpDocs/troubleshootings/NewMachineSetup.md +71 -0
  28. package/helpDocs/troubleshootings/README.md +9 -0
  29. package/helpDocs/troubleshootings/hg_install.sh +18 -0
  30. package/helpDocs/troubleshootings/newMachineMac.sh +86 -0
  31. package/helpDocs/troubleshootings/newMachineUbundu.bash +84 -0
  32. package/lib/allCommandsConfigs.js +25 -0
  33. package/lib/commands/build/commandExecutor.js +17 -0
  34. package/lib/commands/build/config.js +12 -0
  35. package/lib/commands/build/optionsProcessor.js +35 -0
  36. package/lib/commands/build/preProcessor.js +12 -0
  37. package/lib/commands/buildEs/commandExecutor.js +33 -0
  38. package/lib/commands/buildEs/config.js +12 -0
  39. package/lib/commands/buildEs/preProcessor.js +17 -0
  40. package/lib/commands/buildLib/commandExecutor.js +33 -0
  41. package/lib/commands/buildLib/config.js +12 -0
  42. package/lib/commands/buildLib/preProcessor.js +17 -0
  43. package/lib/commands/mockserver/commandExecutor.js +43 -0
  44. package/lib/commands/mockserver/config.js +12 -0
  45. package/lib/commands/pre_process/commandExecutor.js +18 -0
  46. package/lib/commands/pre_process/config.js +12 -0
  47. package/lib/commands/start/commandExecutor.js +12 -0
  48. package/lib/commands/start/config.js +12 -0
  49. package/lib/commands/start/optionsProcessor.js +30 -0
  50. package/lib/commands/start/preProcessor.js +12 -0
  51. package/lib/commands/template/commandExecutor.js +28 -0
  52. package/lib/commands/template/config.js +12 -0
  53. package/lib/commands/version/commandExecutor.js +14 -0
  54. package/lib/commands/version/config.js +12 -0
  55. package/lib/commandsRouter.js +74 -0
  56. package/lib/index.js +12 -0
  57. package/lib/logger.js +34 -0
  58. package/lib/schemas/applyValuesToSchema/index.js +34 -0
  59. package/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  60. package/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  61. package/lib/schemas/cliArgsToObject.js +39 -0
  62. package/lib/schemas/defaultConfigValues.js +393 -0
  63. package/lib/schemas/defaultConfigValuesOnly.js +200 -0
  64. package/lib/schemas/deprecatedOptionsHandler.js +67 -0
  65. package/lib/schemas/getNpmVersion.js +22 -0
  66. package/lib/schemas/giveDefaultValue.js +18 -0
  67. package/lib/schemas/npmConfigToObject.js +35 -0
  68. package/lib/schemas/readOptions.js +87 -0
  69. package/lib/schemas/readOptionsForConfigFile.js +42 -0
  70. package/lib/shared/babel/addDefaultPlugins.js +15 -0
  71. package/lib/shared/babel/babelWebConfig.js +54 -0
  72. package/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
  73. package/lib/shared/babel/getBabelPlugin.js +42 -0
  74. package/lib/shared/babel/runBabelForJSFile.js +24 -0
  75. package/lib/shared/babel/runBabelForTsFile.js +30 -0
  76. package/lib/shared/bundler/webpack/common/decidePublicPath.js +57 -0
  77. package/lib/shared/bundler/webpack/common/hashUtils.js +20 -0
  78. package/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  79. package/lib/shared/bundler/webpack/common/modeUtils.js +39 -0
  80. package/lib/shared/bundler/webpack/common/nameTemplates.js +105 -0
  81. package/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  82. package/lib/shared/bundler/webpack/configCustomLoaders.js +10 -0
  83. package/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  84. package/lib/shared/bundler/webpack/custom_plugins/BundleIntegrityReport/index.js +83 -0
  85. package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/index.js +119 -0
  86. package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/webpackCustomJsUrlLoader.js +46 -0
  87. package/lib/shared/bundler/webpack/custom_plugins/CustomScriptLoadingPlugin.js +109 -0
  88. package/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  89. package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexHtmlInjectorPlugin.js +47 -0
  90. package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexPlugin.js +190 -0
  91. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  92. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +174 -0
  93. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  94. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +223 -0
  95. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  96. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  97. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  98. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  99. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  100. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  101. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  102. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  103. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  104. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  105. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  106. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  107. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  108. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  109. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectAstKeys.js +98 -0
  110. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  111. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  112. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  113. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  114. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  115. package/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +60 -0
  116. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +30 -0
  117. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +23 -0
  118. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  119. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  120. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +46 -0
  121. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  122. package/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  123. package/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +193 -0
  124. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  125. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  126. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  127. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
  128. package/lib/shared/bundler/webpack/custom_plugins/RuntimeResourceCleanup/index.js +73 -0
  129. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  130. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  131. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  132. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  133. package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +120 -0
  134. package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPluginUtils.js +13 -0
  135. package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +71 -0
  136. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/addHashToFilePath.js +22 -0
  137. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +55 -0
  138. package/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  139. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  140. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +362 -0
  141. package/lib/shared/bundler/webpack/custom_plugins/custom_attribute_plugin/index.js +80 -0
  142. package/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  143. package/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  144. package/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  145. package/lib/shared/bundler/webpack/defaultVendorPatternList.js +13 -0
  146. package/lib/shared/bundler/webpack/devtoolConfig.js +13 -0
  147. package/lib/shared/bundler/webpack/entryConfig.js +28 -0
  148. package/lib/shared/bundler/webpack/externals.js +17 -0
  149. package/lib/shared/bundler/webpack/getCSSLoaders.js +29 -0
  150. package/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
  151. package/lib/shared/bundler/webpack/jsLoaders.js +30 -0
  152. package/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  153. package/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  154. package/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +56 -0
  155. package/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  156. package/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  157. package/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  158. package/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +86 -0
  159. package/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +65 -0
  160. package/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  161. package/lib/shared/bundler/webpack/loaderConfigs/i18nIdReplaceLoaderConfig.js +94 -0
  162. package/lib/shared/bundler/webpack/loaders/i18nIdReplaceLoader.js +201 -0
  163. package/lib/shared/bundler/webpack/loaders/miniCssFallBackLoader.js +7 -0
  164. package/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  165. package/lib/shared/bundler/webpack/optimizationConfig.js +56 -0
  166. package/lib/shared/bundler/webpack/outputConfig.js +38 -0
  167. package/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  168. package/lib/shared/bundler/webpack/pluginConfigs/configBundleIntegrityReport.js +36 -0
  169. package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +28 -0
  170. package/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  171. package/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +63 -0
  172. package/lib/shared/bundler/webpack/pluginConfigs/configCustomAttributesPlugin.js +20 -0
  173. package/lib/shared/bundler/webpack/pluginConfigs/configCustomScriptLoadingStrategyPlugin.js +76 -0
  174. package/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  175. package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +51 -0
  176. package/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  177. package/lib/shared/bundler/webpack/pluginConfigs/configI18nNumericIndexPlugin.js +113 -0
  178. package/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  179. package/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  180. package/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +44 -0
  181. package/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +24 -0
  182. package/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  183. package/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +21 -0
  184. package/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  185. package/lib/shared/bundler/webpack/pluginConfigs/configRuntimeResourceCleanup.js +31 -0
  186. package/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  187. package/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  188. package/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  189. package/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +32 -0
  190. package/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  191. package/lib/shared/bundler/webpack/plugins.js +77 -0
  192. package/lib/shared/bundler/webpack/resolvers.js +82 -0
  193. package/lib/shared/bundler/webpack/splitChunksConfig.js +116 -0
  194. package/lib/shared/bundler/webpack/statsConfig.js +30 -0
  195. package/lib/shared/bundler/webpack/tsLoaders.js +17 -0
  196. package/lib/shared/bundler/webpack/utils/index.js +31 -0
  197. package/lib/shared/bundler/webpack/utils/object-manipulation.js +87 -0
  198. package/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +34 -0
  199. package/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  200. package/lib/shared/bundler/webpack/webpackConfig.js +58 -0
  201. package/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  202. package/lib/shared/commands-utils/getCliPath.js +39 -0
  203. package/lib/shared/commands-utils/index.js +29 -0
  204. package/lib/shared/commands-utils/log.js +13 -0
  205. package/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  206. package/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  207. package/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  208. package/lib/shared/constants.js +48 -0
  209. package/lib/shared/fileUtils/copyFile.js +38 -0
  210. package/lib/shared/fileUtils/directoryIterator.js +21 -0
  211. package/lib/shared/fileUtils/watchRun.js +112 -0
  212. package/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  213. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  214. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  215. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  216. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  217. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  218. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  219. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  220. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  221. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  222. package/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  223. package/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  224. package/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  225. package/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +347 -0
  226. package/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  227. package/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  228. package/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  229. package/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  230. package/lib/shared/pre_process/runPreProcess.js +58 -0
  231. package/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  232. package/lib/shared/server/corsHandling.js +30 -0
  233. package/lib/shared/server/getIp.js +30 -0
  234. package/lib/shared/server/getServerURL.js +36 -0
  235. package/lib/shared/server/httpsOptions.js +46 -0
  236. package/lib/shared/server/initExpressApp.js +19 -0
  237. package/lib/shared/server/initialHTMLHandling.js +99 -0
  238. package/lib/shared/server/mockApiHandler.js +67 -0
  239. package/lib/shared/server/mockServer.js +41 -0
  240. package/lib/shared/server/serveContextFiles.js +27 -0
  241. package/lib/shared/server/serverBywebpackDevMiddleware.js +35 -0
  242. package/lib/shared/server/startHttpServer.js +26 -0
  243. package/lib/shared/server/startHttpsServer.js +38 -0
  244. package/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  245. package/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  246. package/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  247. package/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  248. package/lib/shared/server/urlConcat.js +32 -0
  249. package/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  250. package/lib/shared/utils/utils.js +1 -0
  251. package/lib/shared/utils/versionPrint.js +20 -0
  252. package/npm-shrinkwrap.json +5657 -0
  253. package/package.json +64 -0
  254. package/polyfillForOldNodeVersion.js +10 -0
  255. package/templates/app/README.MD +30 -0
  256. package/templates/app/package.json +12 -0
  257. package/templates/library/README.MD +28 -0
  258. package/templates/library/package.json +11 -0
  259. package/templates/wms/index.html +43 -0
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configCustomScriptLoadingStrategyPlugin = configCustomScriptLoadingStrategyPlugin;
7
+
8
+ var _CustomScriptLoadingPlugin = require("../custom_plugins/CustomScriptLoadingPlugin");
9
+
10
+ var _utils = require("../utils");
11
+
12
+ const defaultScriptLoadingStrategy = 'defer';
13
+ const allowedScriptLoadingStrategies = ['blocking', 'defer', 'async', 'module'];
14
+
15
+ function isAllowedScriptLoadingStrategyUsed(scriptLoadingStategey) {
16
+ return allowedScriptLoadingStrategies.includes(scriptLoadingStategey);
17
+ }
18
+
19
+ function getScriptLoadingStrategyForStringType(scriptLoadingStategey) {
20
+ if (isAllowedScriptLoadingStrategyUsed(scriptLoadingStategey)) {
21
+ return scriptLoadingStategey;
22
+ }
23
+
24
+ return defaultScriptLoadingStrategy;
25
+ }
26
+
27
+ function getScriptLoadingStrategyForObject(scriptLoadingStategey) {
28
+ if (Object.keys(scriptLoadingStategey).length === 0) {
29
+ return defaultScriptLoadingStrategy;
30
+ }
31
+
32
+ const isAllowedScriptLoadingStrategy = Object.keys(scriptLoadingStategey).every(key => isAllowedScriptLoadingStrategyUsed(key));
33
+
34
+ if (isAllowedScriptLoadingStrategy) {
35
+ return Object.assign({}, scriptLoadingStategey);
36
+ }
37
+
38
+ console.warn('un supported script loading strategy used', scriptLoadingStategey);
39
+ return defaultScriptLoadingStrategy;
40
+ }
41
+
42
+ function getScriptLoadingStrategy(scriptLoadingStategey) {
43
+ if ((0, _utils.getTypeOf)(scriptLoadingStategey) === 'string') {
44
+ return {
45
+ [getScriptLoadingStrategyForStringType(scriptLoadingStategey)]: [/.*/]
46
+ };
47
+ }
48
+
49
+ if ((0, _utils.getTypeOf)(scriptLoadingStategey) === 'object') {
50
+ return getScriptLoadingStrategyForObject(scriptLoadingStategey);
51
+ }
52
+
53
+ return {
54
+ [defaultScriptLoadingStrategy]: [/.*/]
55
+ };
56
+ }
57
+
58
+ function configCustomScriptLoadingStrategyPlugin(options) {
59
+ const {
60
+ customScriptLoadingStrategey
61
+ } = options;
62
+
63
+ if (customScriptLoadingStrategey) {
64
+ const currentScriptLoadingStrategy = getScriptLoadingStrategy(customScriptLoadingStrategey.options);
65
+
66
+ if ((0, _utils.getTypeOf)(currentScriptLoadingStrategy) === 'object') {
67
+ return new _CustomScriptLoadingPlugin.CustomScriptLoadingStrategyPlugin({
68
+ scriptLoadingStategey: currentScriptLoadingStrategy
69
+ });
70
+ } else {
71
+ return null;
72
+ }
73
+ } else {
74
+ return null;
75
+ }
76
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configEFCTemplatePlugin = configEFCTemplatePlugin;
7
+
8
+ var _nameTemplates = require("../common/nameTemplates");
9
+
10
+ var _EFCTemplatePlugin = require("../custom_plugins/EFCTemplatePlugin");
11
+
12
+ function configEFCTemplatePlugin(options) {
13
+ const {
14
+ publicPath
15
+ } = options;
16
+ const {
17
+ chunkSplitEnable
18
+ } = options.i18nChunkSplit;
19
+ const {
20
+ enableRTLSplit
21
+ } = options.css.plugins.rtlSplit;
22
+ const {
23
+ createSDkFile,
24
+ hasEFC,
25
+ entryPointName,
26
+ outputFile,
27
+ version,
28
+ templateFilePath
29
+ } = options.efc;
30
+
31
+ if (!hasEFC || !createSDkFile) {
32
+ return false;
33
+ }
34
+
35
+ const i18nFileNameTemplate = (0, _nameTemplates.nameTemplates)('i18njs', options);
36
+ return new _EFCTemplatePlugin.EFCTemplatePlugin({
37
+ entryPointName,
38
+ templateFilePath,
39
+ outputFile,
40
+ i18nFileNameTemplate,
41
+ version,
42
+ publicPath,
43
+ chunkSplitEnable,
44
+ enableRTLSplit
45
+ });
46
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configEnvVariables = configEnvVariables;
7
+
8
+ var _webpack = require("webpack");
9
+
10
+ var _modeUtils = require("../common/modeUtils");
11
+
12
+ function getDevEnvs(NODE_ENV) {
13
+ return {
14
+ __CLIENT__: true,
15
+ __TEST__: false,
16
+ __SERVER__: false,
17
+ __DEVELOPMENT__: true,
18
+ __LOCAL_PRODUCTION__: false,
19
+ __DEVTOOLS__: true,
20
+ __DOCS__: false,
21
+ 'process.env': {
22
+ NODE_ENV
23
+ }
24
+ };
25
+ }
26
+
27
+ function getProdEnvs(isDevelopment) {
28
+ return {
29
+ __CLIENT__: true,
30
+ __TEST__: false,
31
+ __SERVER__: false,
32
+ __DEVELOPMENT__: false,
33
+ __LOCAL_PRODUCTION__: isDevelopment,
34
+ __DOCS__: false,
35
+ 'process.env': {
36
+ NODE_ENV: JSON.stringify('production')
37
+ }
38
+ };
39
+ }
40
+
41
+ function configEnvVariables(options) {
42
+ // const mode = getWebpackMode(options);
43
+ const {
44
+ disableReactDevWarning,
45
+ mode,
46
+ devLikeHash
47
+ } = options;
48
+ const isDevelopment = devLikeHash;
49
+ const NODE_ENV = disableReactDevWarning ? JSON.stringify('production') : JSON.stringify('development');
50
+ return new _webpack.DefinePlugin((0, _modeUtils.isDevelopmentMode)(mode) ? getDevEnvs(NODE_ENV) : getProdEnvs(isDevelopment));
51
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configHtmlWebpackPlugin = configHtmlWebpackPlugin;
7
+
8
+ var _constants = require("../../../constants");
9
+
10
+ var _nameTemplates = require("../common/nameTemplates");
11
+
12
+ var _modeUtils = require("../common/modeUtils");
13
+
14
+ var _InitialHtmlPlugin = require("../custom_plugins/InitialHtmlPlugin");
15
+
16
+ function configHtmlWebpackPlugin(options) {
17
+ const {
18
+ htmlTemplate,
19
+ mode
20
+ } = options;
21
+ const {
22
+ inject,
23
+ templateFile
24
+ } = htmlTemplate;
25
+ const appInitialHTMLTemplatePath = (0, _constants.joinWithAppPath)(templateFile);
26
+ const minifyHtmlOptions = (0, _modeUtils.isProductionMode)(mode) ? // eslint-disable-next-line no-use-before-define
27
+ getHTMLMinifyOptions(htmlTemplate) : false;
28
+ return new _InitialHtmlPlugin.InitialHtmlPlugin({
29
+ mainChunkName: 'main',
30
+ filename: (0, _nameTemplates.nameTemplates)('html', options),
31
+ template: appInitialHTMLTemplatePath,
32
+ minify: minifyHtmlOptions,
33
+ inject,
34
+ scriptLoading: 'defer'
35
+ });
36
+ }
37
+
38
+ const defaultHTMLMiniFyOption = {
39
+ collapseWhitespace: true,
40
+ minifyCSS: true,
41
+ minifyJS: true,
42
+ keepClosingSlash: true,
43
+ removeComments: false,
44
+ removeRedundantAttributes: true,
45
+ removeScriptTypeAttributes: true,
46
+ removeStyleLinkTypeAttributes: true,
47
+ useShortDoctype: true
48
+ };
49
+
50
+ function getHTMLMinifyOptions(htmlTemplate) {
51
+ const {
52
+ minify
53
+ } = htmlTemplate;
54
+ const minifyHtmlOptions = minify === null ? false : minify;
55
+ return minifyHtmlOptions === true ? defaultHTMLMiniFyOption : minifyHtmlOptions;
56
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configI18nNumericIndexPlugin = configI18nNumericIndexPlugin;
7
+
8
+ var {
9
+ I18nNumericIndexPlugin
10
+ } = require("@zohodesk/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexPlugin");
11
+
12
+ var {
13
+ I18nNumericIndexHtmlInjectorPlugin
14
+ } = require("../custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexHtmlInjectorPlugin");
15
+
16
+ var {
17
+ readI18nValues
18
+ } = require('../custom_plugins/I18nSplitPlugin/readI18nValues');
19
+
20
+ const path = require('path');
21
+
22
+ function urlConcat(strPath) {
23
+ if (strPath && typeof strPath === 'string' && !strPath.endsWith('/')) {
24
+ return strPath + '/';
25
+ }
26
+
27
+ return strPath;
28
+ }
29
+
30
+ function urlJoin(...args) {
31
+ return args.map(part => typeof part === 'string' ? part.replace(/(^\/+|\/+$)/g, '') : '').filter(part => part !== '').join('/');
32
+ }
33
+
34
+ function configI18nNumericIndexPlugin(options) {
35
+ if (!(options.i18nIndexing && options.i18nIndexing.enable)) {
36
+ return null;
37
+ }
38
+
39
+ const i18nOpts = options.i18nIndexing;
40
+ const cdnConfig = options.cdnMapping || {};
41
+ const {
42
+ locales,
43
+ allI18nObject
44
+ } = readI18nValues({
45
+ jsResource: i18nOpts.jsResourcePath,
46
+ propertiesFolder: i18nOpts.propertiesFolderPath,
47
+ disableDefault: i18nOpts.disableDefaultMerge !== undefined ? i18nOpts.disableDefaultMerge : false
48
+ });
49
+ const hardcodedDefaultNumericTemplate = 'i18n-chunks/[locale]/numeric.i18n.js';
50
+ const hardcodedDefaultDynamicTemplate = 'i18n-chunks/[locale]/dynamic.i18n.js';
51
+ let numericFilenameTemplate = i18nOpts.numericFilenameTemplate || hardcodedDefaultNumericTemplate;
52
+ let dynamicFilenameTemplate = i18nOpts.dynamicFilenameTemplate || hardcodedDefaultDynamicTemplate;
53
+
54
+ if (i18nOpts.numericFilenameTemplate === undefined) {
55
+ // Check if explicitly undefined or missing
56
+ const i18nSplitFilename = options.i18nChunkSplit && options.i18nChunkSplit.filename;
57
+
58
+ if (i18nSplitFilename && typeof i18nSplitFilename === 'string') {
59
+ // This adaptation logic might need to be more robust
60
+ numericFilenameTemplate = `i18n-chunks/[locale]/${path.basename(i18nSplitFilename).replace(/(\.i18n)?\.js$/, '.numeric.i18n.js')}`;
61
+ } else {
62
+ numericFilenameTemplate = hardcodedDefaultNumericTemplate;
63
+ }
64
+ }
65
+
66
+ if (i18nOpts.dynamicFilenameTemplate === undefined) {
67
+ const i18nSplitFilename = options.i18nChunkSplit && options.i18nChunkSplit.filename;
68
+
69
+ if (i18nSplitFilename && typeof i18nSplitFilename === 'string') {
70
+ dynamicFilenameTemplate = `i18n-chunks/[locale]/${path.basename(i18nSplitFilename).replace(/(\.i18n)?\.js$/, '.dynamic.i18n.js')}`;
71
+ } else {
72
+ dynamicFilenameTemplate = hardcodedDefaultDynamicTemplate;
73
+ }
74
+ }
75
+
76
+ const htmlTemplateLabel = i18nOpts.htmlTemplateLabel || '{{--user-locale}}';
77
+ const defaultJsonpFunc = options.i18nChunkSplit && options.i18nChunkSplit.jsonpFunc || 'window.loadI18nChunk';
78
+ let i18nAssetsPublicPathPrefix = '';
79
+
80
+ if (cdnConfig.isCdnEnabled) {
81
+ if (cdnConfig.i18nTemplate) {
82
+ i18nAssetsPublicPathPrefix = urlConcat(cdnConfig.i18nTemplate);
83
+ } else if (cdnConfig.jsTemplate) {
84
+ i18nAssetsPublicPathPrefix = urlConcat(cdnConfig.jsTemplate);
85
+ } else {
86
+ const defaultCdnDomainPlaceholder = '//{{--js-static-domain}}';
87
+ i18nAssetsPublicPathPrefix = urlConcat(urlJoin(defaultCdnDomainPlaceholder, options.publicPath === undefined ? '' : options.publicPath));
88
+ }
89
+ } else {
90
+ i18nAssetsPublicPathPrefix = urlConcat(options.publicPath === undefined ? '' : options.publicPath);
91
+ }
92
+
93
+ const pluginBaseOptions = {
94
+ locales,
95
+ allI18nObject,
96
+ numericMapPath: i18nOpts.numericMapPath,
97
+ numericJsonpFunc: i18nOpts.numericJsonpFunc || defaultJsonpFunc,
98
+ dynamicJsonpFunc: i18nOpts.dynamicJsonpFunc || defaultJsonpFunc,
99
+ numericFilenameTemplate,
100
+ // This will now include "i18n-chunks/[locale]/"
101
+ dynamicFilenameTemplate,
102
+ // This will now include "i18n-chunks/[locale]/"
103
+ moduleType: 'i18n/mini-extract',
104
+ mainChunkName: options.i18nChunkSplit && options.i18nChunkSplit.mainChunkName || 'main',
105
+ htmlTemplateLabel,
106
+ localeVarName: i18nOpts.localeVarName
107
+ };
108
+ const htmlInjectorOptions = { ...pluginBaseOptions,
109
+ i18nAssetsPublicPathPrefix: i18nAssetsPublicPathPrefix,
110
+ cspNoncePlaceholder: i18nOpts.cspNoncePlaceholder || '{{--CSP-nonce}}'
111
+ };
112
+ return [new I18nNumericIndexPlugin(pluginBaseOptions), new I18nNumericIndexHtmlInjectorPlugin(htmlInjectorOptions)];
113
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configI18nSplitPlugin = configI18nSplitPlugin;
7
+
8
+ var _nameTemplates = require("../common/nameTemplates");
9
+
10
+ var _I18nSplitPlugin = _interopRequireDefault(require("../custom_plugins/I18nSplitPlugin"));
11
+
12
+ var _resourceBasedPublicPath = require("../common/resourceBasedPublicPath");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function configI18nSplitPlugin(options) {
17
+ const {
18
+ i18nChunkSplit
19
+ } = options;
20
+
21
+ if (!i18nChunkSplit.chunkSplitEnable) {
22
+ return null;
23
+ }
24
+
25
+ const i18nPublicPath = (0, _resourceBasedPublicPath.resourceBasedPublicPath)('i18n', options); // const i18nPublicPathAsExpression = publicPathAsExpression('i18n', options);
26
+
27
+ return new _I18nSplitPlugin.default({
28
+ mainChunkName: 'main',
29
+ jsResource: i18nChunkSplit.jsResource,
30
+ localeVarName: i18nChunkSplit.localeVarName,
31
+ jsonpFunc: i18nChunkSplit.jsonpFunc,
32
+ templateLabel: i18nChunkSplit.templateLabel,
33
+ disableDefault: i18nChunkSplit.disableDefault,
34
+ filename: (0, _nameTemplates.nameTemplates)('i18njs', options),
35
+ chunkFilename: (0, _nameTemplates.nameTemplates)('i18njs', options),
36
+ publicPath: i18nPublicPath,
37
+ i18nManifestFileName: (0, _nameTemplates.nameTemplates)('i18nmanifest', options),
38
+ // template: (object, locale) => `window.loadI18n(${JSON.stringify(object)}, ${JSON.stringify(locale)})`,
39
+ propertiesFolder: i18nChunkSplit.propertiesFolder
40
+ });
41
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configIgnorePlugin = configIgnorePlugin;
7
+
8
+ var _webpack = require("webpack");
9
+
10
+ // eslint-disable-next-line no-unused-vars
11
+ function configIgnorePlugin(options) {
12
+ return new _webpack.IgnorePlugin({
13
+ resourceRegExp: /^\.\/domain$/,
14
+ contextRegExp: /moment$/
15
+ });
16
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configManifestJsonPlugin = configManifestJsonPlugin;
7
+
8
+ var _ManifestJsonPlugin = require("../custom_plugins/ManifestJsonPlugin");
9
+
10
+ function configManifestJsonPlugin(options) {
11
+ const {
12
+ enable,
13
+ i18nManifestJson,
14
+ licenseManifest
15
+ } = options.manifestJson;
16
+
17
+ if (!enable) {
18
+ return null;
19
+ }
20
+
21
+ const params = [{
22
+ outputJsonFileName: 'manifest.json',
23
+ test: f => !/\.i18n\.js$|\.LICENSE\.txt$|\.map$/.test(f),
24
+ needInitialEntries: true
25
+ }];
26
+
27
+ if (i18nManifestJson) {
28
+ params.push({
29
+ outputJsonFileName: 'i18nManifest.json',
30
+ test: f => /\.i18n\.js$/g.test(f),
31
+ needInitialEntries: false
32
+ });
33
+ }
34
+
35
+ if (licenseManifest) {
36
+ params.push({
37
+ outputJsonFileName: 'licenseManifest.json',
38
+ test: f => /\.LICENSE\.txt$/g.test(f),
39
+ needInitialEntries: false
40
+ });
41
+ }
42
+
43
+ return new _ManifestJsonPlugin.AddFileToManifestJson(params);
44
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configMiniCSSExtractPlugin = configMiniCSSExtractPlugin;
7
+
8
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
9
+
10
+ var _nameTemplates = require("../common/nameTemplates");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function configMiniCSSExtractPlugin(options) {
15
+ const {
16
+ enableRTLSplit
17
+ } = options.css.plugins.rtlSplit;
18
+ const cssLTRFileNameTempalte = enableRTLSplit ? (0, _nameTemplates.nameTemplates)('cssdir', options) : (0, _nameTemplates.nameTemplates)('css', options); // eslint-disable-next-line no-undef
19
+
20
+ return new _miniCssExtractPlugin.default({
21
+ filename: cssLTRFileNameTempalte,
22
+ chunkFilename: cssLTRFileNameTempalte
23
+ });
24
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configProgressPlugin = configProgressPlugin;
7
+
8
+ var _webpack = _interopRequireDefault(require("webpack"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ // eslint-disable-next-line no-unused-vars
13
+ function configProgressPlugin(options) {
14
+ if (!options.printProgress) {
15
+ return null;
16
+ }
17
+
18
+ return new _webpack.default.ProgressPlugin({
19
+ handler: (percentage, message, ...args) => {
20
+ // eslint-disable-next-line no-console
21
+ console.info(percentage, message, ...args);
22
+ }
23
+ });
24
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configResourceHintsPlugin = configResourceHintsPlugin;
7
+
8
+ var _ResourceHintsPlugin = _interopRequireDefault(require("../custom_plugins/ResourceHintsPlugin"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function configResourceHintsPlugin(options) {
13
+ const {
14
+ publicPath,
15
+ resourceHints
16
+ } = options;
17
+ return new _ResourceHintsPlugin.default({
18
+ resourceHints,
19
+ publicPath: JSON.stringify(publicPath)
20
+ });
21
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configRtlCssPlugin = configRtlCssPlugin;
7
+
8
+ var _RtlCssPlugin = require("../custom_plugins/RtlSplitPlugin/RtlCssPlugin");
9
+
10
+ function configRtlCssPlugin(options) {
11
+ const {
12
+ enableRTLSplit,
13
+ templateLabel,
14
+ disableMinifySelector,
15
+ dirVarName
16
+ } = options.css.plugins.rtlSplit;
17
+
18
+ if (!enableRTLSplit) {
19
+ return null;
20
+ }
21
+
22
+ return new _RtlCssPlugin.RtlCssPlugin({
23
+ templateLabel,
24
+ disableMinifySelector,
25
+ dirVarName
26
+ });
27
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configRuntimeResourceCleanup = configRuntimeResourceCleanup;
7
+
8
+ var _modeUtils = require("../common/modeUtils");
9
+
10
+ var _RuntimeResourceCleanup = _interopRequireDefault(require("../custom_plugins/RuntimeResourceCleanup"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function configRuntimeResourceCleanup(options) {
15
+ const chunkLoadingGlobal = (0, _modeUtils.getGlobalCacheStorageName)(options);
16
+ const {
17
+ resourceCleanup: runtimeResourceCleanupEnabled,
18
+ hasEFC: efcEnabled
19
+ } = options.efc;
20
+ const {
21
+ customAttributes = {}
22
+ } = options;
23
+
24
+ if (efcEnabled && runtimeResourceCleanupEnabled) {
25
+ return new _RuntimeResourceCleanup.default({ ...customAttributes,
26
+ chunkLoadingGlobal
27
+ });
28
+ }
29
+
30
+ return null;
31
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configSelectorWeightPlugin = configSelectorWeightPlugin;
7
+
8
+ var _SelectorWeightPlugin = _interopRequireDefault(require("../custom_plugins/SelectorWeightPlugin"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function configSelectorWeightPlugin(options) {
13
+ const {
14
+ selectorWeight
15
+ } = options.css.plugins;
16
+
17
+ if (!selectorWeight.enable) {
18
+ return null;
19
+ }
20
+
21
+ return new _SelectorWeightPlugin.default({
22
+ selectorWeightConfig: selectorWeight.configFile,
23
+ defaultSelector: selectorWeight.defaultSelector,
24
+ customFileDetails: selectorWeight.customFileDetails,
25
+ excludeStrings: selectorWeight.excludeStrings,
26
+ patterns: selectorWeight.patterns
27
+ });
28
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configServiceWorkerPlugin = configServiceWorkerPlugin;
7
+
8
+ var _nameTemplates = require("../common/nameTemplates");
9
+
10
+ var _ServiceWorkerPlugin = _interopRequireDefault(require("../custom_plugins/ServiceWorkerPlugin"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function configServiceWorkerPlugin(options) {
15
+ const {
16
+ serviceWorker
17
+ } = options;
18
+ const {
19
+ publicPath
20
+ } = options;
21
+ const {
22
+ chunkSplitEnable
23
+ } = options.i18nChunkSplit;
24
+ const {
25
+ enableRTLSplit
26
+ } = options.css.plugins.rtlSplit;
27
+
28
+ if (!serviceWorker.enable) {
29
+ return null;
30
+ }
31
+
32
+ const i18nFileNameTemplate = (0, _nameTemplates.nameTemplates)('i18njs', options);
33
+ return new _ServiceWorkerPlugin.default({ ...serviceWorker,
34
+ publicPath,
35
+ i18nFileNameTemplate,
36
+ chunkSplitEnable,
37
+ enableRTLSplit,
38
+ entryPointName: 'main'
39
+ });
40
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configSourceMapPlugin = configSourceMapPlugin;
7
+
8
+ var _SourceMapPlugin = require("../custom_plugins/SourceMapPlugin");
9
+
10
+ function configSourceMapPlugin(options) {
11
+ const {
12
+ createSeparateSMap
13
+ } = options;
14
+
15
+ if (createSeparateSMap === false) {
16
+ return null;
17
+ }
18
+
19
+ return new _SourceMapPlugin.SourceMapPlugin();
20
+ }