@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,343 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+
10
+ var _path = _interopRequireDefault(require("path"));
11
+
12
+ var _ErrorHandler = require("../../../bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const convertableProps = {
17
+ 'font-size': true,
18
+ margin: true,
19
+ 'margin-left': true,
20
+ 'margin-right': true,
21
+ 'margin-top': true,
22
+ 'margin-bottom': true,
23
+ padding: true,
24
+ 'padding-top': true,
25
+ 'padding-bottom': true,
26
+ 'padding-left': true,
27
+ 'padding-right': true,
28
+ width: true,
29
+ 'min-width': true,
30
+ 'max-width': true,
31
+ height: true,
32
+ 'min-height': true,
33
+ 'max-height': true,
34
+ top: true,
35
+ bottom: true,
36
+ left: true,
37
+ right: true,
38
+ 'text-indent': true,
39
+ clip: true,
40
+ 'flex-basis': true,
41
+ 'row-gap': true,
42
+ gap: true,
43
+ 'column-gap': true,
44
+ flex: true
45
+ };
46
+ const constantValues = {
47
+ inherit: true,
48
+ initial: true,
49
+ auto: true,
50
+ 'fit-content': true,
51
+ unset: true,
52
+ cover: true,
53
+ contain: true,
54
+ top: true,
55
+ bottom: true,
56
+ left: true,
57
+ center: true,
58
+ right: true
59
+ };
60
+
61
+ function getNumericValue(value) {
62
+ if (value.includes('var')) {
63
+ return parseInt(value.replace(/var\(--zd_size(\d+)\)/gi, '$1').replace(/var\(--zd_font_size(\d+)\)/gi, '$1'));
64
+ }
65
+
66
+ if (value.includes('rect')) {
67
+ return parseInt(value.replace('rect(', '').replace(')', '').replace(',', ''));
68
+ } // Not need for this dum loop
69
+ // allowed.forEach(alwdUnit => {
70
+ // if (value.includes(alwdUnit)) {
71
+ // return parseInt(value);
72
+ // }
73
+ // });
74
+
75
+
76
+ if (constantValues[value.toLowerCase()]) {
77
+ return 1;
78
+ }
79
+
80
+ return parseInt(value);
81
+ }
82
+
83
+ function pxToCalc(value) {
84
+ const arr = value.split(' ');
85
+ arr.forEach((val, index) => {
86
+ ['px'].forEach(unit => {
87
+ const valWithUnit = new RegExp(`(\\d+)${unit}`, 'gi');
88
+
89
+ if (valWithUnit.test(val)) {
90
+ arr[index] = val.replace(valWithUnit, '(var(--zd_size$1))');
91
+ }
92
+ });
93
+ });
94
+ return arr.join(' ');
95
+ }
96
+
97
+ const singleConvertor = (value, changeVal, details, range) => {
98
+ const {
99
+ path,
100
+ filename,
101
+ decl
102
+ } = details;
103
+
104
+ if (decl.prop === 'background-position') {
105
+ if (isNaN(parseInt(value))) {
106
+ // console.log(`${value} skipped`);
107
+ return;
108
+ }
109
+ }
110
+
111
+ if (getNumericValue(value) >= range.start && getNumericValue(value) <= range.end || getNumericValue(value) === 0) {
112
+ let retVal = value.replace(/(\d+)px/gi, changeVal.replace('$$', '$1'));
113
+
114
+ if (/^-var/.test(retVal)) {
115
+ retVal = `calc( ${retVal.substring(1)} * -1 )`;
116
+ }
117
+
118
+ return retVal;
119
+ } // if (!value.includes('rect')) {
120
+ // if(unitErrorVal && unitErrorVal != '0' ){
121
+ // console.log(value, 'not within range')
122
+
123
+
124
+ const errObj = {
125
+ decl,
126
+ type: 'RANGE_ERROR',
127
+ filename,
128
+ message: `value (${value}) (${typeof value}) not within range (${range.start},${range.end})\r`,
129
+ path
130
+ };
131
+
132
+ _ErrorHandler.errHandler.errorTable.push(errObj);
133
+
134
+ _ErrorHandler.errHandler.errorFunction(errObj); // errorFunction(
135
+ // {
136
+ // decl,
137
+ // type: 'RANGE_ERROR',
138
+ // filename,
139
+ // message: `value (${value}) (${typeof value}) not within range (${
140
+ // range.start
141
+ // },${range.end})\r`,
142
+ // path: path
143
+ // },
144
+ // 'RANGE_ERROR'
145
+ // );
146
+ // }
147
+ // addError(` prop: ${decl.prop} ,\n value : ${decl.value} ,\n filename : ${filename} ,\n filepath : ${path} ,\n line : ${decl.source.start.line} ,\n message : value (${value}) not within range (${range.start},${range.end})\r`)
148
+ // return value;
149
+ // } else {
150
+ // console.log('++++++++++++++++++++++rect val!', value);
151
+ // }
152
+
153
+ };
154
+
155
+ var _default = ({
156
+ configFile
157
+ }) => {
158
+ const rawdata = _fs.default.readFileSync(configFile);
159
+
160
+ const data = JSON.parse(rawdata);
161
+ const {
162
+ errorsAllowed,
163
+ settings: settingsObject // errorLog: errorLogStatus,
164
+ // errorInConsole: errorConsoleStatus
165
+
166
+ } = data; // const keys = Object.keys(settingsObject);
167
+
168
+ _ErrorHandler.errHandler.setAllowedErrs(errorsAllowed);
169
+
170
+ const replacementArray = [];
171
+ Object.keys(settingsObject).forEach(key => {
172
+ Object.values(settingsObject[key].replacements).forEach(val => {
173
+ if (!replacementArray.includes(val)) {
174
+ replacementArray.push(val);
175
+ }
176
+ });
177
+ });
178
+ let regValStr = '';
179
+ replacementArray.forEach((val, index) => {
180
+ if (index !== replacementArray.length - 1) {
181
+ regValStr += `${val.replace('$$', '\\d+').replace('(', '\\(').replace(')', '\\)')}|`;
182
+ } else {
183
+ regValStr += `${val.replace('$$', '\\d+').replace('(', '\\(').replace(')', '\\)')}`;
184
+ }
185
+ });
186
+ const valRegex = new RegExp(regValStr, 'gi');
187
+ return {
188
+ postcssPlugin: 'postcss-variable-report',
189
+ Once: rootOriginal => {
190
+ rootOriginal.walkRules(rule => {
191
+ // rule.nodes[-1] = {}
192
+ // need map, forEach fine less memory
193
+ rule.nodes.forEach((decl, position) => {
194
+ // case font-size
195
+ const commentStr = 'variable:ignore';
196
+ const prevNode = rule.nodes[position - 1];
197
+ const fromPath = rootOriginal.source.input.from; // this will be problem for linux and mac use require('path').sep
198
+ // split not need use slice and lastIndexOf less memory
199
+
200
+ const filename = fromPath.split(_path.default.sep).pop(); // if(filename.includes('AddFormResponsive.module.css'){
201
+ // }
202
+
203
+ if (prevNode && prevNode.type === 'comment' && prevNode.text.toLowerCase().includes(commentStr)) {
204
+ const errObj = {
205
+ decl,
206
+ type: 'DECLARATION_IGNORED',
207
+ filename,
208
+ message: 'Declaration Ignored',
209
+ path: fromPath
210
+ };
211
+
212
+ _ErrorHandler.errHandler.errorTable.push(errObj);
213
+
214
+ _ErrorHandler.errHandler.DECLARATION_IGNORED(errObj);
215
+
216
+ return;
217
+ }
218
+
219
+ if (settingsObject[decl.prop] && !decl.value.includes('var(--')) {
220
+ const settings = settingsObject[decl.prop]; // console.log(settings)
221
+
222
+ const {
223
+ allowed,
224
+ range
225
+ } = settings; // suggestion filter !decl.value.includes('calc')
226
+ // Reason below some of logic happen based on this
227
+
228
+ const unit = decl.value.toString() // no need round braket since you do not need group for less memory
229
+ .replace(/\d+/gi, '').replace('var(--zd_size)', 'px').replace('var(--zd_font_size)', 'px').replace('rect(', '').replace(')', '').replace('px,', 'px').replace(',', '').split(' ').filter(x => x !== ''); // unit = unit.replace(unit, unit.replace('-',''))
230
+ // console.log('unit : ');
231
+ // console.log(unit);
232
+
233
+ unit.forEach((val, index) => {
234
+ allowed.forEach(alwdVal => {
235
+ if (val.includes(alwdVal)) {
236
+ // ## for what purpose
237
+ unit[index] = val // .replace(new RegExp('(\\d+).(\\d+)(\\w+)', 'gi'), '$3')
238
+ .replace(`-${alwdVal}`, `${alwdVal}`).replace(`-.${alwdVal}`, `${alwdVal}`).replace(`${alwdVal},`, `${alwdVal}`);
239
+ }
240
+ });
241
+ });
242
+ let unitError = false;
243
+ let unitErrorVal = '';
244
+ unit.forEach(val => {
245
+ if (!val.includes('calc') && decl.prop !== 'clip') {
246
+ if (!allowed.includes(val.toString())) {
247
+ unitError = true;
248
+ unitErrorVal = val;
249
+ }
250
+ }
251
+ }); // console.log(allowed, replacements, range)
252
+
253
+ if (!unitError) {
254
+ // use variable decl.value.split(' ')
255
+ if (range) {
256
+ // console.log('multiple :', decl.value)
257
+ let newVal = '';
258
+ decl.value.split(' ').forEach(singleVal => {
259
+ newVal += `${singleConvertor(singleVal, settings.replacements.px, {
260
+ decl,
261
+ filename,
262
+ path: fromPath
263
+ }, range)} `;
264
+ });
265
+ decl.value = newVal;
266
+ }
267
+ } else if (!decl.value.includes('calc')) {
268
+ // addError(` prop: ${decl.prop} ,\n value : ${decl.value} ,\n filename : ${filename} ,\n filepath : ${path} ,\n line : ${decl.source.start.line} ,\n unit : ${unitErrorVal} ,\n message : ${unitErrorVal} (Unit) Not Allowed \r`);
269
+ const errObj = {
270
+ decl,
271
+ filename,
272
+ unitErrorVal,
273
+ path: fromPath
274
+ };
275
+
276
+ if (unitErrorVal.trim() === '.') {
277
+ errObj.type = 'DECIMAL_CHECK';
278
+ errObj.message = `${unitErrorVal} (Decimal Value) Please check`;
279
+
280
+ _ErrorHandler.errHandler.errorTable.push(errObj);
281
+
282
+ _ErrorHandler.errHandler.DECIMAL_CHECK(errObj);
283
+ } else if (unitErrorVal.includes('.') && !unitErrorVal.includes('%')) {
284
+ errObj.type = 'DECIMAL_REJECT';
285
+ errObj.message = `${unitErrorVal} (Decimal Value) Not Allowed \r`;
286
+
287
+ _ErrorHandler.errHandler.errorTable.push(errObj);
288
+
289
+ _ErrorHandler.errHandler.DECIMAL_REJECT(errObj);
290
+ } else if (!unitErrorVal.includes('%')) {
291
+ errObj.type = 'UNIT_ERROR';
292
+ errObj.message = `${unitErrorVal} (Unit) Not Allowed`;
293
+
294
+ _ErrorHandler.errHandler.errorTable.push(errObj);
295
+
296
+ _ErrorHandler.errHandler.UNIT_ERROR(errObj);
297
+ }
298
+ } else {
299
+ decl.value = pxToCalc(decl.value);
300
+ }
301
+ } else {
302
+ if (settingsObject[decl.prop] && decl.value && decl.value.includes('px') && decl.value.includes('var(--')) {
303
+ const valArr = decl.value.split(' ');
304
+ const settings = settingsObject[decl.prop];
305
+ const {
306
+ range
307
+ } = settings;
308
+ const convertedVals = valArr.map(val => {
309
+ if (val.includes('px')) {
310
+ const convertedVal = singleConvertor(val, settings.replacements.px, {
311
+ decl,
312
+ filename,
313
+ path: fromPath
314
+ }, range);
315
+ return convertedVal || val;
316
+ }
317
+
318
+ return val;
319
+ });
320
+ decl.value = convertedVals.join(' ');
321
+ }
322
+
323
+ if (decl.prop && decl.value && !decl.prop.includes('--') && valRegex.test(decl.value) && (settingsObject[decl.prop] || convertableProps[decl.prop]) && decl.value.includes('var') && !decl.value.includes('calc')) {
324
+ const errObj = {
325
+ decl,
326
+ type: 'VARIABLE_PRESENT',
327
+ filename,
328
+ message: `value (${decl.value}) has var in it, kindly check`,
329
+ path: fromPath
330
+ };
331
+
332
+ _ErrorHandler.errHandler.errorTable.push(errObj);
333
+
334
+ _ErrorHandler.errHandler.VARIABLE_PRESENT(errObj);
335
+ }
336
+ }
337
+ });
338
+ });
339
+ }
340
+ };
341
+ };
342
+
343
+ exports.default = _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.filterCustomPluginsAllowedForSpecificFile = filterCustomPluginsAllowedForSpecificFile;
7
+ exports.filterPluginsAllowedForSpecificFile = filterPluginsAllowedForSpecificFile;
8
+ exports.getEnabledPlugins = getEnabledPlugins;
9
+ exports.mapDefaultSupportedPlugins = mapDefaultSupportedPlugins;
10
+
11
+ var _checkIsPatternsMatchFilename = require("../bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename");
12
+
13
+ var _getSpecificPostCssPlugin = require("./getSpecificPostCssPlugin");
14
+
15
+ /* eslint-disable no-use-before-define */
16
+ function mapDefaultSupportedPlugins(pluginsOptions) {
17
+ return _getSpecificPostCssPlugin.supportedPluginsOptionNames.map(pluginName => ({ ...pluginsOptions[pluginName],
18
+ pluginName
19
+ }));
20
+ }
21
+
22
+ function getEnabledPlugins(pluginsOptions) {
23
+ function isEnabled(pluginName) {
24
+ return pluginsOptions[pluginName].enable;
25
+ }
26
+
27
+ return _getSpecificPostCssPlugin.supportedPluginsOptionNames.filter(isEnabled).map(pluginName => ({ ...pluginsOptions[pluginName],
28
+ pluginName
29
+ }));
30
+ }
31
+
32
+ function filterPluginsAllowedForSpecificFile(plugins, filename) {
33
+ return plugins.filter(pluginOption => checkIsPluginAllowed(pluginOption, filename)).map(pluginOption => (0, _getSpecificPostCssPlugin.getSpecificPostCssPlugin)(pluginOption)).filter(Boolean);
34
+ }
35
+
36
+ function checkIsPluginAllowed(pluginOption, filename) {
37
+ return (0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(pluginOption.patterns, filename);
38
+ }
39
+
40
+ function getCustomPlugins(pluginOption) {
41
+ if (typeof pluginOption.plugin === 'string') {
42
+ // eslint-disable-next-line import/no-dynamic-require, global-require
43
+ return require(pluginOption.plugin).plugin(pluginOption);
44
+ }
45
+
46
+ if (typeof pluginOption.plugin === 'function') {
47
+ return pluginOption.plugin(pluginOption);
48
+ }
49
+
50
+ return null;
51
+ }
52
+
53
+ function filterCustomPluginsAllowedForSpecificFile(customPlugins, filename) {
54
+ return customPlugins.filter(pluginOption => checkIsPluginAllowed(pluginOption, filename)).map(getCustomPlugins).filter(Boolean);
55
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAllowedPostCssPlugins = getAllowedPostCssPlugins;
7
+ exports.postcssPluginGetter = postcssPluginGetter;
8
+
9
+ var _filterPluginsAllowedForSpecficFile = require("./filterPluginsAllowedForSpecficFile");
10
+
11
+ function getAllowedPostCssPlugins(filename, enabledPlugins, enabledCustomPlugins) {
12
+ const neededPostCssPlugins = (0, _filterPluginsAllowedForSpecficFile.filterPluginsAllowedForSpecificFile)(enabledPlugins, filename);
13
+ const neededCustomPlugins = (0, _filterPluginsAllowedForSpecficFile.filterCustomPluginsAllowedForSpecificFile)(enabledCustomPlugins, filename);
14
+ return {
15
+ plugins: [...neededPostCssPlugins, ...neededCustomPlugins]
16
+ };
17
+ }
18
+
19
+ function postcssPluginGetter(options) {
20
+ const pluginsOptions = options.css.plugins;
21
+ const {
22
+ customPlugins = []
23
+ } = options.css;
24
+ const enabledPlugins = (0, _filterPluginsAllowedForSpecficFile.getEnabledPlugins)(pluginsOptions);
25
+ const enabledCustomPlugins = customPlugins.filter(conf => conf.enable);
26
+ return filename => {
27
+ const allowedPostCssPlugins = getAllowedPostCssPlugins(filename, enabledPlugins, enabledCustomPlugins);
28
+ return allowedPostCssPlugins;
29
+ };
30
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configPostCssRtl = configPostCssRtl;
7
+ exports.getSpecificPostCssPlugin = getSpecificPostCssPlugin;
8
+ exports.supportedPluginsOptionNames = void 0;
9
+
10
+ var _fs = require("fs");
11
+
12
+ var _postcssRtl = _interopRequireDefault(require("postcss-rtl"));
13
+
14
+ var _SelectorReplace = _interopRequireDefault(require("./custom_postcss_plugins/SelectorReplace"));
15
+
16
+ var _ValueReplacer = _interopRequireDefault(require("./custom_postcss_plugins/ValueReplacer"));
17
+
18
+ var _HoverActivePlugin = _interopRequireDefault(require("./custom_postcss_plugins/HoverActivePlugin"));
19
+
20
+ var _VariableModificationPlugin = _interopRequireDefault(require("./custom_postcss_plugins/VariableModificationPlugin"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ /* eslint-disable no-use-before-define */
25
+ function getSpecificPostCssPlugin(pluginOption) {
26
+ return postcssPluginMapper[pluginOption.pluginName]?.(pluginOption);
27
+ } // eslint-disable-next-line no-unused-vars
28
+
29
+
30
+ function configPostCssRtl(pluginOption) {
31
+ return (0, _postcssRtl.default)({
32
+ addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
33
+ if (prefix === '[dir]') {
34
+ return selector;
35
+ }
36
+
37
+ return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
38
+ }
39
+ });
40
+ } // NOTE: we have keeping array because we need to maintain order (Just In Cases For Future)
41
+
42
+
43
+ const supportedPluginsOptionNames = ['rtl', 'valueReplacer', 'selectorReplace', 'hoverActive', 'cssVariableReplacement'];
44
+ exports.supportedPluginsOptionNames = supportedPluginsOptionNames;
45
+ const postcssPluginMapper = {
46
+ rtl: configPostCssRtl,
47
+ selectorReplace: pluginOption => (0, _SelectorReplace.default)(pluginOption),
48
+ valueReplacer: pluginOption => (0, _ValueReplacer.default)(pluginOption.config),
49
+ hoverActive: pluginOption => (0, _HoverActivePlugin.default)(pluginOption),
50
+ cssVariableReplacement: configCssVariableReplacement
51
+ };
52
+
53
+ function configCssVariableReplacement(pluginOption) {
54
+ const {
55
+ configFile
56
+ } = pluginOption;
57
+ return configFile && (0, _fs.existsSync)(configFile) && (0, _VariableModificationPlugin.default)(pluginOption);
58
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.runPostCssForCssFile = runPostCssForCssFile;
7
+
8
+ var _postcss = _interopRequireDefault(require("postcss"));
9
+
10
+ var _fs = require("fs");
11
+
12
+ var _getAllowedPostCssPlugins = require("./getAllowedPostCssPlugins");
13
+
14
+ var _copyFile = require("../fileUtils/copyFile");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function runPostCssForCssFile({
19
+ filename,
20
+ outputFile,
21
+ options
22
+ }) {
23
+ const getAllowedPostCssPlugins = (0, _getAllowedPostCssPlugins.postcssPluginGetter)(options);
24
+ const allowedPostCssPlugins = getAllowedPostCssPlugins(filename);
25
+
26
+ if (allowedPostCssPlugins.length === 0) {
27
+ return;
28
+ }
29
+
30
+ const css = (0, _fs.readFileSync)(filename).toString();
31
+ (0, _postcss.default)(allowedPostCssPlugins).process(css, {
32
+ from: filename,
33
+ to: outputFile
34
+ }).then(result => {
35
+ (0, _copyFile.writeFile)(outputFile, result.css);
36
+ });
37
+ }
@@ -0,0 +1,41 @@
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 _statsConfig = require("../bundler/webpack/statsConfig");
14
+
15
+ var _webpackConfig = _interopRequireDefault(require("../bundler/webpack/webpackConfig"));
16
+
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+
19
+ function webpackDevMiddlewareConfig(options) {
20
+ const {
21
+ publicPath
22
+ } = options;
23
+ return {
24
+ stats: (0, _statsConfig.statsConfig)(options),
25
+ index: 'index.html',
26
+ publicPath,
27
+ headers: {
28
+ 'Access-Control-Allow-Origin': '*'
29
+ }
30
+ };
31
+ }
32
+
33
+ function configWebpackDevMiddleware(app, options) {
34
+ const config = (0, _webpackConfig.default)(options);
35
+ const compiler = (0, _webpack.webpack)(config);
36
+ const devMiddleware = (0, _webpackDevMiddleware.default)(compiler, webpackDevMiddlewareConfig(options));
37
+ app.use(devMiddleware);
38
+ return {
39
+ compiler
40
+ };
41
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.corsHandling = corsHandling;
7
+
8
+ // eslint-disable-next-line no-unused-vars
9
+ function corsHandling(app, options) {
10
+ app.use((req, res, next) => {
11
+ // console.log('origin', req.get('origin'));
12
+ res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*'); // res.setHeader('Access-Control-Allow-Origin', req.get('origin'));
13
+
14
+ res.setHeader('Access-Control-Allow-Private-Network', true);
15
+ res.setHeader('Access-Control-Allow-Credentials', true);
16
+ next();
17
+ });
18
+ app.options('/*', (req, res) => {
19
+ res.send('Ok');
20
+ });
21
+ }
@@ -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
+ const ifaces = _os.default.networkInterfaces();
14
+
15
+ let ips = [];
16
+ Object.keys(ifaces).forEach(ifname => {
17
+ const a = ifaces[ifname].map(iface => {
18
+ if (iface.family !== 'IPv4' || 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
+ }