@zohodesk/react-cli 1.1.27 → 1.1.28-exp.2

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 (355) hide show
  1. package/README.md +18 -0
  2. package/lib/configs/jest.config.js +1 -1
  3. package/lib/configs/libAlias.js +2 -2
  4. package/lib/configs/resolvers.js +2 -2
  5. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +2 -5
  6. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +4 -1
  7. package/lib/plugins/I18nSplitPlugin/utils/unicodeConversion.js +6 -8
  8. package/lib/schemas/index.js +1 -0
  9. package/lib/utils/copyTimezones.js +1 -0
  10. package/npm-shrinkwrap.json +330 -24
  11. package/package.json +2 -2
  12. package/packages/client_build_tool/lib/allCommandsConfigs.js +25 -0
  13. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +17 -0
  14. package/packages/client_build_tool/lib/commands/build/config.js +12 -0
  15. package/packages/client_build_tool/lib/commands/build/optionsProcessor.js +35 -0
  16. package/packages/client_build_tool/lib/commands/build/preProcessor.js +12 -0
  17. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +33 -0
  18. package/packages/client_build_tool/lib/commands/buildEs/config.js +12 -0
  19. package/packages/client_build_tool/lib/commands/buildEs/preProcessor.js +17 -0
  20. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +33 -0
  21. package/packages/client_build_tool/lib/commands/buildLib/config.js +12 -0
  22. package/packages/client_build_tool/lib/commands/buildLib/preProcessor.js +17 -0
  23. package/packages/client_build_tool/lib/commands/mockserver/commandExecutor.js +43 -0
  24. package/packages/client_build_tool/lib/commands/mockserver/config.js +12 -0
  25. package/packages/client_build_tool/lib/commands/pre_process/commandExecutor.js +18 -0
  26. package/packages/client_build_tool/lib/commands/pre_process/config.js +12 -0
  27. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +12 -0
  28. package/packages/client_build_tool/lib/commands/start/config.js +12 -0
  29. package/packages/client_build_tool/lib/commands/start/optionsProcessor.js +30 -0
  30. package/packages/client_build_tool/lib/commands/start/preProcessor.js +12 -0
  31. package/packages/client_build_tool/lib/commands/template/commandExecutor.js +28 -0
  32. package/packages/client_build_tool/lib/commands/template/config.js +12 -0
  33. package/packages/client_build_tool/lib/commands/version/commandExecutor.js +14 -0
  34. package/packages/client_build_tool/lib/commands/version/config.js +12 -0
  35. package/packages/client_build_tool/lib/commandsRouter.js +74 -0
  36. package/packages/client_build_tool/lib/index.js +12 -0
  37. package/packages/client_build_tool/lib/logger.js +34 -0
  38. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/otherTestCases.test.js +234 -0
  39. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingDifferentDataTypesToSchema.test.js +103 -0
  40. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingEmptyObjects.test.js +41 -0
  41. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertArray.test.js +68 -0
  42. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertNumber.test.js +68 -0
  43. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertObject.test.js +141 -0
  44. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertString.test.js +68 -0
  45. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertUndefinedAndNull.test.js +132 -0
  46. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertArray.test.js +71 -0
  47. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertNumber.test.js +71 -0
  48. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertObject.test.js +73 -0
  49. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertString.test.js +71 -0
  50. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertUndefinedAndNull.test.js +138 -0
  51. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/index.js +34 -0
  52. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  53. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  54. package/packages/client_build_tool/lib/schemas/cliArgsToObject.js +39 -0
  55. package/packages/client_build_tool/lib/schemas/defaultConfigValues.js +349 -0
  56. package/packages/client_build_tool/lib/schemas/defaultConfigValuesOnly.js +187 -0
  57. package/packages/client_build_tool/lib/schemas/deprecatedOptionsHandler.js +67 -0
  58. package/packages/client_build_tool/lib/schemas/getNpmVersion.js +22 -0
  59. package/packages/client_build_tool/lib/schemas/giveDefaultValue.js +18 -0
  60. package/packages/client_build_tool/lib/schemas/npmConfigToObject.js +35 -0
  61. package/packages/client_build_tool/lib/schemas/readOptions.js +54 -0
  62. package/packages/client_build_tool/lib/schemas/readOptionsForConfigFile.js +42 -0
  63. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Map.test.js +15 -0
  64. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/MathAndNumberMethod.test.js +30 -0
  65. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/ObjectAndModules.test.js +47 -0
  66. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Sets.test.js +18 -0
  67. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Symbol.test.js +25 -0
  68. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/arrowFunction.test.js +34 -0
  69. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/block-scoping.test.js +18 -0
  70. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/classes.test.js +55 -0
  71. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/defaultParameterValues.test.js +18 -0
  72. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/extraFeatures.test.js +82 -0
  73. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/forOf.test.js +20 -0
  74. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/promise.test.js +22 -0
  75. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadOperator.test.js +20 -0
  76. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadParams.test.js +24 -0
  77. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/stringAndArrayMethods.test.js +67 -0
  78. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/variables.test.js +21 -0
  79. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/array-includes.test.js +13 -0
  80. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/exponentationOperator.test.js +20 -0
  81. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/asyncAndawait.test.js +23 -0
  82. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-entries.test.js +24 -0
  83. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-getOwnproperties.test.js +24 -0
  84. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-values.test.js +24 -0
  85. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/stringMethods.test.js +20 -0
  86. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/asynchronous-iterator.test.js +19 -0
  87. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/object-rest-spread.test.js +24 -0
  88. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/promise-finally.test.js +26 -0
  89. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/regularExpressions.test.js +35 -0
  90. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/Json.stringify.test.js +21 -0
  91. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/arrayMethods.test.js +31 -0
  92. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/object-fromEntriesMethod.test.js +13 -0
  93. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/optionalCatchBinding.test.js +23 -0
  94. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/revisedFunctionToString.test.js +17 -0
  95. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/trim-startAndend-method.test.js +20 -0
  96. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/AssignmentOperator.test.js +27 -0
  97. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/Dynamic-Import.test.js +19 -0
  98. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/NullishOperator.test.js +15 -0
  99. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/bigInt.test.js +13 -0
  100. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/chainOperator.test.js +17 -0
  101. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/export-namespace-from.test.js +12 -0
  102. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/promiseAllSettledMathod.test.js +17 -0
  103. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/stringMatchMethod.test.js +13 -0
  104. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/NumericSeparator.test.js +23 -0
  105. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/logicalOperatorAssignments.test.js +25 -0
  106. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/promiseAny.test.js +16 -0
  107. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/stringReplaceMethod.test.js +16 -0
  108. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/Array-atMethod.test.js +13 -0
  109. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjectKeyCheck.test.js +27 -0
  110. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjecthasOwnMethod.test.js +19 -0
  111. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/RegexMatchIndices.test.js +20 -0
  112. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/String-atMethod.test.js +15 -0
  113. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/error.Cause.test.js +23 -0
  114. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/keysCheckinPrivateFields.test.js +27 -0
  115. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/privateMethodsAndFields.test.js +23 -0
  116. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/staticFieldsAndMethod.test.js +54 -0
  117. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/topLevelAwait.test.js +11 -0
  118. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/weakRef.test.js +17 -0
  119. package/packages/client_build_tool/lib/shared/babel/__test__/utilities.js +28 -0
  120. package/packages/client_build_tool/lib/shared/babel/addDefaultPlugins.js +15 -0
  121. package/packages/client_build_tool/lib/shared/babel/babelWebConfig.js +54 -0
  122. package/packages/client_build_tool/lib/shared/babel/babel_plugins/removeAttributesPlugin.js +23 -0
  123. package/packages/client_build_tool/lib/shared/babel/getBabelPlugin.js +37 -0
  124. package/packages/client_build_tool/lib/shared/babel/runBabelForJSFile.js +24 -0
  125. package/packages/client_build_tool/lib/shared/babel/runBabelForTsFile.js +30 -0
  126. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +57 -0
  127. package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  128. package/packages/client_build_tool/lib/shared/bundler/webpack/common/modeUtils.js +39 -0
  129. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +105 -0
  130. package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  131. package/packages/client_build_tool/lib/shared/bundler/webpack/configCustomLoaders.js +10 -0
  132. package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  133. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/BundleIntegrityReport/index.js +83 -0
  134. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/index.js +119 -0
  135. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin/webpackCustomJsUrlLoader.js +46 -0
  136. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CustomScriptLoadingPlugin.js +109 -0
  137. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  138. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  139. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +174 -0
  140. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  141. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +223 -0
  142. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  143. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  144. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  145. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  146. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  147. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  148. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  149. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  150. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  151. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  152. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  153. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  154. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  155. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  156. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/classesAndObject.test.js +56 -0
  157. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/conditionalOperation.test.js +154 -0
  158. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function.test.js +89 -0
  159. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function2.test.js +71 -0
  160. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/loop.test.js +112 -0
  161. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minifyBooleanValues.test.js +43 -0
  162. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minimizeVariableNames.test.js +45 -0
  163. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/promise.test.js +53 -0
  164. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  165. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeUnusedStrings.test.js +14 -0
  166. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/variableDeclaration.test.js +30 -0
  167. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  168. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  169. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  170. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  171. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  172. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +60 -0
  173. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/addFilesNamesToManifestJson.test.js +51 -0
  174. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/createInitialEntries.test.js +95 -0
  175. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/removeHashFromFileName.test.js +91 -0
  176. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +30 -0
  177. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +23 -0
  178. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  179. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  180. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +46 -0
  181. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  182. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  183. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +193 -0
  184. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  185. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  186. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  187. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
  188. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RuntimeResourceCleanup/index.js +73 -0
  189. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  190. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  191. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  192. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  193. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +114 -0
  194. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPluginUtils.js +13 -0
  195. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +68 -0
  196. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/addHashToFilePath.js +22 -0
  197. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/TPHashMappingPlugin/index.js +55 -0
  198. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifyCss1.test.js +74 -0
  199. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifycss.test.js +64 -0
  200. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/utilities.js +28 -0
  201. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  202. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  203. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +362 -0
  204. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/custom_attribute_plugin/index.js +80 -0
  205. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  206. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  207. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  208. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/classesAndObject.test.js +56 -0
  209. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/conditionalOperation.test.js +154 -0
  210. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function.test.js +89 -0
  211. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function2.test.js +71 -0
  212. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/loop.test.js +112 -0
  213. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minifyBooleanValues.test.js +43 -0
  214. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minimizeVariableNames.test.js +45 -0
  215. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/promise.test.js +53 -0
  216. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  217. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeUnusedStrings.test.js +14 -0
  218. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/variableDeclaration.test.js +30 -0
  219. package/packages/client_build_tool/lib/shared/bundler/webpack/defaultVendorPatternList.js +13 -0
  220. package/packages/client_build_tool/lib/shared/bundler/webpack/devtoolConfig.js +13 -0
  221. package/packages/client_build_tool/lib/shared/bundler/webpack/entryConfig.js +28 -0
  222. package/packages/client_build_tool/lib/shared/bundler/webpack/externals.js +17 -0
  223. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +29 -0
  224. package/packages/client_build_tool/lib/shared/bundler/webpack/getFilenameFromModule.js +24 -0
  225. package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +17 -0
  226. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  227. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  228. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +56 -0
  229. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  230. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  231. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  232. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +86 -0
  233. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +65 -0
  234. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  235. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/miniCssFallBackLoader.js +7 -0
  236. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  237. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +56 -0
  238. package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +38 -0
  239. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  240. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleIntegrityReport.js +36 -0
  241. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +28 -0
  242. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  243. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +63 -0
  244. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCustomAttributesPlugin.js +20 -0
  245. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCustomScriptLoadingStrategyPlugin.js +76 -0
  246. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  247. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +51 -0
  248. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  249. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  250. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  251. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +44 -0
  252. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +24 -0
  253. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  254. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +21 -0
  255. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  256. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRuntimeResourceCleanup.js +31 -0
  257. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  258. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  259. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  260. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configTPHashMappingPlugin.js +32 -0
  261. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  262. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +58 -0
  263. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +82 -0
  264. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +116 -0
  265. package/packages/client_build_tool/lib/shared/bundler/webpack/statsConfig.js +30 -0
  266. package/packages/client_build_tool/lib/shared/bundler/webpack/tsLoaders.js +17 -0
  267. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/__test__/getArrayWithDefaultWithCustomEqual.test.js +54 -0
  268. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/__test__/updateArrayWithDefault.test.js +47 -0
  269. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/index.js +31 -0
  270. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/object-manipulation.js +87 -0
  271. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +34 -0
  272. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  273. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +58 -0
  274. package/packages/client_build_tool/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  275. package/packages/client_build_tool/lib/shared/commands-utils/getCliPath.js +39 -0
  276. package/packages/client_build_tool/lib/shared/commands-utils/index.js +29 -0
  277. package/packages/client_build_tool/lib/shared/commands-utils/log.js +13 -0
  278. package/packages/client_build_tool/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  279. package/packages/client_build_tool/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  280. package/packages/client_build_tool/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  281. package/packages/client_build_tool/lib/shared/constants.js +48 -0
  282. package/packages/client_build_tool/lib/shared/fileUtils/copyFile.js +38 -0
  283. package/packages/client_build_tool/lib/shared/fileUtils/directoryIterator.js +21 -0
  284. package/packages/client_build_tool/lib/shared/fileUtils/watchRun.js +112 -0
  285. package/packages/client_build_tool/lib/shared/postcss/__test__/ignoreTestCases.test.js +80 -0
  286. package/packages/client_build_tool/lib/shared/postcss/__test__/postcss-rtl-all-cases.test.js +119 -0
  287. package/packages/client_build_tool/lib/shared/postcss/__test__/postcssRtl.spec.js +34 -0
  288. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  289. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  290. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  291. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  292. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  293. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  294. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  295. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  296. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  297. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  298. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  299. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  300. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  301. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +347 -0
  302. package/packages/client_build_tool/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  303. package/packages/client_build_tool/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  304. package/packages/client_build_tool/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  305. package/packages/client_build_tool/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  306. package/packages/client_build_tool/lib/shared/pre_process/runPreProcess.js +58 -0
  307. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  308. package/packages/client_build_tool/lib/shared/server/corsHandling.js +30 -0
  309. package/packages/client_build_tool/lib/shared/server/getIp.js +30 -0
  310. package/packages/client_build_tool/lib/shared/server/getServerURL.js +36 -0
  311. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +46 -0
  312. package/packages/client_build_tool/lib/shared/server/initExpressApp.js +19 -0
  313. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +99 -0
  314. package/packages/client_build_tool/lib/shared/server/mockApiHandler.js +60 -0
  315. package/packages/client_build_tool/lib/shared/server/mockServer.js +41 -0
  316. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +27 -0
  317. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +35 -0
  318. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +26 -0
  319. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +38 -0
  320. package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  321. package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  322. package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  323. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  324. package/packages/client_build_tool/lib/shared/server/urlConcat.js +32 -0
  325. package/packages/client_build_tool/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  326. package/packages/client_build_tool/lib/shared/utils/utils.js +1 -0
  327. package/packages/client_build_tool/lib/shared/utils/versionPrint.js +20 -0
  328. package/packages/client_build_tool/node_modules/history/CHANGES.md +395 -0
  329. package/packages/client_build_tool/node_modules/history/DOMUtils.js +3 -0
  330. package/packages/client_build_tool/node_modules/history/ExecutionEnvironment.js +3 -0
  331. package/packages/client_build_tool/node_modules/history/LICENSE +21 -0
  332. package/packages/client_build_tool/node_modules/history/LocationUtils.js +3 -0
  333. package/packages/client_build_tool/node_modules/history/PathUtils.js +3 -0
  334. package/packages/client_build_tool/node_modules/history/README.md +282 -0
  335. package/packages/client_build_tool/node_modules/history/cjs/history.js +933 -0
  336. package/packages/client_build_tool/node_modules/history/cjs/history.min.js +1 -0
  337. package/packages/client_build_tool/node_modules/history/createBrowserHistory.js +3 -0
  338. package/packages/client_build_tool/node_modules/history/createHashHistory.js +3 -0
  339. package/packages/client_build_tool/node_modules/history/createMemoryHistory.js +3 -0
  340. package/packages/client_build_tool/node_modules/history/createTransitionManager.js +3 -0
  341. package/packages/client_build_tool/node_modules/history/es/DOMUtils.js +7 -0
  342. package/packages/client_build_tool/node_modules/history/es/ExecutionEnvironment.js +7 -0
  343. package/packages/client_build_tool/node_modules/history/es/LocationUtils.js +7 -0
  344. package/packages/client_build_tool/node_modules/history/es/PathUtils.js +7 -0
  345. package/packages/client_build_tool/node_modules/history/es/createBrowserHistory.js +7 -0
  346. package/packages/client_build_tool/node_modules/history/es/createHashHistory.js +7 -0
  347. package/packages/client_build_tool/node_modules/history/es/createMemoryHistory.js +7 -0
  348. package/packages/client_build_tool/node_modules/history/es/createTransitionManager.js +7 -0
  349. package/packages/client_build_tool/node_modules/history/es/warnAboutDeprecatedESMImport.js +35 -0
  350. package/packages/client_build_tool/node_modules/history/esm/history.js +904 -0
  351. package/packages/client_build_tool/node_modules/history/index.js +7 -0
  352. package/packages/client_build_tool/node_modules/history/package.json +120 -0
  353. package/packages/client_build_tool/node_modules/history/umd/history.js +1059 -0
  354. package/packages/client_build_tool/node_modules/history/umd/history.min.js +1 -0
  355. package/packages/client_build_tool/node_modules/history/warnAboutDeprecatedCJSRequire.js +35 -0
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable max-lines */
4
+ const terser = require('terser');
5
+
6
+ describe('if condition', () => {
7
+ it('remove unused if condition with true value', () => {
8
+ const code = `
9
+
10
+ if (true) {
11
+ console.log('Mail sent to recipient');
12
+ }
13
+ `;
14
+ return terser.minify(code).then(minify => {
15
+ expect(minify.code).toBe('console.log("Mail sent to recipient");');
16
+ });
17
+ });
18
+ it('remove unused if condition with false value', () => {
19
+ const code = `
20
+ if (false) {
21
+ console.log('Mail sent to recipient');
22
+ }
23
+ `;
24
+ return terser.minify(code).then(minify => {
25
+ expect(minify.code).toBe('0;');
26
+ });
27
+ });
28
+ it('remove unused if statements when using a let or var type variable', () => {
29
+ const code = `
30
+ let isMailSent = true;
31
+
32
+ if (isMailSent) {
33
+ console.log('Mail sent to recipient');
34
+ }
35
+ `;
36
+ return terser.minify(code).then(minify => {
37
+ expect(minify.code).toBe('let isMailSent=!0;isMailSent&&console.log("Mail sent to recipient");');
38
+ });
39
+ });
40
+ it('remove unused if statements using a const variable', () => {
41
+ const code = `
42
+ const isMailSent = true;
43
+
44
+ if (isMailSent) {
45
+ console.log('Mail sent to recipient');
46
+ }
47
+ `;
48
+ return terser.minify(code).then(minify => {
49
+ expect(minify.code).toBe('const isMailSent=!0;console.log("Mail sent to recipient");');
50
+ });
51
+ });
52
+ it('if and else statement', () => {
53
+ const code = `
54
+ let isMailSent = true;
55
+
56
+ if (isMailSent) {
57
+ console.log('Mail sent to recipient');
58
+ }else{
59
+ console.log(3)
60
+ }
61
+ `;
62
+ return terser.minify(code).then(minify => {
63
+ expect(minify.code).toBe('let isMailSent=!0;isMailSent?console.log("Mail sent to recipient"):console.log(3);');
64
+ });
65
+ });
66
+ it('if and else statement returns same value', () => {
67
+ const code = `
68
+ let isMailSent = true;
69
+
70
+ if (isMailSent) {
71
+ console.log('Mail sent to recipient');
72
+ }else{
73
+ console.log('Mail sent to recipient');
74
+ }
75
+ `;
76
+ return terser.minify(code).then(minify => {
77
+ expect(minify.code).toBe('let isMailSent=!0;console.log("Mail sent to recipient");');
78
+ });
79
+ });
80
+ it('using else if statement return same value', () => {
81
+ const code = `
82
+ let isMailSent = true;
83
+
84
+ if (isMailSent) {
85
+ console.log('Mail sent to recipient');
86
+ }else if(!isMailSent){
87
+ console.log('Mail sent to recipient');
88
+ }
89
+ `;
90
+ return terser.minify(code).then(minify => {
91
+ expect(minify.code).toBe('let isMailSent=!0;isMailSent?console.log("Mail sent to recipient"):isMailSent||console.log("Mail sent to recipient");');
92
+ });
93
+ });
94
+ it('using else if statement return different value', () => {
95
+ const code = `
96
+ let isMailSent = true;
97
+ if (isMailSent) {
98
+ console.log('Mail sent to recipient');
99
+ }else if(isMailSent == 1){
100
+ console.log('Mail not sent to recipient');
101
+ }
102
+ `;
103
+ return terser.minify(code).then(minify => {
104
+ expect(minify.code).toBe('let isMailSent=!0;isMailSent?console.log("Mail sent to recipient"):1==isMailSent&&console.log("Mail not sent to recipient");');
105
+ });
106
+ });
107
+ it('skips the false content', () => {
108
+ const code = `
109
+ const size = 4;
110
+ if (size > 100) {
111
+ console.log('Big');
112
+ } else if (size > 20) {
113
+ console.log('Medium');
114
+ } else if (size > 4) {
115
+ console.log('Small');
116
+ } else {
117
+ console.log('Tiny');
118
+ }
119
+ `;
120
+ return terser.minify(code).then(minify => {
121
+ expect(minify.code).toBe('const size=4;console.log("Tiny");');
122
+ });
123
+ });
124
+ });
125
+ test('nullish operator', () => {
126
+ const code = `
127
+ const a = undefined;
128
+ console.log(undefined??"hi")
129
+ `;
130
+ return terser.minify(code).then(minify => {
131
+ expect(minify.code).toBe('const a=void 0;console.log("hi");');
132
+ });
133
+ });
134
+ describe('switch Case', () => {
135
+ it('first value matched but runs for all', () => {
136
+ const code = `
137
+ const food = 'oyster';
138
+
139
+ switch (food) {
140
+ case 'oyster':
141
+ console.log('The taste of the sea');
142
+ break;
143
+ case 'pizza':
144
+ console.log('A delicious pie');
145
+ break;
146
+ default:
147
+ console.log('Enjoy your meal');
148
+ }
149
+ `;
150
+ return terser.minify(code).then(minify => {
151
+ expect(minify.code).toBe('const food="oyster";switch(food){case"oyster":console.log("The taste of the sea");break;case"pizza":console.log("A delicious pie");break;default:console.log("Enjoy your meal")}');
152
+ });
153
+ });
154
+ });
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('arrow function reducing the arguments name', () => {
6
+ const code = `
7
+ const sum = (param1, param2) => {
8
+ return param1 + param2;
9
+ };
10
+ console.log(sum(2, 5));
11
+ `;
12
+ return terser.minify(code).then(minify => {
13
+ expect(minify.code).toBe('const sum=(o,s)=>o+s;console.log(sum(2,5));');
14
+ });
15
+ });
16
+ test('arrow function with console', () => {
17
+ const code = `
18
+ const printHello = () => {
19
+ console.log('hi')
20
+ return ('hello');
21
+ };
22
+ printHello();
23
+ `;
24
+ return terser.minify(code).then(minify => {
25
+ expect(minify.code).toBe('const printHello=()=>(console.log("hi"),"hello");console.log("hi");');
26
+ });
27
+ });
28
+ test('remove unused or unwanted codes inside function', () => {
29
+ const code = `
30
+ function a(){
31
+ let x = 3;
32
+ let a = 1;
33
+ //this is a function
34
+ let result = (a == 1) ? true : false
35
+ result = (x == 1) ? true : false;
36
+ }
37
+ `;
38
+ return terser.minify(code).then(minify => {
39
+ expect(minify.code).toBe('function a(){let n=!0;n=!1}');
40
+ });
41
+ });
42
+ describe('function', () => {
43
+ it('Minify a simple function', () => {
44
+ const code = `
45
+ function sum(num1, num2) {
46
+ return num1 + num2;
47
+ }
48
+ `;
49
+ return terser.minify(code).then(minify => {
50
+ expect(minify.code).toBe('function sum(n,u){return n+u}');
51
+ });
52
+ });
53
+ it('Minify a function with a variable declaration', () => {
54
+ const code = `
55
+ function sum(num1, num2) {
56
+ var result = num1 + num2;
57
+ return result;
58
+ }
59
+ `;
60
+ return terser.minify(code).then(minify => {
61
+ expect(minify.code).toBe('function sum(n,u){return n+u}');
62
+ });
63
+ });
64
+ it('Minify a function with a if condition', () => {
65
+ const code = `
66
+ function sum(num1, num2) {
67
+ if (num1 > num2) {
68
+ return num1;
69
+ } else {
70
+ return num2;
71
+ }
72
+ }
73
+ `;
74
+ return terser.minify(code).then(minify => {
75
+ expect(minify.code).toBe('function sum(n,u){return n>u?n:u}');
76
+ });
77
+ });
78
+ it('Minify a function with return statement', () => {
79
+ const code = `
80
+ function sum(num1, num2) {
81
+ var result = num1 + num2;
82
+ return result;
83
+ }
84
+ `;
85
+ return terser.minify(code).then(minify => {
86
+ expect(minify.code).toBe('function sum(n,u){return n+u}');
87
+ });
88
+ });
89
+ });
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ describe('function', () => {
6
+ it('Minify a function with console.log', () => {
7
+ const code = `
8
+ function sum(num1, num2) {
9
+ var result = num1 + num2;
10
+ console.log(result)
11
+ }
12
+ `;
13
+ return terser.minify(code).then(minify => {
14
+ expect(minify.code).toBe('function sum(o,n){var c=o+n;console.log(c)}');
15
+ });
16
+ });
17
+ it('Minify a function with return and console.log', () => {
18
+ const code = `
19
+ function sum(num1, num2) {
20
+ var result = num1 + num2;
21
+ console.log(result);
22
+ return result;
23
+ }
24
+ `;
25
+ return terser.minify(code).then(minify => {
26
+ expect(minify.code).toBe('function sum(n,o){var r=n+o;return console.log(r),r}');
27
+ });
28
+ });
29
+ it('remove unused (dead codes) and unwanted variables inside the function', () => {
30
+ const code = `
31
+ function sum(num1, num2) {
32
+ var result = num1 + num2;
33
+ const functName = 'addition';
34
+ var i = 0;
35
+ return result;
36
+ }
37
+ `;
38
+ return terser.minify(code).then(minify => {
39
+ expect(minify.code).toBe('function sum(n,u){return n+u}');
40
+ });
41
+ });
42
+ it('Minify a function with a for loop', () => {
43
+ const code = `
44
+ function sum(num1, num2) {
45
+ for (var i = 0; i < num1; i++) {
46
+ console.log(i)
47
+ }
48
+ }
49
+ `;
50
+ return terser.minify(code).then(minify => {
51
+ expect(minify.code).toBe('function sum(o,n){for(var c=0;c<o;c++)console.log(c)}');
52
+ });
53
+ });
54
+ it('Minify a function with a if condition inside a for loop', () => {
55
+ const code = `
56
+ function sum(num1, num2) {
57
+ for (var i = 0; i < num1; i++) {
58
+ if(i > 0){
59
+ console.log(i)
60
+ }
61
+ else{
62
+ console.log(0);
63
+ }
64
+ }
65
+ }
66
+ `;
67
+ return terser.minify(code).then(minify => {
68
+ expect(minify.code).toBe('function sum(o,l){for(var n=0;n<o;n++)n>0?console.log(n):console.log(0)}');
69
+ });
70
+ });
71
+ });
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable max-lines */
4
+ const terser = require('terser');
5
+
6
+ describe('normal for loop', () => {
7
+ it('minimize variable names inside the loop when using let type', () => {
8
+ const code = `
9
+ for (let book = 0; book < 4; book += 1) {
10
+ console.log(book);
11
+ };
12
+ `;
13
+ return terser.minify(code).then(minify => {
14
+ expect(minify.code).toBe('for(let o=0;o<4;o+=1)console.log(o);');
15
+ });
16
+ });
17
+ it('for loop with variable keyword var', () => {
18
+ const code = `
19
+ for (var book = 0; book < 4; book += 1) {
20
+ console.log(book);
21
+ };
22
+ `;
23
+ return terser.minify(code).then(minify => {
24
+ expect(minify.code).toBe('for(var book=0;book<4;book+=1)console.log(book);');
25
+ });
26
+ });
27
+ it('remove unused variable with keyword let and const', () => {
28
+ const code = `
29
+ for (let number = 0;number>28;number++){
30
+ console.log(number);
31
+ let number2 = 28;
32
+ const number3 = 32;
33
+ };
34
+ `;
35
+ return terser.minify(code).then(minify => {
36
+ expect(minify.code).toBe('for(let o=0;o>28;o++){console.log(o)}');
37
+ });
38
+ });
39
+ it('take unused variable with keyword var', () => {
40
+ const code = `
41
+ for (let number = 0;number>28;number++){
42
+ console.log(number);
43
+ var number2 = 28;
44
+ var number3 = 32;
45
+ };
46
+ `;
47
+ return terser.minify(code).then(minify => {
48
+ expect(minify.code).toBe('for(let e=0;e>28;e++){console.log(e);var number2=28,number3=32}');
49
+ });
50
+ });
51
+ it('remove unused and unwanted codes like if statement', () => {
52
+ const code = `
53
+ for (let number = 0;number>28;number++){
54
+ console.log(number);
55
+ if(true){
56
+ let i = 0;
57
+ }
58
+ };
59
+ `;
60
+ return terser.minify(code).then(minify => {
61
+ expect(minify.code).toBe('for(let o=0;o>28;o++){console.log(o)}');
62
+ });
63
+ });
64
+ it('using break in loops', () => {
65
+ const code = `
66
+ for (let number = 0;number>28;number++){
67
+ console.log(number);
68
+ break;
69
+ };
70
+ `;
71
+ return terser.minify(code).then(minify => {
72
+ expect(minify.code).toBe('for(let o=0;o>28;o++){console.log(o);break}');
73
+ });
74
+ });
75
+ it('using breaks in loops with an condition', () => {
76
+ const code = `
77
+ for (let number = 0;number>28;number++){
78
+ console.log(number);
79
+ if(number != 0)
80
+ break;
81
+ };
82
+ `;
83
+ return terser.minify(code).then(minify => {
84
+ expect(minify.code).toBe('for(let o=0;o>28&&(console.log(o),0==o);o++);');
85
+ });
86
+ });
87
+ it('using continue in loops with an condition', () => {
88
+ const code = `
89
+ for (let number = 0;number>28;number++){
90
+ if(number > 0)
91
+ continue;
92
+ console.log(2);
93
+ };
94
+ `;
95
+ return terser.minify(code).then(minify => {
96
+ expect(minify.code).toBe('for(let o=0;o>28;o++)o>0||console.log(2);');
97
+ });
98
+ });
99
+ it('remove the code which are write below the continue', () => {
100
+ const code = `
101
+ for (let number = 0;number>28;number++){
102
+ console.log(2)
103
+ continue;
104
+ console.log(3)
105
+
106
+ };
107
+ `;
108
+ return terser.minify(code).then(minify => {
109
+ expect(minify.code).toBe('for(let o=0;o>28;o++)console.log(2);');
110
+ });
111
+ });
112
+ });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('minimize boolean values', () => {
6
+ const code = `
7
+ let a = true;
8
+ let b = false`;
9
+ return terser.minify(code).then(minify => {
10
+ expect(minify.code).toBe('let a=!0,b=!1;');
11
+ });
12
+ });
13
+ test('terinary operator with var and let', () => {
14
+ const code = `
15
+ var x = 3;
16
+ let a = 1;
17
+ let result = (a == 1) ? true : false
18
+ result = (x == 1) ? true : false;
19
+ `;
20
+ return terser.minify(code).then(minify => {
21
+ expect(minify.code).toBe('var x=3;let a=1,result=1==a;result=1==x;');
22
+ });
23
+ });
24
+ test('terinary operator with const', () => {
25
+ const code = `
26
+ const x = 3;
27
+ const a = 1;
28
+ let result = (a == 1) ? true : false
29
+ result = (x == 1) ? true : false;
30
+ `;
31
+ return terser.minify(code).then(minify => {
32
+ expect(minify.code).toBe('const x=3,a=1;let result=!0;result=!1;');
33
+ });
34
+ });
35
+ test('minimize values when using logical and comparision operators', () => {
36
+ const code = `
37
+ let result = (true && true ) ? true : false
38
+ result = (1>2) ? true : false;
39
+ `;
40
+ return terser.minify(code).then(minify => {
41
+ expect(minify.code).toBe('let result=!0;result=!1;');
42
+ });
43
+ });
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('reduce repeated variable names', () => {
6
+ const code = `
7
+ let number = 10;
8
+ number = number+10;
9
+ `;
10
+ return terser.minify(code).then(minify => {
11
+ expect(minify.code).toBe('let number=10;number+=10;');
12
+ });
13
+ });
14
+ test('variable names less than values with const', () => {
15
+ const code = `
16
+ const val = false;
17
+
18
+ console.log(val);
19
+ `;
20
+ return terser.minify(code).then(minify => {
21
+ expect(minify.code).toBe('const val=!1;console.log(val);');
22
+ });
23
+ });
24
+ test('variable names greather than values with const', () => {
25
+ const code = `
26
+ const found = true;
27
+
28
+ console.log(found);
29
+ `;
30
+ return terser.minify(code).then(minify => {
31
+ expect(minify.code).toBe('const found=!0;console.log(true);');
32
+ });
33
+ });
34
+ test('checking varible names with let and var', () => {
35
+ const code = `
36
+ let val = false;
37
+
38
+ var done = 3
39
+
40
+ console.log(val,done);
41
+ `;
42
+ return terser.minify(code).then(minify => {
43
+ expect(minify.code).toBe('let val=!1;var done=3;console.log(val,done);');
44
+ });
45
+ });
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('remove dead codes and minimize the parameter names', () => {
6
+ const code = `
7
+ const promise = new Promise((resolve, reject) => {
8
+ const res = true;
9
+ if (res) {
10
+ resolve('Resolved!');
11
+ }
12
+ else {
13
+ reject(Error('Error'));
14
+ }
15
+ });
16
+ promise.then((res) => console.log(res), (err) => console.error(err));
17
+ `;
18
+ return terser.minify(code).then(minify => {
19
+ expect(minify.code).toBe('const promise=new Promise(((o,e)=>{o("Resolved!")}));promise.then((o=>console.log(o)),(o=>console.error(o)));');
20
+ });
21
+ });
22
+ test('remove dead codes and minimize the variables', () => {
23
+ const code = `
24
+
25
+ const msg = async function () {
26
+ const msg = await helloWorld();
27
+ console.log('message',msg);
28
+ }
29
+ const msg1 = async () => {
30
+ const msg = await helloWorld();
31
+ console.log('message',msg);
32
+ }
33
+ msg();
34
+ msg1();
35
+ `;
36
+ return terser.minify(code).then(minify => {
37
+ expect(minify.code).toBe('const msg=async function(){const s=await helloWorld();console.log("message",s)},msg1=async()=>{const s=await helloWorld();console.log("message",s)};msg(),msg1();');
38
+ });
39
+ });
40
+ test('minimize the set timeout timer', () => {
41
+ const code = `
42
+ function helloWorld() {
43
+ return new Promise(resolve => {
44
+ setTimeout(() => {
45
+ resolve('Hello World!');
46
+ }, 2000);
47
+ });
48
+ }
49
+ `;
50
+ return terser.minify(code).then(minify => {
51
+ expect(minify.code).toBe('function helloWorld(){return new Promise((e=>{setTimeout((()=>{e("Hello World!")}),2e3)}))}');
52
+ });
53
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('removeComments', () => {
6
+ const code = `
7
+ function add(a, b) {
8
+ return a + b;
9
+ }`;
10
+ return terser.minify(code).then(minify => {
11
+ expect(minify.code).toBe('function add(n,d){return n+d}');
12
+ });
13
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ test('removeUnusedStrings', () => {
6
+ const code = `
7
+ let age = 7;
8
+
9
+ 'Tommy is ' + age + ' years old.';;
10
+ `;
11
+ return terser.minify(code).then(minify => {
12
+ expect(minify.code).toBe('let age=7;');
13
+ });
14
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ const terser = require('terser');
4
+
5
+ describe('variable declaration', () => {
6
+ it('check let statement', () => {
7
+ const code = `
8
+ let juiceCount = 5;
9
+ let juiceName = 'apple'`;
10
+ return terser.minify(code).then(minify => {
11
+ expect(minify.code).toBe('let juiceCount=5,juiceName="apple";');
12
+ });
13
+ });
14
+ it('check var statement', () => {
15
+ const code = `
16
+ var juiceCount = 5;
17
+ var juiceName = 'apple'`;
18
+ return terser.minify(code).then(minify => {
19
+ expect(minify.code).toBe('var juiceCount=5,juiceName="apple";');
20
+ });
21
+ });
22
+ it('check const statement', () => {
23
+ const code = `
24
+ const juiceCount = 5;
25
+ const juiceName = 'apple'`;
26
+ return terser.minify(code).then(minify => {
27
+ expect(minify.code).toBe('const juiceCount=5,juiceName="apple";');
28
+ });
29
+ });
30
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reactBundleIncludeList = exports.defaultVendorPatternList = void 0;
7
+
8
+ var _checkIsPatternsMatchFilename = require("./loaderConfigs/checkIsPatternsMatchFilename");
9
+
10
+ const reactBundleIncludeList = ['**/node_modules/react/**/*.js', '**/node_modules/react-dom/**/*.js', '**/node_modules/react-redux/**/*.js', '**/node_modules/react-transition-group/**/*.js', '**/node_modules/scheduler/**/*.js', '**/node_modules/prop-types/**/*.js'];
11
+ exports.reactBundleIncludeList = reactBundleIncludeList;
12
+ const defaultVendorPatternList = ['**/node_modules/**/*.js', '!*.css', '!**/publicPathConfig.js', ...(0, _checkIsPatternsMatchFilename.modifyAsExclude)(['**/node_modules/script-loader/**/*.js', '**/node_modules/raw-loader/**/*.js']), ...(0, _checkIsPatternsMatchFilename.modifyAsExclude)(reactBundleIncludeList)];
13
+ exports.defaultVendorPatternList = defaultVendorPatternList;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.devtoolConfig = devtoolConfig;
7
+
8
+ // eslint-disable-next-line consistent-return
9
+ function devtoolConfig(options) {
10
+ if (options.createSeparateSMap) {
11
+ return options.devtool;
12
+ }
13
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.entryConfig = entryConfig;
7
+
8
+ var _constants = require("../../constants");
9
+
10
+ function entryConfig(options) {
11
+ const {
12
+ hasEFC,
13
+ entryFile,
14
+ entryPointName
15
+ } = options.efc;
16
+ const {
17
+ entryFile: mainEntry
18
+ } = options.app;
19
+ const entry = {
20
+ main: (0, _constants.joinWithAppPath)(mainEntry)
21
+ };
22
+
23
+ if (hasEFC && entryFile) {
24
+ entry[entryPointName] = (0, _constants.joinWithAppPath)(entryFile);
25
+ }
26
+
27
+ return entry;
28
+ }