@zohodesk/react-cli 1.1.16 → 1.1.18-exp.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +27 -0
- package/lib/babel/babel-option-utils/babel-preset-react-option.js +22 -0
- package/lib/babel/cmjs-plugins-presets.js +7 -1
- package/lib/babel/es-plugins-presets.js +7 -1
- package/lib/configs/webpack.dev.config.js +7 -2
- package/lib/configs/webpack.prod.config.js +9 -2
- package/lib/loaderUtils/getDevJsLoaders.js +5 -1
- package/lib/schemas/index.js +4 -0
- package/npm-shrinkwrap.json +42 -11
- package/package.json +4 -2
- package/packages/client_build_tool/lib/allCommandsConfigs.js +23 -0
- package/packages/client_build_tool/lib/buildToolLoggers.js +32 -0
- package/packages/client_build_tool/lib/commands/build/commandExecutor.js +21 -0
- package/packages/client_build_tool/lib/commands/build/config.js +12 -0
- package/packages/client_build_tool/lib/commands/build/errorHander.js +10 -0
- package/packages/client_build_tool/lib/commands/build/index.js +35 -0
- package/packages/client_build_tool/lib/commands/build/optionsProcesser.js +40 -0
- package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +17 -0
- package/packages/client_build_tool/lib/commands/buildEs/config.js +12 -0
- package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +17 -0
- package/packages/client_build_tool/lib/commands/buildLib/config.js +12 -0
- package/packages/client_build_tool/lib/commands/start/commandExecutor.js +13 -0
- package/packages/client_build_tool/lib/commands/start/config.js +12 -0
- package/packages/client_build_tool/lib/commands/start/deprecationHandler.js +10 -0
- package/packages/client_build_tool/lib/commands/start/errorHander.js +10 -0
- package/packages/client_build_tool/lib/commands/start/optionsProcesser.js +36 -0
- package/packages/client_build_tool/lib/commands/start/postProcesser.js +10 -0
- package/packages/client_build_tool/lib/commands/start/preProcesser.js +10 -0
- package/packages/client_build_tool/lib/commandsRouter.js +71 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +44 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +31 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +51 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +16 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +111 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCPlugin.js +1 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +136 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nDependency.js +99 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +81 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nModule.js +201 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +401 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +67 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +49 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +63 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +127 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +63 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +89 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +15 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +155 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin.js +49 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/ExcludePlugin.js +58 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/RTLSplitPlugin.js +139 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/devServerConfig.js +34 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +30 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +17 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +14 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +24 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +138 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +83 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +23 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +39 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +28 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +18 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyThirdpartyFile.js +38 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +24 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +28 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +35 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +19 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +18 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configUglifyCSSPlugin.js +15 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +39 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/postcssPlugins.js +36 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +42 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +12 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/webpack.dev.config.js +17 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +24 -0
- package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +50 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/doBasicRequiermentCheck.js +16 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/getCliPath.js +38 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/index.js +29 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/log.js +13 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/readArgsFormCommandLine.js +11 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/readOptionFormCommandLine.js +11 -0
- package/packages/client_build_tool/lib/shared/commands-utlis/spanSync.js +35 -0
- package/packages/client_build_tool/lib/shared/constants.js +33 -0
- package/packages/client_build_tool/lib/shared/schemas/applyValuesToShema.js +37 -0
- package/packages/client_build_tool/lib/shared/schemas/cliArgsToObject.js +37 -0
- package/packages/client_build_tool/lib/shared/schemas/defaultConfigValues.js +119 -0
- package/packages/client_build_tool/lib/shared/schemas/deprecatedOptionsHandler.js +65 -0
- package/packages/client_build_tool/lib/shared/schemas/getCWD.js +23 -0
- package/packages/client_build_tool/lib/shared/schemas/getNpmVersion.js +21 -0
- package/packages/client_build_tool/lib/shared/schemas/npmConfigToObject.js +32 -0
- package/packages/client_build_tool/lib/shared/schemas/oldDefaultConfigValues.js +480 -0
- package/packages/client_build_tool/lib/shared/schemas/readOptions.js +55 -0
- package/packages/client_build_tool/lib/shared/schemas/readOptionsForPackageJson.js +26 -0
- package/packages/client_build_tool/lib/shared/schemas/readOptionsOld.js +152 -0
- package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.crt +37 -0
- package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.key +27 -0
- package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +40 -0
- package/packages/client_build_tool/lib/shared/server/corsHandleing.js +28 -0
- package/packages/client_build_tool/lib/shared/server/getIp.js +30 -0
- package/packages/client_build_tool/lib/shared/server/getServerURL.js +29 -0
- package/packages/client_build_tool/lib/shared/server/httpsOptions.js +53 -0
- package/packages/client_build_tool/lib/shared/server/initExpressApp.js +19 -0
- package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +66 -0
- package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +24 -0
- package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +40 -0
- package/packages/client_build_tool/lib/shared/server/startHttpServer.js +26 -0
- package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +34 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +41 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/devServerUtlis.js +1 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +19 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/webpackConfig.js +32 -0
- package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
- package/packages/client_build_tool/lib/shared/server/urlConcat.js +25 -0
- package/packages/client_build_tool/lib/shared/utils/utils.js +1 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.optionsProcesser = optionsProcesser;
|
7
|
+
|
8
|
+
var _path = require("path");
|
9
|
+
|
10
|
+
var _decidePublicPath = require("../../shared/bundler/webpack/common/decidePublicPath");
|
11
|
+
|
12
|
+
var _urlConcat = require("../../shared/server/urlConcat");
|
13
|
+
|
14
|
+
function optionsProcesser(options) {
|
15
|
+
const {
|
16
|
+
server,
|
17
|
+
context
|
18
|
+
} = options;
|
19
|
+
const {
|
20
|
+
disableContextURL
|
21
|
+
} = server;
|
22
|
+
const serverExtras = (0, _decidePublicPath.modifiedServerOptions)(options);
|
23
|
+
const publicPath = (0, _decidePublicPath.decidePublicPath)(serverExtras);
|
24
|
+
const contextURL = disableContextURL ? '' : `/${context}`;
|
25
|
+
const serverURL = (0, _urlConcat.urlConcat)(publicPath, contextURL);
|
26
|
+
const contextFolderPath = (0, _path.join)(process.cwd(), context);
|
27
|
+
console.log({
|
28
|
+
serverURL,
|
29
|
+
publicPath
|
30
|
+
});
|
31
|
+
const defaultApplyedOptions = { ...options,
|
32
|
+
serverExtras,
|
33
|
+
publicPath,
|
34
|
+
contextURL,
|
35
|
+
serverURL,
|
36
|
+
contextFolderPath,
|
37
|
+
httpsOptions: serverExtras.httpsOptions
|
38
|
+
};
|
39
|
+
return defaultApplyedOptions;
|
40
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.commandExecutor = commandExecutor;
|
7
|
+
|
8
|
+
var _spanSync = require("../../shared/commands-utlis/spanSync");
|
9
|
+
|
10
|
+
var _constants = require("../../shared/constants");
|
11
|
+
|
12
|
+
function commandExecutor(options) {
|
13
|
+
const {
|
14
|
+
extraArgs
|
15
|
+
} = options;
|
16
|
+
(0, _spanSync.spawnSyncIO)("babel", ["src", "--out-dir", "es", "--copy-files", "--config-file=" + _constants.babelrcPath, ...extraArgs]);
|
17
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.commandExecutor = commandExecutor;
|
7
|
+
|
8
|
+
var _spanSync = require("../../shared/commands-utlis/spanSync");
|
9
|
+
|
10
|
+
var _constants = require("../../shared/constants");
|
11
|
+
|
12
|
+
function commandExecutor(options) {
|
13
|
+
const {
|
14
|
+
extraArgs
|
15
|
+
} = options;
|
16
|
+
(0, _spanSync.spawnSyncIO)("babel", ["src", "--out-dir", "lib", "--copy-files", "--config-file=" + _constants.babelrcPath, ...extraArgs]);
|
17
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.commandExecutor = commandExecutor;
|
7
|
+
|
8
|
+
var _serverBywebpackDevMiddleware = require("../../shared/server/serverBywebpackDevMiddleware");
|
9
|
+
|
10
|
+
function commandExecutor(options) {
|
11
|
+
// require("../../shared/server/devServer").run(options);
|
12
|
+
(0, _serverBywebpackDevMiddleware.run)(options);
|
13
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.deprecationHandler = deprecationHandler;
|
7
|
+
|
8
|
+
function deprecationHandler(options) {// options.app.deprecated &&
|
9
|
+
// console.log('options.app.deprecated this option was deprecated since V1.3.1' );
|
10
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.optionsProcesser = optionsProcesser;
|
7
|
+
|
8
|
+
var _path = require("path");
|
9
|
+
|
10
|
+
var _decidePublicPath = require("../../shared/bundler/webpack/common/decidePublicPath");
|
11
|
+
|
12
|
+
var _urlConcat = require("../../shared/server/urlConcat");
|
13
|
+
|
14
|
+
function optionsProcesser(options) {
|
15
|
+
const {
|
16
|
+
server,
|
17
|
+
context
|
18
|
+
} = options;
|
19
|
+
const {
|
20
|
+
disableContextURL
|
21
|
+
} = server;
|
22
|
+
const serverExtras = (0, _decidePublicPath.modifiedServerOptions)(options);
|
23
|
+
const publicPath = (0, _decidePublicPath.decidePublicPath)(serverExtras);
|
24
|
+
const contextURL = disableContextURL ? '' : `/${context}`;
|
25
|
+
const serverURL = (0, _urlConcat.urlConcat)(publicPath, contextURL);
|
26
|
+
const contextFolderPath = (0, _path.join)(process.cwd(), context);
|
27
|
+
const defaultApplyedOptions = { ...options,
|
28
|
+
serverExtras,
|
29
|
+
publicPath,
|
30
|
+
contextURL,
|
31
|
+
serverURL,
|
32
|
+
contextFolderPath,
|
33
|
+
httpsOptions: serverExtras.httpsOptions
|
34
|
+
};
|
35
|
+
return defaultApplyedOptions;
|
36
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.route = route;
|
7
|
+
|
8
|
+
var _fs = require("fs");
|
9
|
+
|
10
|
+
var _path = require("path");
|
11
|
+
|
12
|
+
var _allCommandsConfigs = _interopRequireDefault(require("./allCommandsConfigs"));
|
13
|
+
|
14
|
+
var _buildToolLoggers = require("./buildToolLoggers");
|
15
|
+
|
16
|
+
var _readOptions = require("./shared/schemas/readOptions");
|
17
|
+
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
|
+
|
20
|
+
function runCommand(commandConfig) {
|
21
|
+
const options = (0, _readOptions.getOptions)();
|
22
|
+
const {
|
23
|
+
dirname
|
24
|
+
} = commandConfig;
|
25
|
+
|
26
|
+
function runRespectiveFile(name, data) {
|
27
|
+
const commandExecutorPath = (0, _path.join)(dirname, name + ".js");
|
28
|
+
|
29
|
+
if ((0, _fs.existsSync)(commandExecutorPath)) {
|
30
|
+
const commandExecutor = require(commandExecutorPath);
|
31
|
+
|
32
|
+
return (commandExecutor[name] || commandExecutor.default)(data);
|
33
|
+
} else {
|
34
|
+
(0, _buildToolLoggers.debugLogger)("file not found", commandExecutorPath);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
const processedOption = runRespectiveFile("optionsProcesser", options) || options;
|
39
|
+
runRespectiveFile("deprecationHandler", processedOption); // runRespectiveFile("errorHandler", () => {
|
40
|
+
|
41
|
+
runRespectiveFile("preProcesser", processedOption);
|
42
|
+
runRespectiveFile("commandExecutor", processedOption);
|
43
|
+
runRespectiveFile("postProcesser", processedOption); // });
|
44
|
+
}
|
45
|
+
|
46
|
+
function route(option, args) {
|
47
|
+
// TODO: need to modify this log
|
48
|
+
(0, _buildToolLoggers.debugLogger)("the command was " + option, args);
|
49
|
+
const commandConfig = findCommandConfig(option);
|
50
|
+
|
51
|
+
if (commandConfig) {
|
52
|
+
try {
|
53
|
+
runCommand(commandConfig);
|
54
|
+
} catch (error) {
|
55
|
+
console.error(error);
|
56
|
+
}
|
57
|
+
} else {
|
58
|
+
// TODO: need to write proper error message
|
59
|
+
(0, _buildToolLoggers.warnLogger)("Un known command", option, "please check the document");
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
function findCommandConfig(option) {
|
64
|
+
for (const commandConfig of _allCommandsConfigs.default) {
|
65
|
+
if (commandConfig.name === option || commandConfig.alias.includes(option)) {
|
66
|
+
return commandConfig;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
return null;
|
71
|
+
}
|
@@ -0,0 +1,44 @@
|
|
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
|
+
function decidePublicPath(serverExtras) {
|
14
|
+
return serverExtras.isHttps ? serverExtras.httpsUrl : serverExtras.httpUrl;
|
15
|
+
}
|
16
|
+
|
17
|
+
function modifiedServerOptions(options) {
|
18
|
+
const {
|
19
|
+
server
|
20
|
+
} = options;
|
21
|
+
const {
|
22
|
+
port
|
23
|
+
} = server;
|
24
|
+
const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
|
25
|
+
const machineDomain = (0, _getServerURL.getServerDomain)(server);
|
26
|
+
const httpPort = port + 1;
|
27
|
+
return {
|
28
|
+
httpsOptions,
|
29
|
+
machineDomain,
|
30
|
+
httpsPort: port,
|
31
|
+
httpPort,
|
32
|
+
httpsUrl: (0, _getServerURL.getServerUrl)({
|
33
|
+
domain: machineDomain,
|
34
|
+
port,
|
35
|
+
protocol: 'https'
|
36
|
+
}),
|
37
|
+
httpUrl: (0, _getServerURL.getServerUrl)({
|
38
|
+
domain: machineDomain,
|
39
|
+
port: httpPort,
|
40
|
+
protocol: 'http'
|
41
|
+
}),
|
42
|
+
isHttps: !!httpsOptions
|
43
|
+
};
|
44
|
+
}
|
@@ -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,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.nameTemplates = nameTemplates;
|
7
|
+
// NOTE: these below code can be done in js,
|
8
|
+
// we did copy paste in order to aviod unnecessary confussion
|
9
|
+
const templates = {
|
10
|
+
js: ['js/[name].js', 'js/[name].[contenthash].js'],
|
11
|
+
chunkjs: ['js-chunks/[name].js', 'js-chunks/[name].[contenthash].js'],
|
12
|
+
i18njs: ['i18n-chunks/[locale]/[name].i18n.js', 'i18n-chunks/[locale]/[name].[chunkhash].i18n.js'],
|
13
|
+
i18nchunkjs: ['i18n-chunks/[locale]/[name].i18n.js', // 'i18n-chunks/[locale]/[name].[chunkhash].i18n.js'
|
14
|
+
'i18n-chunks/[locale]/[name].[contenthash].i18n.js'],
|
15
|
+
i18nmanifest: ['i18n-manifest.json', 'i18n-manifest.json'],
|
16
|
+
workerjs: ['js/[name].js', 'js/[name].[contenthash].js'],
|
17
|
+
css: ['css/[name].css', 'css/[name].[contenthash].css'],
|
18
|
+
|
19
|
+
/**
|
20
|
+
* NOTE: when you change (cssdir) this line it will have affect on Below files will be affected
|
21
|
+
* custom_plugins/RtlSplitPlugin/*
|
22
|
+
* pluginConfigs/configMiniCSSExtractPlugin.js
|
23
|
+
* pluginConfigs/configRtlCssPlugin.js
|
24
|
+
* */
|
25
|
+
cssdir: ['css/[name].[dir].css', 'css/[name].[contenthash].[dir].css'],
|
26
|
+
image: ['images/[name][ext]', 'images/[name].[contenthash][ext]'],
|
27
|
+
font: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
28
|
+
svg: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
29
|
+
audio: ['fonts/[name][ext]', 'fonts/[name].[contenthash][ext]'],
|
30
|
+
video: ['videos/[name][ext]', 'videos/[name].[contenthash][ext]']
|
31
|
+
};
|
32
|
+
|
33
|
+
function createNameTemplate(name, enableChunkHash) {
|
34
|
+
// const ext = `${enableChunkHash ? '.[hash:20]' : ''}[ext]`;
|
35
|
+
return enableChunkHash ? name[1] : name[0];
|
36
|
+
}
|
37
|
+
|
38
|
+
function nameTemplates(type, options) {
|
39
|
+
const {
|
40
|
+
enableChunkHash
|
41
|
+
} = options;
|
42
|
+
const tname = templates[type];
|
43
|
+
|
44
|
+
if (!tname) {
|
45
|
+
throw Error(`specifiyed type not valid Type: ${type}`);
|
46
|
+
}
|
47
|
+
|
48
|
+
return createNameTemplate(tname, enableChunkHash);
|
49
|
+
} // export function cssDirNameTemplate(dir, options) {
|
50
|
+
// return nameTemplates('cssdir', options).replace(/\[dir\]/g, dir);
|
51
|
+
// }
|
package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js
ADDED
@@ -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
|
+
}
|
package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
|
9
|
+
|
10
|
+
var _webpack = require("webpack");
|
11
|
+
|
12
|
+
var _readOptions = require("../../../schemas/readOptions");
|
13
|
+
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
16
|
+
const pluginName = 'CdnChangePlugin';
|
17
|
+
const MODULE_TYPE = 'css/mini-extract';
|
18
|
+
|
19
|
+
const isI18nFile = url => url.endsWith('.i18n.js');
|
20
|
+
|
21
|
+
const {
|
22
|
+
app: {
|
23
|
+
enableSMap
|
24
|
+
}
|
25
|
+
} = (0, _readOptions.getOptions)();
|
26
|
+
|
27
|
+
class CdnChangeRuntimePlugin extends _webpack.RuntimeModule {
|
28
|
+
constructor(compiler, {
|
29
|
+
variableName
|
30
|
+
}) {
|
31
|
+
super('cdn loading', 10);
|
32
|
+
console.log('cdn loading', variableName);
|
33
|
+
this.variableName = variableName;
|
34
|
+
}
|
35
|
+
|
36
|
+
generate() {
|
37
|
+
console.log('changeing public pah');
|
38
|
+
return `${_webpack.RuntimeGlobals.getChunkCssFilename} = function(chunkId) {
|
39
|
+
const cssCdnUrl = window[${this.variableName}]/chunkId;
|
40
|
+
console.log(chunkId);
|
41
|
+
return cssCdnUrl;
|
42
|
+
}`;
|
43
|
+
}
|
44
|
+
|
45
|
+
}
|
46
|
+
|
47
|
+
class CdnChangePlugin {
|
48
|
+
constructor(options) {
|
49
|
+
console.log("Insdie", options);
|
50
|
+
this.i18nTemplate = options.i18nTemplate || '{{__I18N_CDN__}}';
|
51
|
+
this.variableName = options.variableName || '__CSS_CDN__';
|
52
|
+
this.cssTemplate = options.cssTemplate || '{{__CSS_CDN__}}';
|
53
|
+
this.jsTemplate = options.jsTemplate || '{{__JS_CDN__}}';
|
54
|
+
}
|
55
|
+
|
56
|
+
apply(compiler) {
|
57
|
+
compiler.hooks.thisCompilation.tap(pluginName, compilation => {
|
58
|
+
const enabledChunks = new WeakSet();
|
59
|
+
|
60
|
+
const handler = (entryRuntimeChunk, set) => {
|
61
|
+
if (enabledChunks.has(entryRuntimeChunk)) {
|
62
|
+
return;
|
63
|
+
}
|
64
|
+
|
65
|
+
enabledChunks.add(entryRuntimeChunk);
|
66
|
+
|
67
|
+
if (typeof chunkFilename === 'string' && /\[(full)?hash(:\d+)?\]/.test(chunkFilename)) {
|
68
|
+
set.add(_webpack.RuntimeGlobals.getFullHash);
|
69
|
+
}
|
70
|
+
|
71
|
+
set.add(_webpack.RuntimeGlobals.getChunkCssFilename);
|
72
|
+
compilation.addRuntimeModule(entryRuntimeChunk, new CdnChangeRuntimePlugin(set, {
|
73
|
+
compiler,
|
74
|
+
variableName: this.variableName
|
75
|
+
}));
|
76
|
+
};
|
77
|
+
|
78
|
+
compilation.hooks.runtimeRequirementInTree.for(_webpack.RuntimeGlobals.ensureChunkHandlers).tap(pluginName, handler);
|
79
|
+
});
|
80
|
+
compiler.hooks.compilation.tap(pluginName, compilation => {
|
81
|
+
_htmlWebpackPlugin.default.getHooks(compilation).beforeAssetTagGeneration.tap(pluginName, (data, cb) => {
|
82
|
+
data.assets = Object.assign({}, data.assets, {
|
83
|
+
css: data.assets.css.map(css => `${this.cssTemplate}${css}`),
|
84
|
+
js: data.assets.js.map(js => {
|
85
|
+
if (enableSMap && !isI18nFile(js)) {
|
86
|
+
console.log("js file ==>", js);
|
87
|
+
js = js.replace('js/', `{{--js-smap}}js/`); //eslint-disable-line
|
88
|
+
}
|
89
|
+
|
90
|
+
return `${isI18nFile(js) ? this.i18nTemplate : this.jsTemplate}${js}`;
|
91
|
+
})
|
92
|
+
});
|
93
|
+
cb && cb(null, data);
|
94
|
+
});
|
95
|
+
});
|
96
|
+
}
|
97
|
+
|
98
|
+
}
|
99
|
+
|
100
|
+
var _default = CdnChangePlugin; // Cdn Change Plugin for runtime chunks???
|
101
|
+
|
102
|
+
/**
|
103
|
+
* the filename of the script part of the chunk
|
104
|
+
*/
|
105
|
+
// exports.getChunkScriptFilename = "__webpack_require__.u";
|
106
|
+
// /**
|
107
|
+
// * the filename of the css part of the chunk
|
108
|
+
// */
|
109
|
+
// exports.getChunkCssFilename = "__webpack_require__.k";
|
110
|
+
|
111
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# I18n Split Plugin ContributionGuide
|
2
|
+
we have modifyed mini-css-extract-plugin to sute our needs of i18n related extraction and downloading.
|
3
|
+
So In future may be when we need to update mini-css-extract-plugin Kindly cross check with this I18n Plugin as well.
|
4
|
+
|
5
|
+
Even not breaking change, may be just performacne update or feature update. addeding that to this plugin will be use full. Kindly consider it.
|
6
|
+
|
7
|
+
## Thing we Ignored
|
8
|
+
* we use webpack ast hook for adding I18nDependency. So we did not need `loader.js`
|
9
|
+
* we ignore order of import in single chunk since I18n going to be download as object.
|
10
|
+
we did not need it.
|
11
|
+
*
|