@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,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configCopyPublicFolders = configCopyPublicFolders;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
var _copyWebpackPlugin = _interopRequireDefault(require("copy-webpack-plugin"));
|
|
11
|
+
|
|
12
|
+
var _fs = require("fs");
|
|
13
|
+
|
|
14
|
+
var _updateArrayWithDefault = require("../utils/updateArrayWithDefault");
|
|
15
|
+
|
|
16
|
+
var _constants = require("../../../constants");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
const defaultPublicFolders = [{
|
|
21
|
+
// source must be relative path not absolute path
|
|
22
|
+
source: 'public',
|
|
23
|
+
// target is the path that this copied file output path
|
|
24
|
+
target: 'public',
|
|
25
|
+
toType: 'dir'
|
|
26
|
+
}];
|
|
27
|
+
|
|
28
|
+
function folderPatterns(publicFolders) {
|
|
29
|
+
return publicFolders.map(conf => {
|
|
30
|
+
const publicFolderActualPath = (0, _constants.joinWithAppPath)(conf.source);
|
|
31
|
+
|
|
32
|
+
if (!conf.source || !conf.target || _path.default.isAbsolute(conf.source) || !(0, _fs.existsSync)(publicFolderActualPath)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
from: publicFolderActualPath,
|
|
38
|
+
to: conf.target,
|
|
39
|
+
toType: conf.toType || 'dir'
|
|
40
|
+
};
|
|
41
|
+
}).filter(Boolean);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function configCopyPublicFolders(options) {
|
|
45
|
+
let {
|
|
46
|
+
publicFolders
|
|
47
|
+
} = options;
|
|
48
|
+
publicFolders = (0, _updateArrayWithDefault.updateArrayWithDefault)(publicFolders, defaultPublicFolders);
|
|
49
|
+
|
|
50
|
+
if (publicFolders.length === 0) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const patterns = folderPatterns(publicFolders);
|
|
55
|
+
|
|
56
|
+
if (patterns.length === 0) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return new _copyWebpackPlugin.default({
|
|
61
|
+
patterns
|
|
62
|
+
});
|
|
63
|
+
}
|
|
@@ -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,36 @@
|
|
|
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 configEnvVariables(options) {
|
|
13
|
+
const mode = (0, _modeUtils.getWebpackMode)(options);
|
|
14
|
+
return new _webpack.DefinePlugin(mode === 'prod' ? {
|
|
15
|
+
__CLIENT__: true,
|
|
16
|
+
__TEST__: false,
|
|
17
|
+
__SERVER__: false,
|
|
18
|
+
__DEVELOPMENT__: true,
|
|
19
|
+
__LOCAL_PRODUCTION__: false,
|
|
20
|
+
__DEVTOOLS__: true,
|
|
21
|
+
__DOCS__: false,
|
|
22
|
+
NODE_ENV: JSON.stringify(mode),
|
|
23
|
+
'process.env': {
|
|
24
|
+
NODE_ENV: JSON.stringify(mode)
|
|
25
|
+
}
|
|
26
|
+
} : {
|
|
27
|
+
__TEST__: false,
|
|
28
|
+
__DEVELOPMENT__: false,
|
|
29
|
+
// __LOCAL_PRODUCTION__: isDevelopment,
|
|
30
|
+
__DOCS__: false,
|
|
31
|
+
'process.env': {
|
|
32
|
+
NODE_ENV: JSON.stringify('production')
|
|
33
|
+
},
|
|
34
|
+
__SERVER__: false
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -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,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)('i18nchunkjs', 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,32 @@
|
|
|
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
|
+
manifestJson
|
|
13
|
+
} = options;
|
|
14
|
+
|
|
15
|
+
if (!manifestJson.enable) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return new _ManifestJsonPlugin.AddFileToManifestJson([{
|
|
20
|
+
outputJsonFileName: 'manifest.json',
|
|
21
|
+
test: f => !/\.i18n\.js$|\.LICENSE\.txt$|\.map$/.test(f),
|
|
22
|
+
needInitialEntries: true
|
|
23
|
+
}, {
|
|
24
|
+
outputJsonFileName: 'i18nManifest.json',
|
|
25
|
+
test: f => /\.i18n\.js$/g.test(f),
|
|
26
|
+
needInitialEntries: false
|
|
27
|
+
}, {
|
|
28
|
+
outputJsonFileName: 'licenseManifest.json',
|
|
29
|
+
test: f => /\.LICENSE\.txt$/g.test(f),
|
|
30
|
+
needInitialEntries: false
|
|
31
|
+
}]);
|
|
32
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
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);
|
|
19
|
+
return new _miniCssExtractPlugin.default({
|
|
20
|
+
filename: cssLTRFileNameTempalte,
|
|
21
|
+
chunkFilename: cssLTRFileNameTempalte
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -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,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
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configTPHashMappingPlugin = configTPHashMappingPlugin;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
var _TPHashMappingPlugin = require("../custom_plugins/TPHashMappingPlugin");
|
|
11
|
+
|
|
12
|
+
var _modeUtils = require("../common/modeUtils");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function configTPHashMappingPlugin(options) {
|
|
17
|
+
const {
|
|
18
|
+
fileHashMappingToVariable,
|
|
19
|
+
context,
|
|
20
|
+
mode
|
|
21
|
+
} = options; // const { tpFolder } = options.app;
|
|
22
|
+
|
|
23
|
+
if ((0, _modeUtils.isProductionMode)(mode)) {
|
|
24
|
+
return new _TPHashMappingPlugin.TPHashMappingPlugin({
|
|
25
|
+
fileMappings: fileHashMappingToVariable,
|
|
26
|
+
tpFolder: `${_path.default.join(process.cwd(), context)}`
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
;
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.configVariableConversionPlugin = configVariableConversionPlugin;
|
|
7
|
+
|
|
8
|
+
var _VariableConversionCollector = _interopRequireDefault(require("../custom_plugins/VariableConversionCollector"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
function configVariableConversionPlugin(options) {
|
|
13
|
+
const {
|
|
14
|
+
cssVariableReplacement
|
|
15
|
+
} = options.css.plugins;
|
|
16
|
+
|
|
17
|
+
if (cssVariableReplacement.enable === false) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return new _VariableConversionCollector.default({
|
|
22
|
+
configFile: cssVariableReplacement.configFile,
|
|
23
|
+
patterns: cssVariableReplacement.patterns
|
|
24
|
+
});
|
|
25
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.plugins = plugins;
|
|
7
|
+
|
|
8
|
+
var _configHtmlWebpackPlugin = require("./pluginConfigs/configHtmlWebpackPlugin");
|
|
9
|
+
|
|
10
|
+
var _configEnvVariables = require("./pluginConfigs/configEnvVariables");
|
|
11
|
+
|
|
12
|
+
var _configI18nSplitPlugin = require("./pluginConfigs/configI18nSplitPlugin");
|
|
13
|
+
|
|
14
|
+
var _configMiniCSSExtractPlugin = require("./pluginConfigs/configMiniCSSExtractPlugin");
|
|
15
|
+
|
|
16
|
+
var _configRtlCssPlugin = require("./pluginConfigs/configRtlCssPlugin");
|
|
17
|
+
|
|
18
|
+
var _configIgnorePlugin = require("./pluginConfigs/configIgnorePlugin");
|
|
19
|
+
|
|
20
|
+
var _configCdnChangePlugin = require("./pluginConfigs/configCdnChangePlugin");
|
|
21
|
+
|
|
22
|
+
var _configServiceWorkerPlugin = require("./pluginConfigs/configServiceWorkerPlugin");
|
|
23
|
+
|
|
24
|
+
var _configProgressPlugin = require("./pluginConfigs/configProgressPlugin");
|
|
25
|
+
|
|
26
|
+
var _configBundleAnalyzer = require("./pluginConfigs/configBundleAnalyzer");
|
|
27
|
+
|
|
28
|
+
var _configSelectorWeightPlugin = require("./pluginConfigs/configSelectorWeightPlugin");
|
|
29
|
+
|
|
30
|
+
var _configVariableConversionPlugin = require("./pluginConfigs/configVariableConversionPlugin");
|
|
31
|
+
|
|
32
|
+
var _configEFCTemplatePlugin = require("./pluginConfigs/configEFCTemplatePlugin");
|
|
33
|
+
|
|
34
|
+
var _configResourceHintsPlugin = require("./pluginConfigs/configResourceHintsPlugin");
|
|
35
|
+
|
|
36
|
+
var _configManifestJsonPlugin = require("./pluginConfigs/configManifestJsonPlugin");
|
|
37
|
+
|
|
38
|
+
var _configCopyPublicFolders = require("./pluginConfigs/configCopyPublicFolders");
|
|
39
|
+
|
|
40
|
+
var _configSourceMapPlugin = require("./pluginConfigs/configSourceMapPlugin");
|
|
41
|
+
|
|
42
|
+
var _configTPHashMappingPlugin = require("./pluginConfigs/configTPHashMappingPlugin");
|
|
43
|
+
|
|
44
|
+
// import { IgnorePlugin } from 'webpack';
|
|
45
|
+
function plugins(options) {
|
|
46
|
+
const {
|
|
47
|
+
webpackPlugins
|
|
48
|
+
} = options;
|
|
49
|
+
return [(0, _configEnvVariables.configEnvVariables)(options), (0, _configTPHashMappingPlugin.configTPHashMappingPlugin)(options), (0, _configCopyPublicFolders.configCopyPublicFolders)(options), (0, _configIgnorePlugin.configIgnorePlugin)(options), (0, _configMiniCSSExtractPlugin.configMiniCSSExtractPlugin)(options), (0, _configSelectorWeightPlugin.configSelectorWeightPlugin)(options), (0, _configVariableConversionPlugin.configVariableConversionPlugin)(options), (0, _configI18nSplitPlugin.configI18nSplitPlugin)(options), (0, _configRtlCssPlugin.configRtlCssPlugin)(options), (0, _configHtmlWebpackPlugin.configHtmlWebpackPlugin)(options), (0, _configCdnChangePlugin.configCdnChangePlugin)(options), (0, _configServiceWorkerPlugin.configServiceWorkerPlugin)(options), (0, _configEFCTemplatePlugin.configEFCTemplatePlugin)(options), (0, _configResourceHintsPlugin.configResourceHintsPlugin)(options), (0, _configBundleAnalyzer.configBundleAnalyzer)(options), (0, _configManifestJsonPlugin.configManifestJsonPlugin)(options), (0, _configSourceMapPlugin.configSourceMapPlugin)(options), (0, _configProgressPlugin.configProgressPlugin)(options), ...webpackPlugins].filter(Boolean);
|
|
50
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loaderResolver = loaderResolver;
|
|
7
|
+
exports.moduleResolver = moduleResolver;
|
|
8
|
+
|
|
9
|
+
var _client_packages_group = require("@zohodesk/client_packages_group");
|
|
10
|
+
|
|
11
|
+
var _constants = require("../../constants");
|
|
12
|
+
|
|
13
|
+
var _libAlias = require("./common/libAlias");
|
|
14
|
+
|
|
15
|
+
var _requireLocalOrGlobal = require("../../utils/requireLocalOrGlobal");
|
|
16
|
+
|
|
17
|
+
var _logger = require("../../../logger");
|
|
18
|
+
|
|
19
|
+
/* eslint-disable no-use-before-define */
|
|
20
|
+
const defaultPackageGroupNpm = '@zohodesk/client_packages_group';
|
|
21
|
+
|
|
22
|
+
function decideNodeModulesPath(moduleResolvePath) {
|
|
23
|
+
if (typeof moduleResolvePath === 'string' && moduleResolvePath) {
|
|
24
|
+
const resolverPkg = (0, _requireLocalOrGlobal.requireAllPossible)(moduleResolvePath);
|
|
25
|
+
|
|
26
|
+
if (resolverPkg.local) {
|
|
27
|
+
(0, _logger.verboseLogger)(`Local '${moduleResolvePath}' package taken as Module Resolver`);
|
|
28
|
+
return resolverPkg.local.nodeModulesPath;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (resolverPkg.global) {
|
|
32
|
+
(0, _logger.messageLogger)(`Global '${moduleResolvePath}' package taken as Module Resolver`);
|
|
33
|
+
return resolverPkg.global.nodeModulesPath;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
(0, _logger.errorLogger)(`
|
|
37
|
+
You have given 'resolve.moduleResolvePath' as "${moduleResolvePath}".
|
|
38
|
+
But it seems that file path have some problem;`);
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const globalResolverPkg = (0, _requireLocalOrGlobal.requireGlobal)(defaultPackageGroupNpm);
|
|
43
|
+
|
|
44
|
+
if (globalResolverPkg) {
|
|
45
|
+
(0, _logger.messageLogger)(`Global '${defaultPackageGroupNpm}' package taken as Module Resolver`);
|
|
46
|
+
return globalResolverPkg.nodeModulesPath;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
(0, _logger.verboseLogger)(`CBT default '${defaultPackageGroupNpm}' package taken as Module Resolver`);
|
|
50
|
+
return _client_packages_group.nodeModulesPath;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function moduleResolver(options) {
|
|
54
|
+
const {
|
|
55
|
+
preferLocalFirst,
|
|
56
|
+
alias,
|
|
57
|
+
defaultAlias,
|
|
58
|
+
moduleResolvePath
|
|
59
|
+
} = options.resolve;
|
|
60
|
+
const nodeModulesPath = decideNodeModulesPath(moduleResolvePath);
|
|
61
|
+
return {
|
|
62
|
+
modules: useAppNodeModulesAsPreferred(preferLocalFirst, [nodeModulesPath, _constants.cliNodeModulesPath].filter(Boolean)),
|
|
63
|
+
alias: { ...(defaultAlias ? _libAlias.libAlias : {}),
|
|
64
|
+
...(alias || {})
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function loaderResolver(options) {
|
|
70
|
+
const {
|
|
71
|
+
preferLocalFirst
|
|
72
|
+
} = options.resolve;
|
|
73
|
+
return {
|
|
74
|
+
modules: useAppNodeModulesAsPreferred(preferLocalFirst, [_constants.cliNodeModulesPath])
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function useAppNodeModulesAsPreferred(preferLocalFirst = false, paths = []) {
|
|
79
|
+
const filteredPaths = paths.filter(Boolean);
|
|
80
|
+
return preferLocalFirst ? ['node_modules', ...filteredPaths] : [...filteredPaths, 'node_modules'];
|
|
81
|
+
}
|