@zohodesk/react-cli 1.1.14-kubernetes → 1.1.15-exp.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (510) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/.vscode/settings.json +25 -0
  5. package/Changelog.md +1019 -1019
  6. package/README.md +1421 -1137
  7. package/bin/cli.js +458 -483
  8. package/docs/AutoPrefixer.md +27 -0
  9. package/docs/ComposeMinification.md +13 -0
  10. package/docs/CustomChunks.md +29 -26
  11. package/docs/DevServerPort.md +39 -39
  12. package/docs/DevStart.md +18 -18
  13. package/docs/HoverActive.md +12 -12
  14. package/docs/InstallNode.md +28 -28
  15. package/docs/MarkdownParser.md +18 -0
  16. package/docs/ReactLive.md +14 -0
  17. package/docs/SelectorWeight.md +9 -6
  18. package/docs/TODOS.md +10 -10
  19. package/docs/ValueReplacer.md +87 -60
  20. package/docs/VariableConversion.md +729 -724
  21. package/docs/patternFiltering.md +57 -0
  22. package/docs/warnings_while_install.txt +35 -35
  23. package/files/eslintrc.js +62 -62
  24. package/files/prettierrc.js +3 -3
  25. package/lib/common/buildEs.js +12 -0
  26. package/lib/common/runPreProcess.js +71 -0
  27. package/lib/common/splitChunks.js +65 -45
  28. package/lib/common/testPattern.js +9 -11
  29. package/lib/common/valueReplacer.js +1 -3
  30. package/lib/configs/resolvers.js +16 -5
  31. package/lib/configs/webpack.css.umd.config.js +7 -6
  32. package/lib/configs/webpack.dev.config.js +18 -5
  33. package/lib/configs/webpack.docs.config.js +19 -5
  34. package/lib/configs/webpack.impact.config.js +13 -4
  35. package/lib/configs/webpack.prod.config.js +18 -5
  36. package/lib/constants.js +3 -3
  37. package/lib/deprecationLogger.js +40 -0
  38. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  39. package/lib/loaderUtils/getCSSLoaders.js +102 -49
  40. package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
  41. package/lib/loaderUtils/windowsModification.js +6 -1
  42. package/lib/loaders/__test__/markdownLoader.spec.js +145 -0
  43. package/lib/loaders/composeLoader.js +298 -0
  44. package/lib/loaders/docsLoader.js +18 -7
  45. package/lib/loaders/markdownLoader.js +71 -0
  46. package/lib/loaders/reactLiveConvertor.js +105 -0
  47. package/lib/loaders/selectorMappingLoader.js +9 -9
  48. package/lib/loaders/workerLoader.js +9 -9
  49. package/lib/logger.js +27 -0
  50. package/lib/pluginUtils/getDevPlugins.js +30 -11
  51. package/lib/pluginUtils/getProdPlugins.js +37 -10
  52. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  53. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  54. package/lib/plugins/CustomAttributePlugin.js +82 -0
  55. package/lib/plugins/CustomAttributePlugin.md +35 -0
  56. package/lib/plugins/EFCPlugin.js +9 -9
  57. package/lib/plugins/EFCPlugin.md +6 -6
  58. package/lib/plugins/EFCTemplatePlugin.js +10 -12
  59. package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
  60. package/lib/plugins/I18NInjectIntoIndexPlugin.js +12 -13
  61. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
  62. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  63. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  64. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +10 -15
  65. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  66. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  67. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  68. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  69. package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
  70. package/lib/plugins/ReportGeneratePlugin.js +8 -6
  71. package/lib/plugins/ResourceHintsPlugin.js +30 -20
  72. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  73. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  74. package/lib/plugins/SelectorPlugin.js +77 -37
  75. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  76. package/lib/plugins/StatsPlugin.js +82 -0
  77. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  78. package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
  79. package/lib/plugins/VariableConversionCollector.js +86 -147
  80. package/lib/plugins/index.js +7 -7
  81. package/lib/plugins/utils/classHandling.js +35 -0
  82. package/lib/plugins/utils/fileHandling.js +93 -0
  83. package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
  84. package/lib/plugins/variableConvertorUtils.js +133 -0
  85. package/lib/postcss-plugins/AutoPrefixer.js +150 -0
  86. package/lib/postcss-plugins/EmptyPlugin.js +8 -0
  87. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  88. package/lib/postcss-plugins/IncludePlugin.js +23 -0
  89. package/lib/postcss-plugins/RTLSplitPlugin.js +14 -20
  90. package/lib/postcss-plugins/SelectorReplace.js +80 -0
  91. package/lib/postcss-plugins/ValueReplacer.js +8 -29
  92. package/lib/postcss-plugins/__test__/selectorReplace.test.js +28 -0
  93. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  94. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  95. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
  96. package/lib/postcss-plugins/hoverActivePlugin.js +3 -9
  97. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +0 -1
  98. package/lib/postcss-plugins/variableModificationPlugin/index.js +94 -38
  99. package/lib/schemas/index.js +109 -18
  100. package/lib/servers/devBuild.js +13 -11
  101. package/lib/servers/getCliPath.js +3 -5
  102. package/lib/servers/httpsOptions.js +12 -13
  103. package/lib/servers/nowatchserver.js +62 -55
  104. package/lib/servers/requireLocalOrGlobal.js +61 -0
  105. package/lib/servers/server.js +53 -52
  106. package/lib/sh/pre-commit.sh +34 -34
  107. package/lib/sh/reportPublish.sh +45 -45
  108. package/lib/utils/buildstats.html +148 -148
  109. package/lib/utils/cssClassNameGenerate.js +70 -13
  110. package/lib/utils/deprecationSupport.js +134 -0
  111. package/lib/utils/getOptions.js +35 -28
  112. package/lib/utils/getServerURL.js +1 -9
  113. package/lib/utils/index.js +14 -12
  114. package/lib/utils/initPreCommitHook.js +5 -5
  115. package/lib/utils/log.js +11 -0
  116. package/lib/utils/object-manipulation.js +88 -0
  117. package/lib/utils/pullOrigin.js +3 -3
  118. package/lib/utils/reinstallDependencies.js +3 -3
  119. package/lib/utils/resultSchema.json +73 -73
  120. package/lib/utils/selectorReplacer.js +47 -0
  121. package/lib/utils/switchBranch.js +4 -2
  122. package/lib/utils/variableConverter.js +104 -0
  123. package/npm-shrinkwrap.json +14485 -0
  124. package/npm8.md +9 -9
  125. package/package.json +124 -121
  126. package/packages/client_build_tool/lib/allCommandsConfigs.js +25 -0
  127. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +17 -0
  128. package/packages/client_build_tool/lib/commands/build/config.js +12 -0
  129. package/packages/client_build_tool/lib/commands/build/errorHander.js +10 -0
  130. package/packages/client_build_tool/lib/commands/build/optionsProcessor.js +45 -0
  131. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +33 -0
  132. package/packages/client_build_tool/lib/commands/buildEs/config.js +12 -0
  133. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +33 -0
  134. package/packages/client_build_tool/lib/commands/buildLib/config.js +12 -0
  135. package/packages/client_build_tool/lib/commands/mockserver/commandExecutor.js +43 -0
  136. package/packages/client_build_tool/lib/commands/mockserver/config.js +12 -0
  137. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +12 -0
  138. package/packages/client_build_tool/lib/commands/start/config.js +12 -0
  139. package/packages/client_build_tool/lib/commands/start/deprecationHandler.js +10 -0
  140. package/packages/client_build_tool/lib/commands/start/errorHander.js +10 -0
  141. package/packages/client_build_tool/lib/commands/start/optionsProcessor.js +40 -0
  142. package/packages/client_build_tool/lib/commands/start/postProcessor.js +10 -0
  143. package/packages/client_build_tool/lib/commands/start/preProcessor.js +10 -0
  144. package/packages/client_build_tool/lib/commands/template/commandExecutor.js +32 -0
  145. package/packages/client_build_tool/lib/commands/template/config.js +12 -0
  146. package/packages/client_build_tool/lib/commands/version/commandExecutor.js +14 -0
  147. package/packages/client_build_tool/lib/commands/version/config.js +12 -0
  148. package/packages/client_build_tool/lib/commands/version/errorHander.js +10 -0
  149. package/packages/client_build_tool/lib/commandsRouter.js +76 -0
  150. package/packages/client_build_tool/lib/index.js +12 -0
  151. package/packages/client_build_tool/lib/logger.js +34 -0
  152. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/otherTestCases.test.js +234 -0
  153. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingDifferentDataTypesToSchema.test.js +103 -0
  154. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingEmptyObjects.test.js +41 -0
  155. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertArray.test.js +68 -0
  156. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertNumber.test.js +68 -0
  157. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertObject.test.js +141 -0
  158. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertString.test.js +68 -0
  159. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertUndefinedAndNull.test.js +132 -0
  160. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertArray.test.js +71 -0
  161. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertNumber.test.js +71 -0
  162. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertObject.test.js +73 -0
  163. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertString.test.js +71 -0
  164. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertUndefinedAndNull.test.js +138 -0
  165. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/index.js +34 -0
  166. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  167. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  168. package/packages/client_build_tool/lib/schemas/cliArgsToObject.js +39 -0
  169. package/packages/client_build_tool/lib/schemas/defaultConfigValues.js +244 -0
  170. package/packages/client_build_tool/lib/schemas/defaultConfigValuesOnly.js +161 -0
  171. package/packages/client_build_tool/lib/schemas/deprecatedOptionsHandler.js +67 -0
  172. package/packages/client_build_tool/lib/schemas/getNpmVersion.js +22 -0
  173. package/packages/client_build_tool/lib/schemas/giveDefaultValue.js +18 -0
  174. package/packages/client_build_tool/lib/schemas/npmConfigToObject.js +35 -0
  175. package/packages/client_build_tool/lib/schemas/readOptions.js +54 -0
  176. package/packages/client_build_tool/lib/schemas/readOptionsForConfigFile.js +42 -0
  177. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Map.test.js +15 -0
  178. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/MathAndNumberMethod.test.js +30 -0
  179. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/ObjectAndModules.test.js +47 -0
  180. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Sets.test.js +18 -0
  181. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Symbol.test.js +25 -0
  182. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/arrowFunction.test.js +34 -0
  183. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/block-scoping.test.js +18 -0
  184. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/classes.test.js +55 -0
  185. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/defaultParameterValues.test.js +18 -0
  186. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/extraFeatures.test.js +82 -0
  187. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/forOf.test.js +20 -0
  188. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/promise.test.js +22 -0
  189. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadOperator.test.js +20 -0
  190. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadParams.test.js +24 -0
  191. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/stringAndArrayMethods.test.js +67 -0
  192. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/variables.test.js +21 -0
  193. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/array-includes.test.js +13 -0
  194. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/exponentationOperator.test.js +20 -0
  195. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/asyncAndawait.test.js +23 -0
  196. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-entries.test.js +24 -0
  197. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-getOwnproperties.test.js +24 -0
  198. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-values.test.js +24 -0
  199. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/stringMethods.test.js +20 -0
  200. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/asynchronous-iterator.test.js +19 -0
  201. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/object-rest-spread.test.js +24 -0
  202. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/promise-finally.test.js +26 -0
  203. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/regularExpressions.test.js +35 -0
  204. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/Json.stringify.test.js +21 -0
  205. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/arrayMethods.test.js +31 -0
  206. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/object-fromEntriesMethod.test.js +13 -0
  207. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/optionalCatchBinding.test.js +23 -0
  208. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/revisedFunctionToString.test.js +17 -0
  209. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/trim-startAndend-method.test.js +20 -0
  210. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/AssignmentOperator.test.js +27 -0
  211. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/Dynamic-Import.test.js +19 -0
  212. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/NullishOperator.test.js +15 -0
  213. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/bigInt.test.js +13 -0
  214. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/chainOperator.test.js +17 -0
  215. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/export-namespace-from.test.js +12 -0
  216. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/promiseAllSettledMathod.test.js +17 -0
  217. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/stringMatchMethod.test.js +13 -0
  218. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/NumericSeparator.test.js +23 -0
  219. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/logicalOperatorAssignments.test.js +25 -0
  220. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/promiseAny.test.js +16 -0
  221. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/stringReplaceMethod.test.js +16 -0
  222. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/Array-atMethod.test.js +13 -0
  223. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjectKeyCheck.test.js +27 -0
  224. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjecthasOwnMethod.test.js +19 -0
  225. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/RegexMatchIndices.test.js +20 -0
  226. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/String-atMethod.test.js +15 -0
  227. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/error.Cause.test.js +23 -0
  228. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/keysCheckinPrivateFields.test.js +27 -0
  229. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/privateMethodsAndFields.test.js +23 -0
  230. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/staticFieldsAndMethod.test.js +54 -0
  231. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/topLevelAwait.test.js +11 -0
  232. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/weakRef.test.js +17 -0
  233. package/packages/client_build_tool/lib/shared/babel/__test__/utilities.js +28 -0
  234. package/packages/client_build_tool/lib/shared/babel/babelWebConfig.js +49 -0
  235. package/packages/client_build_tool/lib/shared/babel/runBabelForJSFile.js +24 -0
  236. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +42 -0
  237. package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  238. package/packages/client_build_tool/lib/shared/bundler/webpack/common/modeUtils.js +31 -0
  239. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +70 -0
  240. package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  241. package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  242. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/addFilesToManifestJson.js +19 -0
  243. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/utilities.js +18 -0
  244. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +102 -0
  245. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  246. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  247. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +172 -0
  248. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  249. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +203 -0
  250. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  251. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  252. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  253. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  254. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  255. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  256. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  257. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  258. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  259. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  260. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  261. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  262. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  263. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  264. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/classesAndObject.test.js +56 -0
  265. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/conditionalOperation.test.js +154 -0
  266. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function.test.js +89 -0
  267. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function2.test.js +71 -0
  268. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/loop.test.js +112 -0
  269. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minifyBooleanValues.test.js +43 -0
  270. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minimizeVariableNames.test.js +45 -0
  271. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/promise.test.js +53 -0
  272. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  273. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeUnusedStrings.test.js +14 -0
  274. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/variableDeclaration.test.js +30 -0
  275. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  276. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  277. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  278. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  279. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  280. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +54 -0
  281. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/addFilesNamesToManifestJson.test.js +51 -0
  282. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/createInitialEntries.test.js +95 -0
  283. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/removeHashFromFileName.test.js +91 -0
  284. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +24 -0
  285. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +17 -0
  286. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  287. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  288. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +44 -0
  289. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  290. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  291. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +165 -0
  292. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  293. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  294. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  295. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
  296. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  297. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  298. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  299. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  300. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +110 -0
  301. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +38 -0
  302. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifyCss1.test.js +74 -0
  303. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifycss.test.js +64 -0
  304. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/utilities.js +28 -0
  305. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  306. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  307. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +361 -0
  308. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  309. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  310. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  311. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/classesAndObject.test.js +56 -0
  312. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/conditionalOperation.test.js +154 -0
  313. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function.test.js +89 -0
  314. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function2.test.js +71 -0
  315. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/loop.test.js +112 -0
  316. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minifyBooleanValues.test.js +43 -0
  317. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minimizeVariableNames.test.js +45 -0
  318. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/promise.test.js +53 -0
  319. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  320. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeUnusedStrings.test.js +14 -0
  321. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/variableDeclaration.test.js +30 -0
  322. package/packages/client_build_tool/lib/shared/bundler/webpack/entryConfig.js +28 -0
  323. package/packages/client_build_tool/lib/shared/bundler/webpack/externals.js +13 -0
  324. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +27 -0
  325. package/packages/client_build_tool/lib/shared/bundler/webpack/getSourceMapType.js +10 -0
  326. package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +17 -0
  327. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  328. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  329. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +52 -0
  330. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  331. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  332. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  333. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +138 -0
  334. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +59 -0
  335. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  336. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  337. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +43 -0
  338. package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +28 -0
  339. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  340. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +24 -0
  341. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  342. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +80 -0
  343. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  344. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +27 -0
  345. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  346. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  347. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  348. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +32 -0
  349. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -0
  350. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  351. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +19 -0
  352. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  353. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  354. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  355. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  356. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  357. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +48 -0
  358. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +49 -0
  359. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +128 -0
  360. package/packages/client_build_tool/lib/shared/bundler/webpack/statsConfig.js +21 -0
  361. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/index.js +26 -0
  362. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +18 -0
  363. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  364. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +52 -0
  365. package/packages/client_build_tool/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  366. package/packages/client_build_tool/lib/shared/commands-utils/getCliPath.js +39 -0
  367. package/packages/client_build_tool/lib/shared/commands-utils/index.js +29 -0
  368. package/packages/client_build_tool/lib/shared/commands-utils/log.js +13 -0
  369. package/packages/client_build_tool/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  370. package/packages/client_build_tool/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  371. package/packages/client_build_tool/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  372. package/packages/client_build_tool/lib/shared/constants.js +45 -0
  373. package/packages/client_build_tool/lib/shared/fileUtils/copyFile.js +38 -0
  374. package/packages/client_build_tool/lib/shared/fileUtils/directoryIterator.js +21 -0
  375. package/packages/client_build_tool/lib/shared/fileUtils/watchRun.js +100 -0
  376. package/packages/client_build_tool/lib/shared/postcss/__test__/ignoreTestCases.test.js +80 -0
  377. package/packages/client_build_tool/lib/shared/postcss/__test__/postcss-rtl-all-cases.test.js +119 -0
  378. package/packages/client_build_tool/lib/shared/postcss/__test__/postcssRtl.spec.js +34 -0
  379. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  380. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  381. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  382. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  383. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  384. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  385. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  386. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  387. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  388. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  389. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  390. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  391. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  392. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +343 -0
  393. package/packages/client_build_tool/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  394. package/packages/client_build_tool/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  395. package/packages/client_build_tool/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  396. package/packages/client_build_tool/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  397. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  398. package/packages/client_build_tool/lib/shared/server/corsHandling.js +21 -0
  399. package/packages/client_build_tool/lib/shared/server/getIp.js +30 -0
  400. package/packages/client_build_tool/lib/shared/server/getServerURL.js +29 -0
  401. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +46 -0
  402. package/packages/client_build_tool/lib/shared/server/initExpressApp.js +19 -0
  403. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +99 -0
  404. package/packages/client_build_tool/lib/shared/server/mockApiHandler.js +60 -0
  405. package/packages/client_build_tool/lib/shared/server/mockServer.js +41 -0
  406. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +25 -0
  407. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +36 -0
  408. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +26 -0
  409. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +38 -0
  410. package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  411. package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  412. package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  413. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  414. package/packages/client_build_tool/lib/shared/server/urlConcat.js +32 -0
  415. package/packages/client_build_tool/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  416. package/packages/client_build_tool/lib/shared/utils/utils.js +1 -0
  417. package/packages/client_build_tool/lib/shared/utils/versionPrint.js +20 -0
  418. package/packages/client_build_tool/node_modules/history/CHANGES.md +395 -0
  419. package/packages/client_build_tool/node_modules/history/DOMUtils.js +3 -0
  420. package/packages/client_build_tool/node_modules/history/ExecutionEnvironment.js +3 -0
  421. package/packages/client_build_tool/node_modules/history/LICENSE +21 -0
  422. package/packages/client_build_tool/node_modules/history/LocationUtils.js +3 -0
  423. package/packages/client_build_tool/node_modules/history/PathUtils.js +3 -0
  424. package/packages/client_build_tool/node_modules/history/README.md +282 -0
  425. package/packages/client_build_tool/node_modules/history/cjs/history.js +933 -0
  426. package/packages/client_build_tool/node_modules/history/cjs/history.min.js +1 -0
  427. package/packages/client_build_tool/node_modules/history/createBrowserHistory.js +3 -0
  428. package/packages/client_build_tool/node_modules/history/createHashHistory.js +3 -0
  429. package/packages/client_build_tool/node_modules/history/createMemoryHistory.js +3 -0
  430. package/packages/client_build_tool/node_modules/history/createTransitionManager.js +3 -0
  431. package/packages/client_build_tool/node_modules/history/es/DOMUtils.js +7 -0
  432. package/packages/client_build_tool/node_modules/history/es/ExecutionEnvironment.js +7 -0
  433. package/packages/client_build_tool/node_modules/history/es/LocationUtils.js +7 -0
  434. package/packages/client_build_tool/node_modules/history/es/PathUtils.js +7 -0
  435. package/packages/client_build_tool/node_modules/history/es/createBrowserHistory.js +7 -0
  436. package/packages/client_build_tool/node_modules/history/es/createHashHistory.js +7 -0
  437. package/packages/client_build_tool/node_modules/history/es/createMemoryHistory.js +7 -0
  438. package/packages/client_build_tool/node_modules/history/es/createTransitionManager.js +7 -0
  439. package/packages/client_build_tool/node_modules/history/es/warnAboutDeprecatedESMImport.js +35 -0
  440. package/packages/client_build_tool/node_modules/history/esm/history.js +904 -0
  441. package/packages/client_build_tool/node_modules/history/index.js +7 -0
  442. package/packages/client_build_tool/node_modules/history/package.json +120 -0
  443. package/packages/client_build_tool/node_modules/history/umd/history.js +1059 -0
  444. package/packages/client_build_tool/node_modules/history/umd/history.min.js +1 -0
  445. package/packages/client_build_tool/node_modules/history/warnAboutDeprecatedCJSRequire.js +35 -0
  446. package/postpublish.js +8 -8
  447. package/result.json +1 -0
  448. package/templates/app/.eslintrc.js +140 -140
  449. package/templates/app/README.md +12 -12
  450. package/templates/app/app/index.html +24 -24
  451. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  452. package/templates/app/app/properties/i18nkeys.json +3 -3
  453. package/templates/app/docs/all.html +69 -69
  454. package/templates/app/mockapi/index.js +18 -18
  455. package/templates/app/package.json +37 -37
  456. package/templates/app/src/actions/SampleActions/index.js +37 -37
  457. package/templates/app/src/actions/index.js +65 -65
  458. package/templates/app/src/appUrls.js +19 -19
  459. package/templates/app/src/components/Alert/Alert.js +134 -134
  460. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  461. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  462. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  463. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  464. package/templates/app/src/components/Sample/SampleList.js +61 -61
  465. package/templates/app/src/components/Slider/Slider.css +41 -41
  466. package/templates/app/src/components/Slider/Slider.js +55 -55
  467. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  468. package/templates/app/src/containers/AppContainer/index.js +96 -96
  469. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  470. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  471. package/templates/app/src/containers/DevTools/index.js +10 -10
  472. package/templates/app/src/containers/Header/index.js +67 -67
  473. package/templates/app/src/containers/Header/index.module.css +43 -43
  474. package/templates/app/src/containers/Redirect/index.js +63 -63
  475. package/templates/app/src/containers/Redirector/index.js +47 -47
  476. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  477. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  478. package/templates/app/src/historyChange.js +5 -5
  479. package/templates/app/src/index.html +10 -10
  480. package/templates/app/src/index.js +24 -24
  481. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  482. package/templates/app/src/reducers/alertData.js +11 -11
  483. package/templates/app/src/reducers/index.js +6 -6
  484. package/templates/app/src/reducers/samples.js +19 -19
  485. package/templates/app/src/store/configureStore.dev.js +51 -51
  486. package/templates/app/src/store/configureStore.js +5 -5
  487. package/templates/app/src/store/configureStore.prod.js +26 -26
  488. package/templates/app/src/util/Common.js +5 -5
  489. package/templates/app/src/util/RequestAPI.js +132 -132
  490. package/templates/docs/all.html +250 -249
  491. package/templates/docs/component.html +179 -178
  492. package/templates/docs/components.html +222 -221
  493. package/templates/docs/css/b.min.css +6 -6
  494. package/templates/docs/css/component.css +42 -42
  495. package/templates/docs/css/componentTest.css +6 -6
  496. package/templates/docs/css/hopscotch.css +585 -585
  497. package/templates/docs/css/markdown.css +202 -0
  498. package/templates/docs/css/style.css +989 -1022
  499. package/templates/docs/impactReportTemplate.html +154 -154
  500. package/templates/docs/index.html +1665 -1501
  501. package/templates/docs/js/active-line.js +72 -72
  502. package/templates/docs/js/b.min.js +7 -7
  503. package/templates/docs/js/codemirror.js +9680 -9680
  504. package/templates/docs/js/designTokens.js +334 -334
  505. package/templates/docs/js/j.min.js +4 -4
  506. package/templates/docs/js/javascript.js +874 -874
  507. package/templates/docs/js/matchbrackets.js +145 -145
  508. package/unittest/index.html +37 -0
  509. package/lib/plugins/composeCommonPlugin.js +0 -30
  510. package/lib/postcss-plugins/variableModifier.js +0 -244
@@ -22,7 +22,7 @@ var _getI18nFileUrlPathTemplate = require("./I18nSplitPlugin/utils/getI18nFileUr
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
24
  let i18nObj = null;
25
- let options = (0, _utils.getOptions)();
25
+ const options = (0, _utils.getOptions)();
26
26
 
27
27
  function newAssign(target, data) {
28
28
  return Object.assign({}, target, data);
@@ -43,7 +43,7 @@ class I18NInjectIntoIndexPlugin {
43
43
  }
44
44
 
45
45
  getI18nFileUrlPath(chunk, compilation) {
46
- let urlpath = (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, this.templateLabel);
46
+ const urlpath = (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, this.templateLabel);
47
47
  return (0, _urlConcat.urlConcat)(this.publicPath, urlpath);
48
48
  }
49
49
 
@@ -81,7 +81,6 @@ class I18NInjectIntoIndexPlugin {
81
81
  withI18nSpitHandling(compiler) {
82
82
  compiler.hooks.make.tap('I18NInjectIntoIndexPlugin', compilation => {
83
83
  // let cdns = Object.keys(this.publicPaths);
84
- // console.log('compilation.assets', Object.keys(compilation.assets).filter(a => a.includes('i18n')));
85
84
  if (!(0, _hashUtils.hasContentHash)(this.i18nFileNameTemplate)) {
86
85
  this.injectI18nURLsToHTML(compilation);
87
86
  return;
@@ -91,7 +90,7 @@ class I18NInjectIntoIndexPlugin {
91
90
  // Manipulate the content
92
91
  const i18nManifest = this.getI18nManifest(compilation);
93
92
  const entryPoint = compilation.entrypoints.get(this.entryPointName);
94
- let i18nAssets = (0, _hashUtils.getShortI18nAssets)(entryPoint.chunks, i18nManifest, this.publicPath);
93
+ const i18nAssets = (0, _hashUtils.getShortI18nAssets)(entryPoint.chunks, i18nManifest, this.publicPath);
95
94
  data.html = data.html.replace(new RegExp('<!--I18nInfoToServer(.*?)I18nInfoToServer-->', 'g'), (match, arg) => match.replace(arg, JSON.stringify(i18nAssets))); // Tell webpack to move on
96
95
 
97
96
  cb(null, data);
@@ -111,15 +110,15 @@ class I18NInjectIntoIndexPlugin {
111
110
  compiler.hooks.emit.tap('I18NInjectIntoIndexPlugin', compilation => {
112
111
  // let cdns = Object.keys(this.publicPaths);
113
112
  if (i18nObj === null) {
114
- let i18nFiles = Object.keys(compilation.assets).filter(assert => assert.indexOf(`i18n${_path.default.sep}`) !== -1); //hook for i18n url contains i18n/ may cause problem
113
+ const i18nFiles = Object.keys(compilation.assets).filter(assert => assert.indexOf(`i18n${_path.default.sep}`) !== -1); //hook for i18n url contains i18n/ may cause problem
115
114
 
116
115
  i18nObj = i18nFiles.reduce((res, next) => {
117
- let fileName = next.replace(`i18n${_path.default.sep}`, '');
118
- let splittedFileName = fileName.split('.');
119
- /* if (this.isDevelopment) {
120
- res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;
121
- } else {
122
- res[splittedFileName[0]] = fileName;
116
+ const fileName = next.replace(`i18n${_path.default.sep}`, '');
117
+ const splittedFileName = fileName.split('.');
118
+ /* if (this.isDevelopment) {
119
+ res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;
120
+ } else {
121
+ res[splittedFileName[0]] = fileName;
123
122
  } */
124
123
 
125
124
  res[splittedFileName[0]] = `${this.publicPath}/i18n/${fileName}`;
@@ -127,10 +126,10 @@ class I18NInjectIntoIndexPlugin {
127
126
  }, {});
128
127
  }
129
128
 
130
- let [indexFile] = Object.keys(compilation.assets).filter(filename => /\.html$/g.test(filename));
129
+ const [indexFile] = Object.keys(compilation.assets).filter(filename => /\.html$/g.test(filename));
131
130
 
132
131
  if (indexFile) {
133
- let source = compilation.assets[indexFile].source();
132
+ const source = compilation.assets[indexFile].source();
134
133
  compilation.assets[indexFile] = new _webpackSources.RawSource(source.replace(new RegExp('<!--I18nInfoToServer(.*)I18nInfoToServer-->', 'g'), (match, arg) => match.replace(arg, JSON.stringify(i18nObj))));
135
134
  }
136
135
  });
@@ -24,10 +24,9 @@ class I18nDebugPlugin {
24
24
  compiler.hooks.normalModuleFactory.tap(pluginName, factory => {
25
25
  if (!this.compilationParams || this.compilationParams.normalModuleFactory === factory) {
26
26
  return;
27
- } // console.log('skiped');
27
+ }
28
28
 
29
-
30
- let handler = parser => {
29
+ const handler = parser => {
31
30
  parser.hooks.program.tap(pluginName, (ast, commmets) => {
32
31
  const {
33
32
  module
@@ -13,23 +13,23 @@ var _hashUtils = require("./utils/hashUtils");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- /**
17
- * this plugin for the download i18n files
18
- * So, if need to downoad i18n in browser this plugin handle that
19
- *
20
- *
21
- * this plugin works
22
- * how it works?
23
- * this plugin hook the requireEnsure method and we write logic for current compiled file download logic
24
- *
25
- * hinds:-
26
- * requireEnsure method was loader for all js chunk's ,
27
- * which means if we use dynamic import then this function will create script tag for that dynamic resource
28
- * so every dynamic js chunk will load by this function,
29
- * So we update this function with when dynamic jschunk call the nour code also execute
30
- *
31
- * some thing missing in this definetion
32
- *
16
+ /**
17
+ * this plugin for the download i18n files
18
+ * So, if need to downoad i18n in browser this plugin handle that
19
+ *
20
+ *
21
+ * this plugin works
22
+ * how it works?
23
+ * this plugin hook the requireEnsure method and we write logic for current compiled file download logic
24
+ *
25
+ * hinds:-
26
+ * requireEnsure method was loader for all js chunk's ,
27
+ * which means if we use dynamic import then this function will create script tag for that dynamic resource
28
+ * so every dynamic js chunk will load by this function,
29
+ * So we update this function with when dynamic jschunk call the nour code also execute
30
+ *
31
+ * some thing missing in this definetion
32
+ *
33
33
  */
34
34
  // import { REGEXP_HASH, REGEXP_CHUNKHASH } from './utils/hashUtils';
35
35
  const pluginName = 'DownloadLogicOfI18n'; // const pluginName = 'i18n-plugin';
@@ -126,20 +126,20 @@ class I18nDownlodLogic {
126
126
  return _webpack.Template.asString([source, '', '// object to store loaded I18N chunks', 'var installedI18nChunks = {', _webpack.Template.indent(mainChunk.ids.map(id => `${JSON.stringify(id)}: 0`).join(',\n')), '};']);
127
127
  });
128
128
  mainTemplate.hooks.requireEnsure.tap(pluginName, (source, mainChunk, hash) => {
129
- /**
130
- * for Information this is tapped in mainTemplate ,
131
- * So this hooks argument chunk is main chunk means entry chunk mostly.
132
- * if any chunk has i18n then we must write our download i18n logic,
129
+ /**
130
+ * for Information this is tapped in mainTemplate ,
131
+ * So this hooks argument chunk is main chunk means entry chunk mostly.
132
+ * if any chunk has i18n then we must write our download i18n logic,
133
133
  */
134
134
  const chunkMap = this.getI18nChunkObject(mainChunk);
135
135
 
136
136
  if (!Object.keys(chunkMap).length) {
137
137
  return source;
138
138
  }
139
- /**
140
- * chunkMaps has
141
- * @property {Object} hash [it has key as chunk id and value as chunkHash ]
142
- * @property {Object} name [it has key as chunk id and value as chunk name ]
139
+ /**
140
+ * chunkMaps has
141
+ * @property {Object} hash [it has key as chunk id and value as chunkHash ]
142
+ * @property {Object} name [it has key as chunk id and value as chunk name ]
143
143
  */
144
144
 
145
145
 
@@ -176,22 +176,22 @@ class I18nDownlodLogic {
176
176
  },
177
177
  contentHashType: MODULE_TYPE
178
178
  });
179
- /** IDEA:
180
- * as my suggestion ignore this `jsop` approch,
181
- * Because json parse is faster then js parse.
182
- * my suggestion is make ajax or fetch request
179
+ /** IDEA:
180
+ * as my suggestion ignore this `jsop` approch,
181
+ * Because json parse is faster then js parse.
182
+ * my suggestion is make ajax or fetch request
183
183
  */
184
184
 
185
185
  const buf = [];
186
- /*
187
- if (REGEXP_HASH.test(filenameTemplate)) {
188
- buf.push(
189
- `var hash = ${mainTemplate.renderCurrentHashCode(hash)};`
190
- );
191
- }
192
- if (REGEXP_CHUNKHASH.test(filenameTemplate)) {
193
- buf.push(`var chunkHashes = ${JSON.stringify(chunkMaps.hash)};`);
194
- }
186
+ /*
187
+ if (REGEXP_HASH.test(filenameTemplate)) {
188
+ buf.push(
189
+ `var hash = ${mainTemplate.renderCurrentHashCode(hash)};`
190
+ );
191
+ }
192
+ if (REGEXP_CHUNKHASH.test(filenameTemplate)) {
193
+ buf.push(`var chunkHashes = ${JSON.stringify(chunkMaps.hash)};`);
194
+ }
195
195
  */
196
196
 
197
197
  if ((0, _hashUtils.hasContentHash)(filenameTemplate)) {
@@ -13,8 +13,8 @@ var _getI18nKeysFormModules = _interopRequireDefault(require("./utils/getI18nKey
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- /**
17
- * this plugin was creating the chunk specific i18n chunk's.
16
+ /**
17
+ * this plugin was creating the chunk specific i18n chunk's.
18
18
  */
19
19
  // this plugin's kick starter is apply method
20
20
  const pluginName = 'I18nFilesEmitter';
@@ -141,40 +141,40 @@ class I18nFilesEmitter {
141
141
  }
142
142
 
143
143
  apply(compiler) {
144
- /*
145
- compiler.hooks.thisCompilation.tap(pluginName, compilation => {
146
- compilation.mainTemplate.hooks.renderManifest.tap(
147
- pluginName,
148
- (result, { chunk }) => {
149
- this.renderChunk(result, compilation, chunk);
150
- }
151
- );
152
- compilation.chunkTemplate.hooks.renderManifest.tap(
153
- pluginName,
154
- (result, { chunk }) => {
155
- this.renderChunk(result, compilation, chunk);
156
- }
157
- );
158
- });
144
+ /*
145
+ compiler.hooks.thisCompilation.tap(pluginName, compilation => {
146
+ compilation.mainTemplate.hooks.renderManifest.tap(
147
+ pluginName,
148
+ (result, { chunk }) => {
149
+ this.renderChunk(result, compilation, chunk);
150
+ }
151
+ );
152
+ compilation.chunkTemplate.hooks.renderManifest.tap(
153
+ pluginName,
154
+ (result, { chunk }) => {
155
+ this.renderChunk(result, compilation, chunk);
156
+ }
157
+ );
158
+ });
159
159
  */
160
160
  // this below hook was tapped for create asssets(file) for chunk specific i18nChunk Files
161
161
  compiler.hooks.emit.tap(pluginName, compilation => {
162
162
  this.emitI18nAssert(compilation);
163
163
  });
164
164
  }
165
- /*
166
- renderChunk(result, compilation, chunk) {
167
- const i18nKeys = getI18nKeysFormModules(chunk.modulesIterable);
168
- // TODO: need to discuss with vimal ji can we chose this place for add i18n locale files ????
169
- // IDEA: we chose this place for add i18n locale files ????
170
- if (i18nKeys.length > 0) {
171
- Object.keys(this.allI18nObject).forEach(locale => {
172
- result.push(
173
- this.renderI18nLocaleChunk(chunk, locale, i18nKeys, compilation)
174
- );
175
- });
176
- }
177
- }
165
+ /*
166
+ renderChunk(result, compilation, chunk) {
167
+ const i18nKeys = getI18nKeysFormModules(chunk.modulesIterable);
168
+ // TODO: need to discuss with vimal ji can we chose this place for add i18n locale files ????
169
+ // IDEA: we chose this place for add i18n locale files ????
170
+ if (i18nKeys.length > 0) {
171
+ Object.keys(this.allI18nObject).forEach(locale => {
172
+ result.push(
173
+ this.renderI18nLocaleChunk(chunk, locale, i18nKeys, compilation)
174
+ );
175
+ });
176
+ }
177
+ }
178
178
  */
179
179
 
180
180
 
@@ -14,14 +14,14 @@ var _NullFactory = _interopRequireDefault(require("webpack/lib/NullFactory"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
16
  const pluginName = 'I18nKeysIdentifer';
17
- /**
18
- * this plugin search the i18 keys and make it as I18nDependency.
19
- * how it works?
20
- * this plugin get jsResourceI18nKeys in constructor.
21
- * we walk throught the js files AST
22
- * if any string literal in that AST is in jsResourceI18nKeys then we consider that string as I18n key
23
- * after the walk of AST we get some I18n keys
24
- * then we make it as I18nDependency.
17
+ /**
18
+ * this plugin search the i18 keys and make it as I18nDependency.
19
+ * how it works?
20
+ * this plugin get jsResourceI18nKeys in constructor.
21
+ * we walk throught the js files AST
22
+ * if any string literal in that AST is in jsResourceI18nKeys then we consider that string as I18n key
23
+ * after the walk of AST we get some I18n keys
24
+ * then we make it as I18nDependency.
25
25
  */
26
26
 
27
27
  class I18nKeysIdentifer {
@@ -40,7 +40,7 @@ class I18nKeysIdentifer {
40
40
  identifier,
41
41
  i18nKeys
42
42
  }, module.context, 0);
43
- module.addDependency(dep); // console.log('module', i18nKeys, identifier);
43
+ module.addDependency(dep);
44
44
  }
45
45
 
46
46
  apply(compiler) {
@@ -50,7 +50,7 @@ class I18nKeysIdentifer {
50
50
  // and we must define how it import statement look like I18nDependencyTemplate
51
51
  this.defineConfigarationForI18nDependency(compilation); // handler for parser
52
52
 
53
- let handler = parser => {
53
+ const handler = parser => {
54
54
  parser.hooks.program.tap(pluginName, (ast, commmets) => {
55
55
  const {
56
56
  module
@@ -66,11 +66,6 @@ class I18nKeysIdentifer {
66
66
  (0, _utils.collectI18nKeysfromComments)(commmets, this.jsResourceI18nKeys));
67
67
 
68
68
  if (i18nKeys.length) {
69
- // console.log(
70
- // 'i18nKeys.length',
71
- // module.resource,
72
- // i18nKeys.length < 5 ? i18nKeys : i18nKeys.length
73
- // );
74
69
  this.addI18nDependency(module, i18nKeys);
75
70
  }
76
71
  });
@@ -1,95 +1,95 @@
1
- # I18n Split As Chunks Plugin
2
-
3
- generaly we have manage our all I18n keys and values as language specific i18n files and then we download all i18n in initial page load.
4
-
5
- ### what is the problem with this?.
6
-
7
- the problem is i18n file keep get's grown it will affect the the inital page load and critial rendering path.
8
- So, We have decide to create a plugin for split i18n per chunk's of js vise.
9
-
10
- ### what is i18n split?
11
-
12
- it is like code split for i18n.
13
- we will collect i18n from js chunk and we will create separate i18n chunk per js chunk,
14
- with this we already load Js chunks are on demand and now we also download i18n also ondemand with this the initial and forthere actions.
15
- when js download's we will download i18n with it.
16
-
17
- ### How to we going to i18n split?
18
-
19
- we will read the js chunk and collect I18n keys form it,
20
- then we will create i18n chunk files with these used keys.
21
-
22
- ### how do you collect i18n keys from js files?
23
-
24
- we will traverse the js file's AST (static analysis) and find i18 keys,
25
- we will concider all string which is in jsResource file as i18n keys.
26
- and you can tell dynamic i18n key by js comments,
27
- Like Below:-
28
-
29
- ```js
30
- fetch('tickets?view=view1').then(data => {
31
- // I18n support.ticketsEmpty
32
- // I18n support.viewNotFount
33
- // I18n support.permissionDenied
34
- let text = getI18nValue(data.i18nkey);
35
- });
36
- ```
37
-
38
- ### is there any posiblity for unwanted keys in some chunk?
39
-
40
- Yes, there is two posiblity
41
-
42
- 1. js comment , if you write js comment but it is not needed then it will be add into i18n chunk
43
- `To Resolve` we currently do not have perfect idea for this, But we can check this by chunk size limit.
44
- `idea's will be welcome`
45
- 2. like we said "we will concider all string which is in jsResource file as i18n keys",
46
- So if you use string not for i18n but it was in jsResource then it will be add into i18n chunk.
47
- `To Resolve` this problem we can use some kinda prefix or something.
48
-
49
- ### how do we downlowd and give to app?
50
-
51
- we have over write defualt webpack requireEnsure (every dynamic chunk requests are done by that function) function.
52
- and we parlarly dowload i18n files. and we ask jsonFunction, to our plugin.
53
- So we send i18nkeys , when it was download,
54
- you must store all i18n keys, we give asycrnsly by that function download in that patticular.
55
- so you must store and update (like append or assign) everytime that function call.
56
-
57
- ### how to use this feature?
58
-
59
- to use this feature use have give the below oprtions
60
- `package.json`
61
-
62
- ```json
63
- {
64
- /// ...some things
65
- "react-cli": {
66
- // ...some things
67
- "i18n": {
68
- "chunkSplitEnable": true,
69
- "jsResource": "./deskapp/properties/JSResources.properties",
70
- "localeVarName": "window.userInfo.langCode",
71
- "jsonpFunc": "window.loadI18nChunk",
72
- "templateLabel": "{{--user-locale}}", // this is for html template i18n file path locate template
73
- "propertiesFolder": "./deskapp/properties"
74
- }
75
- // ...some things
76
- }
77
- }
78
- ```
79
-
80
- <!-- not need below -->
81
- <!--we have added new feature for css to write logic to how hover related css work in hoverhover and a
82
-
83
- ### is there any problems with static analysis?
84
- Yes,
85
-
86
- ### how do we use dynamic i18n key?
87
-
88
- and we will download i18n file with
89
-
90
- and when js chunk download's then we will download i18n as need.
91
- we all know in our app we loading i18n as one single big file for each locale(language).
92
- we are going to split i18n as per js chunk, and when js chunk download's then we will download i18n as need.
93
-
94
-
95
- -->
1
+ # I18n Split As Chunks Plugin
2
+
3
+ generaly we have manage our all I18n keys and values as language specific i18n files and then we download all i18n in initial page load.
4
+
5
+ ### what is the problem with this?.
6
+
7
+ the problem is i18n file keep get's grown it will affect the the inital page load and critial rendering path.
8
+ So, We have decide to create a plugin for split i18n per chunk's of js vise.
9
+
10
+ ### what is i18n split?
11
+
12
+ it is like code split for i18n.
13
+ we will collect i18n from js chunk and we will create separate i18n chunk per js chunk,
14
+ with this we already load Js chunks are on demand and now we also download i18n also ondemand with this the initial and forthere actions.
15
+ when js download's we will download i18n with it.
16
+
17
+ ### How to we going to i18n split?
18
+
19
+ we will read the js chunk and collect I18n keys form it,
20
+ then we will create i18n chunk files with these used keys.
21
+
22
+ ### how do you collect i18n keys from js files?
23
+
24
+ we will traverse the js file's AST (static analysis) and find i18 keys,
25
+ we will concider all string which is in jsResource file as i18n keys.
26
+ and you can tell dynamic i18n key by js comments,
27
+ Like Below:-
28
+
29
+ ```js
30
+ fetch('tickets?view=view1').then(data => {
31
+ // I18n support.ticketsEmpty
32
+ // I18n support.viewNotFount
33
+ // I18n support.permissionDenied
34
+ let text = getI18nValue(data.i18nkey);
35
+ });
36
+ ```
37
+
38
+ ### is there any posiblity for unwanted keys in some chunk?
39
+
40
+ Yes, there is two posiblity
41
+
42
+ 1. js comment , if you write js comment but it is not needed then it will be add into i18n chunk
43
+ `To Resolve` we currently do not have perfect idea for this, But we can check this by chunk size limit.
44
+ `idea's will be welcome`
45
+ 2. like we said "we will concider all string which is in jsResource file as i18n keys",
46
+ So if you use string not for i18n but it was in jsResource then it will be add into i18n chunk.
47
+ `To Resolve` this problem we can use some kinda prefix or something.
48
+
49
+ ### how do we downlowd and give to app?
50
+
51
+ we have over write defualt webpack requireEnsure (every dynamic chunk requests are done by that function) function.
52
+ and we parlarly dowload i18n files. and we ask jsonFunction, to our plugin.
53
+ So we send i18nkeys , when it was download,
54
+ you must store all i18n keys, we give asycrnsly by that function download in that patticular.
55
+ so you must store and update (like append or assign) everytime that function call.
56
+
57
+ ### how to use this feature?
58
+
59
+ to use this feature use have give the below oprtions
60
+ `package.json`
61
+
62
+ ```json
63
+ {
64
+ /// ...some things
65
+ "react-cli": {
66
+ // ...some things
67
+ "i18n": {
68
+ "chunkSplitEnable": true,
69
+ "jsResource": "./deskapp/properties/JSResources.properties",
70
+ "localeVarName": "window.userInfo.langCode",
71
+ "jsonpFunc": "window.loadI18nChunk",
72
+ "templateLabel": "{{--user-locale}}", // this is for html template i18n file path locate template
73
+ "propertiesFolder": "./deskapp/properties"
74
+ }
75
+ // ...some things
76
+ }
77
+ }
78
+ ```
79
+
80
+ <!-- not need below -->
81
+ <!--we have added new feature for css to write logic to how hover related css work in hoverhover and a
82
+
83
+ ### is there any problems with static analysis?
84
+ Yes,
85
+
86
+ ### how do we use dynamic i18n key?
87
+
88
+ and we will download i18n file with
89
+
90
+ and when js chunk download's then we will download i18n as need.
91
+ we all know in our app we loading i18n as one single big file for each locale(language).
92
+ we are going to split i18n as per js chunk, and when js chunk download's then we will download i18n as need.
93
+
94
+
95
+ -->
@@ -1,25 +1,25 @@
1
- # I18n Split As Chunks Plugin
2
-
3
- generaly we have manage our all I18n keys and values as language specific i18n files and then we download all i18n in initial page load.
4
-
5
- Ok, what is the problem with this?.
6
- the problem is i18n file keep get's grown it will affect the the inital page load and critial rendering path.
7
- So, We have decide to create a plugin for split i18n per chunk's of js vise, Which mean we diside to create for each js chunk has its own i18n chunks, with this we already load Js chunks are on demand and now we also download i18n also ondemand with this the initial and forthere actions.
8
-
9
- Ok, How to you do this thing?
10
- we have read the js chunk and collect I18n keys what are used in that chunk and we will create i18n chunk files with only used key.
11
-
12
- Ok, How do you collect that keys?
13
- we now have two expremental statrge to collect I18n keys.
14
-
15
- 1. we read jsResource.properties (or all keys I18n file) then we walk this AST of js and we collect all string which is jsResource.properties.
16
- 2. for dynamic we discide to use comment some thing like
17
- `// I18n support.tickekt.email.notvalid`
18
-
19
- ok, how do you downlowd and give to app?
20
- we have over write defualt webpack require ensure function.
21
- So every dynamic chunk requset are done by that function.
22
- So we parlarly dowload i18n files. and we ask jsonFunction, to our plugin.
23
- So we send i18nkeys , when it was download,
24
- you must store all i18n keys, we give asycrnsly by that function download in that patticular.
25
- so you must store and update (like append or assign) everytime that function call.
1
+ # I18n Split As Chunks Plugin
2
+
3
+ generaly we have manage our all I18n keys and values as language specific i18n files and then we download all i18n in initial page load.
4
+
5
+ Ok, what is the problem with this?.
6
+ the problem is i18n file keep get's grown it will affect the the inital page load and critial rendering path.
7
+ So, We have decide to create a plugin for split i18n per chunk's of js vise, Which mean we diside to create for each js chunk has its own i18n chunks, with this we already load Js chunks are on demand and now we also download i18n also ondemand with this the initial and forthere actions.
8
+
9
+ Ok, How to you do this thing?
10
+ we have read the js chunk and collect I18n keys what are used in that chunk and we will create i18n chunk files with only used key.
11
+
12
+ Ok, How do you collect that keys?
13
+ we now have two expremental statrge to collect I18n keys.
14
+
15
+ 1. we read jsResource.properties (or all keys I18n file) then we walk this AST of js and we collect all string which is jsResource.properties.
16
+ 2. for dynamic we discide to use comment some thing like
17
+ `// I18n support.tickekt.email.notvalid`
18
+
19
+ ok, how do you downlowd and give to app?
20
+ we have over write defualt webpack require ensure function.
21
+ So every dynamic chunk requset are done by that function.
22
+ So we parlarly dowload i18n files. and we ask jsonFunction, to our plugin.
23
+ So we send i18nkeys , when it was download,
24
+ you must store all i18n keys, we give asycrnsly by that function download in that patticular.
25
+ so you must store and update (like append or assign) everytime that function call.