@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,113 @@
|
|
|
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: 10
|
|
40
|
+
priority: 0
|
|
41
|
+
},
|
|
42
|
+
vendor: {
|
|
43
|
+
name: 'vendor',
|
|
44
|
+
chunks: 'all',
|
|
45
|
+
// chunks: 'initial',
|
|
46
|
+
minChunks: 1,
|
|
47
|
+
test: isVendor,
|
|
48
|
+
// priority: 19,
|
|
49
|
+
priority: 0
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const customChunksConfig = {};
|
|
53
|
+
customChunks.reverse().forEach((cacheGroupObj, index) => {
|
|
54
|
+
const cacheGroupName = cacheGroupObj.cacheGroupName || cacheGroupObj.name; // eslint-disable-next-line no-use-before-define
|
|
55
|
+
|
|
56
|
+
const obj = getCacheGroup(cacheGroupObj, index);
|
|
57
|
+
customChunksConfig[cacheGroupName] = obj;
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
minSize: 12000,
|
|
61
|
+
...(customChunksBaseConfig || {}),
|
|
62
|
+
cacheGroups: {
|
|
63
|
+
default: false,
|
|
64
|
+
vendors: false,
|
|
65
|
+
...defaultChunks,
|
|
66
|
+
...customChunksConfig
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getCacheGroup(obj, index) {
|
|
72
|
+
let {
|
|
73
|
+
minChunks,
|
|
74
|
+
priority,
|
|
75
|
+
chunks = 'all'
|
|
76
|
+
} = obj;
|
|
77
|
+
const {
|
|
78
|
+
patterns,
|
|
79
|
+
enforce,
|
|
80
|
+
minSize,
|
|
81
|
+
maxSize,
|
|
82
|
+
reuseExistingChunk,
|
|
83
|
+
name
|
|
84
|
+
} = obj;
|
|
85
|
+
minChunks = obj.minChunks || 2;
|
|
86
|
+
priority = obj.priority || 10 * (index + 2);
|
|
87
|
+
chunks = obj.chunks || 'all';
|
|
88
|
+
const cacheGroup = {
|
|
89
|
+
name,
|
|
90
|
+
test: m => {
|
|
91
|
+
const userRequest = (0, _getFilenameFromModule.getFilenameFromModule)(m);
|
|
92
|
+
return userRequest && (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(patterns, userRequest);
|
|
93
|
+
},
|
|
94
|
+
chunks,
|
|
95
|
+
enforce,
|
|
96
|
+
minChunks,
|
|
97
|
+
priority
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
if (minSize !== undefined) {
|
|
101
|
+
cacheGroup.minSize = minSize;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (maxSize !== undefined) {
|
|
105
|
+
cacheGroup.maxSize = maxSize;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (reuseExistingChunk !== undefined) {
|
|
109
|
+
cacheGroup.reuseExistingChunk = reuseExistingChunk;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return cacheGroup;
|
|
113
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
// return 'errors-only';
|
|
11
|
+
return {
|
|
12
|
+
preset: 'minimal',
|
|
13
|
+
warnings: false,
|
|
14
|
+
children: false,
|
|
15
|
+
colors: true,
|
|
16
|
+
errorDetails: true // excludeAssets: /i18n/,
|
|
17
|
+
// excludeAssets: /./,
|
|
18
|
+
// warningsFilter: /\[mini-css-extract-plugin\]/
|
|
19
|
+
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isJsFile = exports.isDirRelatedCss = exports.isCssFile = exports.isCss = void 0;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const isCss = filename => _path.default.extname(filename) === '.css';
|
|
13
|
+
|
|
14
|
+
exports.isCss = isCss;
|
|
15
|
+
|
|
16
|
+
const isDirRelatedCss = filename => filename.includes('[dir]');
|
|
17
|
+
|
|
18
|
+
exports.isDirRelatedCss = isDirRelatedCss;
|
|
19
|
+
|
|
20
|
+
const isJsFile = file => /\.js$/.test(file);
|
|
21
|
+
|
|
22
|
+
exports.isJsFile = isJsFile;
|
|
23
|
+
|
|
24
|
+
const isCssFile = file => /\.css$/.test(file);
|
|
25
|
+
|
|
26
|
+
exports.isCssFile = isCssFile;
|
|
@@ -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,56 @@
|
|
|
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 _cssLoaders = require("./cssLoaders");
|
|
15
|
+
|
|
16
|
+
var _assetLoaders = require("./loaderConfigs/assetLoaders");
|
|
17
|
+
|
|
18
|
+
var _plugins = require("./plugins");
|
|
19
|
+
|
|
20
|
+
var _resolvers = require("./resolvers");
|
|
21
|
+
|
|
22
|
+
var _optimizationConfig = require("./optimizationConfig");
|
|
23
|
+
|
|
24
|
+
var _configHtmlTemplateLoader = require("./loaderConfigs/configHtmlTemplateLoader");
|
|
25
|
+
|
|
26
|
+
var _configWebWorkerLoader = require("./loaderConfigs/configWebWorkerLoader");
|
|
27
|
+
|
|
28
|
+
var _statsConfig = require("./statsConfig");
|
|
29
|
+
|
|
30
|
+
var _getSourceMapType = require("./getSourceMapType");
|
|
31
|
+
|
|
32
|
+
var _modeUtils = require("./common/modeUtils");
|
|
33
|
+
|
|
34
|
+
var _externals = require("./externals");
|
|
35
|
+
|
|
36
|
+
var _configCustomLoaders = require("./configCustomLoaders");
|
|
37
|
+
|
|
38
|
+
function webpackConfigCreator(options) {
|
|
39
|
+
return {
|
|
40
|
+
entry: (0, _entryConfig.entryConfig)(options),
|
|
41
|
+
mode: (0, _modeUtils.getWebpackMode)(options),
|
|
42
|
+
output: (0, _outputConfig.outputConfig)(options),
|
|
43
|
+
devtool: (0, _getSourceMapType.devtoolConfig)(options),
|
|
44
|
+
stats: (0, _statsConfig.statsConfig)(options),
|
|
45
|
+
optimization: (0, _optimizationConfig.optimizationConfig)(options),
|
|
46
|
+
module: {
|
|
47
|
+
/* strictExportPresence for break the build when imported module not present in respective file */
|
|
48
|
+
// strictExportPresence: true,
|
|
49
|
+
rules: [...(0, _jsLoaders.jsLoaders)(options), ...(0, _cssLoaders.cssLoaders)(options), (0, _configWebWorkerLoader.configWebWorkerLoader)(options), (0, _configHtmlTemplateLoader.configHtmlTemplateLoader)(options), ...(0, _assetLoaders.assetLoaders)(options), ...(0, _configCustomLoaders.configCustomLoaders)(options)]
|
|
50
|
+
},
|
|
51
|
+
plugins: (0, _plugins.plugins)(options),
|
|
52
|
+
externals: (0, _externals.externals)(options),
|
|
53
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
|
54
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -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 >= 12 && majorV <= 18) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
throw `your node version not compatible with this cli please update node version to 12 - 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
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "doBasicRequirementCheck", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _doBasicRequirementCheck.doBasicRequirementCheck;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "readArgsFormCommandLine", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _readArgsFormCommandLine.readArgsFormCommandLine;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "readOptionFormCommandLine", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _readOptionFormCommandLine.readOptionFormCommandLine;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _readArgsFormCommandLine = require("./readArgsFormCommandLine");
|
|
26
|
+
|
|
27
|
+
var _readOptionFormCommandLine = require("./readOptionFormCommandLine");
|
|
28
|
+
|
|
29
|
+
var _doBasicRequirementCheck = require("./doBasicRequirementCheck");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.defaultSpawnSyncOptions = void 0;
|
|
7
|
+
exports.spawnIO = spawnIO;
|
|
8
|
+
exports.spawnSyncIO = spawnSyncIO;
|
|
9
|
+
|
|
10
|
+
var _child_process = require("child_process");
|
|
11
|
+
|
|
12
|
+
var _logger = require("../../logger");
|
|
13
|
+
|
|
14
|
+
var _getCliPath = require("./getCliPath");
|
|
15
|
+
|
|
16
|
+
const defaultSpawnSyncOptions = {
|
|
17
|
+
stdio: 'inherit'
|
|
18
|
+
};
|
|
19
|
+
exports.defaultSpawnSyncOptions = defaultSpawnSyncOptions;
|
|
20
|
+
|
|
21
|
+
function spawnSyncIO(commandName, args, spawnSyncOptions = defaultSpawnSyncOptions) {
|
|
22
|
+
const command = (0, _getCliPath.getCliPath)(commandName);
|
|
23
|
+
const result = (0, _child_process.spawnSync)(command, args, spawnSyncOptions);
|
|
24
|
+
|
|
25
|
+
if (result.error || result.stderr) {
|
|
26
|
+
(0, _logger.errorLogger)(result.error || result.stderr);
|
|
27
|
+
} // console.log(result.output);
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
process.exit(result.status);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function spawnIO(commandName, args, cb) {
|
|
34
|
+
// const result =
|
|
35
|
+
(0, _child_process.spawn)(commandName, args, {
|
|
36
|
+
stdio: 'inherit'
|
|
37
|
+
}, cb); // process.exit(result.status);
|
|
38
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.cliRootPath = exports.cliNodeModulesPath = exports.babelrcPath = exports.appPath = exports.CONFIG_ROOT = exports.BASE_CONFIG_KEY = void 0;
|
|
7
|
+
exports.getTemplatePath = getTemplatePath;
|
|
8
|
+
exports.joinWithAppPath = joinWithAppPath;
|
|
9
|
+
exports.templatesPath = void 0;
|
|
10
|
+
|
|
11
|
+
var _path = _interopRequireWildcard(require("path"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
const BASE_CONFIG_KEY = 'react-cli';
|
|
18
|
+
exports.BASE_CONFIG_KEY = BASE_CONFIG_KEY;
|
|
19
|
+
|
|
20
|
+
const cliRootPath = _path.default.resolve(__dirname, '..', '..');
|
|
21
|
+
|
|
22
|
+
exports.cliRootPath = cliRootPath;
|
|
23
|
+
const CONFIG_ROOT = 'client-build-config';
|
|
24
|
+
exports.CONFIG_ROOT = CONFIG_ROOT;
|
|
25
|
+
|
|
26
|
+
const cliNodeModulesPath = _path.default.resolve(cliRootPath, 'node_modules');
|
|
27
|
+
|
|
28
|
+
exports.cliNodeModulesPath = cliNodeModulesPath;
|
|
29
|
+
const babelrcPath = (0, _path.join)(cliRootPath, '.babelrc');
|
|
30
|
+
exports.babelrcPath = babelrcPath;
|
|
31
|
+
const appPath = process.cwd();
|
|
32
|
+
exports.appPath = appPath;
|
|
33
|
+
|
|
34
|
+
function joinWithAppPath(filePath) {
|
|
35
|
+
// TODO: test in windows
|
|
36
|
+
return (0, _path.join)(appPath, filePath);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const templatesPath = (0, _path.join)(__dirname, '..', '..', 'templates');
|
|
40
|
+
exports.templatesPath = templatesPath;
|
|
41
|
+
|
|
42
|
+
function getTemplatePath(...filePath) {
|
|
43
|
+
// TODO: test in windows
|
|
44
|
+
return (0, _path.join)(templatesPath, ...filePath);
|
|
45
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.copyFile = copyFile;
|
|
7
|
+
exports.createParentDir = createParentDir;
|
|
8
|
+
exports.writeFile = writeFile;
|
|
9
|
+
|
|
10
|
+
var _fs = require("fs");
|
|
11
|
+
|
|
12
|
+
var _path = _interopRequireDefault(require("path"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function createParentDir(filename) {
|
|
17
|
+
const {
|
|
18
|
+
dir
|
|
19
|
+
} = _path.default.parse(filename);
|
|
20
|
+
|
|
21
|
+
if (!(0, _fs.existsSync)(dir)) {
|
|
22
|
+
(0, _fs.mkdirSync)(dir, {
|
|
23
|
+
recursive: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function copyFile(filename, outputFile) {
|
|
29
|
+
createParentDir(outputFile);
|
|
30
|
+
const readStream = (0, _fs.createReadStream)(filename);
|
|
31
|
+
const writeStream = (0, _fs.createWriteStream)(outputFile);
|
|
32
|
+
return readStream.pipe(writeStream);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function writeFile(filename, data) {
|
|
36
|
+
createParentDir(filename);
|
|
37
|
+
return (0, _fs.writeFileSync)(filename, data);
|
|
38
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.directoryIterator = directoryIterator;
|
|
7
|
+
|
|
8
|
+
var _fs = require("fs");
|
|
9
|
+
|
|
10
|
+
var _path = require("path");
|
|
11
|
+
|
|
12
|
+
function directoryIterator(filename, callback) {
|
|
13
|
+
if (!(0, _fs.statSync)(filename).isDirectory()) {
|
|
14
|
+
callback(filename);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
(0, _fs.readdirSync)(filename).forEach(fileOrDir => {
|
|
19
|
+
directoryIterator((0, _path.join)(filename, fileOrDir), callback);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.watchRun = watchRun;
|
|
7
|
+
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
10
|
+
var _watcher = _interopRequireDefault(require("watcher"));
|
|
11
|
+
|
|
12
|
+
var _runBabelForJSFile = require("../babel/runBabelForJSFile");
|
|
13
|
+
|
|
14
|
+
var _runPostCssForCssFile = require("../postcss/runPostCssForCssFile");
|
|
15
|
+
|
|
16
|
+
var _directoryIterator = require("./directoryIterator");
|
|
17
|
+
|
|
18
|
+
var _copyFile = require("./copyFile");
|
|
19
|
+
|
|
20
|
+
var _logger = require("../../logger");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
const isJs = ext => ext === '.js';
|
|
25
|
+
|
|
26
|
+
const isCss = ext => ext === '.css';
|
|
27
|
+
|
|
28
|
+
function watchRun({
|
|
29
|
+
options,
|
|
30
|
+
src,
|
|
31
|
+
target,
|
|
32
|
+
canWatch,
|
|
33
|
+
mode
|
|
34
|
+
}) {
|
|
35
|
+
let updatedFileCount = 0;
|
|
36
|
+
|
|
37
|
+
function doWorkForSeparateFile(filename) {
|
|
38
|
+
const outputFile = filename.replace(src, target);
|
|
39
|
+
|
|
40
|
+
const {
|
|
41
|
+
ext
|
|
42
|
+
} = _path.default.parse(filename);
|
|
43
|
+
|
|
44
|
+
if (isJs(ext)) {
|
|
45
|
+
(0, _runBabelForJSFile.runBabelForJSFile)({
|
|
46
|
+
filename,
|
|
47
|
+
outputFile,
|
|
48
|
+
options,
|
|
49
|
+
mode
|
|
50
|
+
});
|
|
51
|
+
} else if (isCss(ext)) {
|
|
52
|
+
(0, _runPostCssForCssFile.runPostCssForCssFile)({
|
|
53
|
+
filename,
|
|
54
|
+
outputFile,
|
|
55
|
+
options
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
(0, _copyFile.copyFile)(filename, outputFile);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
updatedFileCount++;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function doWork(foldername) {
|
|
65
|
+
updatedFileCount = 0;
|
|
66
|
+
const startTime = Date.now();
|
|
67
|
+
(0, _directoryIterator.directoryIterator)(foldername, filename => {
|
|
68
|
+
try {
|
|
69
|
+
doWorkForSeparateFile(filename);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
(0, _logger.messageLogger)(`ERROR In: ${filename}`);
|
|
72
|
+
(0, _logger.messageLogger)(error);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
(0, _logger.messageLogger)(`Successfully compiled ${updatedFileCount} files with Babel and Post-CSS (${Date.now() - startTime}ms).`);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
doWork(src);
|
|
79
|
+
|
|
80
|
+
if (canWatch) {
|
|
81
|
+
const watcher = new _watcher.default(src, {
|
|
82
|
+
recursive: true,
|
|
83
|
+
ignoreInitial: true,
|
|
84
|
+
ignore: filename => filename.indexOf('__tests__') !== -1
|
|
85
|
+
});
|
|
86
|
+
watcher.on('all', (event, filename) => {
|
|
87
|
+
if (event === 'unlink' || event === 'unlinkDir') {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
doWork(filename); // This is what the library does internally when you pass it a handler directly
|
|
92
|
+
// arguments [0] (event); // => could be any target event: 'add', 'addDir', 'change', 'rename', 'renameDir', 'unlink' or 'unlinkDir'
|
|
93
|
+
// arguments [1] (filename); // => the file system path where the event took place, this is always provided
|
|
94
|
+
// arguments [2] (targetPathNext); // => the file system path "targetPath" got renamed to, this is only provided on 'rename'/'renameDir' events
|
|
95
|
+
});
|
|
96
|
+
watcher.on('error', error => {
|
|
97
|
+
(0, _logger.messageLogger)(error); // => true, "Error" instances are always provided on "error"
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line no-unused-vars
|
|
9
|
+
const EmptyPlugin = (opts = {}) => ({
|
|
10
|
+
postcssPlugin: 'postcss-empty',
|
|
11
|
+
|
|
12
|
+
// eslint-disable-next-line no-unused-vars
|
|
13
|
+
Once(root, {
|
|
14
|
+
result
|
|
15
|
+
}) {}
|
|
16
|
+
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
EmptyPlugin.postcss = true;
|
|
20
|
+
var _default = EmptyPlugin;
|
|
21
|
+
exports.default = _default;
|