@zohodesk/client_build_tool 0.0.1
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 +9 -0
- package/ConfigurationDocumentation.md +401 -0
- package/ContributionGuide.md +2 -0
- package/NOTES-Dec12.md +12 -0
- package/README.md +91 -0
- package/README_backup.md +82 -0
- package/TODO.md +35 -0
- package/cli.js +31 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/coverage-final.json +2 -0
- package/coverage/coverage-summary.json +3 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +116 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/coverage/updateArrayWithDefault.js.html +196 -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/errorHander.js +10 -0
- package/lib/commands/build/optionsProcessor.js +35 -0
- package/lib/commands/buildEs/commandExecutor.js +33 -0
- package/lib/commands/buildEs/config.js +12 -0
- package/lib/commands/buildLib/commandExecutor.js +33 -0
- package/lib/commands/buildLib/config.js +12 -0
- package/lib/commands/mockserver/commandExecutor.js +43 -0
- package/lib/commands/mockserver/config.js +12 -0
- package/lib/commands/start/commandExecutor.js +12 -0
- package/lib/commands/start/config.js +12 -0
- package/lib/commands/start/deprecationHandler.js +10 -0
- package/lib/commands/start/errorHander.js +10 -0
- package/lib/commands/start/optionsProcessor.js +30 -0
- package/lib/commands/start/postProcessor.js +10 -0
- package/lib/commands/start/preProcessor.js +10 -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/commands/version/errorHander.js +10 -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 +276 -0
- package/lib/schemas/defaultConfigValuesOnly.js +161 -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 +54 -0
- package/lib/schemas/readOptionsForConfigFile.js +42 -0
- package/lib/shared/babel/babelWebConfig.js +51 -0
- package/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
- package/lib/shared/babel/defaultBabelPlugins.js +26 -0
- package/lib/shared/babel/runBabelForJSFile.js +24 -0
- package/lib/shared/bundler/webpack/common/decidePublicPath.js +52 -0
- package/lib/shared/bundler/webpack/common/libAlias.js +31 -0
- package/lib/shared/bundler/webpack/common/modeUtils.js +31 -0
- package/lib/shared/bundler/webpack/common/nameTemplates.js +78 -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/CdnChangePlugin.js +95 -0
- package/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +172 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
- package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +203 -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/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 +54 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +24 -0
- package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +17 -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 +44 -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 +191 -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/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 +110 -0
- package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +38 -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/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/entryConfig.js +28 -0
- package/lib/shared/bundler/webpack/externals.js +13 -0
- package/lib/shared/bundler/webpack/getCSSLoaders.js +27 -0
- package/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
- package/lib/shared/bundler/webpack/getSourceMapType.js +10 -0
- package/lib/shared/bundler/webpack/jsLoaders.js +17 -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 +138 -0
- package/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +60 -0
- package/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
- package/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
- package/lib/shared/bundler/webpack/optimizationConfig.js +43 -0
- package/lib/shared/bundler/webpack/outputConfig.js +28 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +24 -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/configEFCTemplatePlugin.js +46 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +36 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -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 +32 -0
- package/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -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/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 +50 -0
- package/lib/shared/bundler/webpack/resolvers.js +81 -0
- package/lib/shared/bundler/webpack/splitChunksConfig.js +113 -0
- package/lib/shared/bundler/webpack/statsConfig.js +21 -0
- package/lib/shared/bundler/webpack/utils/index.js +26 -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 +56 -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 +45 -0
- package/lib/shared/fileUtils/copyFile.js +38 -0
- package/lib/shared/fileUtils/directoryIterator.js +21 -0
- package/lib/shared/fileUtils/watchRun.js +100 -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 +343 -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/server/configWebpackDevMiddleware.js +41 -0
- package/lib/shared/server/corsHandling.js +21 -0
- package/lib/shared/server/getIp.js +30 -0
- package/lib/shared/server/getServerURL.js +29 -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 +60 -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 +14102 -0
- package/package.json +54 -0
- package/polyfillForOldNodeVersion.js +10 -0
- package/result.json +1 -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
- package/unittest/index.html +37 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.babelLoaderConfig = babelLoaderConfig;
|
|
7
|
+
|
|
8
|
+
var _babelWebConfig = require("../../../babel/babelWebConfig");
|
|
9
|
+
|
|
10
|
+
function babelLoaderConfig(options) {
|
|
11
|
+
const babelConfig = (0, _babelWebConfig.babelWebConfig)(options);
|
|
12
|
+
return {
|
|
13
|
+
loader: 'babel-loader',
|
|
14
|
+
options: { ...babelConfig,
|
|
15
|
+
cacheDirectory: true
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkIsPatternsMatchFilename = checkIsPatternsMatchFilename;
|
|
7
|
+
exports.modifyAsExclude = modifyAsExclude;
|
|
8
|
+
|
|
9
|
+
var _ignore = _interopRequireDefault(require("ignore"));
|
|
10
|
+
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
@param {Array<String>} patterns:
|
|
15
|
+
// include src folder, include deskapp folder, exclude node modules
|
|
16
|
+
[
|
|
17
|
+
"src",
|
|
18
|
+
"deskapp",
|
|
19
|
+
"!node_modules"
|
|
20
|
+
]
|
|
21
|
+
@param {String} filename :
|
|
22
|
+
filename : 'D:/MyWork/..../desk_client_app/supportapp/src/components/Avatar/Avatar.module.css,
|
|
23
|
+
|
|
24
|
+
@return {Boolean} : true or false
|
|
25
|
+
*/
|
|
26
|
+
function checkIsPatternsMatchFilename(patterns, filename) {
|
|
27
|
+
if (!filename) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (typeof patterns === 'undefined') {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (typeof patterns === 'function') {
|
|
36
|
+
return patterns(filename);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (typeof patterns === 'string') {
|
|
40
|
+
// eslint-disable-next-line no-param-reassign
|
|
41
|
+
patterns = [patterns];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (Array.isArray(patterns)) {
|
|
45
|
+
return patterns.length ? (0, _ignore.default)({
|
|
46
|
+
allowRelativePaths: true
|
|
47
|
+
}).add(patterns).ignores(filename) : true;
|
|
48
|
+
} // eslint-disable-next-line no-throw-literal
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
throw `UnKnown pattern Error ${JSON.stringify(patterns)}`;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function modifyAsExclude(patterns) {
|
|
55
|
+
return patterns.map(pattern => pattern[0] === '!' ? pattern.slice(1) : `!${pattern}`);
|
|
56
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configHtmlTemplateLoader = configHtmlTemplateLoader;
|
|
7
|
+
|
|
8
|
+
function configHtmlTemplateLoader(options) {
|
|
9
|
+
return {
|
|
10
|
+
test: /\.tmpl$/,
|
|
11
|
+
use: [{
|
|
12
|
+
loader: 'html-loader',
|
|
13
|
+
options: {
|
|
14
|
+
minimize: true
|
|
15
|
+
}
|
|
16
|
+
}]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configPostCssLoader = configPostCssLoader;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
var _filterPluginsAllowedForSpecficFile = require("../../../postcss/filterPluginsAllowedForSpecficFile");
|
|
11
|
+
|
|
12
|
+
var _getAllowedPostCssPlugins = require("../../../postcss/getAllowedPostCssPlugins");
|
|
13
|
+
|
|
14
|
+
var _constants = require("../../../constants");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
// import EmptyPlugin from '../custom_postcss_plugins/EmptyPlugin';
|
|
19
|
+
function configPostCssLoader(options) {
|
|
20
|
+
const pluginsOptions = options.css.plugins;
|
|
21
|
+
const enabledPlugins = (0, _filterPluginsAllowedForSpecficFile.getEnabledPlugins)(pluginsOptions);
|
|
22
|
+
const getAllowedPostCssPlugins = (0, _getAllowedPostCssPlugins.postcssPluginGetter)(options);
|
|
23
|
+
|
|
24
|
+
function configPostCssPlugins(params) {
|
|
25
|
+
const filename = _path.default.relative(_constants.appPath, params.resourcePath);
|
|
26
|
+
|
|
27
|
+
const allowedPostCssPlugins = getAllowedPostCssPlugins(filename);
|
|
28
|
+
return allowedPostCssPlugins;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return enabledPlugins.length && {
|
|
32
|
+
loader: 'postcss-loader',
|
|
33
|
+
options: {
|
|
34
|
+
postcssOptions: configPostCssPlugins
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configWebWorkerLoader = configWebWorkerLoader;
|
|
7
|
+
|
|
8
|
+
var _nameTemplates = require("../common/nameTemplates");
|
|
9
|
+
|
|
10
|
+
function configWebWorkerLoader(options) {
|
|
11
|
+
return {
|
|
12
|
+
test: /\.worker.js$/,
|
|
13
|
+
use: {
|
|
14
|
+
loader: require.resolve('../loaders/workerLoader.js'),
|
|
15
|
+
options: {
|
|
16
|
+
esModule: true,
|
|
17
|
+
filename: (0, _nameTemplates.nameTemplates)('workerjs', options)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configAudioLoader = configAudioLoader;
|
|
7
|
+
exports.configFontLoader = configFontLoader;
|
|
8
|
+
exports.configImageLoader = configImageLoader;
|
|
9
|
+
exports.configSVGLoader = configSVGLoader;
|
|
10
|
+
exports.configVideoLoader = configVideoLoader;
|
|
11
|
+
|
|
12
|
+
var _nameTemplates = require("../common/nameTemplates");
|
|
13
|
+
|
|
14
|
+
// function getLoaderOptionQueryString(params) {
|
|
15
|
+
const ImageExtRegex = /\.jpe?g$|\.gif$|\.png|\.webp$/;
|
|
16
|
+
const FontExtRegex = /\.woff2|\.woff$|\.ttf$|\.eot$/;
|
|
17
|
+
const SVGExtRegex = /\.svg$/;
|
|
18
|
+
const AudioExtRegex = /\.ogg$/;
|
|
19
|
+
const VideoExtRegex = /\.mp4|\.webm$/;
|
|
20
|
+
|
|
21
|
+
function createAssetLoader({
|
|
22
|
+
test,
|
|
23
|
+
nameTemplate,
|
|
24
|
+
limit
|
|
25
|
+
}) {
|
|
26
|
+
const conf = {
|
|
27
|
+
test,
|
|
28
|
+
type: 'asset'
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
if (limit) {
|
|
32
|
+
conf.parser = {
|
|
33
|
+
dataUrlCondition: {
|
|
34
|
+
maxSize: limit // 4 * 1024 // 4kb
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
} else {
|
|
39
|
+
conf.type = 'asset/resource';
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (nameTemplate) {
|
|
43
|
+
conf.generator = {
|
|
44
|
+
filename: nameTemplate
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return conf;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @typedef {Object} LoaderConfig
|
|
52
|
+
* @property {Number} enableChunkHash
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @param {LoaderConfig} options
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
function configImageLoader(options) {
|
|
62
|
+
return createAssetLoader({
|
|
63
|
+
test: ImageExtRegex,
|
|
64
|
+
nameTemplate: (0, _nameTemplates.nameTemplates)('image', options),
|
|
65
|
+
limit: 1000
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function configFontLoader(options) {
|
|
70
|
+
return createAssetLoader({
|
|
71
|
+
test: FontExtRegex,
|
|
72
|
+
nameTemplate: (0, _nameTemplates.nameTemplates)('font', options),
|
|
73
|
+
limit: 1000
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function configSVGLoader(options) {
|
|
78
|
+
return createAssetLoader({
|
|
79
|
+
test: SVGExtRegex,
|
|
80
|
+
nameTemplate: (0, _nameTemplates.nameTemplates)('svg', options),
|
|
81
|
+
limit: 1000
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function configAudioLoader(options) {
|
|
86
|
+
return createAssetLoader({
|
|
87
|
+
test: AudioExtRegex,
|
|
88
|
+
nameTemplate: (0, _nameTemplates.nameTemplates)('audio', options)
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function configVideoLoader(options) {
|
|
93
|
+
return createAssetLoader({
|
|
94
|
+
test: VideoExtRegex,
|
|
95
|
+
nameTemplate: (0, _nameTemplates.nameTemplates)('video', options)
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/*
|
|
99
|
+
export function createNameTemplate(enableChunkHash) {
|
|
100
|
+
const ext = `${enableChunkHash ? ".[hash:20]" : ""}.[ext]`;
|
|
101
|
+
return `[name]${ext}`;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function createImageAndFontsAndSVGLoaders(enableChunkHash) {
|
|
105
|
+
const nameTemplate = createNameTemplate(enableChunkHash);
|
|
106
|
+
return [
|
|
107
|
+
configImageLoader(nameTemplate),
|
|
108
|
+
configFontLoader(nameTemplate),
|
|
109
|
+
configSVGLoader(nameTemplate),
|
|
110
|
+
configAudioLoader(nameTemplate)
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
/*
|
|
116
|
+
export function createLoaderOptionObject(
|
|
117
|
+
loaderName,
|
|
118
|
+
nameTemplate,
|
|
119
|
+
fallback,
|
|
120
|
+
limit = 1000
|
|
121
|
+
) {
|
|
122
|
+
return {
|
|
123
|
+
loader: loaderName,
|
|
124
|
+
options: {
|
|
125
|
+
limit,
|
|
126
|
+
name: nameTemplate,
|
|
127
|
+
fallback
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function configLoaderObject(filter, loaderAndOptions) {
|
|
133
|
+
return {
|
|
134
|
+
test: filter,
|
|
135
|
+
use: loaderAndOptions
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
*/
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.getHash = getHash;
|
|
8
|
+
|
|
9
|
+
var _crypto = require("crypto");
|
|
10
|
+
|
|
11
|
+
var _path = _interopRequireDefault(require("path"));
|
|
12
|
+
|
|
13
|
+
var _checkIsPatternsMatchFilename = require("./checkIsPatternsMatchFilename");
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
function getHash(str, length) {
|
|
18
|
+
return (0, _crypto.createHash)('md5').update(str).digest('hex').slice(0, length);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const defaultSelectorBlob = '[prefix]-[filename]-[local]';
|
|
22
|
+
|
|
23
|
+
function getSuitableBlob(customizations = [], filename) {
|
|
24
|
+
const custom = customizations.find(({
|
|
25
|
+
enable,
|
|
26
|
+
patterns
|
|
27
|
+
}) => enable && (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(patterns, filename));
|
|
28
|
+
return custom && custom.blob || defaultSelectorBlob;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var _default = options => {
|
|
32
|
+
const {
|
|
33
|
+
classNameOptions
|
|
34
|
+
} = options.css;
|
|
35
|
+
const {
|
|
36
|
+
classNamePrefix,
|
|
37
|
+
customizations
|
|
38
|
+
} = classNameOptions;
|
|
39
|
+
return (context, localIdentName, localName) => {
|
|
40
|
+
// NOTE: in build machine we use date as folder path.
|
|
41
|
+
// So every time we create new build there is path will alway different
|
|
42
|
+
// So, in order to minimize that problem we try in relative path;
|
|
43
|
+
// console.log('context.resourcePath', context.resourcePath, context);
|
|
44
|
+
// let contextResourcePath = context.resourcePath;
|
|
45
|
+
const {
|
|
46
|
+
rootContext,
|
|
47
|
+
resourcePath
|
|
48
|
+
} = context;
|
|
49
|
+
|
|
50
|
+
const relativePath = _path.default.relative(rootContext, resourcePath);
|
|
51
|
+
|
|
52
|
+
const fileNameWithoutExt = _path.default.parse(relativePath).name;
|
|
53
|
+
|
|
54
|
+
const cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase();
|
|
55
|
+
const suitableBlob = getSuitableBlob(customizations, resourcePath);
|
|
56
|
+
return suitableBlob.replaceAll('[local]', localName).replaceAll('[prefix]', classNamePrefix).replaceAll('[filename]', cleanFileName).replaceAll('[hash]', getHash(`${relativePath}-${localName}`, 10));
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
exports.default = _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCssLoaderOptions = getCssLoaderOptions;
|
|
7
|
+
|
|
8
|
+
var _cssClassNameGenerate = _interopRequireDefault(require("./cssClassNameGenerate"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
function getCssLoaderOptions(options) {
|
|
13
|
+
const cssLoaderOptions = {
|
|
14
|
+
importLoaders: 1,
|
|
15
|
+
modules: {
|
|
16
|
+
getLocalIdent: (0, _cssClassNameGenerate.default)(options)
|
|
17
|
+
},
|
|
18
|
+
sourceMap: true
|
|
19
|
+
};
|
|
20
|
+
return cssLoaderOptions;
|
|
21
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = loader;
|
|
7
|
+
exports.pitch = pitch;
|
|
8
|
+
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
|
|
11
|
+
var _SingleEntryPlugin = _interopRequireDefault(require("webpack/lib/SingleEntryPlugin"));
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
|
|
15
|
+
// import { getOptions } from 'loader-utils';
|
|
16
|
+
// import validateOptions from 'schema-utils';
|
|
17
|
+
const schema = {
|
|
18
|
+
'type': 'object',
|
|
19
|
+
'properties': {
|
|
20
|
+
'publicPath': {
|
|
21
|
+
'anyOf': [{
|
|
22
|
+
'type': 'string'
|
|
23
|
+
}, {
|
|
24
|
+
'instanceof': 'Function'
|
|
25
|
+
}]
|
|
26
|
+
},
|
|
27
|
+
'filename': {
|
|
28
|
+
'anyOf': [{
|
|
29
|
+
'type': 'string',
|
|
30
|
+
'minLength': 1
|
|
31
|
+
}, {
|
|
32
|
+
'instanceof': 'Function'
|
|
33
|
+
}]
|
|
34
|
+
},
|
|
35
|
+
'chunkFilename': {
|
|
36
|
+
'type': 'string',
|
|
37
|
+
'minLength': 1
|
|
38
|
+
},
|
|
39
|
+
'esModule': {
|
|
40
|
+
'type': 'boolean'
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
'additionalProperties': false
|
|
44
|
+
}; // eslint-disable-next-line
|
|
45
|
+
|
|
46
|
+
function loader() {}
|
|
47
|
+
|
|
48
|
+
function getDefaultFilename(filename) {
|
|
49
|
+
if (typeof filename === 'function') {
|
|
50
|
+
return filename;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return filename.replace(/\.([a-z]+)(\?.+)?$/i, '.worker.$1$2');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function getDefaultChunkFilename(chunkFilename) {
|
|
57
|
+
return chunkFilename.replace(/\.([a-z]+)(\?.+)?$/i, '.worker.$1$2');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function pitch(request) {
|
|
61
|
+
this.cacheable(false);
|
|
62
|
+
const options = this.getOptions(); // console.log(this.getOptions());
|
|
63
|
+
// validateOptions(schema, options, {
|
|
64
|
+
// name: 'Worker Loader',
|
|
65
|
+
// baseDataPath: 'options'
|
|
66
|
+
// });
|
|
67
|
+
|
|
68
|
+
const workerContext = {};
|
|
69
|
+
const compilerOptions = this._compiler.options || {};
|
|
70
|
+
const filename = options.filename ? options.filename : getDefaultFilename(compilerOptions.output.filename);
|
|
71
|
+
const chunkFilename = options.chunkFilename ? options.chunkFilename : getDefaultChunkFilename(compilerOptions.output.chunkFilename);
|
|
72
|
+
const publicPath = options.publicPath ? options.publicPath : compilerOptions.output.publicPath;
|
|
73
|
+
workerContext.options = {
|
|
74
|
+
filename,
|
|
75
|
+
chunkFilename,
|
|
76
|
+
publicPath,
|
|
77
|
+
globalObject: 'self'
|
|
78
|
+
};
|
|
79
|
+
workerContext.compiler = this._compilation.createChildCompiler(`worker-loader ${request}`, workerContext.options);
|
|
80
|
+
/*
|
|
81
|
+
new WebWorkerTemplatePlugin().apply(workerContext.compiler);
|
|
82
|
+
|
|
83
|
+
if (compilerOptions.externals) {
|
|
84
|
+
new ExternalsPlugin(
|
|
85
|
+
getExternalsType(compilerOptions),
|
|
86
|
+
compilerOptions.externals
|
|
87
|
+
).apply(workerContext.compiler);
|
|
88
|
+
} */
|
|
89
|
+
|
|
90
|
+
new _SingleEntryPlugin.default(this.context, `!!${request}`, _path.default.parse(this.resourcePath).name).apply(workerContext.compiler);
|
|
91
|
+
workerContext.request = request;
|
|
92
|
+
const cb = this.async();
|
|
93
|
+
workerContext.compiler.runAsChild((errorArg, entries, compilation) => {
|
|
94
|
+
let error = errorArg;
|
|
95
|
+
|
|
96
|
+
if (!error && compilation.errors && compilation.errors.length) {
|
|
97
|
+
// eslint-disable-next-line
|
|
98
|
+
error = compilation.errors[0];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const entry = entries && entries[0] && entries[0].files.values().next().value;
|
|
102
|
+
|
|
103
|
+
if (!error && !entry) {
|
|
104
|
+
error = Error(`WorkerPlugin: no entry for ${request}`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (error) {
|
|
108
|
+
return cb(error);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function workerCode() {
|
|
112
|
+
let blob;
|
|
113
|
+
|
|
114
|
+
try {
|
|
115
|
+
blob = new Blob([`importScripts('${this.workerUrl}');`], {
|
|
116
|
+
'type': 'application/javascript'
|
|
117
|
+
});
|
|
118
|
+
} catch (e1) {
|
|
119
|
+
throw new Error(e1);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
let url = window.URL || window.webkitURL;
|
|
123
|
+
let blobUrl = url.createObjectURL(blob);
|
|
124
|
+
let worker = new Worker(blobUrl);
|
|
125
|
+
return worker;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return cb(null, `${options.esModule ? 'export default' : 'module.exports ='} {\n
|
|
129
|
+
workerUrl: __webpack_public_path__ + ${JSON.stringify(entry)}, \n
|
|
130
|
+
getInstance: ${workerCode} \n
|
|
131
|
+
}`);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.optimizationConfig = optimizationConfig;
|
|
7
|
+
|
|
8
|
+
var _nameTemplates = require("./common/nameTemplates");
|
|
9
|
+
|
|
10
|
+
var _hashUtils = require("./custom_plugins/I18nSplitPlugin/utils/hashUtils");
|
|
11
|
+
|
|
12
|
+
var _configCSSMinifierPlugin = require("./pluginConfigs/configCSSMinifierPlugin");
|
|
13
|
+
|
|
14
|
+
var _splitChunksConfig = require("./splitChunksConfig");
|
|
15
|
+
|
|
16
|
+
function optimizationConfig(options) {
|
|
17
|
+
const {
|
|
18
|
+
changeRuntimeChunkChar
|
|
19
|
+
} = options;
|
|
20
|
+
const {
|
|
21
|
+
chunkSplitEnable
|
|
22
|
+
} = options.i18nChunkSplit;
|
|
23
|
+
const i18nChunkFilename = (0, _nameTemplates.nameTemplates)('i18nchunkjs', options);
|
|
24
|
+
const chunkFilenameHasContentHash = (0, _hashUtils.hasContentHash)(i18nChunkFilename);
|
|
25
|
+
/**
|
|
26
|
+
* NOTE: we only need multiple runtime files when we use contentHash
|
|
27
|
+
* other wise we don't need multiple runtime files based locale
|
|
28
|
+
* that's why we added chunkSplitEnable && chunkFilenameHasContentHash logic
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
const suffix = // chunkSplitEnable ? '_[locale]' : '';
|
|
32
|
+
chunkSplitEnable && chunkFilenameHasContentHash ? '_[locale]' : '';
|
|
33
|
+
const char = changeRuntimeChunkChar;
|
|
34
|
+
return {
|
|
35
|
+
splitChunks: (0, _splitChunksConfig.splitChunksConfig)(options),
|
|
36
|
+
minimizer: [// For webpack@5 you can use the `...` syntax to extend existing minimizers (i.e. `terser-webpack-plugin`), uncomment the next line
|
|
37
|
+
'...', (0, _configCSSMinifierPlugin.configCSSMinifierPlugin)(options)].filter(Boolean),
|
|
38
|
+
moduleIds: 'named',
|
|
39
|
+
runtimeChunk: {
|
|
40
|
+
name: entrypoint => `runtime${char}${entrypoint.name}${suffix}`
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.outputConfig = outputConfig;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
var _constants = require("../../constants");
|
|
11
|
+
|
|
12
|
+
var _nameTemplates = require("./common/nameTemplates");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function outputConfig(options) {
|
|
17
|
+
const {
|
|
18
|
+
output,
|
|
19
|
+
publicPath
|
|
20
|
+
} = options;
|
|
21
|
+
return {
|
|
22
|
+
filename: (0, _nameTemplates.nameTemplates)('js', options),
|
|
23
|
+
chunkFilename: (0, _nameTemplates.nameTemplates)('chunkjs', options),
|
|
24
|
+
publicPath,
|
|
25
|
+
// clean: true,
|
|
26
|
+
path: _path.default.resolve(_constants.appPath, output)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configBundleAnalyzer = configBundleAnalyzer;
|
|
7
|
+
|
|
8
|
+
var _webpackBundleAnalyzer = require("webpack-bundle-analyzer");
|
|
9
|
+
|
|
10
|
+
var _modeUtils = require("../common/modeUtils");
|
|
11
|
+
|
|
12
|
+
/* eslint-disable no-use-before-define */
|
|
13
|
+
function configBundleAnalyzer(options) {
|
|
14
|
+
const mode = (0, _modeUtils.getWebpackMode)(options);
|
|
15
|
+
|
|
16
|
+
if ((0, _modeUtils.isProductionMode)(mode) && options.bundleAnalyze) {
|
|
17
|
+
const bundleAnalyzerOptions = getBundleAnalyzerOptions(options);
|
|
18
|
+
return new _webpackBundleAnalyzer.BundleAnalyzerPlugin(bundleAnalyzerOptions);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return null;
|
|
22
|
+
} // eslint-disable-next-line no-unused-vars
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
function getBundleAnalyzerOptions(options) {
|
|
26
|
+
return {
|
|
27
|
+
analyzerMode: 'static',
|
|
28
|
+
generateStatsFile: true,
|
|
29
|
+
openAnalyzer: false,
|
|
30
|
+
statsOptions: {
|
|
31
|
+
source: false,
|
|
32
|
+
normal: true,
|
|
33
|
+
chunks: false,
|
|
34
|
+
chunkGroups: false,
|
|
35
|
+
module: false,
|
|
36
|
+
assets: true,
|
|
37
|
+
assetsSort: 'name'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configCSSMinifierPlugin = configCSSMinifierPlugin;
|
|
7
|
+
|
|
8
|
+
var _cssMinimizerWebpackPlugin = _interopRequireDefault(require("css-minimizer-webpack-plugin"));
|
|
9
|
+
|
|
10
|
+
var _modeUtils = require("../common/modeUtils");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
// import UglifyCSSPlugin from '../custom_plugins/UglifyCSSPlugin';
|
|
15
|
+
// eslint-disable-next-line no-unused-vars
|
|
16
|
+
function configCSSMinifierPlugin(options) {
|
|
17
|
+
if ((0, _modeUtils.isNotProduction)(options)) {
|
|
18
|
+
return null;
|
|
19
|
+
} // return null;
|
|
20
|
+
// return new UglifyCSSPlugin();
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
return new _cssMinimizerWebpackPlugin.default();
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configCdnChangePlugin = configCdnChangePlugin;
|
|
7
|
+
|
|
8
|
+
var _modeUtils = require("../common/modeUtils");
|
|
9
|
+
|
|
10
|
+
var _CdnChangePlugin = _interopRequireDefault(require("../custom_plugins/CdnChangePlugin"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
function configCdnChangePlugin(options) {
|
|
15
|
+
const {
|
|
16
|
+
cdnMapping,
|
|
17
|
+
mode
|
|
18
|
+
} = options;
|
|
19
|
+
|
|
20
|
+
if (!cdnMapping.isCdnEnabled || (0, _modeUtils.isDevelopmentMode)(mode)) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return new _CdnChangePlugin.default({ ...cdnMapping,
|
|
25
|
+
createSeparateSMap: options.createSeparateSMap
|
|
26
|
+
});
|
|
27
|
+
}
|