@zohodesk/client_build_tool 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/.babelrc +12 -0
  2. package/.lintstagedrc +3 -0
  3. package/.vscode/settings.json +5 -0
  4. package/CHANGELOG.md +9 -0
  5. package/ConfigurationDocumentation.md +401 -0
  6. package/ContributionGuide.md +2 -0
  7. package/NOTES-Dec12.md +12 -0
  8. package/README.md +91 -0
  9. package/README_backup.md +82 -0
  10. package/TODO.md +35 -0
  11. package/cli.js +31 -0
  12. package/coverage/base.css +224 -0
  13. package/coverage/block-navigation.js +87 -0
  14. package/coverage/coverage-final.json +2 -0
  15. package/coverage/coverage-summary.json +3 -0
  16. package/coverage/favicon.png +0 -0
  17. package/coverage/index.html +116 -0
  18. package/coverage/prettify.css +1 -0
  19. package/coverage/prettify.js +2 -0
  20. package/coverage/sort-arrow-sprite.png +0 -0
  21. package/coverage/sorter.js +196 -0
  22. package/coverage/updateArrayWithDefault.js.html +196 -0
  23. package/docs/CSSCustomPluginsDocumentation.md +71 -0
  24. package/docs/CustomChunksConfiguration.md +0 -0
  25. package/docs/EFCFileTemplate.md +0 -0
  26. package/docs/MockApi.md +61 -0
  27. package/docs/NameTemplateUtility.md +93 -0
  28. package/docs/ServiseWorkerTemplate.md +0 -0
  29. package/docs/SupportedBrowserVersions.md +61 -0
  30. package/helpDocs/check.js +7 -0
  31. package/helpDocs/commmands/build.md +0 -0
  32. package/helpDocs/commmands/start.md +0 -0
  33. package/helpDocs/examples/buildWithContentHash.md +0 -0
  34. package/helpDocs/examples/startDevServer.md +0 -0
  35. package/helpDocs/examples/startWithMockAPI.md +0 -0
  36. package/helpDocs/node18-env.md +30 -0
  37. package/helpDocs/troubleshootings/NewMachineSetup.md +71 -0
  38. package/helpDocs/troubleshootings/README.md +9 -0
  39. package/helpDocs/troubleshootings/hg_install.sh +18 -0
  40. package/helpDocs/troubleshootings/newMachineMac.sh +86 -0
  41. package/helpDocs/troubleshootings/newMachineUbundu.bash +84 -0
  42. package/lib/allCommandsConfigs.js +25 -0
  43. package/lib/commands/build/commandExecutor.js +17 -0
  44. package/lib/commands/build/config.js +12 -0
  45. package/lib/commands/build/errorHander.js +10 -0
  46. package/lib/commands/build/optionsProcessor.js +35 -0
  47. package/lib/commands/buildEs/commandExecutor.js +33 -0
  48. package/lib/commands/buildEs/config.js +12 -0
  49. package/lib/commands/buildLib/commandExecutor.js +33 -0
  50. package/lib/commands/buildLib/config.js +12 -0
  51. package/lib/commands/mockserver/commandExecutor.js +43 -0
  52. package/lib/commands/mockserver/config.js +12 -0
  53. package/lib/commands/start/commandExecutor.js +12 -0
  54. package/lib/commands/start/config.js +12 -0
  55. package/lib/commands/start/deprecationHandler.js +10 -0
  56. package/lib/commands/start/errorHander.js +10 -0
  57. package/lib/commands/start/optionsProcessor.js +30 -0
  58. package/lib/commands/start/postProcessor.js +10 -0
  59. package/lib/commands/start/preProcessor.js +10 -0
  60. package/lib/commands/template/commandExecutor.js +28 -0
  61. package/lib/commands/template/config.js +12 -0
  62. package/lib/commands/version/commandExecutor.js +14 -0
  63. package/lib/commands/version/config.js +12 -0
  64. package/lib/commands/version/errorHander.js +10 -0
  65. package/lib/commandsRouter.js +74 -0
  66. package/lib/index.js +12 -0
  67. package/lib/logger.js +34 -0
  68. package/lib/schemas/applyValuesToSchema/index.js +34 -0
  69. package/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  70. package/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  71. package/lib/schemas/cliArgsToObject.js +39 -0
  72. package/lib/schemas/defaultConfigValues.js +276 -0
  73. package/lib/schemas/defaultConfigValuesOnly.js +161 -0
  74. package/lib/schemas/deprecatedOptionsHandler.js +67 -0
  75. package/lib/schemas/getNpmVersion.js +22 -0
  76. package/lib/schemas/giveDefaultValue.js +18 -0
  77. package/lib/schemas/npmConfigToObject.js +35 -0
  78. package/lib/schemas/readOptions.js +54 -0
  79. package/lib/schemas/readOptionsForConfigFile.js +42 -0
  80. package/lib/shared/babel/babelWebConfig.js +51 -0
  81. package/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
  82. package/lib/shared/babel/defaultBabelPlugins.js +26 -0
  83. package/lib/shared/babel/runBabelForJSFile.js +24 -0
  84. package/lib/shared/bundler/webpack/common/decidePublicPath.js +52 -0
  85. package/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  86. package/lib/shared/bundler/webpack/common/modeUtils.js +31 -0
  87. package/lib/shared/bundler/webpack/common/nameTemplates.js +78 -0
  88. package/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  89. package/lib/shared/bundler/webpack/configCustomLoaders.js +10 -0
  90. package/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  91. package/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +95 -0
  92. package/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  93. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  94. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +172 -0
  95. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  96. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +203 -0
  97. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  98. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  99. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  100. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  101. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  102. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  103. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  104. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  105. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  106. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  107. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  108. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  109. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  110. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  111. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  112. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  113. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  114. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  115. package/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  116. package/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +54 -0
  117. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +24 -0
  118. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +17 -0
  119. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  120. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  121. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +44 -0
  122. package/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  123. package/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  124. package/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +191 -0
  125. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  126. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  127. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  128. package/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -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 +110 -0
  134. package/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +38 -0
  135. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/addHashToFilePath.js +22 -0
  136. package/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +55 -0
  137. package/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  138. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  139. package/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +362 -0
  140. package/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  141. package/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  142. package/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  143. package/lib/shared/bundler/webpack/defaultVendorPatternList.js +13 -0
  144. package/lib/shared/bundler/webpack/entryConfig.js +28 -0
  145. package/lib/shared/bundler/webpack/externals.js +13 -0
  146. package/lib/shared/bundler/webpack/getCSSLoaders.js +27 -0
  147. package/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
  148. package/lib/shared/bundler/webpack/getSourceMapType.js +10 -0
  149. package/lib/shared/bundler/webpack/jsLoaders.js +17 -0
  150. package/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  151. package/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  152. package/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +56 -0
  153. package/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  154. package/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  155. package/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  156. package/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +138 -0
  157. package/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +60 -0
  158. package/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  159. package/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  160. package/lib/shared/bundler/webpack/optimizationConfig.js +43 -0
  161. package/lib/shared/bundler/webpack/outputConfig.js +28 -0
  162. package/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  163. package/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +24 -0
  164. package/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  165. package/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +63 -0
  166. package/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  167. package/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +36 -0
  168. package/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  169. package/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  170. package/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  171. package/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +32 -0
  172. package/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -0
  173. package/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  174. package/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +21 -0
  175. package/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  176. package/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  177. package/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  178. package/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  179. package/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +32 -0
  180. package/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  181. package/lib/shared/bundler/webpack/plugins.js +50 -0
  182. package/lib/shared/bundler/webpack/resolvers.js +81 -0
  183. package/lib/shared/bundler/webpack/splitChunksConfig.js +113 -0
  184. package/lib/shared/bundler/webpack/statsConfig.js +21 -0
  185. package/lib/shared/bundler/webpack/utils/index.js +26 -0
  186. package/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +34 -0
  187. package/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  188. package/lib/shared/bundler/webpack/webpackConfig.js +56 -0
  189. package/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  190. package/lib/shared/commands-utils/getCliPath.js +39 -0
  191. package/lib/shared/commands-utils/index.js +29 -0
  192. package/lib/shared/commands-utils/log.js +13 -0
  193. package/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  194. package/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  195. package/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  196. package/lib/shared/constants.js +45 -0
  197. package/lib/shared/fileUtils/copyFile.js +38 -0
  198. package/lib/shared/fileUtils/directoryIterator.js +21 -0
  199. package/lib/shared/fileUtils/watchRun.js +100 -0
  200. package/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  201. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  202. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  203. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  204. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  205. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  206. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  207. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  208. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  209. package/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  210. package/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  211. package/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  212. package/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  213. package/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +343 -0
  214. package/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  215. package/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  216. package/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  217. package/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  218. package/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  219. package/lib/shared/server/corsHandling.js +21 -0
  220. package/lib/shared/server/getIp.js +30 -0
  221. package/lib/shared/server/getServerURL.js +29 -0
  222. package/lib/shared/server/httpsOptions.js +46 -0
  223. package/lib/shared/server/initExpressApp.js +19 -0
  224. package/lib/shared/server/initialHTMLHandling.js +99 -0
  225. package/lib/shared/server/mockApiHandler.js +60 -0
  226. package/lib/shared/server/mockServer.js +41 -0
  227. package/lib/shared/server/serveContextFiles.js +27 -0
  228. package/lib/shared/server/serverBywebpackDevMiddleware.js +35 -0
  229. package/lib/shared/server/startHttpServer.js +26 -0
  230. package/lib/shared/server/startHttpsServer.js +38 -0
  231. package/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  232. package/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  233. package/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  234. package/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  235. package/lib/shared/server/urlConcat.js +32 -0
  236. package/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  237. package/lib/shared/utils/utils.js +1 -0
  238. package/lib/shared/utils/versionPrint.js +20 -0
  239. package/npm-shrinkwrap.json +14102 -0
  240. package/package.json +54 -0
  241. package/polyfillForOldNodeVersion.js +10 -0
  242. package/result.json +1 -0
  243. package/templates/app/README.MD +30 -0
  244. package/templates/app/package.json +12 -0
  245. package/templates/library/README.MD +28 -0
  246. package/templates/library/package.json +11 -0
  247. package/templates/wms/index.html +43 -0
  248. package/unittest/index.html +37 -0
@@ -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,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.errorHander = errorHander;
7
+
8
+ function errorHander(e) {
9
+ console.error(e);
10
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.optionsProcessor = optionsProcessor;
7
+
8
+ var _decidePublicPath = require("../../shared/bundler/webpack/common/decidePublicPath");
9
+
10
+ var _constants = require("../../shared/constants");
11
+
12
+ function optionsProcessor(options) {
13
+ const {
14
+ context,
15
+ mode,
16
+ noPublicPath
17
+ } = options;
18
+ const serverExtras = (0, _decidePublicPath.modifiedServerOptions)(options);
19
+ const publicPath = noPublicPath ? '' : (0, _decidePublicPath.decidePublicPath)(serverExtras);
20
+ const contextFolderPath = (0, _constants.joinWithAppPath)(context);
21
+ const defaultAppliedOptions = { ...options,
22
+ // eslint-disable-next-line no-nested-ternary
23
+ mode: options.mode === null ? 'dev' : mode === 'prod' ? 'prod' : 'dev',
24
+ serverExtras,
25
+ publicPath,
26
+ contextFolderPath,
27
+ httpsOptions: serverExtras.httpsOptions
28
+ };
29
+ return defaultAppliedOptions;
30
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.postProcessor = postProcessor;
7
+
8
+ function postProcessor(options) {
9
+ console.log('postProcessor');
10
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.preProcessor = preProcessor;
7
+
8
+ function preProcessor(options) {
9
+ console.log('preProcessor');
10
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.commandExecutor = commandExecutor;
7
+
8
+ var _constants = require("../../shared/constants");
9
+
10
+ var _logger = require("../../logger");
11
+
12
+ var _spawnSyncIO = require("../../shared/commands-utils/spawnSyncIO");
13
+
14
+ const supportedTemplates = ['app', 'library'];
15
+
16
+ function commandExecutor(options) {
17
+ const {
18
+ extraArgs = []
19
+ } = options;
20
+ const [templateName, ...args] = extraArgs;
21
+
22
+ if (!supportedTemplates.includes(templateName)) {
23
+ (0, _logger.messageLogger)(`template not supported "${templateName}" only these \n${supportedTemplates.join('\n ')} are supported`);
24
+ return;
25
+ }
26
+
27
+ (0, _spawnSyncIO.spawnSyncIO)('cp', ['-r', (0, _constants.getTemplatePath)(templateName)].concat(args));
28
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = {
8
+ name: 'template',
9
+ alias: ['template', 'templates'],
10
+ dirname: __dirname
11
+ };
12
+ exports.default = _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.commandExecutor = commandExecutor;
7
+
8
+ var _logger = require("../../logger");
9
+
10
+ var _versionPrint = require("../../shared/utils/versionPrint");
11
+
12
+ function commandExecutor() {
13
+ (0, _versionPrint.versionPrint)(_logger.messageLogger);
14
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = {
8
+ name: 'version',
9
+ alias: ['v', '-v', '--v', '-version', '--version'],
10
+ dirname: __dirname
11
+ };
12
+ exports.default = _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.errorHander = errorHander;
7
+
8
+ function errorHander(e) {
9
+ console.error(e);
10
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.route = route;
7
+ exports.runCommand = runCommand;
8
+
9
+ var _fs = require("fs");
10
+
11
+ var _path = require("path");
12
+
13
+ var _allCommandsConfigs = _interopRequireDefault(require("./allCommandsConfigs"));
14
+
15
+ var _logger = require("./logger");
16
+
17
+ var _readOptions = require("./schemas/readOptions");
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+
21
+ function runCommand(commandName, options) {
22
+ // eslint-disable-next-line no-use-before-define
23
+ const commandConfig = findCommandConfig(commandName);
24
+
25
+ if (!commandConfig) {
26
+ return;
27
+ }
28
+
29
+ const {
30
+ dirname
31
+ } = commandConfig;
32
+
33
+ function runRespectiveFile(name, data) {
34
+ const commandExecutorPath = (0, _path.join)(dirname, `${name}.js`);
35
+
36
+ if ((0, _fs.existsSync)(commandExecutorPath)) {
37
+ // eslint-disable-next-line import/no-dynamic-require, global-require
38
+ const commandExecutor = require(commandExecutorPath);
39
+
40
+ return (commandExecutor[name] || commandExecutor.default)(data);
41
+ }
42
+
43
+ (0, _logger.verboseLogger)('file not found', commandExecutorPath);
44
+ return null;
45
+ }
46
+
47
+ const processedOption = runRespectiveFile('optionsProcessor', options) || options;
48
+ runRespectiveFile('deprecationHandler', processedOption); // runRespectiveFile("errorHandler", () => {
49
+
50
+ runRespectiveFile('preProcessor', processedOption);
51
+ runRespectiveFile('commandExecutor', processedOption);
52
+ runRespectiveFile('postProcessor', processedOption); // });
53
+ }
54
+
55
+ function route(commandName) {
56
+ try {
57
+ const options = (0, _readOptions.getOptions)();
58
+ runCommand(commandName, options);
59
+ } catch (error) {
60
+ (0, _logger.errorLogger)(error);
61
+ }
62
+ }
63
+
64
+ function findCommandConfig(option) {
65
+ // eslint-disable-next-line no-restricted-syntax
66
+ for (const commandConfig of _allCommandsConfigs.default) {
67
+ if (commandConfig.name === option || commandConfig.alias.includes(option)) {
68
+ return commandConfig;
69
+ }
70
+ }
71
+
72
+ (0, _logger.warnLogger)('Un known command', option, 'please check the document');
73
+ return null;
74
+ }
package/lib/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.run = run;
7
+
8
+ var _commandsRouter = require("./commandsRouter");
9
+
10
+ function run(commandName, options) {
11
+ return (0, _commandsRouter.runCommand)(commandName, options);
12
+ }
package/lib/logger.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.debugLogger = debugLogger;
7
+ exports.errorLogger = errorLogger;
8
+ exports.messageLogger = messageLogger;
9
+ exports.verboseLogger = verboseLogger;
10
+ exports.warnLogger = warnLogger;
11
+
12
+ /* eslint-disable no-console */
13
+ function verboseLogger(...args) {
14
+ // TODO: need to be remove when publish happens
15
+ process.env.VERBOSE === 'true' && console.log('\x1b[33m [verbose] \x1b[0m', ...args);
16
+ }
17
+
18
+ function warnLogger(...args) {
19
+ console.warn(...args);
20
+ }
21
+
22
+ function messageLogger(...args) {
23
+ console.log(...args);
24
+ }
25
+
26
+ function debugLogger(...args) {
27
+ // TODO: need to be remove when publish happens
28
+ console.trace();
29
+ console.log(...args);
30
+ }
31
+
32
+ function errorLogger(...args) {
33
+ console.error(...args);
34
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.applyValuesToSchema = applyValuesToSchema;
7
+
8
+ var _isObject = require("./isObject");
9
+
10
+ var _isValid = require("./isValid");
11
+
12
+ function applyValuesToSchema(schemas, customOptions, processEnv) {
13
+ const output = {};
14
+
15
+ function decideValue(schema, key, customOptions) {
16
+ const specificSchema = schema[key];
17
+ const correspondingValue = customOptions && customOptions[key];
18
+
19
+ if ((0, _isObject.isObject)(specificSchema)) {
20
+ if (typeof specificSchema.cli === 'string') {
21
+ return processEnv[specificSchema.cli] ?? (0, _isValid.isValid)(correspondingValue, specificSchema.value);
22
+ }
23
+
24
+ return applyValuesToSchema(specificSchema, correspondingValue, processEnv);
25
+ }
26
+
27
+ return (0, _isValid.isValid)(correspondingValue, specificSchema);
28
+ }
29
+
30
+ Object.keys(schemas).forEach(key => {
31
+ output[key] = decideValue(schemas, key, customOptions);
32
+ });
33
+ return output;
34
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isObject = isObject;
7
+
8
+ function isObject(obj) {
9
+ return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isValid = isValid;
7
+
8
+ function isValid(correspondingValue, specificSchema) {
9
+ if (typeof correspondingValue === 'number' && Number.isNaN(correspondingValue)) {
10
+ return specificSchema;
11
+ }
12
+
13
+ return correspondingValue ?? specificSchema;
14
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cliArgsToObject = cliArgsToObject;
7
+
8
+ var _giveDefaultValue = require("./giveDefaultValue");
9
+
10
+ /**
11
+ * experimental argument parsing logic
12
+ * @param {Array} cliArgs is when we use cli the options or args
13
+ *
14
+ * cliArgs:-
15
+ * `cbt start --port=2332 --mode=prod` in this command
16
+ * ['--port=2332', '--mode=prod'] these are cliArgs
17
+ *
18
+ * return {"port": 2332, "mode":"prod"}
19
+ */
20
+ function cliArgsToObject(cliArgs) {
21
+ const processEnv = {};
22
+ cliArgs.forEach(option => {
23
+ if (/^--./.test(option)) {
24
+ const equIndex = option.indexOf('='); // equIndex = equIndex === -1 ? option.length : equIndex;
25
+
26
+ let key = option.slice(2, equIndex);
27
+ let value = (0, _giveDefaultValue.giveDefaultValue)(option.slice(equIndex + 1));
28
+
29
+ if (equIndex === -1) {
30
+ key = option.slice(2);
31
+ value = true;
32
+ }
33
+
34
+ key = key.replace(/-|:/g, '_');
35
+ processEnv[key] = value;
36
+ }
37
+ });
38
+ return processEnv;
39
+ }
@@ -0,0 +1,276 @@
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: 'hidden-cheap-source-map',
17
+ enableChunkHash: {
18
+ value: false,
19
+ cli: 'enable_hash'
20
+ },
21
+ bundleAnalyze: {
22
+ value: false,
23
+ cli: 'bundle_analyze'
24
+ },
25
+ devConsoleExclude: {
26
+ value: false,
27
+ cli: 'bundle_analyze'
28
+ },
29
+ separateCssModules: {
30
+ value: false,
31
+ cli: 'separate_css_modules'
32
+ },
33
+ enableFileNameHashing: {
34
+ value: false,
35
+ cli: 'separate_css_modules'
36
+ },
37
+ enableMockReplace: {
38
+ value: false,
39
+ cli: 'enable_mock_replace'
40
+ },
41
+ noPublicPath: {
42
+ value: false,
43
+ cli: 'no_public_path'
44
+ },
45
+ output: {
46
+ value: 'build',
47
+ cli: 'output'
48
+ },
49
+ mode: {
50
+ value: null,
51
+ cli: 'mode'
52
+ },
53
+ printProgress: {
54
+ value: false,
55
+ cli: 'print_progress'
56
+ },
57
+ server: {
58
+ httpsCerts: {
59
+ value: '',
60
+ cli: 'https_certs'
61
+ },
62
+ host: {
63
+ value: (0, _os.hostname)(),
64
+ cli: 'host'
65
+ },
66
+ port: {
67
+ value: 9090,
68
+ cli: 'port'
69
+ },
70
+ domain: {
71
+ value: 'tsi',
72
+ cli: 'domain'
73
+ },
74
+ disableContextURL: {
75
+ value: false,
76
+ cli: 'disable_context'
77
+ }
78
+ },
79
+ mockServer: {
80
+ enable: {
81
+ value: false,
82
+ cli: 'enable_mock'
83
+ },
84
+ separateSeverPort: {
85
+ value: null,
86
+ cli: 'mock_port'
87
+ },
88
+ disableNodemon: {
89
+ value: false,
90
+ cli: 'disable_nodemon'
91
+ },
92
+ mockEntryFile: 'mockapi/index.js',
93
+ mockPrefix: {
94
+ value: '/api',
95
+ cli: 'mock_prefix'
96
+ }
97
+ },
98
+ css: {
99
+ classNameOptions: {
100
+ customizations: [{
101
+ enable: true,
102
+ blob: '[local]',
103
+ patterns: ['*.plain.css']
104
+ }, {
105
+ enable: true,
106
+ blob: '[prefix]-[filename]-[local]',
107
+ patterns: []
108
+ }],
109
+ classNamePrefix: 'zd'
110
+ },
111
+ // NOTE: Suggestions
112
+ // Name Suggestions `customizations` this will be easier then `plugin` to understand for developers
113
+ plugins: {
114
+ rtlSplit: {
115
+ enableRTLSplit: false,
116
+ templateLabel: '{{--dir}}',
117
+ disableMinifySelector: false,
118
+ dirVarName: 'document.dir'
119
+ },
120
+ selectorWeight: {
121
+ enable: false,
122
+ patterns: [],
123
+ configFile: null,
124
+ defaultSelector: '',
125
+ customFileDetails: '',
126
+ excludeStrings: []
127
+ },
128
+ // postcss plugins start
129
+ // NOTE: These we have putted names of post-css-plugins in array
130
+ // packages/client_build_tool/src/shared/bundler/webpack/custom_postcss_loaders/PostCssOptionConstants.js
131
+ valueReplacer: {
132
+ enable: false,
133
+ patterns: [],
134
+ config: []
135
+ },
136
+ selectorReplace: {
137
+ enable: false,
138
+ patterns: [],
139
+ before: [],
140
+ after: []
141
+ },
142
+ hoverActive: {
143
+ enable: false,
144
+ patterns: [],
145
+ hover: '(hover: hover)',
146
+ active: '(hover: none)'
147
+ },
148
+ cssVariableReplacement: {
149
+ enable: false,
150
+ patterns: [],
151
+ configFile: null
152
+ },
153
+ rtl: {
154
+ enable: false,
155
+ patterns: []
156
+ } // postcss - plugins end
157
+
158
+ },
159
+ customPlugins: ['...']
160
+ },
161
+ i18nChunkSplit: {
162
+ chunkSplitEnable: {
163
+ value: false,
164
+ cli: 'i18n_split'
165
+ },
166
+ disableDefault: false,
167
+ templateLabel: '{{--user-locale}}',
168
+ localeVarName: 'document.documentElement.lang',
169
+ jsonpFunc: 'console.log',
170
+ jsResource: null,
171
+ propertiesFolder: null
172
+ },
173
+ publicFolders: ['...'],
174
+ app: {
175
+ entryFile: {
176
+ value: 'src/index.js',
177
+ cli: 'entry'
178
+ }
179
+ },
180
+ resolve: {
181
+ preferLocalFirst: false,
182
+ defaultAlias: true,
183
+ moduleResolvePath: {
184
+ value: '',
185
+ cli: 'module_resolve_path'
186
+ },
187
+ alias: null
188
+ },
189
+ htmlTemplate: {
190
+ crossorigin: {
191
+ value: false,
192
+ cli: 'enable_crossorigin'
193
+ },
194
+ templateFile: {
195
+ value: 'src/index.html',
196
+ cli: 'initial_html'
197
+ },
198
+ minify: null,
199
+ inject: true
200
+ },
201
+ efc: {
202
+ hasEFC: {
203
+ value: false,
204
+ cli: 'enable_efc',
205
+ type: 'boolean'
206
+ },
207
+ entryPointName: 'efc',
208
+ entryFile: {
209
+ value: 'src/efc.js',
210
+ cli: 'efc_entry'
211
+ },
212
+ version: {
213
+ value: 'v1',
214
+ cli: 'efc_version'
215
+ },
216
+ createSDkFile: {
217
+ value: false,
218
+ cli: 'create_efc_sdk'
219
+ },
220
+ templateFilePath: 'efcTemplate.js',
221
+ outputFile: {
222
+ value: 'efc-sdk-[version].js',
223
+ cli: 'efc_output'
224
+ }
225
+ },
226
+ createSeparateSMap: {
227
+ value: false,
228
+ cli: 'source_map_enable'
229
+ },
230
+ babelCustomizations: {
231
+ browserList: null,
232
+ // NOTE: need to consider
233
+ // presets: [],
234
+ plugins: []
235
+ },
236
+ webpackPlugins: [],
237
+ vendorPatterns: [],
238
+ customChunksBaseConfig: null,
239
+ customChunks: [{
240
+ name: 'styles',
241
+ patterns: ['*.css']
242
+ }],
243
+ cdnMapping: {
244
+ isCdnEnabled: false,
245
+ variableName: '',
246
+ cssTemplate: '',
247
+ jsTemplate: '',
248
+ i18nTemplate: ''
249
+ },
250
+ manifestJson: {
251
+ enable: true
252
+ },
253
+ changeRuntimeChunkChar: '~',
254
+ serviceWorker: {
255
+ enable: false,
256
+ templateFilePath: 'sw.js',
257
+ outputFilePath: '/v1.js',
258
+ replaceText: '//<!--AssetsFromBuild -->'
259
+ },
260
+ removeAttribute: {
261
+ enable: true,
262
+ attributeNames: ['data-testid']
263
+ },
264
+ customLoaders: [],
265
+ resourceHints: {
266
+ allowPrefetchingMultipleChunks: false
267
+ },
268
+ fileHashMappingToVariable: [{
269
+ filePath: 'tp/crmplus/crmplusimpl.js',
270
+ key: '__CRMPLUS_IMPL_HASH__',
271
+ // fileNameTemplate: '[path]/[name]-[hash:15]_.[ext]',
272
+ // fileName: 'crmplusimpl.js',
273
+ hashLength: 20
274
+ }]
275
+ };
276
+ exports.default = _default;