@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,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.npmConfigToObject = npmConfigToObject;
|
|
7
|
+
|
|
8
|
+
var _logger = require("../logger");
|
|
9
|
+
|
|
10
|
+
const NPM_CONFIG_PREFIX = 'npm_config_'; // TODO: we have to do option parse logic little better
|
|
11
|
+
// if user use react-cli strictly without using npm scripts options won't work,
|
|
12
|
+
// So we have to write our own option parse logic or some other library
|
|
13
|
+
// console.log('type', process.argv, process.env.npm_config_check, process.env.npm_config_clone_type, process.env.npm_config_clone_url);
|
|
14
|
+
// console.log('Object.keys(process.env).filter(s => s.startsWith(\'npm_config_\') && s.includes(\'clone\')', Object.keys(process.env).filter(s => s.startsWith('npm_config_') && s.includes('clone')));
|
|
15
|
+
|
|
16
|
+
function npmConfigToObject() {
|
|
17
|
+
// // clone:type
|
|
18
|
+
const processEnv = {};
|
|
19
|
+
const keysWithColon = [];
|
|
20
|
+
Object.keys(process.env).filter(key => key.startsWith(NPM_CONFIG_PREFIX)).forEach(key => {
|
|
21
|
+
const nKey = key.slice(NPM_CONFIG_PREFIX.length);
|
|
22
|
+
processEnv[nKey] = process.env[key];
|
|
23
|
+
nKey.includes(':') && keysWithColon.push(nKey);
|
|
24
|
+
});
|
|
25
|
+
keysWithColon.forEach(key => {
|
|
26
|
+
const nKey = key.replace(/:/g, '_');
|
|
27
|
+
|
|
28
|
+
if (processEnv[nKey]) {
|
|
29
|
+
(0, _logger.warnLogger)('there is some options conflict', key, nKey);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
processEnv[nKey] = processEnv[key];
|
|
33
|
+
});
|
|
34
|
+
return processEnv;
|
|
35
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getOptions = exports.args = void 0;
|
|
7
|
+
|
|
8
|
+
var _applyValuesToSchema = require("./applyValuesToSchema");
|
|
9
|
+
|
|
10
|
+
var _cliArgsToObject = require("./cliArgsToObject");
|
|
11
|
+
|
|
12
|
+
var _defaultConfigValues = _interopRequireDefault(require("./defaultConfigValues"));
|
|
13
|
+
|
|
14
|
+
var _deprecatedOptionsHandler = require("./deprecatedOptionsHandler");
|
|
15
|
+
|
|
16
|
+
var _getNpmVersion = require("./getNpmVersion");
|
|
17
|
+
|
|
18
|
+
var _npmConfigToObject = require("./npmConfigToObject");
|
|
19
|
+
|
|
20
|
+
var _readOptionsForConfigFile = require("./readOptionsForConfigFile");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
const args = process.argv.slice(2);
|
|
25
|
+
exports.args = args;
|
|
26
|
+
const processEnv = (0, _npmConfigToObject.npmConfigToObject)();
|
|
27
|
+
const cliArgsObject = (0, _cliArgsToObject.cliArgsToObject)(args);
|
|
28
|
+
|
|
29
|
+
if (cliArgsObject.app_domain && cliArgsObject.app_domain == 'kubernetes') {
|
|
30
|
+
cliArgsObject.k8s = true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (cliArgsObject.app_domain) {
|
|
34
|
+
cliArgsObject.domain = cliArgsObject.app_domain;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (cliArgsObject.app_port) {
|
|
38
|
+
cliArgsObject.port = cliArgsObject.app_port;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (cliArgsObject.app_host) {
|
|
42
|
+
cliArgsObject.host = cliArgsObject.app_host;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (processEnv.app_domain && processEnv.app_domain == 'kubernetes') {
|
|
46
|
+
cliArgsObject.k8s = true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (processEnv.app_domain) {
|
|
50
|
+
cliArgsObject.domain = processEnv.app_domain;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (processEnv.app_port) {
|
|
54
|
+
cliArgsObject.port = processEnv.app_port;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (processEnv.app_host) {
|
|
58
|
+
cliArgsObject.host = processEnv.app_host;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Object.assign(processEnv, cliArgsObject);
|
|
62
|
+
let reactCLIOptions = null;
|
|
63
|
+
|
|
64
|
+
const getOptions = () => {
|
|
65
|
+
if (reactCLIOptions) {
|
|
66
|
+
return reactCLIOptions;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const appPath = process.cwd();
|
|
70
|
+
const userSchemas = (0, _readOptionsForConfigFile.readOptionsForPackageJson)(appPath); // NOTE: Only config File option will with cli option config_file
|
|
71
|
+
|
|
72
|
+
const configFileSchemas = (0, _readOptionsForConfigFile.readOptionsForConfigFile)(appPath, cliArgsObject.config_file || 'cbt.config.js');
|
|
73
|
+
const options = (0, _applyValuesToSchema.applyValuesToSchema)(_defaultConfigValues.default, configFileSchemas || userSchemas || {}, processEnv);
|
|
74
|
+
(0, _deprecatedOptionsHandler.deprecatedOptionsHandler)(options); // for future may be for npm 8 edge cases
|
|
75
|
+
|
|
76
|
+
options.npmVersion = (0, _getNpmVersion.getNpmVersion)();
|
|
77
|
+
options.cwd = appPath;
|
|
78
|
+
options.packageVersion = process.env.npm_package_version;
|
|
79
|
+
options.extraArgs = process.argv.slice(3); // eslint-disable-next-line prefer-destructuring
|
|
80
|
+
|
|
81
|
+
options.commandOption = process.argv[2];
|
|
82
|
+
reactCLIOptions = options; // console.log({ options });
|
|
83
|
+
|
|
84
|
+
return options;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
exports.getOptions = getOptions;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.readOptionsForConfigFile = readOptionsForConfigFile;
|
|
7
|
+
exports.readOptionsForPackageJson = readOptionsForPackageJson;
|
|
8
|
+
|
|
9
|
+
var _fs = require("fs");
|
|
10
|
+
|
|
11
|
+
var _path = _interopRequireDefault(require("path"));
|
|
12
|
+
|
|
13
|
+
var _constants = require("../shared/constants");
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
// import { CONFIG_ROOT } from "../constants";
|
|
18
|
+
function readOptionsForPackageJson(appPath) {
|
|
19
|
+
const packagePath = _path.default.join(appPath, 'package.json');
|
|
20
|
+
|
|
21
|
+
if ((0, _fs.existsSync)(packagePath)) {
|
|
22
|
+
// eslint-disable-next-line import/no-dynamic-require, global-require
|
|
23
|
+
return require(packagePath)[_constants.BASE_CONFIG_KEY] || {};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function readOptionsForConfigFile(appPath, configFile) {
|
|
30
|
+
if (!configFile) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const packagePath = _path.default.join(appPath, configFile);
|
|
35
|
+
|
|
36
|
+
if ((0, _fs.existsSync)(packagePath)) {
|
|
37
|
+
// eslint-disable-next-line import/no-dynamic-require, global-require
|
|
38
|
+
return require(packagePath).config;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addDefaultPlugins = addDefaultPlugins;
|
|
7
|
+
|
|
8
|
+
function addDefaultPlugins(plugin, pluginName) {
|
|
9
|
+
if (plugin.enable) {
|
|
10
|
+
return [require.resolve(pluginName), plugin.options];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
;
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.babelWebConfig = babelWebConfig;
|
|
7
|
+
|
|
8
|
+
var _helperCompilationTargets = _interopRequireDefault(require("@babel/helper-compilation-targets"));
|
|
9
|
+
|
|
10
|
+
var _logger = require("../../logger");
|
|
11
|
+
|
|
12
|
+
var _getBabelPlugin = require("./getBabelPlugin");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
/* eslint-disable no-use-before-define */
|
|
17
|
+
const supportedBrowserVersions = ['last 3 Chrome versions', 'last 3 Firefox versions', 'last 3 Edge versions', 'last 3 Safari versions'];
|
|
18
|
+
|
|
19
|
+
function customBabelPlugins(babelPlugins) {
|
|
20
|
+
return babelPlugins.map(p => p).filter(Boolean);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function babelWebConfig(options, mode) {
|
|
24
|
+
const {
|
|
25
|
+
plugins: babelPlugins,
|
|
26
|
+
browserList
|
|
27
|
+
} = options.babelCustomizations;
|
|
28
|
+
const {
|
|
29
|
+
enable: typeScriptEnable
|
|
30
|
+
} = options.typeScript;
|
|
31
|
+
return {
|
|
32
|
+
presets: typeScriptEnable ? [getBabelPresetEnvConfig(browserList, mode), require.resolve('@babel/preset-react'), require.resolve('@babel/preset-typescript')] : [getBabelPresetEnvConfig(browserList, mode), require.resolve('@babel/preset-react')],
|
|
33
|
+
plugins: customBabelPlugins(babelPlugins).concat((0, _getBabelPlugin.getBabelPlugin)(options)).filter(Boolean)
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function getBabelPresetEnvConfig(browserList, mode) {
|
|
38
|
+
if (mode === 'lib') {
|
|
39
|
+
return require.resolve('@babel/preset-env');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const browsers = browserList || supportedBrowserVersions;
|
|
43
|
+
(0, _logger.verboseLogger)('getTargets', (0, _helperCompilationTargets.default)({
|
|
44
|
+
browsers
|
|
45
|
+
}));
|
|
46
|
+
return [require.resolve('@babel/preset-env'), {
|
|
47
|
+
modules: false,
|
|
48
|
+
useBuiltIns: 'usage',
|
|
49
|
+
corejs: 3,
|
|
50
|
+
targets: {
|
|
51
|
+
browsers
|
|
52
|
+
}
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = () => ({
|
|
4
|
+
visitor: {
|
|
5
|
+
Program(path, state) {
|
|
6
|
+
let properties = state.opts.properties || [];
|
|
7
|
+
|
|
8
|
+
if (properties.length === 0) {
|
|
9
|
+
properties = properties.concat(state.opts.attributeNames);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
path.traverse({
|
|
13
|
+
JSXIdentifier(path2) {
|
|
14
|
+
if (properties.indexOf(path2.node.name.toLowerCase()) > -1) {
|
|
15
|
+
path2.parentPath.remove();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getBabelPlugin = getBabelPlugin;
|
|
7
|
+
|
|
8
|
+
var _modeUtils = require("../bundler/webpack/common/modeUtils");
|
|
9
|
+
|
|
10
|
+
var _addDefaultPlugins = require("./addDefaultPlugins");
|
|
11
|
+
|
|
12
|
+
const babelPluginMapping = {
|
|
13
|
+
removeAttribute: './babel_plugins/removeAttributesPlugin',
|
|
14
|
+
removePropTypes: 'babel-plugin-transform-react-remove-prop-types',
|
|
15
|
+
devConsoleExclude: 'babel-plugin-transform-remove-console'
|
|
16
|
+
};
|
|
17
|
+
const babelPluginOrder = ['removeAttribute', 'removePropTypes', 'devConsoleExclude'];
|
|
18
|
+
|
|
19
|
+
function getBabelPlugin(options) {
|
|
20
|
+
const {
|
|
21
|
+
mode
|
|
22
|
+
} = options;
|
|
23
|
+
const {
|
|
24
|
+
alias
|
|
25
|
+
} = options.resolve; // let customPlugins = [];
|
|
26
|
+
|
|
27
|
+
let customPlugins = [[require.resolve('babel-plugin-module-resolver'), {
|
|
28
|
+
root: ['./'],
|
|
29
|
+
alias
|
|
30
|
+
}]];
|
|
31
|
+
const {
|
|
32
|
+
babelCustomizations
|
|
33
|
+
} = options;
|
|
34
|
+
|
|
35
|
+
if ((0, _modeUtils.isProductionMode)(mode)) {
|
|
36
|
+
const configCreator = _addDefaultPlugins.addDefaultPlugins;
|
|
37
|
+
const plugins = babelPluginOrder.map(p => configCreator(babelCustomizations[p], babelPluginMapping[p]));
|
|
38
|
+
customPlugins = plugins;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return customPlugins.filter(Boolean);
|
|
42
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runBabelForJSFile = runBabelForJSFile;
|
|
7
|
+
|
|
8
|
+
var _core = require("@babel/core");
|
|
9
|
+
|
|
10
|
+
var _babelWebConfig = require("./babelWebConfig");
|
|
11
|
+
|
|
12
|
+
var _copyFile = require("../fileUtils/copyFile");
|
|
13
|
+
|
|
14
|
+
function runBabelForJSFile({
|
|
15
|
+
filename,
|
|
16
|
+
outputFile,
|
|
17
|
+
options,
|
|
18
|
+
mode = 'es'
|
|
19
|
+
}) {
|
|
20
|
+
// const jsSourceCode = readFileSync(filename).toString();
|
|
21
|
+
const babelConfig = (0, _babelWebConfig.babelWebConfig)(options, mode);
|
|
22
|
+
const result = (0, _core.transformFileSync)(filename, babelConfig);
|
|
23
|
+
(0, _copyFile.writeFile)(outputFile, result.code);
|
|
24
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runBabelForTSFile = runBabelForTSFile;
|
|
7
|
+
|
|
8
|
+
var _core = require("@babel/core");
|
|
9
|
+
|
|
10
|
+
var _babelWebConfig = require("./babelWebConfig");
|
|
11
|
+
|
|
12
|
+
var _copyFile = require("../fileUtils/copyFile");
|
|
13
|
+
|
|
14
|
+
function runBabelForTSFile({
|
|
15
|
+
filename,
|
|
16
|
+
outputFile,
|
|
17
|
+
options,
|
|
18
|
+
mode = 'es'
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
enable
|
|
22
|
+
} = options.typeScript;
|
|
23
|
+
|
|
24
|
+
if (enable) {
|
|
25
|
+
// const jsSourceCode = readFileSync(filename).toString();
|
|
26
|
+
const babelConfig = (0, _babelWebConfig.babelWebConfig)(options, mode);
|
|
27
|
+
const result = (0, _core.transformFileSync)(filename, babelConfig);
|
|
28
|
+
(0, _copyFile.writeFile)(outputFile.replace('.tsx', '.js').replace('.ts', '.js'), result.code);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.decidePublicPath = decidePublicPath;
|
|
7
|
+
exports.modifiedServerOptions = modifiedServerOptions;
|
|
8
|
+
|
|
9
|
+
var _getServerURL = require("../../../server/getServerURL");
|
|
10
|
+
|
|
11
|
+
var _httpsOptions = require("../../../server/httpsOptions");
|
|
12
|
+
|
|
13
|
+
var _urlConcat = require("../../../server/urlConcat");
|
|
14
|
+
|
|
15
|
+
function decidePublicPath(serverExtras) {
|
|
16
|
+
return serverExtras.isHttps ? serverExtras.httpsUrl : serverExtras.httpUrl;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function modifiedServerOptions(options) {
|
|
20
|
+
const {
|
|
21
|
+
server,
|
|
22
|
+
context
|
|
23
|
+
} = options;
|
|
24
|
+
const {
|
|
25
|
+
disableContextURL
|
|
26
|
+
} = server;
|
|
27
|
+
const {
|
|
28
|
+
k8s
|
|
29
|
+
} = server;
|
|
30
|
+
const port = Number(server.port);
|
|
31
|
+
const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
|
|
32
|
+
const machineDomain = (0, _getServerURL.getServerDomain)(server);
|
|
33
|
+
const httpPort = port + 1;
|
|
34
|
+
const httpsUrl = (0, _getServerURL.getServerUrl)({
|
|
35
|
+
domain: machineDomain,
|
|
36
|
+
k8s,
|
|
37
|
+
port,
|
|
38
|
+
protocol: 'https'
|
|
39
|
+
});
|
|
40
|
+
const httpUrl = (0, _getServerURL.getServerUrl)({
|
|
41
|
+
domain: machineDomain,
|
|
42
|
+
k8s,
|
|
43
|
+
port: httpPort,
|
|
44
|
+
protocol: 'http'
|
|
45
|
+
});
|
|
46
|
+
const contextURL = disableContextURL ? '' : `/${context}`;
|
|
47
|
+
return {
|
|
48
|
+
httpsOptions,
|
|
49
|
+
machineDomain,
|
|
50
|
+
contextURL,
|
|
51
|
+
httpsPort: port,
|
|
52
|
+
httpPort,
|
|
53
|
+
httpsUrl: (0, _urlConcat.urlConcat)(httpsUrl, contextURL),
|
|
54
|
+
httpUrl: (0, _urlConcat.urlConcat)(httpUrl, contextURL),
|
|
55
|
+
isHttps: !!httpsOptions
|
|
56
|
+
};
|
|
57
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateShortHash = generateShortHash;
|
|
7
|
+
|
|
8
|
+
var _crypto = require("crypto");
|
|
9
|
+
|
|
10
|
+
function generateShortHash(str, length = 8) {
|
|
11
|
+
if (typeof str !== 'string' || str.length === 0) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
return (0, _crypto.createHash)('md5').update(str).digest('hex').slice(0, length);
|
|
17
|
+
} catch (error) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.libAlias = void 0;
|
|
7
|
+
// the reason for alias at the time was code tree shaking
|
|
8
|
+
// tree shaking was most compactable with ES module system
|
|
9
|
+
// FIXME: But there is a posiblity when these package does not have lib,
|
|
10
|
+
// app will work because of alias, But may be jest won't work because of not alais
|
|
11
|
+
// So need to think about use alais in jest
|
|
12
|
+
const libAlias = {
|
|
13
|
+
'@zohodesk/components/lib': '@zohodesk/components/es',
|
|
14
|
+
// '@zohodesk/zc-custom/lib': '@zohodesk/zc-custom/es',
|
|
15
|
+
'@zohodesk/dot/lib': '@zohodesk/dot/es',
|
|
16
|
+
'@zohodesk/i18n/lib': '@zohodesk/i18n/es',
|
|
17
|
+
'@zohodesk/icons/lib': '@zohodesk/icons/es',
|
|
18
|
+
'@zohodesk/normalizer/lib': '@zohodesk/normalizer/es',
|
|
19
|
+
'@zohodesk/perf-components/lib': '@zohodesk/perf-components/es',
|
|
20
|
+
'@zohodesk/perf-middleware/lib': '@zohodesk/perf-middleware/es',
|
|
21
|
+
'@zohodesk/permissions/lib': '@zohodesk/permissions/es',
|
|
22
|
+
'@zohodesk/platform-middleware/lib': '@zohodesk/platform-middleware/es',
|
|
23
|
+
'@zohodesk/react-dnd/lib': '@zohodesk/react-dnd/es',
|
|
24
|
+
'@zohodesk/router-middleware/lib': '@zohodesk/router-middleware/es',
|
|
25
|
+
'@zohodesk/storage/lib': '@zohodesk/storage/es',
|
|
26
|
+
'@zohodesk/svg/lib': '@zohodesk/svg/es',
|
|
27
|
+
'@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
|
|
28
|
+
'@zohodesk/variables/lib': '@zohodesk/variables/es',
|
|
29
|
+
'@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
|
|
30
|
+
};
|
|
31
|
+
exports.libAlias = libAlias;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getGlobalCacheStorageName = getGlobalCacheStorageName;
|
|
7
|
+
exports.getWebpackMode = getWebpackMode;
|
|
8
|
+
exports.isDevelopmentMode = isDevelopmentMode;
|
|
9
|
+
exports.isNotProduction = isNotProduction;
|
|
10
|
+
exports.isProductionMode = isProductionMode;
|
|
11
|
+
|
|
12
|
+
function isProductionMode(mode) {
|
|
13
|
+
return mode === 'prod' || mode === 'production';
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function isDevelopmentMode(mode) {
|
|
17
|
+
return mode === 'dev' || mode === 'development';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function getWebpackMode(options) {
|
|
21
|
+
const {
|
|
22
|
+
mode
|
|
23
|
+
} = options;
|
|
24
|
+
return isProductionMode(mode) ? 'production' : 'development';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function getGlobalCacheStorageName(options) {
|
|
28
|
+
const {
|
|
29
|
+
context
|
|
30
|
+
} = options;
|
|
31
|
+
return `${context}Jsonp`;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function isNotProduction(options) {
|
|
35
|
+
const {
|
|
36
|
+
mode
|
|
37
|
+
} = options;
|
|
38
|
+
return isProductionMode(mode) === false;
|
|
39
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isI18nFile = void 0;
|
|
7
|
+
exports.nameTemplates = nameTemplates;
|
|
8
|
+
|
|
9
|
+
var _modeUtils = require("./modeUtils");
|
|
10
|
+
|
|
11
|
+
// nameTemplate.js
|
|
12
|
+
// NOTE: these below code can be done in js,
|
|
13
|
+
// we did copy paste in order to avoid unnecessary confusion
|
|
14
|
+
// NOTE: array[0] is dev mode file templates and array[1] is prod mode file templates
|
|
15
|
+
const defaultTemplates = {
|
|
16
|
+
html: ['index.html', 'index.[contenthash].html'],
|
|
17
|
+
js: ['js/[name].js', 'js/[name].[contenthash]_.js'],
|
|
18
|
+
chunkjs: ['js-chunk/[name].js', 'js-chunks/[name].[contenthash]_.js'],
|
|
19
|
+
i18njs: ['i18n-chunk/[locale]/[name].i18n.js', 'i18n-chunk/[locale]/[name].[chunkhash:20]_.i18n.js'],
|
|
20
|
+
i18nchunkjs: ['i18n-chunk/[locale]/[name].i18n.js', // 'i18n-chunk/[locale]/[name].[chunkhash].i18n.js'
|
|
21
|
+
'i18n-chunk/[locale]/[name].[contenthash]_.i18n.js'],
|
|
22
|
+
i18nmanifest: ['i18n-manifest.json', 'i18n-manifest.json'],
|
|
23
|
+
workerjs: ['js/[name].js', 'js/[name].[contenthash].js'],
|
|
24
|
+
css: ['css/[name].css', 'css/[name].[contenthash]_.css'],
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* NOTE: when you change (cssdir) this line it will have affect on Below files will be affected
|
|
28
|
+
* custom_plugins/RtlSplitPlugin/*
|
|
29
|
+
* pluginConfigs/configMiniCSSExtractPlugin.js
|
|
30
|
+
* pluginConfigs/configRtlCssPlugin.js
|
|
31
|
+
* */
|
|
32
|
+
cssdir: ['css/[name].[dir].css', 'css/[name].[contenthash]_.[dir].css'],
|
|
33
|
+
image: ['images/[name][ext]', 'images/[name].[contenthash][ext]'],
|
|
34
|
+
font: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
|
35
|
+
svg: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
|
36
|
+
audio: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
|
37
|
+
video: ['videos/[name][ext]', 'videos/[name].[contenthash][ext]']
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
function createNameTemplate(name, useHash) {
|
|
41
|
+
// const ext = `${useHash ? '.[hash:20]' : ''}[ext]`;
|
|
42
|
+
return useHash ? name[1] : name[0];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const defaultDevModeContentHashAllowedTypes = {
|
|
46
|
+
image: true,
|
|
47
|
+
font: true,
|
|
48
|
+
svg: true,
|
|
49
|
+
audio: true,
|
|
50
|
+
video: true
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
function nameTemplates(type, options) {
|
|
54
|
+
const {
|
|
55
|
+
enableFileNameHashing,
|
|
56
|
+
mode,
|
|
57
|
+
devLikeHash,
|
|
58
|
+
nameTemplateCustomization
|
|
59
|
+
} = options;
|
|
60
|
+
let {
|
|
61
|
+
devModeContentHashAllowedTypes
|
|
62
|
+
} = options;
|
|
63
|
+
devModeContentHashAllowedTypes = devModeContentHashAllowedTypes || defaultDevModeContentHashAllowedTypes;
|
|
64
|
+
const templates = { ...defaultTemplates,
|
|
65
|
+
...nameTemplateCustomization
|
|
66
|
+
};
|
|
67
|
+
const templateName = templates[type];
|
|
68
|
+
|
|
69
|
+
if (!templateName) {
|
|
70
|
+
throw Error(`specified type not valid Type: ${type}`);
|
|
71
|
+
} // eslint-disable-next-line no-use-before-define
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
const useHash = checkCanWeAllowHash({
|
|
75
|
+
enableFileNameHashing,
|
|
76
|
+
devLikeHash: devLikeHash || (0, _modeUtils.isDevelopmentMode)(mode),
|
|
77
|
+
type,
|
|
78
|
+
devModeContentHashAllowedTypes
|
|
79
|
+
});
|
|
80
|
+
return createNameTemplate(templateName, useHash);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function checkCanWeAllowHash({
|
|
84
|
+
enableFileNameHashing,
|
|
85
|
+
devLikeHash,
|
|
86
|
+
type,
|
|
87
|
+
devModeContentHashAllowedTypes
|
|
88
|
+
}) {
|
|
89
|
+
if (!enableFileNameHashing) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (devLikeHash) {
|
|
94
|
+
return devModeContentHashAllowedTypes[type];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return true;
|
|
98
|
+
} // export function cssDirNameTemplate(dir, options) {
|
|
99
|
+
// return nameTemplates('cssdir', options).replace(/\[dir\]/g, dir);
|
|
100
|
+
// }
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
const isI18nFile = url => url.endsWith('.i18n.js');
|
|
104
|
+
|
|
105
|
+
exports.isI18nFile = isI18nFile;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.publicPathAsExpression = publicPathAsExpression;
|
|
7
|
+
exports.resourceBasedPublicPath = resourceBasedPublicPath;
|
|
8
|
+
|
|
9
|
+
// const publicPaths = {
|
|
10
|
+
// };
|
|
11
|
+
function resourceBasedPublicPath(resoruceType, options) {
|
|
12
|
+
return options.publicPath;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function publicPathAsExpression(resoruceType, options) {
|
|
16
|
+
if (resoruceType === 'i18n') {
|
|
17
|
+
return options.i18nChunkSplit.localeVarName;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return JSON.stringify(options.publicPath);
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.cssLoaders = cssLoaders;
|
|
7
|
+
|
|
8
|
+
var _getCSSLoaders = require("./getCSSLoaders");
|
|
9
|
+
|
|
10
|
+
function cssLoaders(options) {
|
|
11
|
+
return [{
|
|
12
|
+
test: /\.css$/,
|
|
13
|
+
// exclude: /\.module\.css$/,
|
|
14
|
+
use: (0, _getCSSLoaders.getCSSLoaders)(options)
|
|
15
|
+
}];
|
|
16
|
+
}
|