@zohodesk/client_build_tool 0.0.1-0.exp.0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/.babelrc +12 -0
  2. package/.lintstagedrc +3 -0
  3. package/.vscode/settings.json +5 -0
  4. package/CHANGELOG.md +84 -0
  5. package/ConfigurationDocumentation.md +567 -0
  6. package/ContributionGuide.md +2 -0
  7. package/NOTES-Dec12.md +12 -0
  8. package/README.md +184 -0
  9. package/README_backup.md +100 -0
  10. package/TODO.md +35 -0
  11. package/cli.js +31 -0
  12. package/docs/BabelCustomizations.md +55 -0
  13. package/docs/CSSCustomPluginsDocumentation.md +71 -0
  14. package/docs/CustomChunksConfiguration.md +0 -0
  15. package/docs/EFCFileTemplate.md +0 -0
  16. package/docs/MockApi.md +61 -0
  17. package/docs/NameTemplateUtility.md +93 -0
  18. package/docs/ServiseWorkerTemplate.md +0 -0
  19. package/docs/SupportedBrowserVersions.md +61 -0
  20. package/helpDocs/check.js +7 -0
  21. package/helpDocs/commmands/build.md +0 -0
  22. package/helpDocs/commmands/start.md +0 -0
  23. package/helpDocs/examples/buildWithContentHash.md +0 -0
  24. package/helpDocs/examples/startDevServer.md +0 -0
  25. package/helpDocs/examples/startWithMockAPI.md +0 -0
  26. package/helpDocs/node18-env.md +30 -0
  27. package/helpDocs/troubleshootings/NewMachineSetup.md +71 -0
  28. package/helpDocs/troubleshootings/README.md +9 -0
  29. package/helpDocs/troubleshootings/hg_install.sh +18 -0
  30. package/helpDocs/troubleshootings/newMachineMac.sh +86 -0
  31. package/helpDocs/troubleshootings/newMachineUbundu.bash +84 -0
  32. package/lib/allCommandsConfigs.js +25 -0
  33. package/lib/commands/build/commandExecutor.js +17 -0
  34. package/lib/commands/build/config.js +12 -0
  35. package/lib/commands/build/optionsProcessor.js +35 -0
  36. package/lib/commands/build/preProcessor.js +12 -0
  37. package/lib/commands/buildEs/commandExecutor.js +33 -0
  38. package/lib/commands/buildEs/config.js +12 -0
  39. package/lib/commands/buildEs/preProcessor.js +17 -0
  40. package/lib/commands/buildLib/commandExecutor.js +33 -0
  41. package/lib/commands/buildLib/config.js +12 -0
  42. package/lib/commands/buildLib/preProcessor.js +17 -0
  43. package/lib/commands/mockserver/commandExecutor.js +43 -0
  44. package/lib/commands/mockserver/config.js +12 -0
  45. package/lib/commands/pre_process/commandExecutor.js +18 -0
  46. package/lib/commands/pre_process/config.js +12 -0
  47. package/lib/commands/start/commandExecutor.js +12 -0
  48. package/lib/commands/start/config.js +12 -0
  49. package/lib/commands/start/optionsProcessor.js +30 -0
  50. package/lib/commands/start/preProcessor.js +12 -0
  51. package/lib/commands/template/commandExecutor.js +28 -0
  52. package/lib/commands/template/config.js +12 -0
  53. package/lib/commands/version/commandExecutor.js +14 -0
  54. package/lib/commands/version/config.js +12 -0
  55. package/lib/commandsRouter.js +74 -0
  56. package/lib/index.js +12 -0
  57. package/lib/logger.js +34 -0
  58. package/lib/schemas/applyValuesToSchema/index.js +34 -0
  59. package/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  60. package/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  61. package/lib/schemas/cliArgsToObject.js +39 -0
  62. package/lib/schemas/defaultConfigValues.js +393 -0
  63. package/lib/schemas/defaultConfigValuesOnly.js +200 -0
  64. package/lib/schemas/deprecatedOptionsHandler.js +67 -0
  65. package/lib/schemas/getNpmVersion.js +22 -0
  66. package/lib/schemas/giveDefaultValue.js +18 -0
  67. package/lib/schemas/npmConfigToObject.js +35 -0
  68. package/lib/schemas/readOptions.js +87 -0
  69. package/lib/schemas/readOptionsForConfigFile.js +42 -0
  70. package/lib/shared/babel/addDefaultPlugins.js +15 -0
  71. package/lib/shared/babel/babelWebConfig.js +54 -0
  72. package/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
  73. package/lib/shared/babel/getBabelPlugin.js +42 -0
  74. package/lib/shared/babel/runBabelForJSFile.js +24 -0
  75. package/lib/shared/babel/runBabelForTsFile.js +30 -0
  76. package/lib/shared/bundler/webpack/common/decidePublicPath.js +57 -0
  77. package/lib/shared/bundler/webpack/common/hashUtils.js +20 -0
  78. package/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  79. package/lib/shared/bundler/webpack/common/modeUtils.js +39 -0
  80. package/lib/shared/bundler/webpack/common/nameTemplates.js +105 -0
  81. package/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  82. package/lib/shared/bundler/webpack/configCustomLoaders.js +10 -0
  83. package/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  84. package/lib/shared/bundler/webpack/custom_plugins/BundleIntegrityReport/index.js +83 -0
  85. package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/index.js +119 -0
  86. package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/webpackCustomJsUrlLoader.js +46 -0
  87. package/lib/shared/bundler/webpack/custom_plugins/CustomScriptLoadingPlugin.js +109 -0
  88. package/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  89. package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexHtmlInjectorPlugin.js +47 -0
  90. package/lib/shared/bundler/webpack/custom_plugins/I18nNumericIndexPlugin/I18nNumericIndexPlugin.js +190 -0
  91. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  92. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +174 -0
  93. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  94. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +223 -0
  95. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  96. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  97. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  98. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  99. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  100. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  101. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  102. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  103. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  104. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  105. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  106. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  107. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  108. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  109. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectAstKeys.js +98 -0
  110. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  111. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  112. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  113. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  114. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  115. package/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +60 -0
  116. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +30 -0
  117. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +23 -0
  118. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  119. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  120. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +46 -0
  121. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  122. package/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  123. package/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +193 -0
  124. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  125. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  126. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  127. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
  128. package/lib/shared/bundler/webpack/custom_plugins/RuntimeResourceCleanup/index.js +73 -0
  129. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  130. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  131. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  132. package/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  133. package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +120 -0
  134. package/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPluginUtils.js +13 -0
  135. package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +71 -0
  136. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/addHashToFilePath.js +22 -0
  137. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +55 -0
  138. package/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  139. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  140. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +362 -0
  141. package/lib/shared/bundler/webpack/custom_plugins/custom_attribute_plugin/index.js +80 -0
  142. package/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  143. package/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  144. package/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  145. package/lib/shared/bundler/webpack/defaultVendorPatternList.js +13 -0
  146. package/lib/shared/bundler/webpack/devtoolConfig.js +13 -0
  147. package/lib/shared/bundler/webpack/entryConfig.js +28 -0
  148. package/lib/shared/bundler/webpack/externals.js +17 -0
  149. package/lib/shared/bundler/webpack/getCSSLoaders.js +29 -0
  150. package/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
  151. package/lib/shared/bundler/webpack/jsLoaders.js +30 -0
  152. package/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  153. package/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  154. package/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +56 -0
  155. package/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  156. package/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  157. package/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  158. package/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +86 -0
  159. package/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +65 -0
  160. package/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  161. package/lib/shared/bundler/webpack/loaderConfigs/i18nIdReplaceLoaderConfig.js +94 -0
  162. package/lib/shared/bundler/webpack/loaders/i18nIdReplaceLoader.js +201 -0
  163. package/lib/shared/bundler/webpack/loaders/miniCssFallBackLoader.js +7 -0
  164. package/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  165. package/lib/shared/bundler/webpack/optimizationConfig.js +56 -0
  166. package/lib/shared/bundler/webpack/outputConfig.js +38 -0
  167. package/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  168. package/lib/shared/bundler/webpack/pluginConfigs/configBundleIntegrityReport.js +36 -0
  169. package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +28 -0
  170. package/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  171. package/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +63 -0
  172. package/lib/shared/bundler/webpack/pluginConfigs/configCustomAttributesPlugin.js +20 -0
  173. package/lib/shared/bundler/webpack/pluginConfigs/configCustomScriptLoadingStrategyPlugin.js +76 -0
  174. package/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  175. package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +51 -0
  176. package/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  177. package/lib/shared/bundler/webpack/pluginConfigs/configI18nNumericIndexPlugin.js +113 -0
  178. package/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  179. package/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  180. package/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +44 -0
  181. package/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +24 -0
  182. package/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  183. package/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +21 -0
  184. package/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  185. package/lib/shared/bundler/webpack/pluginConfigs/configRuntimeResourceCleanup.js +31 -0
  186. package/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  187. package/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  188. package/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  189. package/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +32 -0
  190. package/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  191. package/lib/shared/bundler/webpack/plugins.js +77 -0
  192. package/lib/shared/bundler/webpack/resolvers.js +82 -0
  193. package/lib/shared/bundler/webpack/splitChunksConfig.js +116 -0
  194. package/lib/shared/bundler/webpack/statsConfig.js +30 -0
  195. package/lib/shared/bundler/webpack/tsLoaders.js +17 -0
  196. package/lib/shared/bundler/webpack/utils/index.js +31 -0
  197. package/lib/shared/bundler/webpack/utils/object-manipulation.js +87 -0
  198. package/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +34 -0
  199. package/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  200. package/lib/shared/bundler/webpack/webpackConfig.js +58 -0
  201. package/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  202. package/lib/shared/commands-utils/getCliPath.js +39 -0
  203. package/lib/shared/commands-utils/index.js +29 -0
  204. package/lib/shared/commands-utils/log.js +13 -0
  205. package/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  206. package/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  207. package/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  208. package/lib/shared/constants.js +48 -0
  209. package/lib/shared/fileUtils/copyFile.js +38 -0
  210. package/lib/shared/fileUtils/directoryIterator.js +21 -0
  211. package/lib/shared/fileUtils/watchRun.js +112 -0
  212. package/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  213. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  214. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  215. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  216. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  217. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  218. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  219. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  220. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  221. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  222. package/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  223. package/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  224. package/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  225. package/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +347 -0
  226. package/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  227. package/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  228. package/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  229. package/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  230. package/lib/shared/pre_process/runPreProcess.js +58 -0
  231. package/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  232. package/lib/shared/server/corsHandling.js +30 -0
  233. package/lib/shared/server/getIp.js +30 -0
  234. package/lib/shared/server/getServerURL.js +36 -0
  235. package/lib/shared/server/httpsOptions.js +46 -0
  236. package/lib/shared/server/initExpressApp.js +19 -0
  237. package/lib/shared/server/initialHTMLHandling.js +99 -0
  238. package/lib/shared/server/mockApiHandler.js +67 -0
  239. package/lib/shared/server/mockServer.js +41 -0
  240. package/lib/shared/server/serveContextFiles.js +27 -0
  241. package/lib/shared/server/serverBywebpackDevMiddleware.js +35 -0
  242. package/lib/shared/server/startHttpServer.js +26 -0
  243. package/lib/shared/server/startHttpsServer.js +38 -0
  244. package/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  245. package/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  246. package/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  247. package/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  248. package/lib/shared/server/urlConcat.js +32 -0
  249. package/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  250. package/lib/shared/utils/utils.js +1 -0
  251. package/lib/shared/utils/versionPrint.js +20 -0
  252. package/npm-shrinkwrap.json +5657 -0
  253. package/package.json +64 -0
  254. package/polyfillForOldNodeVersion.js +10 -0
  255. package/templates/app/README.MD +30 -0
  256. package/templates/app/package.json +12 -0
  257. package/templates/library/README.MD +28 -0
  258. package/templates/library/package.json +11 -0
  259. package/templates/wms/index.html +43 -0
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _os = require("os");
9
+
10
+ // NOTE: Don't use 'config_file' as cli option it was reserved
11
+ var _default = {
12
+ context: {
13
+ value: 'app',
14
+ cli: 'context'
15
+ },
16
+ devtool: 'source-map',
17
+ statsLogConfig: null,
18
+ stats: {
19
+ enable: {
20
+ value: false,
21
+ cli: 'enable_stats',
22
+ type: 'boolean'
23
+ },
24
+ fileName: null,
25
+ options: null,
26
+ excludeKeys: null
27
+ },
28
+ enableFileNameHashing: {
29
+ value: false,
30
+ cli: 'enable_hash'
31
+ },
32
+ bundleAnalyze: {
33
+ value: false,
34
+ cli: 'bundle_analyze'
35
+ },
36
+ enableMockReplace: {
37
+ value: false,
38
+ cli: 'enable_mock_replace'
39
+ },
40
+ noPublicPath: {
41
+ value: false,
42
+ cli: 'no_public_path'
43
+ },
44
+ output: {
45
+ value: 'build',
46
+ cli: 'output'
47
+ },
48
+ mode: {
49
+ value: null,
50
+ cli: 'mode'
51
+ },
52
+ printProgress: {
53
+ value: false,
54
+ cli: 'print_progress'
55
+ },
56
+ server: {
57
+ k8s: {
58
+ value: false,
59
+ cli: 'k8s'
60
+ },
61
+ httpsCerts: {
62
+ value: '',
63
+ cli: 'https_certs'
64
+ },
65
+ host: {
66
+ value: (0, _os.hostname)(),
67
+ cli: 'host'
68
+ },
69
+ port: {
70
+ value: 9090,
71
+ cli: 'port'
72
+ },
73
+ domain: {
74
+ value: null,
75
+ cli: 'domain'
76
+ },
77
+ disableContextURL: {
78
+ value: false,
79
+ cli: 'disable_context'
80
+ }
81
+ },
82
+ mockServer: {
83
+ enable: {
84
+ value: false,
85
+ cli: 'enable_mock'
86
+ },
87
+ separateSeverPort: {
88
+ value: null,
89
+ cli: 'mock_port'
90
+ },
91
+ disableNodemon: {
92
+ value: false,
93
+ cli: 'disable_nodemon'
94
+ },
95
+ mockEntryFile: 'mockapi/index.js',
96
+ mockPrefix: {
97
+ value: '/api',
98
+ cli: 'mock_prefix'
99
+ }
100
+ },
101
+ css: {
102
+ classNameOptions: {
103
+ customizations: [{
104
+ enable: true,
105
+ blob: '[local]',
106
+ patterns: ['*.plain.css']
107
+ }, {
108
+ enable: true,
109
+ blob: '[prefix]-[filename]-[local]',
110
+ patterns: []
111
+ }],
112
+ classNamePrefix: 'zd'
113
+ },
114
+ // NOTE: Suggestions
115
+ // Name Suggestions `customizations` this will be easier then `plugin` to understand for developers
116
+ plugins: {
117
+ rtlSplit: {
118
+ enableRTLSplit: {
119
+ value: false,
120
+ cli: 'enable_rtl_split'
121
+ },
122
+ templateLabel: '{{--dir}}',
123
+ disableMinifySelector: false,
124
+ dirVarName: 'document.dir'
125
+ },
126
+ selectorWeight: {
127
+ enable: false,
128
+ patterns: [],
129
+ configFile: null,
130
+ defaultSelector: '',
131
+ customFileDetails: '',
132
+ excludeStrings: []
133
+ },
134
+ // postcss plugins start
135
+ // NOTE: These we have putted names of post-css-plugins in array
136
+ // packages/client_build_tool/src/shared/bundler/webpack/custom_postcss_loaders/PostCssOptionConstants.js
137
+ valueReplacer: {
138
+ enable: false,
139
+ patterns: [],
140
+ config: []
141
+ },
142
+ selectorReplace: {
143
+ enable: false,
144
+ patterns: [],
145
+ before: [],
146
+ after: []
147
+ },
148
+ hoverActive: {
149
+ enable: false,
150
+ patterns: [],
151
+ hover: '(hover: hover)',
152
+ active: '(hover: none)'
153
+ },
154
+ cssVariableReplacement: {
155
+ enable: false,
156
+ patterns: [],
157
+ configFile: null
158
+ },
159
+ rtl: {
160
+ enable: false,
161
+ patterns: []
162
+ } // postcss - plugins end
163
+
164
+ },
165
+ customPlugins: ['...']
166
+ },
167
+ i18nChunkSplit: {
168
+ chunkSplitEnable: {
169
+ value: false,
170
+ cli: 'i18n_split'
171
+ },
172
+ disableDefault: false,
173
+ templateLabel: '{{--user-locale}}',
174
+ localeVarName: 'document.documentElement.lang',
175
+ jsonpFunc: 'console.log',
176
+ jsResource: null,
177
+ propertiesFolder: null
178
+ },
179
+ i18nIndexing: {
180
+ enable: {
181
+ value: false,
182
+ cli: 'i18n_idx_enable'
183
+ },
184
+ disableDefaultMerge: {
185
+ value: false,
186
+ cli: 'i18n_idx_disable_default_merge'
187
+ },
188
+ htmlTemplateLabel: {
189
+ value: '{{--user-locale}}',
190
+ cli: 'i18n_idx_html_template_label'
191
+ },
192
+ localeVarName: {
193
+ value: 'window.userLangCode',
194
+ cli: 'i18n_idx_locale_var_name'
195
+ },
196
+ jsResourcePath: {
197
+ value: './deskapp/properties/JSResources.properties',
198
+ cli: 'i18n_idx_js_resource_path'
199
+ },
200
+ propertiesFolderPath: {
201
+ value: './deskapp/properties',
202
+ cli: 'i18n_idx_properties_folder_path'
203
+ },
204
+ propertiesPattern: {
205
+ value: ''
206
+ },
207
+ numericMapPath: {
208
+ value: './deskapp/properties/i18n-numeric-map.json',
209
+ cli: 'i18n_idx_numeric_map_path'
210
+ },
211
+ jsonpFunc: {
212
+ value: 'window.loadI18nData',
213
+ cli: 'i18n_idx_jsonp_func'
214
+ },
215
+ fallbackToHash: {
216
+ value: true,
217
+ cli: 'i18n_idx_fallback_to_hash'
218
+ }
219
+ },
220
+ publicFolders: ['...'],
221
+ app: {
222
+ entryFile: {
223
+ value: 'src/index.js',
224
+ cli: 'entry'
225
+ }
226
+ },
227
+ resolve: {
228
+ preferLocalFirst: false,
229
+ defaultAlias: true,
230
+ moduleResolvePath: {
231
+ value: '',
232
+ cli: 'module_resolve_path'
233
+ },
234
+ alias: null
235
+ },
236
+ htmlTemplate: {
237
+ crossorigin: {
238
+ value: false,
239
+ cli: 'enable_crossorigin'
240
+ },
241
+ templateFile: {
242
+ value: 'src/index.html',
243
+ cli: 'initial_html'
244
+ },
245
+ minify: null,
246
+ inject: true
247
+ },
248
+ efc: {
249
+ hasEFC: {
250
+ value: false,
251
+ cli: 'enable_efc',
252
+ type: 'boolean'
253
+ },
254
+ entryPointName: 'efc',
255
+ entryFile: {
256
+ value: 'src/efc.js',
257
+ cli: 'efc_entry'
258
+ },
259
+ version: {
260
+ value: 'v1',
261
+ cli: 'efc_version'
262
+ },
263
+ createSDkFile: {
264
+ value: false,
265
+ cli: 'create_efc_sdk'
266
+ },
267
+ templateFilePath: 'efcTemplate.js',
268
+ outputFile: {
269
+ value: 'efc-sdk-[version].js',
270
+ cli: 'efc_output'
271
+ },
272
+ resourceCleanup: {
273
+ value: false,
274
+ cli: 'enable_efc_resource_cleanup',
275
+ type: 'boolean'
276
+ }
277
+ },
278
+ createSeparateSMap: {
279
+ value: false,
280
+ cli: 'enable_smap'
281
+ },
282
+ babelCustomizations: {
283
+ browserList: null,
284
+ // NOTE: need to consider
285
+ // presets: [],
286
+ plugins: [],
287
+ removeAttribute: {
288
+ enable: false,
289
+ options: {
290
+ attributeNames: ['data-testid']
291
+ }
292
+ },
293
+ removePropTypes: {
294
+ enable: false,
295
+ options: {
296
+ mode: 'remove',
297
+ removeImport: true
298
+ }
299
+ },
300
+ devConsoleExclude: {
301
+ enable: {
302
+ value: false,
303
+ cli: 'console_exclude'
304
+ },
305
+ options: {
306
+ exclude: ['error']
307
+ }
308
+ }
309
+ },
310
+ webpackPlugins: [],
311
+ vendorPatterns: [],
312
+ customChunksBaseConfig: null,
313
+ customChunks: [{
314
+ name: 'styles',
315
+ patterns: ['*.css']
316
+ }],
317
+ cdnMapping: {
318
+ isCdnEnabled: {
319
+ value: false,
320
+ cli: 'enable_cdn'
321
+ },
322
+ variableName: '',
323
+ cssTemplate: '',
324
+ jsTemplate: '',
325
+ i18nTemplate: ''
326
+ },
327
+ manifestJson: {
328
+ enable: false,
329
+ i18nManifestJson: false,
330
+ licenseManifest: false
331
+ },
332
+ changeRuntimeChunkChar: '~',
333
+ serviceWorker: {
334
+ enable: false,
335
+ templateFilePath: 'sw.js',
336
+ outputFilePath: '/v1.js',
337
+ replaceText: '//<!--AssetsFromBuild -->'
338
+ },
339
+ customLoaders: [],
340
+ resourceHints: {
341
+ allowPrefetchingMultipleChunks: false
342
+ },
343
+ devModeContentHashAllowedTypes: null,
344
+ nameTemplateCustomization: null,
345
+ devLikeHash: {
346
+ value: false,
347
+ cli: 'dev_like_hash'
348
+ },
349
+ disableReactDevWarning: {
350
+ value: false,
351
+ cli: 'disable_react_dev_warning'
352
+ },
353
+ preProcess: {
354
+ enable: {
355
+ value: false,
356
+ cli: 'enable_pre_process'
357
+ },
358
+ // This option is for tell the CBT to which is preprocessor js file path
359
+ runner: {
360
+ value: '',
361
+ cli: 'preprocessor'
362
+ },
363
+ // usually preprocessor run in nodemon for, start and docs , preprocessor
364
+ stopNodemon: {
365
+ value: false,
366
+ cli: 'stop_nodemon'
367
+ }
368
+ },
369
+ fileHashMappingToVariable: null,
370
+ customAttributes: {
371
+ enable: false,
372
+ attributes: null,
373
+ jsAttributes: null,
374
+ cssAttributes: null,
375
+ i18nAttributes: null
376
+ },
377
+ externals: null,
378
+ typeScript: {
379
+ enable: {
380
+ value: false,
381
+ cli: 'type_script_enable'
382
+ }
383
+ },
384
+ optimization: {
385
+ jsExcludePath: '',
386
+ cssExcludePath: ''
387
+ },
388
+ customScriptLoadingStrategey: {
389
+ enable: false,
390
+ options: null
391
+ }
392
+ };
393
+ exports.default = _default;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _os = require("os");
9
+
10
+ // NOTE: Don't use 'config_file' as cli option it was reserved
11
+ var _default = {
12
+ context: 'app',
13
+ devtool: 'hidden-cheap-source-map',
14
+ enableFileNameHashing: false,
15
+ bundleAnalyze: false,
16
+ enableMockReplace: false,
17
+ noPublicPath: false,
18
+ output: 'build',
19
+ mode: null,
20
+ printProgress: false,
21
+ server: {
22
+ httpsCerts: '@zohodesk-private/client_dev_cert',
23
+ host: (0, _os.hostname)(),
24
+ port: 9090,
25
+ domain: 'tsi',
26
+ disableContextURL: false
27
+ },
28
+ mockServer: {
29
+ enable: false,
30
+ separateSeverPort: 5000,
31
+ disableNodemon: false,
32
+ mockEntryFile: 'mockapi/index.js',
33
+ mockPrefix: '/api/'
34
+ },
35
+ css: {
36
+ classNameOptions: {
37
+ customizations: [{
38
+ enable: true,
39
+ blob: '[local]',
40
+ patterns: ['*.plain.css']
41
+ }, {
42
+ enable: true,
43
+ blob: '[prefix]-[filename]-[local]',
44
+ patterns: []
45
+ }],
46
+ classNamePrefix: 'zd'
47
+ },
48
+ // NOTE: Suggestions
49
+ // Name Suggestions `customizations` this will be easier then `plugin` to understand for developers
50
+ plugins: {
51
+ rtlSplit: {
52
+ enableRTLSplit: false,
53
+ templateLabel: '{{--dir}}',
54
+ disableMinifySelector: false,
55
+ dirVarName: 'document.dir'
56
+ },
57
+ selectorWeight: {
58
+ enable: false,
59
+ patterns: [],
60
+ configFile: null,
61
+ defaultSelector: '',
62
+ customFileDetails: '',
63
+ excludeStrings: []
64
+ },
65
+ selectorReplace: {
66
+ enable: false,
67
+ patterns: [],
68
+ before: [],
69
+ after: []
70
+ },
71
+ hoverActive: {
72
+ enable: false,
73
+ patterns: [],
74
+ hover: '(hover: hover)',
75
+ active: '(hover: none)'
76
+ },
77
+ cssVariableReplacement: {
78
+ enable: false,
79
+ patterns: [],
80
+ configFile: null
81
+ },
82
+ rtl: {
83
+ enable: false,
84
+ patterns: []
85
+ } // postcss - plugins end
86
+
87
+ },
88
+ customPlugins: []
89
+ },
90
+ i18nChunkSplit: {
91
+ chunkSplitEnable: false,
92
+ disableDefault: false,
93
+ templateLabel: '{{--user-locale}}',
94
+ localeVarName: 'document.documentElement.lang',
95
+ jsonpFunc: 'console.log',
96
+ jsResource: null,
97
+ propertiesFolder: null
98
+ },
99
+ i18nIndexing: {
100
+ enable: false,
101
+ disableDefaultMerge: false,
102
+ htmlTemplateLabel: '{{--user-locale}}',
103
+ localeVarName: 'window.userLangCode',
104
+ jsResourcePath: './deskapp/properties/JSResources.properties',
105
+ propertiesFolderPath: './deskapp/properties',
106
+ propertiesPattern: '',
107
+ numericMapPath: './deskapp/properties/i18n-numeric-map.json',
108
+ numericJsonpFunc: 'window.loadI18nChunk',
109
+ dynamicJsonpFunc: 'window.loadI18nChunk',
110
+ fallbackToHash: true
111
+ },
112
+ publicFolders: ['...', {
113
+ source: './deskapp/tp/',
114
+ target: './tp/'
115
+ }],
116
+ app: {
117
+ entryFile: 'src/index.js',
118
+ tpFolder: null,
119
+ moduleResolvePath: 'node_modules'
120
+ },
121
+ resolve: {
122
+ preferLocalFirst: false,
123
+ defaultAlias: true,
124
+ moduleResolvePath: 'node_modules',
125
+ alias: null
126
+ },
127
+ // EFC means Embedded Functional Components
128
+ efc: {
129
+ hasEFC: false,
130
+ entryPointName: 'efc',
131
+ entryFile: 'src/efc.js',
132
+ version: 'v1',
133
+ createSDkFile: false,
134
+ templateFilePath: 'efcTemplate.js',
135
+ outputFile: 'efc-sdk-[version].js',
136
+ resourceCleanup: false
137
+ },
138
+ createSeparateSMap: false,
139
+ babelCustomizations: {
140
+ browserList: null,
141
+ removeAttribute: {
142
+ enable: false,
143
+ options: {
144
+ attributeNames: ['data-testid']
145
+ }
146
+ },
147
+ removePropTypes: {
148
+ enable: false,
149
+ options: {
150
+ mode: 'remove',
151
+ removeImport: true
152
+ }
153
+ },
154
+ devConsoleExclude: {
155
+ enable: false,
156
+ options: {
157
+ exclude: ['error']
158
+ }
159
+ },
160
+ // NOTE: need to consider
161
+ // presets: [],
162
+ plugins: []
163
+ },
164
+ webpackPlugins: [],
165
+ vendorPatterns: [],
166
+ customChunks: [{
167
+ name: 'styles',
168
+ patterns: ['*.css']
169
+ }],
170
+ htmlTemplate: {
171
+ templateFile: 'src/index.html',
172
+ minify: null,
173
+ inject: true
174
+ },
175
+ // CDN means Content Delivery Network
176
+ cdnMapping: {
177
+ isCdnEnabled: false,
178
+ variableName: '',
179
+ cssTemplate: '',
180
+ jsTemplate: '',
181
+ i18nTemplate: ''
182
+ },
183
+ manifestJson: {
184
+ enable: true
185
+ },
186
+ changeRuntimeChunkChar: '~',
187
+ serviceWorker: {
188
+ enable: false,
189
+ templateFilePath: 'sw.js',
190
+ outputFilePath: '/v1.js',
191
+ replaceText: '//<!--AssetsFromBuild -->'
192
+ },
193
+ stats: {
194
+ enable: false,
195
+ fileName: null,
196
+ options: null,
197
+ excludeKeys: null
198
+ }
199
+ };
200
+ exports.default = _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deprecatedOptionsHandler = deprecatedOptionsHandler;
7
+
8
+ var _logger = require("../logger");
9
+
10
+ function nestedSelect(obj, key) {
11
+ let temp = obj;
12
+ const keys = key.split('.');
13
+
14
+ for (let i = 0; i < keys.length && temp; i++) {
15
+ const element = keys[i];
16
+ temp = temp[element];
17
+ }
18
+
19
+ return temp;
20
+ }
21
+
22
+ function nestedUpdate(obj, key, value) {
23
+ let temp = obj;
24
+ const keys = key.split('.');
25
+ let i = 0;
26
+
27
+ for (; i < keys.length - 1 && temp; i++) {
28
+ const element = keys[i];
29
+ temp = temp[element];
30
+ }
31
+
32
+ if (temp) {
33
+ temp[keys[i]] = value;
34
+ }
35
+ }
36
+
37
+ function deprecatedOptionsHandler(options) {
38
+ function checkAndUpdateAndPrintWaring(oldKey, newkey) {
39
+ const oldVal = nestedSelect(options, oldKey);
40
+ const newVal = nestedSelect(options, newkey); // console.log({ oldVal, newVal });
41
+
42
+ if (oldVal !== undefined && newVal === undefined) {
43
+ nestedUpdate(options, newkey, newVal);
44
+ (0, _logger.warnLogger)(`"${oldKey}" deprecated use "${newkey}" instead`);
45
+ }
46
+ } // return;
47
+
48
+
49
+ checkAndUpdateAndPrintWaring('app.context', 'context'); // TODO handle deprecations here
50
+ // we will finish this logic later when options are confirmed
51
+
52
+ if (nestedSelect(options, 'app.hasRTL') === true) {
53
+ nestedUpdate(options, 'app.plugins.hasRTL', true);
54
+ }
55
+
56
+ if (nestedSelect(options, 'docs.hasRTL') === true) {
57
+ nestedUpdate(options, 'docs.plugins.hasRTL', true);
58
+ }
59
+
60
+ if (nestedSelect(options, 'app.rtlExclude.length') > 0) {
61
+ nestedUpdate(options, 'app.exclude.rtl', nestedSelect(options, 'app.rtlExclude'));
62
+ }
63
+
64
+ if (nestedSelect(options, 'docs.rtlExclude.length') > 0) {
65
+ nestedUpdate(options, 'docs.exclude.rtl', nestedSelect(options, 'docs.rtlExclude'));
66
+ }
67
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getNpmVersion = getNpmVersion;
7
+
8
+ var _child_process = require("child_process");
9
+
10
+ var _logger = require("../logger");
11
+
12
+ function getNpmVersion() {
13
+ let vers = '6';
14
+
15
+ try {
16
+ [vers] = (0, _child_process.execSync)('npm -v').toString().trim().split('.');
17
+ } catch (error) {
18
+ (0, _logger.messageLogger)(error);
19
+ }
20
+
21
+ return vers;
22
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.giveDefaultValue = giveDefaultValue;
7
+
8
+ function giveDefaultValue(value) {
9
+ if (value === true || value === 'true') {
10
+ return true;
11
+ }
12
+
13
+ if (value === false || value === 'false' || value === '') {
14
+ return false;
15
+ }
16
+
17
+ return value;
18
+ }