@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,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;
|
|
22
|
+
|
|
23
|
+
if ((0, _modeUtils.isProductionMode)(mode) && fileHashMappingToVariable) {
|
|
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,77 @@
|
|
|
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
|
+
var _configCustomAttributesPlugin = require("./pluginConfigs/configCustomAttributesPlugin");
|
|
45
|
+
|
|
46
|
+
var _configBundleIntegrityReport = require("./pluginConfigs/configBundleIntegrityReport");
|
|
47
|
+
|
|
48
|
+
var _configRuntimeResourceCleanup = require("./pluginConfigs/configRuntimeResourceCleanup");
|
|
49
|
+
|
|
50
|
+
var _configCustomScriptLoadingStrategyPlugin = require("./pluginConfigs/configCustomScriptLoadingStrategyPlugin");
|
|
51
|
+
|
|
52
|
+
var {
|
|
53
|
+
configI18nNumericIndexPlugin
|
|
54
|
+
} = require("./pluginConfigs/configI18nNumericIndexPlugin");
|
|
55
|
+
|
|
56
|
+
function plugins(options) {
|
|
57
|
+
const {
|
|
58
|
+
webpackPlugins
|
|
59
|
+
} = options;
|
|
60
|
+
const pluginConfigurations = [(0, _configEnvVariables.configEnvVariables)(options), (0, _configCustomAttributesPlugin.configCustomAttributesPlugin)(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, _configRtlCssPlugin.configRtlCssPlugin)(options), (0, _configHtmlWebpackPlugin.configHtmlWebpackPlugin)(options), (0, _configCustomScriptLoadingStrategyPlugin.configCustomScriptLoadingStrategyPlugin)(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), (0, _configBundleIntegrityReport.configBundleIntegrityReport)(options), (0, _configRuntimeResourceCleanup.configRuntimeResourceCleanup)(options)];
|
|
61
|
+
|
|
62
|
+
if (options.i18nIndexing && options.i18nIndexing.enable) {
|
|
63
|
+
const newI18nPlugins = configI18nNumericIndexPlugin(options);
|
|
64
|
+
|
|
65
|
+
if (newI18nPlugins) {
|
|
66
|
+
pluginConfigurations.push(...newI18nPlugins);
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
const configI18nSplitPlugin = (0, _configI18nSplitPlugin.configI18nSplitPlugin)(options);
|
|
70
|
+
|
|
71
|
+
if (configI18nSplitPlugin) {
|
|
72
|
+
pluginConfigurations.push(configI18nSplitPlugin);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return [...pluginConfigurations, ...webpackPlugins].filter(Boolean);
|
|
77
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
extensions: ['.ts', '.js', '.json', '.tsx']
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function loaderResolver(options) {
|
|
71
|
+
const {
|
|
72
|
+
preferLocalFirst
|
|
73
|
+
} = options.resolve;
|
|
74
|
+
return {
|
|
75
|
+
modules: useAppNodeModulesAsPreferred(preferLocalFirst, [_constants.cliNodeModulesPath])
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function useAppNodeModulesAsPreferred(preferLocalFirst = false, paths = []) {
|
|
80
|
+
const filteredPaths = paths.filter(Boolean);
|
|
81
|
+
return preferLocalFirst ? ['node_modules', ...filteredPaths, _constants.appNodeModules] : [...filteredPaths, 'node_modules', _constants.appNodeModules];
|
|
82
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.splitChunksConfig = splitChunksConfig;
|
|
7
|
+
|
|
8
|
+
var _defaultVendorPatternList = require("./defaultVendorPatternList");
|
|
9
|
+
|
|
10
|
+
var _getFilenameFromModule = require("./getFilenameFromModule");
|
|
11
|
+
|
|
12
|
+
var _checkIsPatternsMatchFilename = require("./loaderConfigs/checkIsPatternsMatchFilename");
|
|
13
|
+
|
|
14
|
+
function splitChunksConfig(options) {
|
|
15
|
+
const {
|
|
16
|
+
vendorPatterns,
|
|
17
|
+
customChunks,
|
|
18
|
+
customChunksBaseConfig
|
|
19
|
+
} = options;
|
|
20
|
+
|
|
21
|
+
const isVendor = function isVendor(webpackModule) {
|
|
22
|
+
const userRequest = (0, _getFilenameFromModule.getFilenameFromModule)(webpackModule);
|
|
23
|
+
const patterns = [..._defaultVendorPatternList.defaultVendorPatternList, ...vendorPatterns];
|
|
24
|
+
return (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(patterns, userRequest);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const isReact = webpackModule => {
|
|
28
|
+
const userRequest = (0, _getFilenameFromModule.getFilenameFromModule)(webpackModule);
|
|
29
|
+
return (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(_defaultVendorPatternList.reactBundleIncludeList, userRequest);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const defaultChunks = {
|
|
33
|
+
'react.vendor': {
|
|
34
|
+
name: 'react.vendor',
|
|
35
|
+
chunks: 'all',
|
|
36
|
+
minChunks: 1,
|
|
37
|
+
test: isReact,
|
|
38
|
+
enforce: true,
|
|
39
|
+
priority: 30
|
|
40
|
+
},
|
|
41
|
+
vendor: {
|
|
42
|
+
name: 'vendor',
|
|
43
|
+
chunks: 'all',
|
|
44
|
+
minChunks: 1,
|
|
45
|
+
test: isVendor,
|
|
46
|
+
priority: 20
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const customChunksConfig = {};
|
|
50
|
+
customChunks.reverse().forEach((cacheGroupObj, index) => {
|
|
51
|
+
const cacheGroupName = cacheGroupObj.cacheGroupName || cacheGroupObj.name; // eslint-disable-next-line no-use-before-define
|
|
52
|
+
|
|
53
|
+
const obj = getCacheGroup(cacheGroupObj, index);
|
|
54
|
+
customChunksConfig[cacheGroupName] = obj;
|
|
55
|
+
});
|
|
56
|
+
const splitChunksConfig = {
|
|
57
|
+
minSize: 12000,
|
|
58
|
+
...(customChunksBaseConfig || {}),
|
|
59
|
+
cacheGroups: {
|
|
60
|
+
default: false,
|
|
61
|
+
defaultVendors: false,
|
|
62
|
+
...defaultChunks,
|
|
63
|
+
...customChunksConfig
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return splitChunksConfig;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getCacheGroup(obj, index) {
|
|
70
|
+
let {
|
|
71
|
+
minChunks,
|
|
72
|
+
priority,
|
|
73
|
+
chunks = 'all'
|
|
74
|
+
} = obj;
|
|
75
|
+
const {
|
|
76
|
+
name,
|
|
77
|
+
patterns,
|
|
78
|
+
enforce,
|
|
79
|
+
minSize,
|
|
80
|
+
maxSize,
|
|
81
|
+
reuseExistingChunk,
|
|
82
|
+
automaticNameDelimiter
|
|
83
|
+
} = obj;
|
|
84
|
+
chunks = obj.chunks || 'all';
|
|
85
|
+
minChunks = obj.minChunks || 2;
|
|
86
|
+
priority = obj.priority || 10 * (index + 2);
|
|
87
|
+
const cacheGroup = {
|
|
88
|
+
name,
|
|
89
|
+
test: m => {
|
|
90
|
+
const userRequest = (0, _getFilenameFromModule.getFilenameFromModule)(m);
|
|
91
|
+
return userRequest && (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(patterns, userRequest);
|
|
92
|
+
},
|
|
93
|
+
chunks,
|
|
94
|
+
minChunks,
|
|
95
|
+
priority,
|
|
96
|
+
enforce
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
if (minSize !== undefined) {
|
|
100
|
+
cacheGroup.minSize = minSize;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (maxSize !== undefined) {
|
|
104
|
+
cacheGroup.maxSize = maxSize;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (reuseExistingChunk !== undefined) {
|
|
108
|
+
cacheGroup.reuseExistingChunk = reuseExistingChunk;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (automaticNameDelimiter !== undefined) {
|
|
112
|
+
cacheGroup.automaticNameDelimiter = automaticNameDelimiter;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return cacheGroup;
|
|
116
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.statsConfig = statsConfig;
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line no-unused-vars
|
|
9
|
+
function statsConfig(options) {
|
|
10
|
+
let {
|
|
11
|
+
statsLogConfig
|
|
12
|
+
} = options;
|
|
13
|
+
statsLogConfig = statsLogConfig || {};
|
|
14
|
+
|
|
15
|
+
if (typeof statsLogConfig === 'string') {
|
|
16
|
+
return statsLogConfig;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return {
|
|
20
|
+
preset: 'minimal',
|
|
21
|
+
warnings: false,
|
|
22
|
+
children: false,
|
|
23
|
+
colors: true,
|
|
24
|
+
errorDetails: true,
|
|
25
|
+
...statsLogConfig // excludeAssets: /i18n/,
|
|
26
|
+
// excludeAssets: /./,
|
|
27
|
+
// warningsFilter: /\[mini-css-extract-plugin\]/
|
|
28
|
+
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tsLoaders = tsLoaders;
|
|
7
|
+
|
|
8
|
+
var _babelLoaderConfig = require("./loaderConfigs/babelLoaderConfig");
|
|
9
|
+
|
|
10
|
+
function tsLoaders(options) {
|
|
11
|
+
return [{
|
|
12
|
+
test: /\.tsx$/,
|
|
13
|
+
exclude: /node_modules/,
|
|
14
|
+
use: [(0, _babelLoaderConfig.babelLoaderConfig)(options)] // include: path.join(appPath, folder)
|
|
15
|
+
|
|
16
|
+
}];
|
|
17
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTypeOf = getTypeOf;
|
|
7
|
+
exports.isJsFile = exports.isDirRelatedCss = exports.isCssFile = exports.isCss = void 0;
|
|
8
|
+
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
|
|
13
|
+
const isCss = filename => _path.default.extname(filename) === '.css';
|
|
14
|
+
|
|
15
|
+
exports.isCss = isCss;
|
|
16
|
+
|
|
17
|
+
const isDirRelatedCss = filename => filename.includes('[dir]');
|
|
18
|
+
|
|
19
|
+
exports.isDirRelatedCss = isDirRelatedCss;
|
|
20
|
+
|
|
21
|
+
const isJsFile = file => /\.js$/.test(file);
|
|
22
|
+
|
|
23
|
+
exports.isJsFile = isJsFile;
|
|
24
|
+
|
|
25
|
+
const isCssFile = file => /\.css$/.test(file);
|
|
26
|
+
|
|
27
|
+
exports.isCssFile = isCssFile;
|
|
28
|
+
|
|
29
|
+
function getTypeOf(value) {
|
|
30
|
+
return Object.prototype.toString.call(value).split(/\s/)[1].replace(/\]/, '').toLowerCase();
|
|
31
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.convertObjectToStringGen = convertObjectToStringGen;
|
|
7
|
+
exports.removeKeysFromObject = removeKeysFromObject;
|
|
8
|
+
|
|
9
|
+
/* eslint-disable no-restricted-syntax */
|
|
10
|
+
function objectPathMatcher(currentKey, objHierarchy = [], keysToBeRemoved = []) {
|
|
11
|
+
const objPathKey = objHierarchy.length > 0 ? `${objHierarchy.join('.')}.${currentKey}` : currentKey;
|
|
12
|
+
return keysToBeRemoved.some(key => {
|
|
13
|
+
const isWildPath = /^\*/.test(key);
|
|
14
|
+
|
|
15
|
+
if (isWildPath) {
|
|
16
|
+
const newKey = key.replace(/\*\.?/, '');
|
|
17
|
+
return objPathKey.includes(newKey);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return key === objPathKey;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/*
|
|
24
|
+
1) *.keyTobeRemoved -> means match every object path, this key will be removed
|
|
25
|
+
2) keyToBeremoved -> means root object key
|
|
26
|
+
3) nestedPath.keyToBeRemoved -> means only that nested path key
|
|
27
|
+
4) don't need to account for array iteration, just object key path is enough in the key to be removed.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
function removeKeysFromObject(obj, keysToBeRemoved, prevKeys = []) {
|
|
32
|
+
if (Array.isArray(obj)) {
|
|
33
|
+
return obj.map(item => removeKeysFromObject(item, keysToBeRemoved, prevKeys));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (obj && typeof obj === 'object') {
|
|
37
|
+
const filteredKeyObject = {};
|
|
38
|
+
const ObjectKeys = Object.keys(obj);
|
|
39
|
+
|
|
40
|
+
for (const objectKey of ObjectKeys) {
|
|
41
|
+
const isKeyToBeRemoved = objectPathMatcher(objectKey, prevKeys, keysToBeRemoved);
|
|
42
|
+
|
|
43
|
+
if (!isKeyToBeRemoved) {
|
|
44
|
+
filteredKeyObject[objectKey] = removeKeysFromObject(obj[objectKey], keysToBeRemoved, [...prevKeys, objectKey]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return filteredKeyObject;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return obj;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function* convertObjectToStringGen(obj) {
|
|
55
|
+
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || obj === null) {
|
|
56
|
+
yield JSON.stringify(obj);
|
|
57
|
+
} else if (Array.isArray(obj)) {
|
|
58
|
+
yield '[';
|
|
59
|
+
let isFirst = true;
|
|
60
|
+
|
|
61
|
+
for (let item of obj) {
|
|
62
|
+
if (item === undefined) {
|
|
63
|
+
item = null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
yield `${isFirst ? '' : ','}`;
|
|
67
|
+
yield* convertObjectToStringGen(item);
|
|
68
|
+
isFirst = false;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
yield ']';
|
|
72
|
+
} else {
|
|
73
|
+
yield '{';
|
|
74
|
+
let isFirst = true;
|
|
75
|
+
const entries = Object.entries(obj);
|
|
76
|
+
|
|
77
|
+
for (const [itemKey, itemValue] of entries) {
|
|
78
|
+
if (itemValue !== undefined) {
|
|
79
|
+
yield `${isFirst ? '' : ','}${JSON.stringify(itemKey)}: `;
|
|
80
|
+
yield* convertObjectToStringGen(itemValue);
|
|
81
|
+
isFirst = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
yield '}';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getArrayWithDefault = getArrayWithDefault;
|
|
7
|
+
exports.updateArrayWithDefault = updateArrayWithDefault;
|
|
8
|
+
|
|
9
|
+
function updateArrayWithDefault(array, defaultoptions = []) {
|
|
10
|
+
const index = array.indexOf('...');
|
|
11
|
+
|
|
12
|
+
if (index === -1) {
|
|
13
|
+
return array;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const newArray = [...array];
|
|
17
|
+
newArray.splice(index, 1, ...defaultoptions);
|
|
18
|
+
return newArray;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const isEqualVal = (a, b) => a === b;
|
|
22
|
+
|
|
23
|
+
function getArrayWithDefault(array, defaultoptions = [], isEqual = isEqualVal) {
|
|
24
|
+
const index = array.indexOf('...');
|
|
25
|
+
|
|
26
|
+
if (index === -1) {
|
|
27
|
+
return array;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const filteredDefaultOptions = defaultoptions.filter(v => !array.some(v1 => isEqual(v, v1)));
|
|
31
|
+
const newArray = [...array];
|
|
32
|
+
newArray.splice(index, 1, ...filteredDefaultOptions);
|
|
33
|
+
return newArray;
|
|
34
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = webpackBuild;
|
|
7
|
+
|
|
8
|
+
var _webpack = require("webpack");
|
|
9
|
+
|
|
10
|
+
var _statsConfig = require("./statsConfig");
|
|
11
|
+
|
|
12
|
+
var _webpackConfig = _interopRequireDefault(require("./webpackConfig"));
|
|
13
|
+
|
|
14
|
+
var _logger = require("../../../logger");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function webpackBuild(options) {
|
|
19
|
+
const config = (0, _webpackConfig.default)(options);
|
|
20
|
+
(0, _webpack.webpack)(config, (err, stats) => {
|
|
21
|
+
if (err || stats.hasErrors()) {
|
|
22
|
+
(0, _logger.errorLogger)('err', err);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
(0, _logger.messageLogger)(stats.toString((0, _statsConfig.statsConfig)(options)));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = webpackConfigCreator;
|
|
7
|
+
|
|
8
|
+
var _entryConfig = require("./entryConfig");
|
|
9
|
+
|
|
10
|
+
var _outputConfig = require("./outputConfig");
|
|
11
|
+
|
|
12
|
+
var _jsLoaders = require("./jsLoaders");
|
|
13
|
+
|
|
14
|
+
var _tsLoaders = require("./tsLoaders");
|
|
15
|
+
|
|
16
|
+
var _cssLoaders = require("./cssLoaders");
|
|
17
|
+
|
|
18
|
+
var _assetLoaders = require("./loaderConfigs/assetLoaders");
|
|
19
|
+
|
|
20
|
+
var _plugins = require("./plugins");
|
|
21
|
+
|
|
22
|
+
var _resolvers = require("./resolvers");
|
|
23
|
+
|
|
24
|
+
var _optimizationConfig = require("./optimizationConfig");
|
|
25
|
+
|
|
26
|
+
var _configHtmlTemplateLoader = require("./loaderConfigs/configHtmlTemplateLoader");
|
|
27
|
+
|
|
28
|
+
var _configWebWorkerLoader = require("./loaderConfigs/configWebWorkerLoader");
|
|
29
|
+
|
|
30
|
+
var _statsConfig = require("./statsConfig");
|
|
31
|
+
|
|
32
|
+
var _devtoolConfig = require("./devtoolConfig");
|
|
33
|
+
|
|
34
|
+
var _modeUtils = require("./common/modeUtils");
|
|
35
|
+
|
|
36
|
+
var _externals = require("./externals");
|
|
37
|
+
|
|
38
|
+
var _configCustomLoaders = require("./configCustomLoaders");
|
|
39
|
+
|
|
40
|
+
function webpackConfigCreator(options) {
|
|
41
|
+
return {
|
|
42
|
+
entry: (0, _entryConfig.entryConfig)(options),
|
|
43
|
+
mode: (0, _modeUtils.getWebpackMode)(options),
|
|
44
|
+
output: (0, _outputConfig.outputConfig)(options),
|
|
45
|
+
devtool: (0, _devtoolConfig.devtoolConfig)(options),
|
|
46
|
+
stats: (0, _statsConfig.statsConfig)(options),
|
|
47
|
+
optimization: (0, _optimizationConfig.optimizationConfig)(options),
|
|
48
|
+
module: {
|
|
49
|
+
/* strictExportPresence for break the build when imported module not present in respective file */
|
|
50
|
+
// strictExportPresence: true,
|
|
51
|
+
rules: [...(0, _jsLoaders.jsLoaders)(options), ...(0, _tsLoaders.tsLoaders)(options), ...(0, _cssLoaders.cssLoaders)(options), (0, _configWebWorkerLoader.configWebWorkerLoader)(options), (0, _configHtmlTemplateLoader.configHtmlTemplateLoader)(options), ...(0, _assetLoaders.assetLoaders)(options), ...(0, _configCustomLoaders.configCustomLoaders)(options)]
|
|
52
|
+
},
|
|
53
|
+
plugins: (0, _plugins.plugins)(options),
|
|
54
|
+
externals: (0, _externals.externals)(options),
|
|
55
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
|
56
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.doBasicRequirementCheck = doBasicRequirementCheck;
|
|
7
|
+
|
|
8
|
+
/* eslint-disable no-throw-literal */
|
|
9
|
+
function doBasicRequirementCheck() {
|
|
10
|
+
const majorV = Number(process.version.slice(1, 4));
|
|
11
|
+
|
|
12
|
+
if (majorV >= 14 && majorV <= 18) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
throw `your node version not compatible with this cli please update node version to 14 - 18, and your current version is ${process.version}`;
|
|
17
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCliPath = getCliPath;
|
|
7
|
+
|
|
8
|
+
var _os = require("os");
|
|
9
|
+
|
|
10
|
+
var _fs = require("fs");
|
|
11
|
+
|
|
12
|
+
var _path = require("path");
|
|
13
|
+
|
|
14
|
+
var _constants = require("../constants");
|
|
15
|
+
|
|
16
|
+
const isWindows = (0, _os.platform)().toLowerCase() === 'win32';
|
|
17
|
+
const suffixExt = isWindows ? '.cmd' : ''; // function searchForCommandPath(commandName) {
|
|
18
|
+
// let pathFolders = __dirname.split(sep);
|
|
19
|
+
// let cliPath;
|
|
20
|
+
// while (pathFolders.pop()) {
|
|
21
|
+
// cliPath = join(pathFolders.join(sep), 'node_modules', '.bin', commandName);
|
|
22
|
+
// if (existsSync(cliPath)) {
|
|
23
|
+
// return cliPath;
|
|
24
|
+
// }
|
|
25
|
+
// }
|
|
26
|
+
// console.warn(`unable to find command "${commandName}"`);
|
|
27
|
+
// return join(__dirname, '..', 'node_modules', '.bin', commandName);
|
|
28
|
+
// }
|
|
29
|
+
|
|
30
|
+
function searchForCommandPath(libName) {
|
|
31
|
+
const commandPath = (0, _path.join)(_constants.cliNodeModulesPath, '.bin', libName); // TODO: need to check for windows machine reason command with ext added,
|
|
32
|
+
// when we use global react-cli package (executable) working or not
|
|
33
|
+
|
|
34
|
+
return (0, _fs.existsSync)(commandPath) ? commandPath : libName;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function getCliPath(commandName) {
|
|
38
|
+
return searchForCommandPath(commandName + suffixExt);
|
|
39
|
+
}
|