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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (422) 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 +1406 -1371
  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 +8 -5
  29. package/lib/pluginUtils/getProdPlugins.js +23 -7
  30. package/lib/plugins/CustomAttributePlugin.md +35 -35
  31. package/lib/plugins/EFCPlugin.md +6 -6
  32. package/lib/plugins/EfcResourceCleanupPlugin.js +39 -0
  33. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  34. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  35. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  36. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  37. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  38. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  39. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  40. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  41. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  42. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  43. package/lib/plugins/SelectorPlugin.js +29 -29
  44. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  45. package/lib/plugins/StatsPlugin.js +118 -0
  46. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  47. package/lib/plugins/VariableConversionCollector.js +59 -59
  48. package/lib/plugins/utils/fileHandling.js +4 -4
  49. package/lib/plugins/variableConvertorUtils.js +11 -13
  50. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  51. package/lib/postcss-plugins/ValueReplacer.js +0 -7
  52. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  53. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  54. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  55. package/lib/postcss-plugins/variableModificationPlugin/index.js +17 -65
  56. package/lib/schemas/index.js +9 -0
  57. package/lib/sh/pre-commit.sh +34 -34
  58. package/lib/sh/reportPublish.sh +45 -45
  59. package/lib/utils/buildstats.html +148 -148
  60. package/lib/utils/cssClassNameGenerate.js +13 -13
  61. package/lib/utils/getOptions.js +2 -1
  62. package/lib/utils/object-manipulation.js +48 -0
  63. package/lib/utils/resultSchema.json +73 -73
  64. package/npm-shrinkwrap.json +33485 -33485
  65. package/npm8.md +9 -9
  66. package/package.json +123 -123
  67. package/packages/client_build_tool/lib/allCommandsConfigs.js +1 -3
  68. package/packages/client_build_tool/lib/{logger.js → buildToolLoggers.js} +5 -7
  69. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +7 -3
  70. package/packages/client_build_tool/lib/commands/build/config.js +2 -2
  71. package/packages/client_build_tool/lib/commands/build/index.js +35 -0
  72. package/packages/client_build_tool/lib/commands/{start/optionsProcessor.js → build/optionsProcesser.js} +14 -14
  73. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +4 -20
  74. package/packages/client_build_tool/lib/commands/buildEs/config.js +2 -2
  75. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +4 -20
  76. package/packages/client_build_tool/lib/commands/buildLib/config.js +2 -2
  77. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +1 -0
  78. package/packages/client_build_tool/lib/commands/start/config.js +2 -2
  79. package/packages/client_build_tool/lib/commands/start/optionsProcesser.js +36 -0
  80. package/packages/client_build_tool/lib/commands/start/postProcesser.js +10 -0
  81. package/packages/client_build_tool/lib/commands/start/preProcesser.js +10 -0
  82. package/packages/client_build_tool/lib/commandsRouter.js +16 -21
  83. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +3 -1
  84. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +13 -32
  85. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +24 -15
  86. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCPlugin.js +1 -0
  87. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +10 -10
  88. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +80 -20
  89. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  90. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -25
  91. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +5 -5
  92. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nDependency.js +99 -0
  93. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +14 -9
  94. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nModule.js +201 -0
  95. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +374 -12
  96. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +0 -1
  97. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +12 -6
  98. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +23 -23
  99. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +8 -11
  100. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +12 -14
  101. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +5 -4
  102. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +17 -12
  103. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -34
  104. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +1 -13
  105. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +124 -79
  106. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/{UglifyCSSPlugin/index.js.js → UglifyCSSPlugin.js} +2 -2
  107. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/ExcludePlugin.js +58 -0
  108. package/packages/client_build_tool/lib/shared/{postcss/custom_postcss_plugins → bundler/webpack/custom_postcss_loaders}/RTLSplitPlugin.js +10 -10
  109. package/packages/client_build_tool/lib/shared/bundler/webpack/devServerConfig.js +34 -0
  110. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +12 -9
  111. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +2 -0
  112. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +10 -4
  113. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +44 -44
  114. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +43 -19
  115. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +2 -0
  116. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +8 -8
  117. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +5 -9
  118. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +4 -13
  119. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyThirdpartyFile.js +38 -0
  120. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +2 -5
  121. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +10 -38
  122. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +0 -6
  123. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +2 -7
  124. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +3 -25
  125. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configUglifyCSSPlugin.js +15 -0
  126. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +9 -18
  127. package/packages/client_build_tool/lib/shared/bundler/webpack/postcssPlugins.js +36 -0
  128. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +12 -19
  129. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +1 -117
  130. package/packages/client_build_tool/lib/shared/bundler/webpack/webpack.dev.config.js +17 -0
  131. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +4 -7
  132. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +13 -15
  133. package/packages/client_build_tool/lib/shared/commands-utlis/doBasicRequiermentCheck.js +16 -0
  134. package/packages/client_build_tool/lib/shared/{commands-utils → commands-utlis}/getCliPath.js +7 -8
  135. package/packages/client_build_tool/lib/shared/{commands-utils → commands-utlis}/index.js +3 -3
  136. package/packages/client_build_tool/lib/shared/commands-utlis/spanSync.js +35 -0
  137. package/packages/client_build_tool/lib/shared/constants.js +5 -17
  138. package/packages/client_build_tool/lib/shared/schemas/applyValuesToShema.js +37 -0
  139. package/packages/client_build_tool/lib/{schemas → shared/schemas}/cliArgsToObject.js +10 -12
  140. package/packages/client_build_tool/lib/shared/schemas/defaultConfigValues.js +119 -0
  141. package/packages/client_build_tool/lib/shared/schemas/deprecatedOptionsHandler.js +65 -0
  142. package/packages/client_build_tool/lib/shared/schemas/getCWD.js +23 -0
  143. package/packages/client_build_tool/lib/{schemas → shared/schemas}/getNpmVersion.js +2 -3
  144. package/packages/client_build_tool/lib/{schemas → shared/schemas}/npmConfigToObject.js +9 -12
  145. package/packages/client_build_tool/lib/shared/schemas/oldDefaultConfigValues.js +480 -0
  146. package/packages/client_build_tool/lib/{schemas → shared/schemas}/readOptions.js +12 -11
  147. package/packages/client_build_tool/lib/{schemas/readOptionsForConfigFile.js → shared/schemas/readOptionsForPackageJson.js} +2 -18
  148. package/packages/client_build_tool/lib/shared/schemas/readOptionsOld.js +152 -0
  149. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.crt +37 -0
  150. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.key +27 -0
  151. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +3 -4
  152. package/packages/client_build_tool/lib/shared/server/{corsHandling.js → corsHandleing.js} +12 -5
  153. package/packages/client_build_tool/lib/shared/server/getIp.js +3 -3
  154. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +32 -25
  155. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +21 -54
  156. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +0 -1
  157. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +10 -6
  158. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +2 -2
  159. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +2 -6
  160. package/packages/client_build_tool/lib/shared/server/unwanted/devServerUtlis.js +1 -0
  161. package/packages/client_build_tool/lib/shared/server/unwanted/webpackConfig.js +32 -0
  162. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +7 -7
  163. package/packages/client_build_tool/lib/shared/server/urlConcat.js +10 -17
  164. package/packages/client_build_tool/node_modules/history/package.json +8 -11
  165. package/postpublish.js +8 -8
  166. package/templates/app/.eslintrc.js +140 -140
  167. package/templates/app/README.md +12 -12
  168. package/templates/app/app/index.html +24 -24
  169. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  170. package/templates/app/app/properties/i18nkeys.json +3 -3
  171. package/templates/app/docs/all.html +69 -69
  172. package/templates/app/mockapi/index.js +18 -18
  173. package/templates/app/package.json +37 -37
  174. package/templates/app/src/actions/SampleActions/index.js +37 -37
  175. package/templates/app/src/actions/index.js +65 -65
  176. package/templates/app/src/appUrls.js +19 -19
  177. package/templates/app/src/components/Alert/Alert.js +134 -134
  178. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  179. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  180. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  181. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  182. package/templates/app/src/components/Sample/SampleList.js +61 -61
  183. package/templates/app/src/components/Slider/Slider.css +41 -41
  184. package/templates/app/src/components/Slider/Slider.js +55 -55
  185. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  186. package/templates/app/src/containers/AppContainer/index.js +96 -96
  187. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  188. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  189. package/templates/app/src/containers/DevTools/index.js +10 -10
  190. package/templates/app/src/containers/Header/index.js +67 -67
  191. package/templates/app/src/containers/Header/index.module.css +43 -43
  192. package/templates/app/src/containers/Redirect/index.js +63 -63
  193. package/templates/app/src/containers/Redirector/index.js +47 -47
  194. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  195. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  196. package/templates/app/src/historyChange.js +5 -5
  197. package/templates/app/src/index.html +10 -10
  198. package/templates/app/src/index.js +24 -24
  199. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  200. package/templates/app/src/reducers/alertData.js +11 -11
  201. package/templates/app/src/reducers/index.js +6 -6
  202. package/templates/app/src/reducers/samples.js +19 -19
  203. package/templates/app/src/store/configureStore.dev.js +51 -51
  204. package/templates/app/src/store/configureStore.js +5 -5
  205. package/templates/app/src/store/configureStore.prod.js +26 -26
  206. package/templates/app/src/util/Common.js +5 -5
  207. package/templates/app/src/util/RequestAPI.js +132 -132
  208. package/templates/docs/all.html +250 -250
  209. package/templates/docs/component.html +179 -179
  210. package/templates/docs/components.html +222 -222
  211. package/templates/docs/css/b.min.css +6 -6
  212. package/templates/docs/css/component.css +42 -42
  213. package/templates/docs/css/componentTest.css +6 -6
  214. package/templates/docs/css/hopscotch.css +585 -585
  215. package/templates/docs/css/markdown.css +202 -202
  216. package/templates/docs/css/style.css +988 -988
  217. package/templates/docs/impactReportTemplate.html +154 -154
  218. package/templates/docs/index.html +1664 -1664
  219. package/templates/docs/js/active-line.js +72 -72
  220. package/templates/docs/js/b.min.js +7 -7
  221. package/templates/docs/js/codemirror.js +9680 -9680
  222. package/templates/docs/js/designTokens.js +334 -334
  223. package/templates/docs/js/j.min.js +4 -4
  224. package/templates/docs/js/javascript.js +874 -874
  225. package/templates/docs/js/matchbrackets.js +145 -145
  226. package/packages/client_build_tool/lib/commands/build/optionsProcessor.js +0 -45
  227. package/packages/client_build_tool/lib/commands/mockserver/commandExecutor.js +0 -43
  228. package/packages/client_build_tool/lib/commands/mockserver/config.js +0 -12
  229. package/packages/client_build_tool/lib/commands/start/postProcessor.js +0 -10
  230. package/packages/client_build_tool/lib/commands/start/preProcessor.js +0 -10
  231. package/packages/client_build_tool/lib/commands/template/commandExecutor.js +0 -32
  232. package/packages/client_build_tool/lib/commands/template/config.js +0 -12
  233. package/packages/client_build_tool/lib/commands/version/commandExecutor.js +0 -14
  234. package/packages/client_build_tool/lib/commands/version/config.js +0 -12
  235. package/packages/client_build_tool/lib/commands/version/errorHander.js +0 -10
  236. package/packages/client_build_tool/lib/index.js +0 -12
  237. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/otherTestCases.test.js +0 -234
  238. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingDifferentDataTypesToSchema.test.js +0 -103
  239. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingEmptyObjects.test.js +0 -41
  240. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertArray.test.js +0 -68
  241. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertNumber.test.js +0 -68
  242. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertObject.test.js +0 -141
  243. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertString.test.js +0 -68
  244. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertUndefinedAndNull.test.js +0 -132
  245. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertArray.test.js +0 -71
  246. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertNumber.test.js +0 -71
  247. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertObject.test.js +0 -73
  248. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertString.test.js +0 -71
  249. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertUndefinedAndNull.test.js +0 -138
  250. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/index.js +0 -34
  251. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isObject.js +0 -10
  252. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isValid.js +0 -14
  253. package/packages/client_build_tool/lib/schemas/defaultConfigValues.js +0 -244
  254. package/packages/client_build_tool/lib/schemas/defaultConfigValuesOnly.js +0 -161
  255. package/packages/client_build_tool/lib/schemas/deprecatedOptionsHandler.js +0 -67
  256. package/packages/client_build_tool/lib/schemas/giveDefaultValue.js +0 -18
  257. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Map.test.js +0 -15
  258. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/MathAndNumberMethod.test.js +0 -30
  259. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/ObjectAndModules.test.js +0 -47
  260. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Sets.test.js +0 -18
  261. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Symbol.test.js +0 -25
  262. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/arrowFunction.test.js +0 -34
  263. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/block-scoping.test.js +0 -18
  264. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/classes.test.js +0 -55
  265. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/defaultParameterValues.test.js +0 -18
  266. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/extraFeatures.test.js +0 -82
  267. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/forOf.test.js +0 -20
  268. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/promise.test.js +0 -22
  269. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadOperator.test.js +0 -20
  270. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadParams.test.js +0 -24
  271. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/stringAndArrayMethods.test.js +0 -67
  272. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/variables.test.js +0 -21
  273. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/array-includes.test.js +0 -13
  274. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/exponentationOperator.test.js +0 -20
  275. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/asyncAndawait.test.js +0 -23
  276. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-entries.test.js +0 -24
  277. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-getOwnproperties.test.js +0 -24
  278. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-values.test.js +0 -24
  279. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/stringMethods.test.js +0 -20
  280. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/asynchronous-iterator.test.js +0 -19
  281. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/object-rest-spread.test.js +0 -24
  282. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/promise-finally.test.js +0 -26
  283. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/regularExpressions.test.js +0 -35
  284. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/Json.stringify.test.js +0 -21
  285. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/arrayMethods.test.js +0 -31
  286. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/object-fromEntriesMethod.test.js +0 -13
  287. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/optionalCatchBinding.test.js +0 -23
  288. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/revisedFunctionToString.test.js +0 -17
  289. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/trim-startAndend-method.test.js +0 -20
  290. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/AssignmentOperator.test.js +0 -27
  291. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/Dynamic-Import.test.js +0 -19
  292. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/NullishOperator.test.js +0 -15
  293. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/bigInt.test.js +0 -13
  294. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/chainOperator.test.js +0 -17
  295. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/export-namespace-from.test.js +0 -12
  296. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/promiseAllSettledMathod.test.js +0 -17
  297. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/stringMatchMethod.test.js +0 -13
  298. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/NumericSeparator.test.js +0 -23
  299. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/logicalOperatorAssignments.test.js +0 -25
  300. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/promiseAny.test.js +0 -16
  301. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/stringReplaceMethod.test.js +0 -16
  302. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/Array-atMethod.test.js +0 -13
  303. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjectKeyCheck.test.js +0 -27
  304. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjecthasOwnMethod.test.js +0 -19
  305. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/RegexMatchIndices.test.js +0 -20
  306. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/String-atMethod.test.js +0 -15
  307. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/error.Cause.test.js +0 -23
  308. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/keysCheckinPrivateFields.test.js +0 -27
  309. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/privateMethodsAndFields.test.js +0 -23
  310. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/staticFieldsAndMethod.test.js +0 -54
  311. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/topLevelAwait.test.js +0 -11
  312. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/weakRef.test.js +0 -17
  313. package/packages/client_build_tool/lib/shared/babel/__test__/utilities.js +0 -28
  314. package/packages/client_build_tool/lib/shared/babel/babelWebConfig.js +0 -49
  315. package/packages/client_build_tool/lib/shared/babel/runBabelForJSFile.js +0 -24
  316. package/packages/client_build_tool/lib/shared/bundler/webpack/common/modeUtils.js +0 -31
  317. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/addFilesToManifestJson.js +0 -19
  318. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/utilities.js +0 -18
  319. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +0 -112
  320. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +0 -172
  321. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +0 -203
  322. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +0 -73
  323. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +0 -88
  324. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +0 -50
  325. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/classesAndObject.test.js +0 -56
  326. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/conditionalOperation.test.js +0 -154
  327. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function.test.js +0 -89
  328. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function2.test.js +0 -71
  329. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/loop.test.js +0 -112
  330. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minifyBooleanValues.test.js +0 -43
  331. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minimizeVariableNames.test.js +0 -45
  332. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/promise.test.js +0 -53
  333. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeCommentsAndEmptySpace.test.js +0 -13
  334. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeUnusedStrings.test.js +0 -14
  335. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/variableDeclaration.test.js +0 -30
  336. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +0 -13
  337. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +0 -54
  338. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/addFilesNamesToManifestJson.test.js +0 -51
  339. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/createInitialEntries.test.js +0 -95
  340. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/removeHashFromFileName.test.js +0 -91
  341. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +0 -24
  342. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +0 -17
  343. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +0 -35
  344. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +0 -18
  345. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +0 -44
  346. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +0 -18
  347. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +0 -165
  348. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +0 -20
  349. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +0 -78
  350. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +0 -51
  351. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +0 -16
  352. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +0 -38
  353. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifyCss1.test.js +0 -74
  354. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifycss.test.js +0 -64
  355. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/utilities.js +0 -28
  356. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +0 -62
  357. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +0 -361
  358. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +0 -14
  359. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +0 -57
  360. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +0 -87
  361. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/classesAndObject.test.js +0 -56
  362. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/conditionalOperation.test.js +0 -154
  363. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function.test.js +0 -89
  364. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function2.test.js +0 -71
  365. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/loop.test.js +0 -112
  366. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minifyBooleanValues.test.js +0 -43
  367. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minimizeVariableNames.test.js +0 -45
  368. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/promise.test.js +0 -53
  369. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeCommentsAndEmptySpace.test.js +0 -13
  370. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeUnusedStrings.test.js +0 -14
  371. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/variableDeclaration.test.js +0 -30
  372. package/packages/client_build_tool/lib/shared/bundler/webpack/entryConfig.js +0 -28
  373. package/packages/client_build_tool/lib/shared/bundler/webpack/externals.js +0 -13
  374. package/packages/client_build_tool/lib/shared/bundler/webpack/getSourceMapType.js +0 -10
  375. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +0 -52
  376. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +0 -37
  377. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +0 -40
  378. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +0 -24
  379. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +0 -80
  380. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +0 -46
  381. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +0 -32
  382. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +0 -19
  383. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +0 -28
  384. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +0 -20
  385. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +0 -25
  386. package/packages/client_build_tool/lib/shared/bundler/webpack/statsConfig.js +0 -21
  387. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/index.js +0 -26
  388. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +0 -18
  389. package/packages/client_build_tool/lib/shared/commands-utils/doBasicRequirementCheck.js +0 -17
  390. package/packages/client_build_tool/lib/shared/commands-utils/spawnSyncIO.js +0 -38
  391. package/packages/client_build_tool/lib/shared/fileUtils/copyFile.js +0 -38
  392. package/packages/client_build_tool/lib/shared/fileUtils/directoryIterator.js +0 -21
  393. package/packages/client_build_tool/lib/shared/fileUtils/watchRun.js +0 -100
  394. package/packages/client_build_tool/lib/shared/postcss/__test__/ignoreTestCases.test.js +0 -80
  395. package/packages/client_build_tool/lib/shared/postcss/__test__/postcss-rtl-all-cases.test.js +0 -119
  396. package/packages/client_build_tool/lib/shared/postcss/__test__/postcssRtl.spec.js +0 -34
  397. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +0 -21
  398. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +0 -10
  399. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +0 -66
  400. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +0 -136
  401. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +0 -32
  402. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +0 -20
  403. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +0 -20
  404. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +0 -24
  405. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +0 -43
  406. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +0 -52
  407. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +0 -90
  408. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +0 -57
  409. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +0 -343
  410. package/packages/client_build_tool/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +0 -55
  411. package/packages/client_build_tool/lib/shared/postcss/getAllowedPostCssPlugins.js +0 -30
  412. package/packages/client_build_tool/lib/shared/postcss/getSpecificPostCssPlugin.js +0 -58
  413. package/packages/client_build_tool/lib/shared/postcss/runPostCssForCssFile.js +0 -37
  414. package/packages/client_build_tool/lib/shared/server/mockApiHandler.js +0 -60
  415. package/packages/client_build_tool/lib/shared/server/mockServer.js +0 -41
  416. package/packages/client_build_tool/lib/shared/utils/requireLocalOrGlobal.js +0 -81
  417. package/packages/client_build_tool/lib/shared/utils/versionPrint.js +0 -20
  418. package/result.json +0 -1
  419. package/unittest/index.html +0 -37
  420. /package/packages/client_build_tool/lib/shared/{commands-utils → commands-utlis}/log.js +0 -0
  421. /package/packages/client_build_tool/lib/shared/{commands-utils → commands-utlis}/readArgsFormCommandLine.js +0 -0
  422. /package/packages/client_build_tool/lib/shared/{commands-utils → commands-utlis}/readOptionFormCommandLine.js +0 -0
@@ -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
+
8
10
  var _webpack = require("webpack");
9
11
 
10
12
  var _OverwriteCssPathForRTL = _interopRequireDefault(require("./OverwriteCssPathForRTL"));
11
13
 
12
- var _RTLSplitPlugin = require("../../../../postcss/custom_postcss_plugins/RTLSplitPlugin");
13
-
14
- var _utils = require("../../utils");
14
+ var _RTLSplitPlugin = require("../../custom_postcss_loaders/RTLSplitPlugin");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -19,13 +19,17 @@ 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
+
22
26
  class RtlCssPlugin {
23
27
  constructor(options = {}) {
24
- /**
25
- * @typedef {Object} Options
26
- * @property {String} dirVarName
27
- * @property {Boolean} sourcemap
28
- * @property {Object} config
28
+ /**
29
+ * @typedef {Object} Options
30
+ * @property {String} dirVarName
31
+ * @property {Boolean} sourcemap
32
+ * @property {Object} config
29
33
  */
30
34
  this.options = {
31
35
  // dirVarName: options.dirVarName || 'document.dir',
@@ -58,9 +62,10 @@ class RtlCssPlugin {
58
62
  // });
59
63
  compilation.hooks.processAssets.tap({
60
64
  name: pluginName,
61
- stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY
65
+ stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,
66
+ additionalAssets: true
62
67
  }, assets => {
63
- Object.keys(assets).filter(_utils.isCss).filter(_utils.isDirRelatedCss).forEach(chunkFilename => {
68
+ Object.keys(assets).filter(isCss).filter(isDirRelatedCss).forEach(chunkFilename => {
64
69
  const {
65
70
  source: asset
66
71
  } = compilation.getAsset(chunkFilename);
@@ -71,8 +76,8 @@ class RtlCssPlugin {
71
76
  } = (0, _RTLSplitPlugin.separateRtlAndLtr)(sourceStr, this.rtlSplitOptions);
72
77
  const ltrFilename = chunkFilename.replace('[dir]', 'ltr');
73
78
  const rtlFilename = chunkFilename.replace('[dir]', 'rtl');
74
- compilation.renameAsset(chunkFilename, ltrFilename);
75
- compilation.updateAsset(ltrFilename, new RawSource(ltr));
79
+ compilation.deleteAsset(chunkFilename);
80
+ compilation.emitAsset(ltrFilename, new RawSource(ltr));
76
81
  compilation.emitAsset(rtlFilename, new RawSource(rtl));
77
82
  });
78
83
  });
@@ -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,23 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.replaceCssDirTemplate = replaceCssDirTemplate;
7
7
  exports.replaceCssDirTemplateMapper = replaceCssDirTemplateMapper;
8
- exports.replaceI18nLocalTemplate = replaceI18nLocalTemplate;
9
- exports.replaceI18nLocaleTemplateMapper = replaceI18nLocaleTemplateMapper;
10
8
 
11
9
  function replaceCssDirTemplate(filePath, cssDirTemplate) {
12
- return filePath // added for efc and service worker handling
13
- .replaceAll('[dir]', cssDirTemplate).replace('.ltr.css', `.${cssDirTemplate}.css`);
10
+ return filePath.replace('[dir]', cssDirTemplate);
14
11
  }
15
12
 
16
13
  function replaceCssDirTemplateMapper(assets, cssDirTemplate) {
17
14
  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));
27
15
  }
@@ -5,30 +5,28 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _fs = require("fs");
8
+ var _fs = _interopRequireDefault(require("fs"));
9
9
 
10
- var _LocaleChunkAssetsStore = require("./I18nSplitPlugin/LocaleChunkAssetsStore");
10
+ var _path = _interopRequireDefault(require("path"));
11
11
 
12
- var _emitAsset = require("./emitAsset");
13
-
14
- var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
15
-
16
- var _getInitialAssetsFuncTemplate = require("./getInitialAssetsFuncTemplate");
17
-
18
- const pluginName = 'ServiceWorkerPlugin';
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
13
 
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();
20
22
  class ServiceWorkerPlugin {
21
23
  constructor(options) {
22
- this.templateFilePath = options.templateFilePath;
23
- this.outputFilePath = options.outputFilePath;
24
- this.publicPath = options.publicPath;
25
24
  this.i18nFileNameTemplate = options.i18nFileNameTemplate;
26
- this.chunkSplitEnable = options.chunkSplitEnable;
27
- this.enableRTLSplit = options.enableRTLSplit;
28
- this.entryPointName = options.entryPointName;
25
+ this.fileName = options.fileName;
26
+ this.serviceWorkerPath = options.filePath;
27
+ this.writePath = options.exitPath;
29
28
  this.replaceText = options.replaceText; // this.publicPaths = options.publicPaths;
30
- } // eslint-disable-next-line class-methods-use-this
31
-
29
+ }
32
30
 
33
31
  isInitialChunk(chunk) {
34
32
  if ('canBeInitial' in chunk) {
@@ -39,72 +37,119 @@ class ServiceWorkerPlugin {
39
37
  }
40
38
 
41
39
  apply(compiler) {
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);
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
+ }
52
114
  });
53
115
  });
54
116
  }
55
117
 
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
- }
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 ??
107
153
 
108
- }
109
154
 
110
155
  exports.default = ServiceWorkerPlugin;
@@ -20,14 +20,14 @@ class UglifyCSSPlugin {
20
20
  const {
21
21
  RawSource
22
22
  } = compiler.webpack.sources;
23
- compiler.hooks.compilation.tap(pluginName, compilation => {
23
+ compiler.hooks.emit.tap(pluginName, compilation => {
24
24
  compilation.hooks.processAssets.tapAsync({
25
25
  name: pluginName,
26
26
  stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE
27
27
  }, assets => {
28
28
  Object.keys(assets).filter(filename => /\.css$/.test(filename)).forEach(filename => {
29
29
  try {
30
- let asset = assets[filename].source();
30
+ let asset = compilation.assets[filename].source();
31
31
 
32
32
  if (typeof asset !== 'string') {
33
33
  asset = asset.toString();
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.excludeEmptyCheckPlugin = excludeEmptyCheckPlugin;
8
+
9
+ var _postcss = _interopRequireDefault(require("postcss"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+
13
+ const ExcludePlugin = opts => {
14
+ const {
15
+ plugins,
16
+ exclude
17
+ } = opts;
18
+ return {
19
+ postcssPlugin: 'postcss-dark-theme-class',
20
+
21
+ Once(root, {
22
+ result
23
+ }) {
24
+ const inputFile = root.source.input.file;
25
+ const isIgnoredFile = exclude.some(file => inputFile.indexOf(file) !== -1);
26
+
27
+ if (!isIgnoredFile) {
28
+ const handler = response => response.messages.forEach(msg => result.messages.push(msg));
29
+
30
+ return (0, _postcss.default)(plugins).process(root, {
31
+ from: undefined
32
+ }).then(handler);
33
+ }
34
+
35
+ return root;
36
+ }
37
+
38
+ };
39
+ };
40
+
41
+ ExcludePlugin.postcss = true;
42
+ var _default = ExcludePlugin;
43
+ exports.default = _default;
44
+
45
+ function excludeEmptyCheckPlugin({
46
+ enable,
47
+ exclude,
48
+ plugins
49
+ }) {
50
+ if (!enable) {
51
+ return [];
52
+ }
53
+
54
+ return exclude.length === 0 ? plugins : [ExcludePlugin({
55
+ exclude,
56
+ plugins
57
+ })];
58
+ }
@@ -39,11 +39,11 @@ function selectorMinifySameDir(selector, direction) {
39
39
  const regex = getRegex(direction);
40
40
  return selector.replace(regex, '').trim();
41
41
  }
42
- /**
43
- * this funtion will remove given rule,
44
- * if given selector and it's previous sibiling rule selector are same
45
- * current rule properties will move to previous sibiling rule.
46
- * @param {Rule} rule current rule
42
+ /**
43
+ * this funtion will remove given rule,
44
+ * if given selector and it's previous sibiling rule selector are same
45
+ * current rule properties will move to previous sibiling rule.
46
+ * @param {Rule} rule current rule
47
47
  */
48
48
 
49
49
 
@@ -58,11 +58,11 @@ function mergeIfSameSelector(rule) {
58
58
  rule.remove();
59
59
  }
60
60
  }
61
- /**
62
- * this funtion will remove given rule,
63
- * if given selector and it's previous sibiling rule selector are same
64
- * current rule properties will move to previous sibiling rule.
65
- * @param {Rule} rule current rule
61
+ /**
62
+ * this funtion will remove given rule,
63
+ * if given selector and it's previous sibiling rule selector are same
64
+ * current rule properties will move to previous sibiling rule.
65
+ * @param {Rule} rule current rule
66
66
  */
67
67
 
68
68
 
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.devServerConfig = devServerConfig;
7
+
8
+ var _path = require("path");
9
+
10
+ var _constants = require("../../constants");
11
+
12
+ // import { httpsOptions } from '../../server/httpsOptions';
13
+ function devServerConfig(options) {
14
+ const {
15
+ context,
16
+ server
17
+ } = options;
18
+ const {
19
+ port
20
+ } = server;
21
+ return {
22
+ static: {
23
+ directory: (0, _path.join)(_constants.appPath, context)
24
+ },
25
+ allowedHosts: 'all',
26
+ // https: httpsOptions(options),
27
+ client: {
28
+ logging: 'error',
29
+ overlay: true
30
+ },
31
+ // contentBase: "app"
32
+ port
33
+ };
34
+ }
@@ -7,21 +7,24 @@ exports.getCSSLoaders = getCSSLoaders;
7
7
 
8
8
  var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
9
9
 
10
- var _configPostCssLoader = require("./loaderConfigs/configPostCssLoader");
11
-
12
10
  var _getCssLoaderOptions = require("./loaderConfigs/getCssLoaderOptions");
13
11
 
12
+ var _postcssPlugins = require("./postcssPlugins");
13
+
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
16
  function getCSSLoaders(options) {
17
+ const neededPostCssPlugins = (0, _postcssPlugins.postcssPlugins)(options);
17
18
  const cssLoaderOptions = (0, _getCssLoaderOptions.getCssLoaderOptions)(options);
18
- return [{
19
- loader: _miniCssExtractPlugin.default.loader,
20
- options: {
21
- publicPath: '../'
22
- }
23
- }, {
19
+ return [_miniCssExtractPlugin.default.loader, {
24
20
  loader: 'css-loader',
25
21
  options: cssLoaderOptions
26
- }, (0, _configPostCssLoader.configPostCssLoader)(options)].filter(Boolean);
22
+ }, neededPostCssPlugins.length && {
23
+ loader: 'postcss-loader',
24
+ options: {
25
+ postcssOptions: {
26
+ plugins: neededPostCssPlugins
27
+ }
28
+ }
29
+ }].filter(Boolean);
27
30
  }
@@ -8,5 +8,7 @@ exports.assetLoaders = assetLoaders;
8
8
  var _configsAssetsLoaders = require("./configsAssetsLoaders");
9
9
 
10
10
  function assetLoaders(options) {
11
+ // const { enableChunkHash } = options;
12
+ // const nameTemplate = createNameTemplate(enableChunkHash);
11
13
  return [(0, _configsAssetsLoaders.configImageLoader)(options), (0, _configsAssetsLoaders.configFontLoader)(options), (0, _configsAssetsLoaders.configSVGLoader)(options), (0, _configsAssetsLoaders.configAudioLoader)(options), (0, _configsAssetsLoaders.configVideoLoader)(options)];
12
14
  }
@@ -4,14 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.babelLoaderConfig = babelLoaderConfig;
7
-
8
- var _babelWebConfig = require("../../../babel/babelWebConfig");
7
+ const supportedBrowserVersions = ['last 3 Chrome versions', 'last 3 Firefox versions', 'last 3 Edge versions', 'last 3 Safari versions'];
9
8
 
10
9
  function babelLoaderConfig(options) {
11
- const babelConfig = (0, _babelWebConfig.babelWebConfig)(options);
12
10
  return {
13
11
  loader: 'babel-loader',
14
- options: { ...babelConfig,
12
+ options: {
13
+ presets: [[require.resolve('@babel/preset-env'), {
14
+ modules: false,
15
+ useBuiltIns: 'usage',
16
+ corejs: 3,
17
+ targets: {
18
+ browsers: supportedBrowserVersions
19
+ }
20
+ }], require.resolve('@babel/preset-react')],
15
21
  cacheDirectory: true
16
22
  }
17
23
  };