@zohodesk/react-cli 1.1.11-exp.3 → 1.1.11-exp.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (420) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/.vscode/settings.json +24 -24
  5. package/Changelog.md +1019 -1019
  6. package/README.md +1371 -1394
  7. package/bin/cli.js +458 -458
  8. package/docs/ComposeMinification.md +13 -13
  9. package/docs/CustomChunks.md +29 -29
  10. package/docs/DevServerPort.md +39 -39
  11. package/docs/DevStart.md +18 -18
  12. package/docs/HoverActive.md +12 -12
  13. package/docs/InstallNode.md +28 -28
  14. package/docs/MarkdownParser.md +17 -17
  15. package/docs/ReactLive.md +13 -13
  16. package/docs/SelectorWeight.md +8 -8
  17. package/docs/TODOS.md +10 -10
  18. package/docs/ValueReplacer.md +60 -60
  19. package/docs/VariableConversion.md +729 -729
  20. package/docs/patternFiltering.md +56 -56
  21. package/docs/warnings_while_install.txt +35 -35
  22. package/files/eslintrc.js +62 -62
  23. package/files/prettierrc.js +3 -3
  24. package/lib/configs/webpack.css.umd.config.js +4 -4
  25. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  26. package/lib/loaderUtils/getCSSLoaders.js +50 -50
  27. package/lib/loaders/workerLoader.js +9 -9
  28. package/lib/pluginUtils/getDevPlugins.js +5 -5
  29. package/lib/pluginUtils/getProdPlugins.js +7 -20
  30. package/lib/plugins/CustomAttributePlugin.md +35 -35
  31. package/lib/plugins/EFCPlugin.md +6 -6
  32. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  33. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  34. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  35. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  36. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  37. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  38. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  39. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  40. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  41. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  42. package/lib/plugins/SelectorPlugin.js +29 -29
  43. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  44. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  45. package/lib/plugins/VariableConversionCollector.js +59 -59
  46. package/lib/plugins/utils/fileHandling.js +4 -4
  47. package/lib/plugins/variableConvertorUtils.js +13 -11
  48. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  49. package/lib/postcss-plugins/ValueReplacer.js +7 -0
  50. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  51. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  52. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  53. package/lib/postcss-plugins/variableModificationPlugin/index.js +65 -17
  54. package/lib/schemas/index.js +0 -9
  55. package/lib/sh/pre-commit.sh +34 -34
  56. package/lib/sh/reportPublish.sh +45 -45
  57. package/lib/utils/buildstats.html +148 -148
  58. package/lib/utils/cssClassNameGenerate.js +13 -13
  59. package/lib/utils/getOptions.js +1 -2
  60. package/lib/utils/resultSchema.json +73 -73
  61. package/npm-shrinkwrap.json +33485 -33485
  62. package/npm8.md +9 -9
  63. package/package.json +123 -123
  64. package/packages/client_build_tool/lib/allCommandsConfigs.js +3 -1
  65. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +3 -7
  66. package/packages/client_build_tool/lib/commands/build/config.js +2 -2
  67. package/packages/client_build_tool/lib/commands/build/optionsProcessor.js +45 -0
  68. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +20 -4
  69. package/packages/client_build_tool/lib/commands/buildEs/config.js +2 -2
  70. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +20 -4
  71. package/packages/client_build_tool/lib/commands/buildLib/config.js +2 -2
  72. package/packages/client_build_tool/lib/commands/mockserver/commandExecutor.js +43 -0
  73. package/packages/client_build_tool/lib/commands/mockserver/config.js +12 -0
  74. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +0 -1
  75. package/packages/client_build_tool/lib/commands/start/config.js +2 -2
  76. package/packages/client_build_tool/lib/commands/start/{optionsProcesser.js → optionsProcessor.js} +14 -10
  77. package/packages/client_build_tool/lib/commands/start/postProcessor.js +10 -0
  78. package/packages/client_build_tool/lib/commands/start/preProcessor.js +10 -0
  79. package/packages/client_build_tool/lib/commands/template/commandExecutor.js +32 -0
  80. package/packages/client_build_tool/lib/commands/template/config.js +12 -0
  81. package/packages/client_build_tool/lib/commands/version/commandExecutor.js +14 -0
  82. package/packages/client_build_tool/lib/commands/version/config.js +12 -0
  83. package/packages/client_build_tool/lib/commands/version/errorHander.js +10 -0
  84. package/packages/client_build_tool/lib/commandsRouter.js +21 -16
  85. package/packages/client_build_tool/lib/index.js +12 -0
  86. package/packages/client_build_tool/lib/{buildToolLoggers.js → logger.js} +7 -5
  87. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/otherTestCases.test.js +234 -0
  88. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingDifferentDataTypesToSchema.test.js +103 -0
  89. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingEmptyObjects.test.js +41 -0
  90. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertArray.test.js +68 -0
  91. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertNumber.test.js +68 -0
  92. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertObject.test.js +141 -0
  93. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertString.test.js +68 -0
  94. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertUndefinedAndNull.test.js +132 -0
  95. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertArray.test.js +71 -0
  96. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertNumber.test.js +71 -0
  97. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertObject.test.js +73 -0
  98. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertString.test.js +71 -0
  99. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertUndefinedAndNull.test.js +138 -0
  100. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/index.js +34 -0
  101. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  102. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  103. package/packages/client_build_tool/lib/{shared/schemas → schemas}/cliArgsToObject.js +12 -10
  104. package/packages/client_build_tool/lib/schemas/defaultConfigValues.js +244 -0
  105. package/packages/client_build_tool/lib/schemas/defaultConfigValuesOnly.js +161 -0
  106. package/packages/client_build_tool/lib/schemas/deprecatedOptionsHandler.js +67 -0
  107. package/packages/client_build_tool/lib/{shared/schemas → schemas}/getNpmVersion.js +3 -2
  108. package/packages/client_build_tool/lib/schemas/giveDefaultValue.js +18 -0
  109. package/packages/client_build_tool/lib/{shared/schemas → schemas}/npmConfigToObject.js +12 -9
  110. package/packages/client_build_tool/lib/{shared/schemas → schemas}/readOptions.js +11 -12
  111. package/packages/client_build_tool/lib/{shared/schemas/readOptionsForPackageJson.js → schemas/readOptionsForConfigFile.js} +18 -2
  112. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Map.test.js +15 -0
  113. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/MathAndNumberMethod.test.js +30 -0
  114. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/ObjectAndModules.test.js +47 -0
  115. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Sets.test.js +18 -0
  116. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Symbol.test.js +25 -0
  117. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/arrowFunction.test.js +34 -0
  118. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/block-scoping.test.js +18 -0
  119. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/classes.test.js +55 -0
  120. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/defaultParameterValues.test.js +18 -0
  121. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/extraFeatures.test.js +82 -0
  122. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/forOf.test.js +20 -0
  123. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/promise.test.js +22 -0
  124. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadOperator.test.js +20 -0
  125. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadParams.test.js +24 -0
  126. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/stringAndArrayMethods.test.js +67 -0
  127. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/variables.test.js +21 -0
  128. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/array-includes.test.js +13 -0
  129. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/exponentationOperator.test.js +20 -0
  130. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/asyncAndawait.test.js +23 -0
  131. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-entries.test.js +24 -0
  132. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-getOwnproperties.test.js +24 -0
  133. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-values.test.js +24 -0
  134. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/stringMethods.test.js +20 -0
  135. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/asynchronous-iterator.test.js +19 -0
  136. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/object-rest-spread.test.js +24 -0
  137. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/promise-finally.test.js +26 -0
  138. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/regularExpressions.test.js +35 -0
  139. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/Json.stringify.test.js +21 -0
  140. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/arrayMethods.test.js +31 -0
  141. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/object-fromEntriesMethod.test.js +13 -0
  142. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/optionalCatchBinding.test.js +23 -0
  143. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/revisedFunctionToString.test.js +17 -0
  144. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/trim-startAndend-method.test.js +20 -0
  145. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/AssignmentOperator.test.js +27 -0
  146. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/Dynamic-Import.test.js +19 -0
  147. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/NullishOperator.test.js +15 -0
  148. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/bigInt.test.js +13 -0
  149. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/chainOperator.test.js +17 -0
  150. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/export-namespace-from.test.js +12 -0
  151. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/promiseAllSettledMathod.test.js +17 -0
  152. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/stringMatchMethod.test.js +13 -0
  153. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/NumericSeparator.test.js +23 -0
  154. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/logicalOperatorAssignments.test.js +25 -0
  155. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/promiseAny.test.js +16 -0
  156. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/stringReplaceMethod.test.js +16 -0
  157. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/Array-atMethod.test.js +13 -0
  158. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjectKeyCheck.test.js +27 -0
  159. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjecthasOwnMethod.test.js +19 -0
  160. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/RegexMatchIndices.test.js +20 -0
  161. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/String-atMethod.test.js +15 -0
  162. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/error.Cause.test.js +23 -0
  163. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/keysCheckinPrivateFields.test.js +27 -0
  164. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/privateMethodsAndFields.test.js +23 -0
  165. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/staticFieldsAndMethod.test.js +54 -0
  166. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/topLevelAwait.test.js +11 -0
  167. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/weakRef.test.js +17 -0
  168. package/packages/client_build_tool/lib/shared/babel/__test__/utilities.js +28 -0
  169. package/packages/client_build_tool/lib/shared/babel/babelWebConfig.js +49 -0
  170. package/packages/client_build_tool/lib/shared/babel/runBabelForJSFile.js +24 -0
  171. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +1 -3
  172. package/packages/client_build_tool/lib/shared/bundler/webpack/common/modeUtils.js +31 -0
  173. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +32 -13
  174. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/addFilesToManifestJson.js +19 -0
  175. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/utilities.js +18 -0
  176. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +15 -24
  177. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  178. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +10 -10
  179. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +172 -0
  180. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +20 -80
  181. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +203 -0
  182. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  183. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  184. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  185. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -25
  186. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +5 -5
  187. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +9 -14
  188. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +12 -374
  189. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  190. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +1 -0
  191. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +6 -12
  192. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +23 -23
  193. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/classesAndObject.test.js +56 -0
  194. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/conditionalOperation.test.js +154 -0
  195. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function.test.js +89 -0
  196. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function2.test.js +71 -0
  197. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/loop.test.js +112 -0
  198. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minifyBooleanValues.test.js +43 -0
  199. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minimizeVariableNames.test.js +45 -0
  200. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/promise.test.js +53 -0
  201. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  202. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeUnusedStrings.test.js +14 -0
  203. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/variableDeclaration.test.js +30 -0
  204. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +11 -8
  205. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  206. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +14 -12
  207. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +54 -0
  208. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/addFilesNamesToManifestJson.test.js +51 -0
  209. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/createInitialEntries.test.js +95 -0
  210. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/removeHashFromFileName.test.js +91 -0
  211. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +24 -0
  212. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +17 -0
  213. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  214. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  215. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +44 -0
  216. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  217. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +165 -0
  218. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +4 -5
  219. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +12 -17
  220. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -34
  221. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +13 -1
  222. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  223. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  224. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  225. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  226. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +79 -124
  227. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +38 -0
  228. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifyCss1.test.js +74 -0
  229. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifycss.test.js +64 -0
  230. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/utilities.js +28 -0
  231. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/{UglifyCSSPlugin.js → UglifyCSSPlugin/index.js.js} +2 -2
  232. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  233. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +361 -0
  234. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  235. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  236. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  237. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/classesAndObject.test.js +56 -0
  238. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/conditionalOperation.test.js +154 -0
  239. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function.test.js +89 -0
  240. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function2.test.js +71 -0
  241. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/loop.test.js +112 -0
  242. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minifyBooleanValues.test.js +43 -0
  243. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minimizeVariableNames.test.js +45 -0
  244. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/promise.test.js +53 -0
  245. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  246. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeUnusedStrings.test.js +14 -0
  247. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/variableDeclaration.test.js +30 -0
  248. package/packages/client_build_tool/lib/shared/bundler/webpack/entryConfig.js +28 -0
  249. package/packages/client_build_tool/lib/shared/bundler/webpack/externals.js +13 -0
  250. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +9 -12
  251. package/packages/client_build_tool/lib/shared/bundler/webpack/getSourceMapType.js +10 -0
  252. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +0 -2
  253. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +4 -10
  254. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +52 -0
  255. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  256. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +44 -44
  257. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +19 -43
  258. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +0 -2
  259. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +8 -8
  260. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +9 -5
  261. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  262. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +24 -0
  263. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +13 -4
  264. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +80 -0
  265. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  266. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +5 -2
  267. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +38 -10
  268. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +6 -0
  269. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +32 -0
  270. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +7 -2
  271. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +19 -0
  272. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  273. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +25 -3
  274. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  275. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  276. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +18 -9
  277. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +19 -12
  278. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +117 -1
  279. package/packages/client_build_tool/lib/shared/bundler/webpack/statsConfig.js +21 -0
  280. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/index.js +26 -0
  281. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +18 -0
  282. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +7 -4
  283. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +15 -13
  284. package/packages/client_build_tool/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  285. package/packages/client_build_tool/lib/shared/{commands-utlis → commands-utils}/getCliPath.js +8 -7
  286. package/packages/client_build_tool/lib/shared/{commands-utlis → commands-utils}/index.js +3 -3
  287. package/packages/client_build_tool/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  288. package/packages/client_build_tool/lib/shared/constants.js +17 -5
  289. package/packages/client_build_tool/lib/shared/fileUtils/copyFile.js +38 -0
  290. package/packages/client_build_tool/lib/shared/fileUtils/directoryIterator.js +21 -0
  291. package/packages/client_build_tool/lib/shared/fileUtils/watchRun.js +100 -0
  292. package/packages/client_build_tool/lib/shared/postcss/__test__/ignoreTestCases.test.js +80 -0
  293. package/packages/client_build_tool/lib/shared/postcss/__test__/postcss-rtl-all-cases.test.js +119 -0
  294. package/packages/client_build_tool/lib/shared/postcss/__test__/postcssRtl.spec.js +34 -0
  295. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  296. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  297. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  298. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  299. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  300. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  301. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  302. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  303. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  304. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  305. package/packages/client_build_tool/lib/shared/{bundler/webpack/custom_postcss_loaders → postcss/custom_postcss_plugins}/RTLSplitPlugin.js +10 -10
  306. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  307. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  308. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +343 -0
  309. package/packages/client_build_tool/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  310. package/packages/client_build_tool/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  311. package/packages/client_build_tool/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  312. package/packages/client_build_tool/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  313. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +4 -3
  314. package/packages/client_build_tool/lib/shared/server/{corsHandleing.js → corsHandling.js} +5 -12
  315. package/packages/client_build_tool/lib/shared/server/getIp.js +3 -3
  316. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +25 -32
  317. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +54 -21
  318. package/packages/client_build_tool/lib/shared/server/mockApiHandler.js +60 -0
  319. package/packages/client_build_tool/lib/shared/server/mockServer.js +41 -0
  320. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +1 -0
  321. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +6 -10
  322. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +2 -2
  323. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +6 -2
  324. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +7 -7
  325. package/packages/client_build_tool/lib/shared/server/urlConcat.js +17 -10
  326. package/packages/client_build_tool/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  327. package/packages/client_build_tool/lib/shared/utils/versionPrint.js +20 -0
  328. package/packages/client_build_tool/node_modules/history/package.json +11 -8
  329. package/postpublish.js +8 -8
  330. package/result.json +1 -0
  331. package/templates/app/.eslintrc.js +140 -140
  332. package/templates/app/README.md +12 -12
  333. package/templates/app/app/index.html +24 -24
  334. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  335. package/templates/app/app/properties/i18nkeys.json +3 -3
  336. package/templates/app/docs/all.html +69 -69
  337. package/templates/app/mockapi/index.js +18 -18
  338. package/templates/app/package.json +37 -37
  339. package/templates/app/src/actions/SampleActions/index.js +37 -37
  340. package/templates/app/src/actions/index.js +65 -65
  341. package/templates/app/src/appUrls.js +19 -19
  342. package/templates/app/src/components/Alert/Alert.js +134 -134
  343. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  344. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  345. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  346. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  347. package/templates/app/src/components/Sample/SampleList.js +61 -61
  348. package/templates/app/src/components/Slider/Slider.css +41 -41
  349. package/templates/app/src/components/Slider/Slider.js +55 -55
  350. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  351. package/templates/app/src/containers/AppContainer/index.js +96 -96
  352. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  353. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  354. package/templates/app/src/containers/DevTools/index.js +10 -10
  355. package/templates/app/src/containers/Header/index.js +67 -67
  356. package/templates/app/src/containers/Header/index.module.css +43 -43
  357. package/templates/app/src/containers/Redirect/index.js +63 -63
  358. package/templates/app/src/containers/Redirector/index.js +47 -47
  359. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  360. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  361. package/templates/app/src/historyChange.js +5 -5
  362. package/templates/app/src/index.html +10 -10
  363. package/templates/app/src/index.js +24 -24
  364. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  365. package/templates/app/src/reducers/alertData.js +11 -11
  366. package/templates/app/src/reducers/index.js +6 -6
  367. package/templates/app/src/reducers/samples.js +19 -19
  368. package/templates/app/src/store/configureStore.dev.js +51 -51
  369. package/templates/app/src/store/configureStore.js +5 -5
  370. package/templates/app/src/store/configureStore.prod.js +26 -26
  371. package/templates/app/src/util/Common.js +5 -5
  372. package/templates/app/src/util/RequestAPI.js +132 -132
  373. package/templates/docs/all.html +250 -250
  374. package/templates/docs/component.html +179 -179
  375. package/templates/docs/components.html +222 -222
  376. package/templates/docs/css/b.min.css +6 -6
  377. package/templates/docs/css/component.css +42 -42
  378. package/templates/docs/css/componentTest.css +6 -6
  379. package/templates/docs/css/hopscotch.css +585 -585
  380. package/templates/docs/css/markdown.css +202 -202
  381. package/templates/docs/css/style.css +988 -988
  382. package/templates/docs/impactReportTemplate.html +154 -154
  383. package/templates/docs/index.html +1664 -1664
  384. package/templates/docs/js/active-line.js +72 -72
  385. package/templates/docs/js/b.min.js +7 -7
  386. package/templates/docs/js/codemirror.js +9680 -9680
  387. package/templates/docs/js/designTokens.js +334 -334
  388. package/templates/docs/js/j.min.js +4 -4
  389. package/templates/docs/js/javascript.js +874 -874
  390. package/templates/docs/js/matchbrackets.js +145 -145
  391. package/unittest/index.html +37 -0
  392. package/lib/plugins/StatsPlugin.js +0 -114
  393. package/packages/client_build_tool/lib/commands/build/index.js +0 -35
  394. package/packages/client_build_tool/lib/commands/build/optionsProcesser.js +0 -40
  395. package/packages/client_build_tool/lib/commands/start/postProcesser.js +0 -10
  396. package/packages/client_build_tool/lib/commands/start/preProcesser.js +0 -10
  397. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCPlugin.js +0 -1
  398. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nDependency.js +0 -99
  399. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nModule.js +0 -201
  400. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/ExcludePlugin.js +0 -58
  401. package/packages/client_build_tool/lib/shared/bundler/webpack/devServerConfig.js +0 -34
  402. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyThirdpartyFile.js +0 -38
  403. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configUglifyCSSPlugin.js +0 -15
  404. package/packages/client_build_tool/lib/shared/bundler/webpack/postcssPlugins.js +0 -36
  405. package/packages/client_build_tool/lib/shared/bundler/webpack/webpack.dev.config.js +0 -17
  406. package/packages/client_build_tool/lib/shared/commands-utlis/doBasicRequiermentCheck.js +0 -16
  407. package/packages/client_build_tool/lib/shared/commands-utlis/spanSync.js +0 -35
  408. package/packages/client_build_tool/lib/shared/schemas/applyValuesToShema.js +0 -37
  409. package/packages/client_build_tool/lib/shared/schemas/defaultConfigValues.js +0 -119
  410. package/packages/client_build_tool/lib/shared/schemas/deprecatedOptionsHandler.js +0 -65
  411. package/packages/client_build_tool/lib/shared/schemas/getCWD.js +0 -23
  412. package/packages/client_build_tool/lib/shared/schemas/oldDefaultConfigValues.js +0 -480
  413. package/packages/client_build_tool/lib/shared/schemas/readOptionsOld.js +0 -152
  414. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.crt +0 -37
  415. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.key +0 -27
  416. package/packages/client_build_tool/lib/shared/server/unwanted/devServerUtlis.js +0 -1
  417. package/packages/client_build_tool/lib/shared/server/unwanted/webpackConfig.js +0 -32
  418. /package/packages/client_build_tool/lib/shared/{commands-utlis → commands-utils}/log.js +0 -0
  419. /package/packages/client_build_tool/lib/shared/{commands-utlis → commands-utils}/readArgsFormCommandLine.js +0 -0
  420. /package/packages/client_build_tool/lib/shared/{commands-utlis → commands-utils}/readOptionFormCommandLine.js +0 -0
@@ -13,7 +13,6 @@ var _replaceCssDirTemplate = require("./replaceCssDirTemplate");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- // const HtmlWebpackPlugin = require('html-webpack-plugin');
17
16
  // import { JavascriptModulesPlugin } from 'webpack';
18
17
  const pluginName = 'OverwriteCssPathForRTL';
19
18
 
@@ -27,15 +26,15 @@ class OverwriteCssPathForRTL {
27
26
 
28
27
  overwriteCssPathinHTML(compilation) {
29
28
  // NOTE: need to reconsider It is not working as expected
30
- _htmlWebpackPlugin.default.getHooks(compilation).beforeAssetTagGeneration.tapAsync(pluginName, (data, cb) => {
29
+ _htmlWebpackPlugin.default.getHooks(compilation).beforeAssetTagGeneration.tap(pluginName, data => {
31
30
  const {
32
31
  assets
33
32
  } = data;
34
- cb(null, { ...data,
33
+ return { ...data,
35
34
  assets: { ...assets,
36
35
  css: assets.css && (0, _replaceCssDirTemplate.replaceCssDirTemplateMapper)(assets.css, this.templateLabel)
37
36
  }
38
- });
37
+ };
39
38
  });
40
39
  }
41
40
 
@@ -45,7 +44,7 @@ class OverwriteCssPathForRTL {
45
44
  } = compiler.webpack.sources;
46
45
 
47
46
  _JavascriptModulesPlugin.default.getCompilationHooks(compilation).renderMain.tap(pluginName, source => {
48
- const templateText = `"+(${this.dirVarName} === "rtl" ? ".rtl": ".ltr")+"`;
47
+ const templateText = `"+(${this.dirVarName} === "rtl" ? "rtl": "ltr")+"`;
49
48
  const replacedStr = source.source().replace(/\[dir\]/g, templateText);
50
49
  return new RawSource(replacedStr);
51
50
  });
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.RtlCssPlugin = void 0;
7
7
 
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _webpack = require("webpack");
11
9
 
12
10
  var _OverwriteCssPathForRTL = _interopRequireDefault(require("./OverwriteCssPathForRTL"));
13
11
 
14
- var _RTLSplitPlugin = require("../../custom_postcss_loaders/RTLSplitPlugin");
12
+ var _RTLSplitPlugin = require("../../../../postcss/custom_postcss_plugins/RTLSplitPlugin");
13
+
14
+ var _utils = require("../../utils");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -19,17 +19,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
19
  // import rtlcss from 'rtlcss';
20
20
  const pluginName = 'RtlCssPlugin';
21
21
 
22
- const isCss = filename => _path.default.extname(filename) === '.css';
23
-
24
- const isDirRelatedCss = filename => filename.includes('[dir]');
25
-
26
22
  class RtlCssPlugin {
27
23
  constructor(options = {}) {
28
- /**
29
- * @typedef {Object} Options
30
- * @property {String} dirVarName
31
- * @property {Boolean} sourcemap
32
- * @property {Object} config
24
+ /**
25
+ * @typedef {Object} Options
26
+ * @property {String} dirVarName
27
+ * @property {Boolean} sourcemap
28
+ * @property {Object} config
33
29
  */
34
30
  this.options = {
35
31
  // dirVarName: options.dirVarName || 'document.dir',
@@ -62,10 +58,9 @@ class RtlCssPlugin {
62
58
  // });
63
59
  compilation.hooks.processAssets.tap({
64
60
  name: pluginName,
65
- stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,
66
- additionalAssets: true
61
+ stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY
67
62
  }, assets => {
68
- Object.keys(assets).filter(isCss).filter(isDirRelatedCss).forEach(chunkFilename => {
63
+ Object.keys(assets).filter(_utils.isCss).filter(_utils.isDirRelatedCss).forEach(chunkFilename => {
69
64
  const {
70
65
  source: asset
71
66
  } = compilation.getAsset(chunkFilename);
@@ -76,8 +71,8 @@ class RtlCssPlugin {
76
71
  } = (0, _RTLSplitPlugin.separateRtlAndLtr)(sourceStr, this.rtlSplitOptions);
77
72
  const ltrFilename = chunkFilename.replace('[dir]', 'ltr');
78
73
  const rtlFilename = chunkFilename.replace('[dir]', 'rtl');
79
- compilation.deleteAsset(chunkFilename);
80
- compilation.emitAsset(ltrFilename, new RawSource(ltr));
74
+ compilation.renameAsset(chunkFilename, ltrFilename);
75
+ compilation.updateAsset(ltrFilename, new RawSource(ltr));
81
76
  compilation.emitAsset(rtlFilename, new RawSource(rtl));
82
77
  });
83
78
  });
@@ -1,34 +1,34 @@
1
- # RTL Split
2
-
3
- we are doing in build time generating rtl related css code by using @zohodesk/postcss-rt npm.
4
- It was automated, That postcss plugin create rtl reacted css and put them into same file, with css selector [dir=rtl] and ltr realted css with [dir=ltr].
5
- Here is problem mostly no one need rtl and ltr related css at the same time in browser,
6
- we are try to split them by [dir] and load which type of css is needed.
7
- For this purpose we created RTL Split Plugin
8
-
9
- # To Try it out rtl-ltr split
10
-
11
- ### how to use this feature?
12
-
13
- to use this feature use have give the below oprtions
14
- `package.json`
15
-
16
- ```json
17
- {
18
- /// ...some things
19
- "react-cli": {
20
- // ...some things
21
- "css": {
22
- "plugins": {
23
- "rtlSplit": {
24
- "enableRTLSplit": true,
25
- "templateLabel": "{{--dir}}", // this is for html template css file path dir template
26
- "disableMinifySelector": false,
27
- "dirVarName": "document.dir" // this will be used for download css based on dir
28
- }
29
- }
30
- }
31
- // ...some things
32
- }
33
- }
34
- ```
1
+ # RTL Split
2
+
3
+ we are doing in build time generating rtl related css code by using @zohodesk/postcss-rt npm.
4
+ It was automated, That postcss plugin create rtl reacted css and put them into same file, with css selector [dir=rtl] and ltr realted css with [dir=ltr].
5
+ Here is problem mostly no one need rtl and ltr related css at the same time in browser,
6
+ we are try to split them by [dir] and load which type of css is needed.
7
+ For this purpose we created RTL Split Plugin
8
+
9
+ # To Try it out rtl-ltr split
10
+
11
+ ### how to use this feature?
12
+
13
+ to use this feature use have give the below oprtions
14
+ `package.json`
15
+
16
+ ```json
17
+ {
18
+ /// ...some things
19
+ "react-cli": {
20
+ // ...some things
21
+ "css": {
22
+ "plugins": {
23
+ "rtlSplit": {
24
+ "enableRTLSplit": true,
25
+ "templateLabel": "{{--dir}}", // this is for html template css file path dir template
26
+ "disableMinifySelector": false,
27
+ "dirVarName": "document.dir" // this will be used for download css based on dir
28
+ }
29
+ }
30
+ }
31
+ // ...some things
32
+ }
33
+ }
34
+ ```
@@ -5,11 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.replaceCssDirTemplate = replaceCssDirTemplate;
7
7
  exports.replaceCssDirTemplateMapper = replaceCssDirTemplateMapper;
8
+ exports.replaceI18nLocalTemplate = replaceI18nLocalTemplate;
9
+ exports.replaceI18nLocaleTemplateMapper = replaceI18nLocaleTemplateMapper;
8
10
 
9
11
  function replaceCssDirTemplate(filePath, cssDirTemplate) {
10
- return filePath.replace('[dir]', cssDirTemplate);
12
+ return filePath // added for efc and service worker handling
13
+ .replaceAll('[dir]', cssDirTemplate).replace('.ltr.css', `.${cssDirTemplate}.css`);
11
14
  }
12
15
 
13
16
  function replaceCssDirTemplateMapper(assets, cssDirTemplate) {
14
17
  return assets.map(filePath => replaceCssDirTemplate(filePath, cssDirTemplate));
18
+ }
19
+
20
+ function replaceI18nLocalTemplate(filePath, localeTemplate) {
21
+ return filePath // added for efc and service worker handling
22
+ .replaceAll('[locale]', localeTemplate);
23
+ }
24
+
25
+ function replaceI18nLocaleTemplateMapper(assets, localeTemplate) {
26
+ return assets.map(filePath => replaceI18nLocalTemplate(filePath, localeTemplate));
15
27
  }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hasPrevNodeIgnore = hasPrevNodeIgnore;
7
+ exports.isAtRule = isAtRule;
8
+ exports.isInsideMediaQuery = isInsideMediaQuery;
9
+
10
+ function hasPrevNodeIgnore(index, prevNode, ignoreComment) {
11
+ return index !== 0 && prevNode && prevNode.type && prevNode.type === 'comment' && prevNode.text.toLowerCase() === ignoreComment;
12
+ }
13
+
14
+ function isAtRule(rule) {
15
+ return rule.parent && rule.parent.type === 'atrule';
16
+ }
17
+
18
+ function isInsideMediaQuery(rule) {
19
+ return !!(isAtRule(rule) && rule.parent.name === 'media');
20
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _postcss = _interopRequireDefault(require("postcss"));
9
+
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+
12
+ var _selectorWeightPrefixAdder = require("./selectorWeightPrefixAdder");
13
+
14
+ var _checkIsPatternsMatchFilename = require("../../loaderConfigs/checkIsPatternsMatchFilename");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ class SelectorWeightPlugin {
19
+ constructor(options = {}) {
20
+ this.options = {
21
+ selectorWeightConfig: options.configFile,
22
+ defaultSelector: options.defaultSelector,
23
+ customFileDetails: options.customFileDetails,
24
+ excludeStrings: options.excludeStrings,
25
+ patterns: options.patterns
26
+ };
27
+ }
28
+
29
+ apply(compiler) {
30
+ const {
31
+ defaultSelector,
32
+ customFileDetails,
33
+ excludeStrings,
34
+ patterns
35
+ } = this.options;
36
+
37
+ const rawdata = _fs.default.readFileSync(customFileDetails);
38
+
39
+ const data = JSON.parse(rawdata);
40
+ compiler.hooks.compilation.tap('selector-weight-rewrite', compilation => {
41
+ compilation.hooks.optimizeModules.tap('selector-weight-rewrite', modules => {
42
+ const mods = Array.from(modules).filter(x => x.type.includes('css'));
43
+ mods.forEach(module => {
44
+ const filename = module.issuer.resource;
45
+
46
+ if (!(0, _checkIsPatternsMatchFilename.checkIsPatternsMatchFilename)(patterns, filename)) {
47
+ return;
48
+ }
49
+ /*
50
+
51
+ filename : Deskapp.module.css ?
52
+ data :
53
+ {
54
+ "DeskApp.module.css": {"defaultSelector" : ".desk_app_ui "}
55
+ }
56
+ selectorWeightConfig :
57
+ defaultSelector : .zoho_desk_ui
58
+
59
+ case filename = 'DeskApp.module.css' ?
60
+ data[filename].defaultSelector = '.desk_app_ui'
61
+ case filename is different ?
62
+ defaultSelector = '.zoho_desk_ui'
63
+ */
64
+
65
+
66
+ const rootOriginal = _postcss.default.parse(module.content); // eslint-disable-next-line no-param-reassign
67
+
68
+
69
+ module.content = (0, _selectorWeightPrefixAdder.selectorWeightPrefixAdder)(rootOriginal, data[filename] ? data[filename].defaultSelector : defaultSelector, excludeStrings).toString();
70
+ });
71
+ });
72
+ });
73
+ }
74
+
75
+ }
76
+
77
+ var _default = SelectorWeightPlugin;
78
+ exports.default = _default;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectorWeightPrefixAdder = selectorWeightPrefixAdder;
7
+
8
+ var _classHandling = require("./classHandling");
9
+
10
+ function selectorWeightPrefixAdder(rootOriginal, selector, excludeStrings) {
11
+ rootOriginal.walkRules((rule, index) => {
12
+ const prevNode = rootOriginal.nodes[index - 1];
13
+
14
+ if ((0, _classHandling.hasPrevNodeIgnore)(index, prevNode, 'updateselector:ignore')) {
15
+ return;
16
+ } // TODO: need to verify cases
17
+ // if (!isInsideMediaQuery(rule)) {
18
+ // return;
19
+ // }
20
+
21
+
22
+ const selectorArr = rule.selector.split(',');
23
+ selectorArr.forEach((singleSelectorStr, index) => {
24
+ if (excludeStrings.includes(singleSelectorStr.trim())) {
25
+ return;
26
+ }
27
+
28
+ if (singleSelectorStr.includes(']')) {
29
+ if (singleSelectorStr.slice(singleSelectorStr.lastIndexOf(']') + 2).trim() === '') {
30
+ return;
31
+ }
32
+
33
+ selectorArr[index] = `${singleSelectorStr.slice(0, singleSelectorStr.lastIndexOf(']') + 1).trim()} ${selector}${singleSelectorStr.slice(singleSelectorStr.lastIndexOf(']') + 2).trim()}`;
34
+ return;
35
+ }
36
+
37
+ selectorArr[index] = `${selector}${singleSelectorStr}`;
38
+ }); // eslint-disable-next-line no-param-reassign
39
+
40
+ rule.selector = selectorArr.join(',\n');
41
+ });
42
+ return rootOriginal;
43
+ } // function convertSelectorWithoutAttribute (selector, conjunction) {
44
+ // const front = selector
45
+ // .slice(0, selector.lastIndexOf(']') + 1)
46
+ // .trim();
47
+ // const back = selector
48
+ // .slice(selector.lastIndexOf(']') + 2)
49
+ // .trim();
50
+ // return `${front} ${conjunction}${back}`;
51
+ // }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.windowsModification = windowsModification;
7
+ exports.windowsModificationFile = windowsModificationFile;
8
+ const isWin = process.platform === 'win32';
9
+
10
+ function windowsModification(array) {
11
+ return isWin ? array && Array.isArray(array) && array.map(r => r.replace(/\//g, '\\')) : array;
12
+ }
13
+
14
+ function windowsModificationFile(filename) {
15
+ return isWin ? filename.replace(/\//g, '\\') : filename;
16
+ } // module.exports = { windowsModification, windowsModificationFile };
@@ -5,28 +5,30 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _fs = _interopRequireDefault(require("fs"));
8
+ var _fs = require("fs");
9
9
 
10
- var _path = _interopRequireDefault(require("path"));
10
+ var _LocaleChunkAssetsStore = require("./I18nSplitPlugin/LocaleChunkAssetsStore");
11
11
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ var _emitAsset = require("./emitAsset");
13
+
14
+ var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
15
+
16
+ var _getInitialAssetsFuncTemplate = require("./getInitialAssetsFuncTemplate");
17
+
18
+ const pluginName = 'ServiceWorkerPlugin';
13
19
 
14
- //import { getI18nFileUrlPathTemplate } from './I18nSplitPlugin/utils/getI18nFileUrlPathTemplate';
15
- //import { getOptions } from '../utils';
16
- //import I18nKeysIdentifer from './I18nSplitPlugin/I18nKeysIdentifer';
17
- //import { replaceCssDirTemplateMapper } from './RtlSplitPlugin/replaceCssDirTemplate';
18
- // const {
19
- // css: { enableRTLSplit },
20
- // i18n: { chunkSplitEnable }
21
- // } = getOptions();
22
20
  class ServiceWorkerPlugin {
23
21
  constructor(options) {
22
+ this.templateFilePath = options.templateFilePath;
23
+ this.outputFilePath = options.outputFilePath;
24
+ this.publicPath = options.publicPath;
24
25
  this.i18nFileNameTemplate = options.i18nFileNameTemplate;
25
- this.fileName = options.fileName;
26
- this.serviceWorkerPath = options.filePath;
27
- this.writePath = options.exitPath;
26
+ this.chunkSplitEnable = options.chunkSplitEnable;
27
+ this.enableRTLSplit = options.enableRTLSplit;
28
+ this.entryPointName = options.entryPointName;
28
29
  this.replaceText = options.replaceText; // this.publicPaths = options.publicPaths;
29
- }
30
+ } // eslint-disable-next-line class-methods-use-this
31
+
30
32
 
31
33
  isInitialChunk(chunk) {
32
34
  if ('canBeInitial' in chunk) {
@@ -37,119 +39,72 @@ class ServiceWorkerPlugin {
37
39
  }
38
40
 
39
41
  apply(compiler) {
40
- compiler.hooks.emit.tap('ServiceWorkerPlugin', compilation => {
41
- _fs.default.readFile(this.serviceWorkerPath, 'utf-8', (err, data) => {
42
- if (err) {
43
- throw new Error(err);
44
- } else {
45
- /* const extractedChunks = compilation.chunks.filter(chunk => {
46
- if ('canBeInitial' in chunk) {
47
- return chunk.canBeInitial();
48
- }
49
- return chunk.isInitial();
50
- }); */
51
- // let [js, css, , , i18nPublicPath] = this.publicPaths;
52
- // let initialChunkUrls = [];
53
- let allChunkUrls = [];
54
- let allI18nAssets = [];
55
- let entrypoint = compilation.entrypoints.get('main');
56
- let initialChunkUrls = entrypoint.getFiles();
57
- const cssDirTemplate = '@dir@';
58
- /**
59
- * NOTE:
60
- * if chunkSplitEnable is false means,
61
- * serviceWorker will get i18n files path for html
62
- */
63
- // let initalI18nAssets = chunkSplitEnable
64
- // ? entrypoint.chunks
65
- // //.filter(chunk => I18nKeysIdentifer.isChunkHasI18n(chunk))
66
- // .map(chunk =>
67
- // getI18nFileUrlPathTemplate(
68
- // compilation,
69
- // chunk,
70
- // this.i18nFileNameTemplate,
71
- // '@locale@'
72
- // )
73
- // )
74
- // : [];
75
-
76
- let initalI18nAssets = []; //chunkSplitEnable &&
77
-
78
- compilation.chunks.filter(c => !this.isInitialChunk(c)) //.filter(chunk => I18nKeysIdentifer.isChunkHasI18n(chunk))
79
- .forEach(chunk => {
80
- // let isInitial = this.isInitialChunk(chunk);
81
- allChunkUrls = allChunkUrls.concat(chunk.files); // allI18nAssets.push(
82
- // getI18nFileUrlPathTemplate(
83
- // compilation,
84
- // chunk,
85
- // this.i18nFileNameTemplate,
86
- // '@locale@'
87
- // )
88
- // );
89
- });
90
- /** Removing source map files from getting added */
91
-
92
- initialChunkUrls = initialChunkUrls.filter(fileName => !fileName.endsWith('.map'));
93
- allChunkUrls = allChunkUrls.filter(fileName => !fileName.endsWith('.map')); // if (enableRTLSplit) {
94
- // initialChunkUrls = replaceCssDirTemplateMapper(
95
- // initialChunkUrls,
96
- // cssDirTemplate
97
- // );
98
- // allChunkUrls = replaceCssDirTemplateMapper(
99
- // allChunkUrls,
100
- // cssDirTemplate
101
- // );
102
- // }
103
-
104
- let mod = data.replace(this.replaceText, `self.assets = ${JSON.stringify(initialChunkUrls.concat(initalI18nAssets))};self.allChunks = ${JSON.stringify(allChunkUrls.concat(allI18nAssets))};`);
105
-
106
- if (!_fs.default.existsSync(this.writePath)) {
107
- _fs.default.mkdirSync(this.writePath, {
108
- recursive: true
109
- });
110
- }
111
-
112
- _fs.default.writeFileSync(_path.default.join(this.writePath, `${this.fileName}`), mod);
113
- }
42
+ compiler.hooks.thisCompilation.tap(pluginName, compilation => {
43
+ // Get store for cache
44
+ this.store = (0, _LocaleChunkAssetsStore.getLocaleChunkAssetsStore)(compilation);
45
+ });
46
+ compiler.hooks.thisCompilation.tap(pluginName, compilation => {
47
+ compilation.hooks.processAssets.tap({
48
+ name: pluginName,
49
+ stage: compilation.PROCESS_ASSETS_STAGE_DERIVED
50
+ }, () => {
51
+ this.createServiceWorkerFile(compilation, compiler);
114
52
  });
115
53
  });
116
54
  }
117
55
 
118
- } // compiler.hooks.thisCompilation.tap('AddAssetPlugin', compilation => {
119
- // compilation.hooks.processAssets.tapPromise(tapOptions, async () => {
120
- // let source;
121
- // if (typeof this.source === 'string') {
122
- // if (compilation.getAsset(this.filePath)) {
123
- // // Skip emitting the asset again because it's immutable
124
- // return;
125
- // }
126
- // source = this.source;
127
- // } else {
128
- // source = await this.source(compilation);
129
- // }
130
- // compilation.emitAsset(this.filePath, new RawSource(source));
131
- // });
132
- // });
133
- // getContentHash(compiler, compilation, source) {
134
- // const { outputOptions } = compilation;
135
- // const { hashDigest, hashDigestLength, hashFunction, hashSalt } =
136
- // outputOptions;
137
- // const hash = compiler.webpack.util.createHash(
138
- // /** @type {string} */ (hashFunction)
139
- // );
140
- // if (hashSalt) {
141
- // hash.update(hashSalt);
142
- // }
143
- // hash.update(source);
144
- // const fullContentHash = hash.digest(hashDigest);
145
- // return fullContentHash.toString().slice(0, hashDigestLength);
146
- // }
147
- // const contentHash = CopyPlugin.getContentHash(
148
- // compiler,
149
- // compilation,
150
- // source.buffer()
151
- // );
152
- //hash same as index.html file ??
56
+ createServiceWorkerFile(compilation) {
57
+ const {
58
+ templateFilePath,
59
+ entryPointName,
60
+ outputFilePath,
61
+ chunkSplitEnable,
62
+ enableRTLSplit
63
+ } = this;
64
+ const templateContent = (0, _fs.readFileSync)(templateFilePath, 'utf-8');
65
+ let allChunkUrls = [];
66
+ const allI18nAssets = [];
67
+ const entryPoint = compilation.entrypoints.get(entryPointName);
68
+ const initialAssetsFuncTemplate = (0, _getInitialAssetsFuncTemplate.getInitialAssetsFuncTemplate)({
69
+ entryPoint,
70
+ compilation,
71
+ enableRTLSplit,
72
+ i18nStore: this.store,
73
+ chunkSplitEnable,
74
+ i18nFileNameTemplate: this.i18nFileNameTemplate,
75
+ functionName: 'getInitialAssets'
76
+ });
77
+ /**
78
+ * NOTE:
79
+ * if chunkSplitEnable is false means,
80
+ * serviceWorker will get i18n files path for html
81
+ */
82
+ // chunkSplitEnable &&
83
+
84
+ [...compilation.chunks].filter(c => !this.isInitialChunk(c)).forEach(chunk => {
85
+ allChunkUrls = [...allChunkUrls, ...chunk.files];
86
+ });
87
+ allChunkUrls = allChunkUrls.filter(fileName => !fileName.endsWith('.map'));
88
+
89
+ if (enableRTLSplit) {
90
+ allChunkUrls = (0, _replaceCssDirTemplate.replaceCssDirTemplateMapper)(allChunkUrls, _getInitialAssetsFuncTemplate.cssDirTemplate);
91
+ }
92
+
93
+ const mod = templateContent.replace(this.replaceText, `
94
+ ${initialAssetsFuncTemplate}
95
+
96
+ let initialAssetsObj = getInitialAssets({ lang: langLocale, dir: cssDir });
97
+
98
+ let initialAssets = initialAssetsObj.i18n.concat(
99
+ initialAssetsObj.css,
100
+ initialAssetsObj.js
101
+ );
102
+ self.assets = initialAssets;
103
+
104
+ self.allChunks = ${JSON.stringify(allChunkUrls.concat(allI18nAssets))};`);
105
+ (0, _emitAsset.emitAsset)(compilation, outputFilePath, mod);
106
+ }
153
107
 
108
+ }
154
109
 
155
110
  exports.default = ServiceWorkerPlugin;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SourceMapPlugin = void 0;
7
+
8
+ var _webpack = require("webpack");
9
+
10
+ /* eslint-disable class-methods-use-this */
11
+ class SourceMapPlugin {
12
+ apply(compiler) {
13
+ const {
14
+ RawSource
15
+ } = compiler.webpack.sources;
16
+ compiler.hooks.thisCompilation.tap('splitSourceMap', compilation => {
17
+ compilation.hooks.processAssets.tap({
18
+ name: 'splitSourceMap',
19
+ stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL
20
+ }, assets => {
21
+ Object.keys(assets).forEach(assetName => {
22
+ const assetCode = assets[assetName].source();
23
+
24
+ if (/\.js$/.test(assetName) && !/\.i18n\.js$/.test(assetName) || /\.js\.map$/.test(assetName) && !/\.i18n\.js\.map$/.test(assetName)) {
25
+ compilation.renameAsset(assetName, `smap/${assetName}`);
26
+
27
+ if (!/\.map$/.test(assetName)) {
28
+ compilation.emitAsset(assetName, new RawSource(assetCode));
29
+ }
30
+ }
31
+ });
32
+ });
33
+ });
34
+ }
35
+
36
+ }
37
+
38
+ exports.SourceMapPlugin = SourceMapPlugin;