@zohodesk/react-cli 1.1.18-exp.2 → 1.1.18-exp.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/README.md +6 -0
  2. package/bin/cli.js +0 -4
  3. package/lib/babel/babel-option-utils/babel-preset-react-option.js +22 -0
  4. package/lib/babel/cmjs-plugins-presets.js +12 -11
  5. package/lib/babel/es-plugins-presets.js +12 -12
  6. package/lib/configs/webpack.dev.config.js +0 -4
  7. package/lib/configs/webpack.prod.config.js +9 -6
  8. package/lib/loaderUtils/getDevJsLoaders.js +5 -1
  9. package/lib/schemas/index.js +0 -3
  10. package/npm-shrinkwrap.json +29 -1074
  11. package/package.json +1 -6
  12. package/packages/client_build_tool/lib/allCommandsConfigs.js +23 -0
  13. package/packages/client_build_tool/lib/buildToolLoggers.js +32 -0
  14. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +21 -0
  15. package/packages/client_build_tool/lib/commands/build/config.js +12 -0
  16. package/packages/client_build_tool/lib/commands/build/errorHander.js +10 -0
  17. package/packages/client_build_tool/lib/commands/build/index.js +35 -0
  18. package/packages/client_build_tool/lib/commands/build/optionsProcesser.js +40 -0
  19. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +17 -0
  20. package/packages/client_build_tool/lib/commands/buildEs/config.js +12 -0
  21. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +17 -0
  22. package/packages/client_build_tool/lib/commands/buildLib/config.js +12 -0
  23. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +13 -0
  24. package/packages/client_build_tool/lib/commands/start/config.js +12 -0
  25. package/packages/client_build_tool/lib/commands/start/deprecationHandler.js +10 -0
  26. package/packages/client_build_tool/lib/commands/start/errorHander.js +10 -0
  27. package/packages/client_build_tool/lib/commands/start/optionsProcesser.js +36 -0
  28. package/packages/client_build_tool/lib/commands/start/postProcesser.js +10 -0
  29. package/packages/client_build_tool/lib/commands/start/preProcesser.js +10 -0
  30. package/packages/client_build_tool/lib/commandsRouter.js +71 -0
  31. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +44 -0
  32. package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  33. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +51 -0
  34. package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  35. package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  36. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +111 -0
  37. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCPlugin.js +1 -0
  38. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  39. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +136 -0
  40. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  41. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  42. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  43. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  44. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nDependency.js +99 -0
  45. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +81 -0
  46. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nModule.js +201 -0
  47. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +401 -0
  48. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +67 -0
  49. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  50. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  51. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +49 -0
  52. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  53. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +63 -0
  54. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  55. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  56. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +127 -0
  57. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  58. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +63 -0
  59. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +89 -0
  60. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  61. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +15 -0
  62. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +155 -0
  63. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin.js +49 -0
  64. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/ExcludePlugin.js +58 -0
  65. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/RTLSplitPlugin.js +139 -0
  66. package/packages/client_build_tool/lib/shared/bundler/webpack/devServerConfig.js +34 -0
  67. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +30 -0
  68. package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +17 -0
  69. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +14 -0
  70. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +24 -0
  71. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  72. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  73. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +138 -0
  74. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +83 -0
  75. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +23 -0
  76. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  77. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +39 -0
  78. package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +28 -0
  79. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +18 -0
  80. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyThirdpartyFile.js +38 -0
  81. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +24 -0
  82. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +28 -0
  83. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +35 -0
  84. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  85. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -0
  86. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +19 -0
  87. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  88. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +18 -0
  89. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configUglifyCSSPlugin.js +15 -0
  90. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +39 -0
  91. package/packages/client_build_tool/lib/shared/bundler/webpack/postcssPlugins.js +36 -0
  92. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +42 -0
  93. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +12 -0
  94. package/packages/client_build_tool/lib/shared/bundler/webpack/webpack.dev.config.js +17 -0
  95. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +24 -0
  96. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +50 -0
  97. package/packages/client_build_tool/lib/shared/commands-utlis/doBasicRequiermentCheck.js +16 -0
  98. package/packages/client_build_tool/lib/shared/commands-utlis/getCliPath.js +38 -0
  99. package/packages/client_build_tool/lib/shared/commands-utlis/index.js +29 -0
  100. package/packages/client_build_tool/lib/shared/commands-utlis/log.js +13 -0
  101. package/packages/client_build_tool/lib/shared/commands-utlis/readArgsFormCommandLine.js +11 -0
  102. package/packages/client_build_tool/lib/shared/commands-utlis/readOptionFormCommandLine.js +11 -0
  103. package/packages/client_build_tool/lib/shared/commands-utlis/spanSync.js +35 -0
  104. package/packages/client_build_tool/lib/shared/constants.js +33 -0
  105. package/packages/client_build_tool/lib/shared/schemas/applyValuesToShema.js +37 -0
  106. package/packages/client_build_tool/lib/shared/schemas/cliArgsToObject.js +37 -0
  107. package/packages/client_build_tool/lib/shared/schemas/defaultConfigValues.js +119 -0
  108. package/packages/client_build_tool/lib/shared/schemas/deprecatedOptionsHandler.js +65 -0
  109. package/packages/client_build_tool/lib/shared/schemas/getCWD.js +23 -0
  110. package/packages/client_build_tool/lib/shared/schemas/getNpmVersion.js +21 -0
  111. package/packages/client_build_tool/lib/shared/schemas/npmConfigToObject.js +32 -0
  112. package/packages/client_build_tool/lib/shared/schemas/oldDefaultConfigValues.js +480 -0
  113. package/packages/client_build_tool/lib/shared/schemas/readOptions.js +55 -0
  114. package/packages/client_build_tool/lib/shared/schemas/readOptionsForPackageJson.js +26 -0
  115. package/packages/client_build_tool/lib/shared/schemas/readOptionsOld.js +152 -0
  116. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.crt +37 -0
  117. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.key +27 -0
  118. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +40 -0
  119. package/packages/client_build_tool/lib/shared/server/corsHandleing.js +28 -0
  120. package/packages/client_build_tool/lib/shared/server/getIp.js +30 -0
  121. package/packages/client_build_tool/lib/shared/server/getServerURL.js +29 -0
  122. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +53 -0
  123. package/packages/client_build_tool/lib/shared/server/initExpressApp.js +19 -0
  124. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +66 -0
  125. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +24 -0
  126. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +40 -0
  127. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +26 -0
  128. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +34 -0
  129. package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  130. package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  131. package/packages/client_build_tool/lib/shared/server/unwanted/devServerUtlis.js +1 -0
  132. package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  133. package/packages/client_build_tool/lib/shared/server/unwanted/webpackConfig.js +32 -0
  134. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  135. package/packages/client_build_tool/lib/shared/server/urlConcat.js +25 -0
  136. package/packages/client_build_tool/lib/shared/utils/utils.js +1 -0
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getOptions = void 0;
7
+
8
+ var _child_process = require("child_process");
9
+
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+
12
+ var _path = _interopRequireDefault(require("path"));
13
+
14
+ var _defaultConfigValues = _interopRequireDefault(require("./defaultConfigValues.js"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ // import { argv } from 'process';
19
+ const args = process.argv.slice(2); // console.log('argv', argv);
20
+
21
+ const NPM_CONFIG_PREFIX = 'npm_config_'; // TODO: we have to do option parse logic little better
22
+ // if user use react-cli stritly without using npm scripts options won't work,
23
+ // So we have to write our own option parse logic or some other library
24
+ // console.log('type', process.argv, process.env.npm_config_check, process.env.npm_config_clone_type, process.env.npm_config_clone_url);
25
+ // 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')));
26
+ // // clone:type
27
+
28
+ const processEnv = {};
29
+ let keysWithColon = [];
30
+ Object.keys(process.env).filter(key => key.startsWith(NPM_CONFIG_PREFIX)).forEach(key => {
31
+ let nkey = key.slice(NPM_CONFIG_PREFIX.length);
32
+ processEnv[nkey] = process.env[key];
33
+ nkey.includes(':') && keysWithColon.push(nkey);
34
+ });
35
+ keysWithColon.forEach(key => {
36
+ let nkey = key.replace(/:/g, '_');
37
+
38
+ if (processEnv[nkey]) {
39
+ throw Error('there is some options conflict', key, nkey);
40
+ }
41
+
42
+ processEnv[nkey] = processEnv[key];
43
+ });
44
+
45
+ function getNpmVersion() {
46
+ // require("child_process").
47
+ let vers = '6';
48
+
49
+ try {
50
+ [vers] = (0, _child_process.execSync)('npm -v').toString().trim().split('.');
51
+ } catch (error) {
52
+ console.log(error);
53
+ }
54
+
55
+ return vers;
56
+ }
57
+
58
+ function getCWD() {
59
+ // require("child_process").
60
+ let cwd = process.cwd();
61
+
62
+ try {
63
+ let ress = (0, _child_process.execSync)('npm bin').toString();
64
+ let i = ress.lastIndexOf('node_modules');
65
+ cwd = i === -1 ? cwd : ress.slice(0, i);
66
+ } catch (error) {
67
+ console.log(error);
68
+ }
69
+
70
+ return cwd;
71
+ } // experimental argumnet parsing logic
72
+
73
+
74
+ args.forEach(option => {
75
+ if (/^--./.test(option)) {
76
+ let equIndex = option.indexOf('='); // equIndex = equIndex === -1 ? option.length : equIndex;
77
+
78
+ let key = option.slice(2, equIndex);
79
+ let value = option.slice(equIndex + 1);
80
+
81
+ if (equIndex === -1) {
82
+ key = option.slice(2);
83
+ value = true;
84
+ }
85
+
86
+ key = key.replace(/-|:/g, '_');
87
+ processEnv[key] = value;
88
+ }
89
+ });
90
+
91
+ let defaulter = (target, source) => {
92
+ let defaultObject = {};
93
+ Object.keys(target).forEach(key => {
94
+ let data = target[key];
95
+
96
+ if (data && typeof data === 'object') {
97
+ if (Array.isArray(data)) {
98
+ defaultObject[key] = source[key] || data;
99
+ } else if (typeof data.cli === 'string') {
100
+ let cliData;
101
+
102
+ if (typeof processEnv[data.cli] === 'string') {
103
+ cliData = processEnv[data.cli];
104
+ } else if (typeof processEnv[data.cli.toLowerCase()] === 'string') {
105
+ cliData = processEnv[data.cli.toLowerCase()];
106
+ } else {
107
+ cliData = source && source[key] || data.value;
108
+ }
109
+
110
+ if (typeof data.value === 'boolean') {
111
+ cliData = cliData === 'true' || cliData === true ? true : cliData === 'false' || cliData === false || cliData === '' ? false : data.value;
112
+ }
113
+
114
+ defaultObject[key] = cliData;
115
+ } else {
116
+ defaultObject[key] = defaulter(data, source && source[key] ? source[key] : Array.isArray(target[key]) ? [] : {});
117
+ }
118
+ } else {
119
+ defaultObject[key] = typeof source === 'object' && source[key] !== null && typeof source[key] !== 'undefined' ? source[key] : target[key];
120
+ }
121
+ });
122
+ return defaultObject;
123
+ };
124
+
125
+ global.reactCLIOptions = null;
126
+
127
+ const getOptions = () => {
128
+ if (global.reactCLIOptions) {
129
+ return global.reactCLIOptions;
130
+ }
131
+
132
+ let appPath = process.cwd();
133
+ let userSchemas;
134
+
135
+ let packagePath = _path.default.join(appPath, 'package.json');
136
+
137
+ if (_fs.default.existsSync(packagePath)) {
138
+ userSchemas = require(packagePath)['react-cli'] || {};
139
+ }
140
+
141
+ let options = defaulter(_defaultConfigValues.default, userSchemas || {}); // for future may be for npm 8 edge cases
142
+
143
+ options.npmVersion = getNpmVersion();
144
+ options.cwd = getCWD();
145
+ options.packageVersion = process.env.npm_package_version;
146
+ options.extraArgs = process.argv.slice(3);
147
+ options.commandOption = process.argv[2];
148
+ global.reactCLIOptions = options;
149
+ return options;
150
+ };
151
+
152
+ exports.getOptions = getOptions;
@@ -0,0 +1,37 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIGXjCCBUagAwIBAgIRAMKJgToWlDYncIf54wIl/K4wDQYJKoZIhvcNAQELBQAw
3
+ gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
4
+ BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
5
+ AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
6
+ QTAeFw0yMjA0MjAwMDAwMDBaFw0yMzA0MjAyMzU5NTlaMB4xHDAaBgNVBAMTE2Nz
7
+ ZXouem9ob2NvcnBpbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
8
+ AQDaiXIoQmlYF7guFyGcjqmwJ4ksETK7R0QVoald3h0f8nkbqn29fg3MwvmMmnCV
9
+ 27frm0wYaWK7/xIWb0IIxYqGG2OmOFC4lv/jrGa96EH3fHm0DVU+4gFOf+qdvjdt
10
+ vBdCxWw++dG8KJsbeFcJoF+az/Ei9vhjzgrKtHH62b9aw5i5lpVFbq9bZ0xr3xOx
11
+ brOpZDk/Af2svICTi15/G+YGM7X5DL7z2tjtX8KZ5cbLIjkQS7chtjmx61Tuwq+f
12
+ 4zk0ge8w9hNkvcYrsueuT/FDyO8wbPphNPJBdGrjLnMT05vedAryYfl7LHe8ib3m
13
+ T6QQ0afxvkIyOkpjIEiN1E/jAgMBAAGjggMjMIIDHzAfBgNVHSMEGDAWgBSNjF7E
14
+ VK2K4Xfpm/mbBeG4AY1h4TAdBgNVHQ4EFgQUmkpYbSWtXdFPZfJSz+yW7EA0mjYw
15
+ DgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUH
16
+ AwEGCCsGAQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEF
17
+ BQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEF
18
+ BQcBAQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2Vj
19
+ dGlnb1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYB
20
+ BQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMIIBfwYKKwYBBAHWeQIEAgSC
21
+ AW8EggFrAWkAdwCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYBH
22
+ FYz3AAAEAwBIMEYCIQD0YmMCd5ZPhVwCYdHJFXaB3TeEVtY3GGBmJreCYpxpWwIh
23
+ AKPLd+IUbrKGjN436yXigPnSHYMhYHjcOIwkJilCKW4kAHYAejKMVNi3LbYg6jjg
24
+ Uh7phBZwMhOFTTvSK8E6V6NS61IAAAGARxWMsAAABAMARzBFAiEA2QOIvUWLlk5d
25
+ dCQ+b3rJrhJhhgYu4KReme7QYuopJL8CIEuwHH4Ro9RfFajzZcYfL0tQO1zacBM+
26
+ yRVvLTF3MbwDAHYA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAGA
27
+ RxWMjwAABAMARzBFAiAU9r8DFaPKtVJ/uCelx8aYgmawpzthhaOATzfS2jWpNwIh
28
+ AJsUAAMJb17Vwk4HucoLRN3ve2qm8TzRiGepKIh/r0rdMEsGA1UdEQREMEKCE2Nz
29
+ ZXouem9ob2NvcnBpbi5jb22CFSouY3Nlei56b2hvY29ycGluLmNvbYIUKi50c2ku
30
+ em9ob2NvcnBpbi5jb20wDQYJKoZIhvcNAQELBQADggEBADbqEtyp7J47CbCHIZ+A
31
+ nedURDLTV0G2cR/yHxbbSUfQsJUt8t736JVw4JnRN2Exch32v9LHvEr40O7TL4er
32
+ OQuEIe7wTkcJ7wZ6bkxgI/ip8y0w2Ips4eVxSmnYYk0AjiyKmn+ujdNZ0yz7qfUE
33
+ ysgRbsyL4ODlUBdTHjS6vFVtTmDWGE9St/gkQEHPoyGNe7v6+39GJEHW2XKYfuhK
34
+ //nHcQxvyr2O5dJGlP1q1WIJRJyCp3Srbgso55H/ylmwfJ7ePYgM4GWbWEfSDLHW
35
+ KOZL2IZgz+oRJikKU4CAvjKvpULK2rSnIs2W11z4KtLqyzTrVmkuJ6MP2rMBQrHu
36
+ jTs=
37
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEowIBAAKCAQEA2olyKEJpWBe4LhchnI6psCeJLBEyu0dEFaGpXd4dH/J5G6p9
3
+ vX4NzML5jJpwldu365tMGGliu/8SFm9CCMWKhhtjpjhQuJb/46xmvehB93x5tA1V
4
+ PuIBTn/qnb43bbwXQsVsPvnRvCibG3hXCaBfms/xIvb4Y84KyrRx+tm/WsOYuZaV
5
+ RW6vW2dMa98TsW6zqWQ5PwH9rLyAk4tefxvmBjO1+Qy+89rY7V/CmeXGyyI5EEu3
6
+ IbY5setU7sKvn+M5NIHvMPYTZL3GK7Lnrk/xQ8jvMGz6YTTyQXRq4y5zE9Ob3nQK
7
+ 8mH5eyx3vIm95k+kENGn8b5CMjpKYyBIjdRP4wIDAQABAoIBACfOaGpX6nte2rAe
8
+ i4NKYzNQiEZsHYsKaKbuCv0ro695icDV1dCJ4PaevzjyurY5Tu+OGpbJv2/R/tfy
9
+ TRtu7BQQch7JXD67VoIAmbhW0YlEdaCr2w64uRc06qXwC4WkALKrZlO0SpVU6iff
10
+ TC9XNILtBJXjWYxIcCPLKYXRWu8romGJGNvZlabHkMMk1eF/rZvdmlgVj1LCE//A
11
+ gjYPsiWCDi0ZWOCXNmKq4yNQnAPjHb4nhN/BumXKn9D/wl282FFx6E9Yetg/bvj6
12
+ f2JN8AST1WwMcPxdnDKC+ZUD0mQqG+w3g47dkaTxc1G5Yot9t0rYujIjbtaFLiWN
13
+ MEGDtsUCgYEA+TIOItGeaRRPdAfXDKjEw2/UfnNr1S9DyAFP7j3UajR7bDv/wWSG
14
+ ct0tJnpK/LvnYsvTF1QQ3PV1hNNtu97XdDV6rwuDeVXOfDBH0ctbnqevTw4ShRuG
15
+ +0qwfychuIy4jG0ZHGFn5adhBhspxGjgYqxJo9fdQBjU0ciH91B6IeUCgYEA4IEU
16
+ GW9rJoVB86HVdaadq2VmuOdyGa+tLkPh8v47vPGB/vpRlThuuRRc51Oq+SRh7bC7
17
+ FO4cjOa6VpM9dkeAc2GFPs+uyzzU8yRxeqO3gicvXC1sApaca9uv8Vp3WDacnlsu
18
+ shVM+RXKLEi8/JHrcr9BCvSlycvZy8t+QUp6LicCgYBE1ocBJ1bTQEESlHfbj2OL
19
+ eYEBzXCkW4Il5fbmoT3keMr/gzOLgPGDGYY3cuD0IBQzPor5jsd5wnTMVHujwlNS
20
+ TtOtN0kCY6m+tLeiRMLyeO/8rq5/BrOrB17qQS0XhggVAq5FIMNKtYof3bEUCMSz
21
+ fVR6Zk9APZvMt9CXiSuz4QKBgFHDMMrCpUd2KLrOKaubbrjJSUv2Hrv0GyJKXrPc
22
+ m20Il8uA5s1trAWDwQIOmqn58iBayQeqYIOAVETLgwrcp49d6OUjRgmGsheLIjkD
23
+ /wVLuBfeAwQ+TeGKNN21kNlzqj6R/sOktk/Q+7x9ETb6/cDgnpOa3fZMY5mxFt44
24
+ fZ7pAoGBAN8ep49qQWxChYfqu75d3dkCcbF6UeWS+mDZ1QDkiJ5hGlDWDAC7EUma
25
+ jf7c56wBydih+2XKFq2BWxyFcfzzxKJrNeMhGANi/yJ1QrECyrwVWnhP+OFfG5vR
26
+ O+PzUCwZGet0PHG6r6IuvpGMCdZDYCt+fZSvIRJtmvIrtZWGKQly
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configWebpackDevMiddleware = configWebpackDevMiddleware;
7
+ exports.webpackDevMiddlewareConfig = webpackDevMiddlewareConfig;
8
+
9
+ var _webpack = require("webpack");
10
+
11
+ var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
12
+
13
+ var _webpackConfig = _interopRequireDefault(require("../bundler/webpack/webpackConfig"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ function webpackDevMiddlewareConfig(options) {
18
+ const {
19
+ publicPath
20
+ } = options;
21
+ return {
22
+ stats: 'minimal',
23
+ index: 'index.html',
24
+ publicPath,
25
+ headers: {
26
+ 'Access-Control-Allow-Origin': '*'
27
+ }
28
+ };
29
+ }
30
+
31
+ function configWebpackDevMiddleware(app, options) {
32
+ const config = (0, _webpackConfig.default)(options);
33
+ const compiler = (0, _webpack.webpack)(config); // console.log("mode", mode)
34
+
35
+ const devMiddleware = (0, _webpackDevMiddleware.default)(compiler, webpackDevMiddlewareConfig(options));
36
+ app.use(devMiddleware);
37
+ return {
38
+ compiler
39
+ };
40
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.corsHandleing = corsHandleing;
7
+
8
+ var _express = _interopRequireDefault(require("express"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function corsHandleing(app, options) {
13
+ const {
14
+ contextURL,
15
+ context
16
+ } = options;
17
+ app.use((req, res, next) => {
18
+ //console.log('origin', req.get('origin'));
19
+ res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*'); // res.setHeader('Access-Control-Allow-Origin', req.get('origin'));
20
+
21
+ res.setHeader('Access-Control-Allow-Private-Network', true);
22
+ res.setHeader('Access-Control-Allow-Credentials', true);
23
+ next();
24
+ }).use(`${contextURL}/fonts`, _express.default.static(`${context}/fonts`));
25
+ app.options('/*', (req, res) => {
26
+ res.send('Ok');
27
+ });
28
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getIp = getIp;
7
+
8
+ var _os = _interopRequireDefault(require("os"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function getIp() {
13
+ let ifaces = _os.default.networkInterfaces();
14
+
15
+ let ips = [];
16
+ Object.keys(ifaces).forEach(ifname => {
17
+ let a = ifaces[ifname].map(iface => {
18
+ if ('IPv4' !== iface.family || iface.internal !== false) {
19
+ return null;
20
+ }
21
+
22
+ return iface.address;
23
+ }).filter(a => a);
24
+ ips = ips.concat(a);
25
+ });
26
+ ips.push('127.0.0.1');
27
+ return ips[0];
28
+ }
29
+
30
+ ;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getServerDomain = getServerDomain;
7
+ exports.getServerUrl = getServerUrl;
8
+
9
+ function getServerDomain(serverInfo) {
10
+ const {
11
+ host,
12
+ domain
13
+ } = serverInfo;
14
+
15
+ if (domain) {
16
+ return `${host}.${domain}.zohocorpin.com`;
17
+ }
18
+
19
+ return host;
20
+ }
21
+
22
+ function getServerUrl({
23
+ domain,
24
+ port,
25
+ protocol = 'http'
26
+ }) {
27
+ const prefix = protocol ? `${protocol}:` : '';
28
+ return `${prefix}//${domain}:${port}/`;
29
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.httpsOptions = httpsOptions;
7
+ exports.httpsOptionsWithUserFriendlyError = httpsOptionsWithUserFriendlyError;
8
+
9
+ var _buildToolLoggers = require("../../buildToolLoggers");
10
+
11
+ var _constants = require("../constants");
12
+
13
+ // import fs from 'fs';
14
+ // import path from 'path';
15
+ // export const httpsOptions = {
16
+ // key: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.key')),
17
+ // cert: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.crt'))
18
+ // };
19
+ function httpsOptions(options) {
20
+ const {
21
+ httpsCerts
22
+ } = options.server; // eslint-disable-next-line global-require, import/no-dynamic-require
23
+
24
+ const certificate = require(require.resolve(httpsCerts, {
25
+ paths: [process.cwd()]
26
+ })); // TODO: in future we may do some version based check. certificate.version
27
+
28
+
29
+ return certificate.httpsOptions;
30
+ }
31
+
32
+ function httpsOptionsWithUserFriendlyError(options) {
33
+ const {
34
+ httpsCerts
35
+ } = options.server;
36
+
37
+ if (typeof httpsCerts === 'string' && httpsCerts) {
38
+ try {
39
+ const certificate = httpsOptions(options);
40
+ return certificate;
41
+ } catch (error) {
42
+ if (error.msg.indexOf('Error: Cannot find module') !== -1) {
43
+ (0, _buildToolLoggers.errorLogger)(`You have given ${_constants.BASE_CONFIG_KEY}.server.httpsCerts as "${httpsCerts}.
44
+ But it seems that file path have some problem";`);
45
+ }
46
+
47
+ (0, _buildToolLoggers.errorLogger)(error);
48
+ process.exit(0);
49
+ }
50
+ }
51
+
52
+ return null;
53
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.initExpressApp = initExpressApp;
7
+
8
+ var _express = _interopRequireDefault(require("express"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function initExpressApp() {
13
+ const app = (0, _express.default)();
14
+ app.use(_express.default.json());
15
+ app.use(_express.default.urlencoded({
16
+ extended: true
17
+ }));
18
+ return app;
19
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.initialHTMLHandling = initialHTMLHandling;
7
+
8
+ var _buildToolLoggers = require("../../buildToolLoggers");
9
+
10
+ function initialHTMLHandling(compiler, app, options) {
11
+ const {
12
+ contextURL
13
+ } = options;
14
+ const {
15
+ i18nChunkSplit
16
+ } = options;
17
+ const {
18
+ rtlSplit
19
+ } = options.css.plugins;
20
+ let initalHTML;
21
+ compiler.hooks.afterCompile.tap('ReactCLI', compilation => {
22
+ const indexHtml = compilation.assets['index.html']; // compiler.outputFileSystem.readFileSync("build/index.html");
23
+
24
+ if (indexHtml) {
25
+ initalHTML = indexHtml.source();
26
+ }
27
+ });
28
+ app.use(`${contextURL}/*`, (req, res) => {
29
+ // // app.use(`/desk/*`, (req, res) => {
30
+ // const { rtlSplit } = options.css.plugins;
31
+ let newHTML = initalHTML;
32
+
33
+ if (i18nChunkSplit.chunkSplitEnable) {
34
+ // eslint-disable-next-line no-use-before-define
35
+ newHTML = replaceWithRandomLocale(newHTML, i18nChunkSplit.templateLabel);
36
+ }
37
+
38
+ if (rtlSplit.enableRTLSplit) {
39
+ // eslint-disable-next-line no-use-before-define
40
+ newHTML = replaceWithRandomDir(newHTML, rtlSplit.templateLabel);
41
+ }
42
+
43
+ res.send(newHTML);
44
+ });
45
+
46
+ function replaceWithRandomLocale(initalHTML, templateLabel) {
47
+ const locales = ['ar_EG', 'da_DK', 'de_DE', 'en_US', 'es_AR', 'es_ES', 'fr_FR', 'hi_IN', 'in_ID', 'it_IT', 'iw_IL', 'ja_JP', 'nl_NL', 'pl_PL', 'pt_BR', 'pt_PT', 'ro_RO', 'ru_RU', 'sv_SE', 'ta_IN', 'te_IN', 'tr_TR', 'zh_CN', 'zh_TW']; // app.use(`/desk/*`, (req, res) => {
48
+ // const locale = 'ta_IN';
49
+
50
+ const locale = locales[Math.floor(Math.random() * locales.length)];
51
+ console.log({
52
+ locale
53
+ });
54
+ return initalHTML.replaceAll(templateLabel, locale);
55
+ }
56
+
57
+ function replaceWithRandomDir(initalHTML, templateLabel) {
58
+ const dirs = ['ltr', 'rtl']; // const dir = 'rtl';
59
+
60
+ const dir = dirs[Math.floor(Math.random() * dirs.length)];
61
+ console.log({
62
+ dir
63
+ });
64
+ return initalHTML.replaceAll(templateLabel, dir);
65
+ }
66
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.serveContextFiles = serveContextFiles;
7
+
8
+ var _express = _interopRequireDefault(require("express"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function serveContextFiles(app, options) {
13
+ const {
14
+ context,
15
+ contextURL,
16
+ contextFolderPath
17
+ } = options;
18
+
19
+ if (contextURL) {
20
+ app.use(contextURL, _express.default.static(contextFolderPath));
21
+ } else {
22
+ app.use(_express.default.static(context));
23
+ }
24
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.run = run;
7
+
8
+ var _corsHandleing = require("./corsHandleing");
9
+
10
+ var _initExpressApp = require("./initExpressApp");
11
+
12
+ var _configWebpackDevMiddleware = require("./configWebpackDevMiddleware");
13
+
14
+ var _serveContextFiles = require("./serveContextFiles");
15
+
16
+ var _startHttpsServer = require("./startHttpsServer");
17
+
18
+ var _initialHTMLHandling = require("./initialHTMLHandling");
19
+
20
+ var _startHttpServer = require("./startHttpServer");
21
+
22
+ // import c from './bundler/webpack/webpack.dev.config.js'
23
+ // import { spawnSyncIO } from '../commands-utlis/spanSync';
24
+ // import { startHttpServer } from './startHttpServer';
25
+ function run(options) {
26
+ const app = (0, _initExpressApp.initExpressApp)();
27
+ (0, _corsHandleing.corsHandleing)(app, options);
28
+ const {
29
+ compiler
30
+ } = (0, _configWebpackDevMiddleware.configWebpackDevMiddleware)(app, options);
31
+ (0, _serveContextFiles.serveContextFiles)(app, options);
32
+ (0, _startHttpsServer.startHttpsServer)(app, options);
33
+ (0, _startHttpServer.startHttpServer)(app, options);
34
+ (0, _initialHTMLHandling.initialHTMLHandling)(compiler, app, options); // return spawnSyncIO('webpack', [
35
+ // 'serve',
36
+ // '--config',
37
+ // require.resolve('../bundler/webpack/webpack.dev.config.js')
38
+ // ]);
39
+ // startHttpServer(app, options);
40
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startHttpServer = startHttpServer;
7
+
8
+ var _buildToolLoggers = require("../../buildToolLoggers");
9
+
10
+ function startHttpServer(app, options) {
11
+ const {
12
+ serverExtras
13
+ } = options;
14
+ const {
15
+ httpPort,
16
+ httpUrl
17
+ } = serverExtras;
18
+ app.listen(httpPort, err => {
19
+ if (err) {
20
+ throw err;
21
+ }
22
+
23
+ (0, _buildToolLoggers.messageLogger)(`Listening at ${httpUrl}`);
24
+ });
25
+ return app;
26
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startHttpsServer = startHttpsServer;
7
+
8
+ var _https = _interopRequireDefault(require("https"));
9
+
10
+ var _buildToolLoggers = require("../../buildToolLoggers");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function startHttpsServer(app, options) {
15
+ const {
16
+ httpsOptions,
17
+ serverExtras
18
+ } = options;
19
+ const {
20
+ httpsPort,
21
+ httpsUrl
22
+ } = serverExtras;
23
+
24
+ const httpsServer = _https.default.createServer(httpsOptions, app);
25
+
26
+ httpsServer.listen(httpsPort, err => {
27
+ if (err) {
28
+ throw err;
29
+ }
30
+
31
+ (0, _buildToolLoggers.messageLogger)(`Listening at ${httpsUrl}`);
32
+ });
33
+ return httpsServer;
34
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addHttp2Server = addHttp2Server;
7
+
8
+ var _utils = require("../../../src/utils");
9
+
10
+ var _httpsOptions = require("../../../src/servers/httpsOptions");
11
+
12
+ function addHttp2Server(http2Port, host, domain, contextURL) {
13
+ const isCompatableHttp2 = Number(process.version.slice(1).split('.')[0]) >= 8;
14
+
15
+ if (isCompatableHttp2) {
16
+ const http2 = require('http2');
17
+
18
+ const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
19
+
20
+ http2Server.on('stream', (stream, headers) => {
21
+ stream.respond({
22
+ 'content-type': 'text/html',
23
+ ':status': 200
24
+ });
25
+ stream.end('<h1>Hello World! <br>Working with http2</h1>');
26
+ });
27
+ http2Server.listen(http2Port, err => {
28
+ if (err) {
29
+ throw err;
30
+ }
31
+
32
+ (0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
33
+ host,
34
+ domain,
35
+ port: http2Port
36
+ }, 'htt' + 'ps')}${contextURL}/`, 'http2 server');
37
+ });
38
+ } else {
39
+ (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
40
+ }
41
+ }