@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.
- package/.babelrc +12 -0
- package/.lintstagedrc +3 -0
- package/.vscode/settings.json +5 -0
- package/CHANGELOG.md +84 -0
- package/ConfigurationDocumentation.md +567 -0
- package/ContributionGuide.md +2 -0
- package/NOTES-Dec12.md +12 -0
- package/README.md +184 -0
- package/README_backup.md +100 -0
- package/TODO.md +35 -0
- package/cli.js +31 -0
- package/docs/BabelCustomizations.md +55 -0
- package/docs/CSSCustomPluginsDocumentation.md +71 -0
- package/docs/CustomChunksConfiguration.md +0 -0
- package/docs/EFCFileTemplate.md +0 -0
- package/docs/MockApi.md +61 -0
- package/docs/NameTemplateUtility.md +93 -0
- package/docs/ServiseWorkerTemplate.md +0 -0
- package/docs/SupportedBrowserVersions.md +61 -0
- package/helpDocs/check.js +7 -0
- package/helpDocs/commmands/build.md +0 -0
- package/helpDocs/commmands/start.md +0 -0
- package/helpDocs/examples/buildWithContentHash.md +0 -0
- package/helpDocs/examples/startDevServer.md +0 -0
- package/helpDocs/examples/startWithMockAPI.md +0 -0
- package/helpDocs/node18-env.md +30 -0
- package/helpDocs/troubleshootings/NewMachineSetup.md +71 -0
- package/helpDocs/troubleshootings/README.md +9 -0
- package/helpDocs/troubleshootings/hg_install.sh +18 -0
- package/helpDocs/troubleshootings/newMachineMac.sh +86 -0
- package/helpDocs/troubleshootings/newMachineUbundu.bash +84 -0
- package/lib/allCommandsConfigs.js +25 -0
- package/lib/commands/build/commandExecutor.js +17 -0
- package/lib/commands/build/config.js +12 -0
- package/lib/commands/build/optionsProcessor.js +35 -0
- package/lib/commands/build/preProcessor.js +12 -0
- package/lib/commands/buildEs/commandExecutor.js +33 -0
- package/lib/commands/buildEs/config.js +12 -0
- package/lib/commands/buildEs/preProcessor.js +17 -0
- package/lib/commands/buildLib/commandExecutor.js +33 -0
- package/lib/commands/buildLib/config.js +12 -0
- package/lib/commands/buildLib/preProcessor.js +17 -0
- package/lib/commands/mockserver/commandExecutor.js +43 -0
- package/lib/commands/mockserver/config.js +12 -0
- package/lib/commands/pre_process/commandExecutor.js +18 -0
- package/lib/commands/pre_process/config.js +12 -0
- package/lib/commands/start/commandExecutor.js +12 -0
- package/lib/commands/start/config.js +12 -0
- package/lib/commands/start/optionsProcessor.js +30 -0
- package/lib/commands/start/preProcessor.js +12 -0
- package/lib/commands/template/commandExecutor.js +28 -0
- package/lib/commands/template/config.js +12 -0
- package/lib/commands/version/commandExecutor.js +14 -0
- package/lib/commands/version/config.js +12 -0
- package/lib/commandsRouter.js +74 -0
- package/lib/index.js +12 -0
- package/lib/logger.js +34 -0
- package/lib/schemas/applyValuesToSchema/index.js +34 -0
- package/lib/schemas/applyValuesToSchema/isObject.js +10 -0
- package/lib/schemas/applyValuesToSchema/isValid.js +14 -0
- package/lib/schemas/cliArgsToObject.js +39 -0
- package/lib/schemas/defaultConfigValues.js +393 -0
- package/lib/schemas/defaultConfigValuesOnly.js +200 -0
- package/lib/schemas/deprecatedOptionsHandler.js +67 -0
- package/lib/schemas/getNpmVersion.js +22 -0
- package/lib/schemas/giveDefaultValue.js +18 -0
- package/lib/schemas/npmConfigToObject.js +35 -0
- package/lib/schemas/readOptions.js +87 -0
- package/lib/schemas/readOptionsForConfigFile.js +42 -0
- package/lib/shared/babel/addDefaultPlugins.js +15 -0
- package/lib/shared/babel/babelWebConfig.js +54 -0
- package/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
- package/lib/shared/babel/getBabelPlugin.js +42 -0
- package/lib/shared/babel/runBabelForJSFile.js +24 -0
- package/lib/shared/babel/runBabelForTsFile.js +30 -0
- package/lib/shared/bundler/webpack/common/decidePublicPath.js +57 -0
- package/lib/shared/bundler/webpack/common/hashUtils.js +20 -0
- package/lib/shared/bundler/webpack/common/libAlias.js +31 -0
- package/lib/shared/bundler/webpack/common/modeUtils.js +39 -0
- package/lib/shared/bundler/webpack/common/nameTemplates.js +105 -0
- package/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
- package/lib/shared/bundler/webpack/configCustomLoaders.js +10 -0
- package/lib/shared/bundler/webpack/cssLoaders.js +16 -0
- package/lib/shared/bundler/webpack/custom_plugins/BundleIntegrityReport/index.js +83 -0
- package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/index.js +119 -0
- package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/webpackCustomJsUrlLoader.js +46 -0
- package/lib/shared/bundler/webpack/custom_plugins/CustomScriptLoadingPlugin.js +109 -0
- package/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexHtmlInjectorPlugin.js +47 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexPlugin.js +190 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +174 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +223 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectAstKeys.js +98 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
- package/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +60 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +30 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +23 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +46 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
- package/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
- package/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +193 -0
- package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
- package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
- package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
- package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
- package/lib/shared/bundler/webpack/custom_plugins/RuntimeResourceCleanup/index.js +73 -0
- package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
- package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
- package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
- package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
- package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +120 -0
- package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPluginUtils.js +13 -0
- package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +71 -0
- package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/addHashToFilePath.js +22 -0
- package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +55 -0
- package/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
- package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
- package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +362 -0
- package/lib/shared/bundler/webpack/custom_plugins/custom_attribute_plugin/index.js +80 -0
- package/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
- package/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
- package/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
- package/lib/shared/bundler/webpack/defaultVendorPatternList.js +13 -0
- package/lib/shared/bundler/webpack/devtoolConfig.js +13 -0
- package/lib/shared/bundler/webpack/entryConfig.js +28 -0
- package/lib/shared/bundler/webpack/externals.js +17 -0
- package/lib/shared/bundler/webpack/getCSSLoaders.js +29 -0
- package/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
- package/lib/shared/bundler/webpack/jsLoaders.js +30 -0
- package/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
- package/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
- package/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +56 -0
- package/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
- package/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
- package/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
- package/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +86 -0
- package/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +65 -0
- package/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
- package/lib/shared/bundler/webpack/loaderConfigs/i18nIdReplaceLoaderConfig.js +94 -0
- package/lib/shared/bundler/webpack/loaders/i18nIdReplaceLoader.js +201 -0
- package/lib/shared/bundler/webpack/loaders/miniCssFallBackLoader.js +7 -0
- package/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
- package/lib/shared/bundler/webpack/optimizationConfig.js +56 -0
- package/lib/shared/bundler/webpack/outputConfig.js +38 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configBundleIntegrityReport.js +36 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +28 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +63 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCustomAttributesPlugin.js +20 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCustomScriptLoadingStrategyPlugin.js +76 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +51 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configI18nNumericIndexPlugin.js +113 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +44 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +24 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +21 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configRuntimeResourceCleanup.js +31 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +32 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
- package/lib/shared/bundler/webpack/plugins.js +77 -0
- package/lib/shared/bundler/webpack/resolvers.js +82 -0
- package/lib/shared/bundler/webpack/splitChunksConfig.js +116 -0
- package/lib/shared/bundler/webpack/statsConfig.js +30 -0
- package/lib/shared/bundler/webpack/tsLoaders.js +17 -0
- package/lib/shared/bundler/webpack/utils/index.js +31 -0
- package/lib/shared/bundler/webpack/utils/object-manipulation.js +87 -0
- package/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +34 -0
- package/lib/shared/bundler/webpack/webpackBuild.js +27 -0
- package/lib/shared/bundler/webpack/webpackConfig.js +58 -0
- package/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
- package/lib/shared/commands-utils/getCliPath.js +39 -0
- package/lib/shared/commands-utils/index.js +29 -0
- package/lib/shared/commands-utils/log.js +13 -0
- package/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
- package/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
- package/lib/shared/commands-utils/spawnSyncIO.js +38 -0
- package/lib/shared/constants.js +48 -0
- package/lib/shared/fileUtils/copyFile.js +38 -0
- package/lib/shared/fileUtils/directoryIterator.js +21 -0
- package/lib/shared/fileUtils/watchRun.js +112 -0
- package/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
- package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
- package/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
- package/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
- package/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
- package/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +347 -0
- package/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
- package/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
- package/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
- package/lib/shared/postcss/runPostCssForCssFile.js +37 -0
- package/lib/shared/pre_process/runPreProcess.js +58 -0
- package/lib/shared/server/configWebpackDevMiddleware.js +41 -0
- package/lib/shared/server/corsHandling.js +30 -0
- package/lib/shared/server/getIp.js +30 -0
- package/lib/shared/server/getServerURL.js +36 -0
- package/lib/shared/server/httpsOptions.js +46 -0
- package/lib/shared/server/initExpressApp.js +19 -0
- package/lib/shared/server/initialHTMLHandling.js +99 -0
- package/lib/shared/server/mockApiHandler.js +67 -0
- package/lib/shared/server/mockServer.js +41 -0
- package/lib/shared/server/serveContextFiles.js +27 -0
- package/lib/shared/server/serverBywebpackDevMiddleware.js +35 -0
- package/lib/shared/server/startHttpServer.js +26 -0
- package/lib/shared/server/startHttpsServer.js +38 -0
- package/lib/shared/server/unwanted/addHttp2Server.js +41 -0
- package/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
- package/lib/shared/server/unwanted/mockApiSupport.js +19 -0
- package/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
- package/lib/shared/server/urlConcat.js +32 -0
- package/lib/shared/utils/requireLocalOrGlobal.js +81 -0
- package/lib/shared/utils/utils.js +1 -0
- package/lib/shared/utils/versionPrint.js +20 -0
- package/npm-shrinkwrap.json +5657 -0
- package/package.json +64 -0
- package/polyfillForOldNodeVersion.js +10 -0
- package/templates/app/README.MD +30 -0
- package/templates/app/package.json +12 -0
- package/templates/library/README.MD +28 -0
- package/templates/library/package.json +11 -0
- 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
|
+
}
|