@zohodesk/react-cli 0.0.1-beta.17 → 0.0.1-beta.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +49 -10
  3. package/.prettierrc +6 -0
  4. package/CHANGELOG.md +5 -0
  5. package/README.md +855 -0
  6. package/bin/cli.js +215 -46
  7. package/cert/Tsicsezwild-22-23.crt +37 -0
  8. package/cert/Tsicsezwild-22-23.key +27 -0
  9. package/docs/CustomChunks.md +26 -0
  10. package/docs/DevStart.md +18 -0
  11. package/docs/HoverActive.md +12 -0
  12. package/docs/InstallNode.md +28 -0
  13. package/docs/TODOS.md +10 -0
  14. package/docs/ValueReplacer.md +60 -0
  15. package/docs/warnings_while_install.txt +35 -0
  16. package/files/eslintrc.js +62 -0
  17. package/files/prettierrc.js +3 -0
  18. package/lib/babel/cmjs-plugins-presets.js +24 -0
  19. package/lib/babel/es-plugins-presets.js +34 -0
  20. package/lib/common/getEntries.js +33 -46
  21. package/lib/common/getPublicPathConfig.js +40 -0
  22. package/lib/common/index.js +24 -19
  23. package/lib/common/splitChunks.js +110 -25
  24. package/lib/common/sslcertUpdater.js +59 -0
  25. package/lib/common/templateParameters.js +25 -0
  26. package/lib/common/testPattern.js +69 -0
  27. package/lib/common/valueReplacer.js +55 -0
  28. package/lib/configs/jest.config.js +31 -27
  29. package/lib/configs/libAlias.js +31 -0
  30. package/lib/configs/webpack.component.umd.config.js +46 -53
  31. package/lib/configs/webpack.css.umd.config.js +47 -46
  32. package/lib/configs/webpack.dev.config.js +98 -84
  33. package/lib/configs/webpack.docs.config.js +64 -57
  34. package/lib/configs/webpack.impact.config.js +108 -0
  35. package/lib/configs/webpack.prod.config.js +146 -104
  36. package/lib/hooks/docsProptypeHook.js +32 -38
  37. package/lib/jest/commitedFilesResult.js +144 -71
  38. package/lib/jest/coverageCollector.js +68 -35
  39. package/lib/jest/jsonMaker.js +54 -0
  40. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  41. package/lib/jest/preProcessors/jsPreprocessor.js +5 -6
  42. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  43. package/lib/jest/result.js +92 -42
  44. package/lib/jest/run.js +75 -28
  45. package/lib/jest/setup.js +103 -102
  46. package/lib/loaderUtils/configsAssetsLoaders.js +117 -0
  47. package/lib/loaderUtils/getCSSLoaders.js +113 -0
  48. package/lib/loaderUtils/getDevJsLoaders.js +35 -23
  49. package/lib/loaderUtils/index.js +14 -7
  50. package/lib/loaders/docsLoader.js +15 -15
  51. package/lib/loaders/docsPropsLoader.js +14 -17
  52. package/lib/loaders/fileBountryLoader.js +17 -0
  53. package/lib/loaders/fileLoader.js +47 -38
  54. package/lib/loaders/scriptInstrumentLoader.js +23 -20
  55. package/lib/loaders/selectorMappingLoader.js +75 -0
  56. package/lib/loaders/workerLoader.js +136 -0
  57. package/lib/middlewares/HMRMiddleware.js +90 -72
  58. package/lib/middlewares/SSTMiddleware.js +21 -0
  59. package/lib/pluginUtils/getDevPlugins.js +177 -30
  60. package/lib/pluginUtils/getDocsPlugins.js +36 -15
  61. package/lib/pluginUtils/getLibraryImactPlugins.js +23 -0
  62. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  63. package/lib/pluginUtils/getProdPlugins.js +244 -37
  64. package/lib/pluginUtils/getServerPlugins.js +8 -11
  65. package/lib/pluginUtils/getUMDCSSPlugins.js +14 -18
  66. package/lib/pluginUtils/getUMDComponentPlugins.js +14 -9
  67. package/lib/pluginUtils/index.js +36 -43
  68. package/lib/plugins/CdnChangePlugin.js +77 -0
  69. package/lib/plugins/CleanupStatsPlugin.js +28 -0
  70. package/lib/plugins/EFCPlugin.js +241 -0
  71. package/lib/plugins/EFCPlugin.md +6 -0
  72. package/lib/plugins/EFCTemplatePlugin.js +151 -0
  73. package/lib/plugins/I18NInjectIntoIndexPlugin.js +141 -0
  74. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  75. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  76. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  77. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  78. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  79. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  80. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  81. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  82. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  83. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  84. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  85. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  86. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  87. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  88. package/lib/plugins/ManifestPlugin.js +86 -0
  89. package/lib/plugins/ModuleStatsPlugin.js +98 -97
  90. package/lib/plugins/OptimizeJSPlugin.js +41 -0
  91. package/lib/plugins/PublicPathCallbackPlugin.js +63 -0
  92. package/lib/plugins/PublicPathChangePlugin.js +226 -0
  93. package/lib/plugins/ReportGeneratePlugin.js +181 -0
  94. package/lib/plugins/RequireVariablePublicPlugin.js +30 -0
  95. package/lib/plugins/ResourceHintsPlugin.js +67 -0
  96. package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +80 -0
  97. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +82 -0
  98. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -0
  99. package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +26 -0
  100. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  101. package/lib/plugins/ServiceWorkerPlugin.js +107 -0
  102. package/lib/plugins/ShadowDOMSupportPlugin.js +270 -0
  103. package/lib/plugins/SourceMapHookPlugin.js +25 -59
  104. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  105. package/lib/plugins/UglifyCSSPlugin.js +39 -0
  106. package/lib/plugins/UnusedFilesFindPlugin.js +150 -97
  107. package/lib/plugins/index.js +127 -37
  108. package/lib/plugins/libraryImpactPlugin.js +190 -0
  109. package/lib/plugins/webpackwatchrunplugin.js +26 -0
  110. package/lib/postcss-plugins/ExcludePlugin.js +23 -0
  111. package/lib/postcss-plugins/RTLSplitPlugin.js +138 -0
  112. package/lib/postcss-plugins/ValueReplacer.js +46 -0
  113. package/lib/postcss-plugins/__test__/hoverActivePlugin.spec.js +22 -0
  114. package/lib/postcss-plugins/__test__/test1Input.css +39 -0
  115. package/lib/postcss-plugins/__test__/test1Output.css +39 -0
  116. package/lib/postcss-plugins/hoverActivePlugin.js +365 -0
  117. package/lib/postcss-plugins/variableModifier.js +243 -0
  118. package/lib/schemas/index.js +534 -66
  119. package/lib/servers/clusterHubServer.js +22 -26
  120. package/lib/servers/devBuild.js +102 -0
  121. package/lib/servers/docsServer.js +3 -5
  122. package/lib/servers/docsServerCore.js +94 -79
  123. package/lib/servers/getCliPath.js +28 -0
  124. package/lib/servers/helpServer.js +19 -21
  125. package/lib/servers/httpsOptions.js +18 -0
  126. package/lib/servers/impactServer.js +123 -115
  127. package/lib/servers/mockserver.js +44 -0
  128. package/lib/servers/nowatchserver.js +200 -0
  129. package/lib/servers/scrServer.js +147 -0
  130. package/lib/servers/server.js +134 -132
  131. package/lib/servers/ssServer.js +106 -70
  132. package/lib/sh/reportPublish.sh +16 -10
  133. package/lib/templates/CoverageScriptTemplate.js +45 -18
  134. package/lib/templates/WMSTemplate.js +17 -18
  135. package/lib/templates/linterConstant.js +10 -0
  136. package/lib/utils/babelPresets.js +12 -4
  137. package/lib/utils/buildstats.html +148 -0
  138. package/lib/utils/clean.js +12 -11
  139. package/lib/utils/copy.js +16 -109
  140. package/lib/utils/copyTimezones.js +21 -0
  141. package/lib/utils/createEventStream.js +24 -19
  142. package/lib/utils/cssClassNameGenerate.js +77 -0
  143. package/lib/utils/cssURLReplacer.js +136 -0
  144. package/lib/utils/dependencyPostPublish.js +42 -0
  145. package/lib/utils/fileUtils.js +125 -0
  146. package/lib/utils/folderIterator.js +47 -0
  147. package/lib/utils/getComponents.js +126 -0
  148. package/lib/utils/getCurrentBranch.js +11 -17
  149. package/lib/utils/getDependenciesImpactList.js +151 -0
  150. package/lib/utils/getHash.js +26 -0
  151. package/lib/utils/getIp.js +20 -0
  152. package/lib/utils/getOptions.js +113 -28
  153. package/lib/utils/getServerURL.js +25 -8
  154. package/lib/utils/index.js +283 -68
  155. package/lib/utils/init.js +2 -2
  156. package/lib/utils/initPreCommitHook.js +47 -27
  157. package/lib/utils/jsonHelper.js +106 -0
  158. package/lib/utils/libraryImpactConfig.js +63 -0
  159. package/lib/utils/lint/addScripts.js +27 -0
  160. package/lib/utils/lint/checkExistingConfig.js +67 -0
  161. package/lib/utils/lint/copyConfigs.js +24 -0
  162. package/lib/utils/lint/index.js +54 -0
  163. package/lib/utils/lint/lintScripts.js +11 -0
  164. package/lib/utils/lint/lintSetup.js +31 -0
  165. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  166. package/lib/utils/lint/question.js +30 -0
  167. package/lib/utils/lintReporter.js +142 -0
  168. package/lib/utils/mailSender.js +16 -25
  169. package/lib/utils/pullOrigin.js +28 -0
  170. package/lib/utils/reinstallDependencies.js +133 -0
  171. package/lib/utils/removeAttributes.js +25 -23
  172. package/lib/utils/repoClone.js +59 -63
  173. package/lib/utils/request.js +64 -77
  174. package/lib/utils/resultSchema.json +73 -0
  175. package/lib/utils/rtl.js +59 -0
  176. package/lib/utils/setEnvVariables.js +13 -0
  177. package/lib/utils/ssTestHack.js +48 -0
  178. package/lib/utils/switchBranch.js +28 -0
  179. package/lib/utils/urlConcat.js +22 -0
  180. package/lib/utils/useExitCleanup.js +55 -0
  181. package/npm8.md +9 -0
  182. package/package.json +96 -64
  183. package/postpublish.js +6 -0
  184. package/templates/app/.eslintrc.js +140 -0
  185. package/templates/app/README.md +12 -12
  186. package/templates/app/app/index.html +24 -8
  187. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  188. package/templates/app/app/properties/i18nkeys.json +3 -3
  189. package/templates/app/docs/all.html +69 -69
  190. package/templates/app/mockapi/index.js +18 -13
  191. package/templates/app/package.json +37 -17
  192. package/templates/app/src/actions/SampleActions/index.js +37 -0
  193. package/templates/app/src/actions/index.js +65 -0
  194. package/templates/app/src/appUrls.js +19 -0
  195. package/templates/app/src/components/Alert/Alert.js +134 -0
  196. package/templates/app/src/components/Alert/Alert.module.css +79 -0
  197. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -0
  198. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -0
  199. package/templates/app/src/components/Sample/Sample.module.css +11 -0
  200. package/templates/app/src/components/Sample/SampleList.js +61 -0
  201. package/templates/app/src/components/Slider/Slider.css +41 -0
  202. package/templates/app/src/components/Slider/Slider.js +55 -0
  203. package/templates/app/src/containers/AlertContainer/index.js +15 -0
  204. package/templates/app/src/containers/AppContainer/index.js +96 -0
  205. package/templates/app/src/containers/AppContainer/index.module.css +27 -0
  206. package/templates/app/src/containers/CustomMatch/index.js +65 -0
  207. package/templates/app/src/containers/DevTools/index.js +10 -0
  208. package/templates/app/src/containers/Header/index.js +67 -0
  209. package/templates/app/src/containers/Header/index.module.css +43 -0
  210. package/templates/app/src/containers/Redirect/index.js +63 -0
  211. package/templates/app/src/containers/Redirector/index.js +47 -0
  212. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -0
  213. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -0
  214. package/templates/app/src/historyChange.js +5 -0
  215. package/templates/app/src/index.html +10 -0
  216. package/templates/app/src/index.js +24 -0
  217. package/templates/app/src/middleware/PromiseMiddleware.js +59 -0
  218. package/templates/app/src/reducers/alertData.js +11 -0
  219. package/templates/app/src/reducers/index.js +6 -0
  220. package/templates/app/src/reducers/samples.js +19 -0
  221. package/templates/app/src/store/configureStore.dev.js +51 -0
  222. package/templates/app/src/store/configureStore.js +5 -0
  223. package/templates/app/src/store/configureStore.prod.js +26 -0
  224. package/templates/app/src/util/Common.js +5 -0
  225. package/templates/app/src/util/RequestAPI.js +132 -0
  226. package/templates/appold/README.md +12 -0
  227. package/templates/appold/app/index.html +8 -0
  228. package/templates/appold/app/properties/ApplicationResources_en_US.properties +1 -0
  229. package/templates/appold/app/properties/i18nkeys.json +3 -0
  230. package/templates/appold/docs/all.html +69 -0
  231. package/templates/appold/mockapi/index.js +13 -0
  232. package/templates/{app → appold}/mockapi/tickets.json +0 -0
  233. package/templates/appold/package.json +17 -0
  234. package/templates/appold/src/components/Text/Text.css +0 -0
  235. package/templates/appold/src/components/Text/Text.js +23 -0
  236. package/templates/appold/src/components/Text/__tests__/Text.spec.js +30 -0
  237. package/templates/appold/src/components/Text/docs/Text__default.docs.js +16 -0
  238. package/templates/appold/src/components/docs.js +1 -0
  239. package/templates/appold/src/components/index.js +5 -0
  240. package/templates/appold/src/index.js +13 -0
  241. package/templates/docs/all.html +1 -1
  242. package/templates/docs/component.html +110 -69
  243. package/templates/docs/components.html +221 -0
  244. package/templates/docs/css/component.css +12 -14
  245. package/templates/docs/css/componentTest.css +7 -0
  246. package/templates/docs/css/style.css +150 -206
  247. package/templates/docs/impactReportTemplate.html +154 -0
  248. package/templates/docs/index.html +1482 -1336
  249. package/templates/library/src/index.js +0 -0
  250. package/.npmignore +0 -3
  251. package/cert/cert.pem +0 -129
  252. package/cert/key.pem +0 -27
  253. package/lib/common/getInsertAt.js +0 -36
  254. package/lib/common/getInsertIntoFunction.js +0 -13
  255. package/lib/configs/webpack.server.config.js +0 -93
  256. package/lib/plugins/ChunkManifestReplacePlugin.js +0 -94
  257. package/lib/plugins/RuntimePublicPathPlugin.js +0 -46
  258. package/lib/rmcntrlm.sh +0 -14
  259. package/lib/servers/nodeServer.js +0 -238
  260. package/lib/templates/HMRTemplate.js +0 -256
  261. package/lib/templates/publicPathTemplate.js +0 -16
  262. package/lib/utils/setConfig.js +0 -14
  263. package/node_modules/history/CHANGES.md +0 -395
  264. package/node_modules/history/DOMUtils.js +0 -3
  265. package/node_modules/history/ExecutionEnvironment.js +0 -3
  266. package/node_modules/history/LICENSE +0 -21
  267. package/node_modules/history/LocationUtils.js +0 -3
  268. package/node_modules/history/PathUtils.js +0 -3
  269. package/node_modules/history/README.md +0 -282
  270. package/node_modules/history/cjs/history.js +0 -933
  271. package/node_modules/history/cjs/history.min.js +0 -1
  272. package/node_modules/history/createBrowserHistory.js +0 -3
  273. package/node_modules/history/createHashHistory.js +0 -3
  274. package/node_modules/history/createMemoryHistory.js +0 -3
  275. package/node_modules/history/createTransitionManager.js +0 -3
  276. package/node_modules/history/es/DOMUtils.js +0 -7
  277. package/node_modules/history/es/ExecutionEnvironment.js +0 -7
  278. package/node_modules/history/es/LocationUtils.js +0 -7
  279. package/node_modules/history/es/PathUtils.js +0 -7
  280. package/node_modules/history/es/createBrowserHistory.js +0 -7
  281. package/node_modules/history/es/createHashHistory.js +0 -7
  282. package/node_modules/history/es/createMemoryHistory.js +0 -7
  283. package/node_modules/history/es/createTransitionManager.js +0 -7
  284. package/node_modules/history/es/warnAboutDeprecatedESMImport.js +0 -35
  285. package/node_modules/history/esm/history.js +0 -904
  286. package/node_modules/history/index.js +0 -7
  287. package/node_modules/history/package.json +0 -134
  288. package/node_modules/history/umd/history.js +0 -1059
  289. package/node_modules/history/umd/history.min.js +0 -1
  290. package/node_modules/history/warnAboutDeprecatedCJSRequire.js +0 -35
  291. package/templates/app/.npmignore +0 -9
  292. package/templates/library/.npmignore +0 -9
@@ -1,62 +1,209 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _path = require('path');
8
+ var _path = _interopRequireDefault(require("path"));
8
9
 
9
- var _path2 = _interopRequireDefault(_path);
10
+ var _fs = _interopRequireDefault(require("fs"));
10
11
 
11
- var _caseSensitivePathsWebpackPlugin = require('case-sensitive-paths-webpack-plugin');
12
+ var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
12
13
 
13
- var _caseSensitivePathsWebpackPlugin2 = _interopRequireDefault(_caseSensitivePathsWebpackPlugin);
14
+ var _lodashWebpackPlugin = _interopRequireDefault(require("lodash-webpack-plugin"));
14
15
 
15
- var _miniCssExtractPlugin = require('mini-css-extract-plugin');
16
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
16
17
 
17
- var _miniCssExtractPlugin2 = _interopRequireDefault(_miniCssExtractPlugin);
18
+ var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
18
19
 
19
- var _webpack = require('webpack');
20
+ var _htmlWebpackInjectAttributesPlugin = _interopRequireDefault(require("html-webpack-inject-attributes-plugin"));
20
21
 
21
- var _webpack2 = _interopRequireDefault(_webpack);
22
+ var _I18nSplitPlugin = _interopRequireDefault(require("../plugins/I18nSplitPlugin"));
22
23
 
23
- var _plugins = require('../plugins');
24
+ var _RequireVariablePublicPlugin = _interopRequireDefault(require("../plugins/RequireVariablePublicPlugin"));
25
+
26
+ var _copyWebpackPlugin = _interopRequireDefault(require("copy-webpack-plugin"));
27
+
28
+ var _webpack = _interopRequireDefault(require("webpack"));
29
+
30
+ var _plugins = require("../plugins");
31
+
32
+ var _common = require("../common");
33
+
34
+ var _RtlCssPlugin = require("../plugins/RtlSplitPlugin/RtlCssPlugin");
24
35
 
25
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
37
 
27
- var getDevPlugins = function getDevPlugins(options) {
28
- var plugins = [new _caseSensitivePathsWebpackPlugin2.default(), new _webpack2.default.IgnorePlugin(/^\.\/domain$/, /moment$/), new _webpack2.default.DefinePlugin({
38
+ let getDevPlugins = (options, publicPath) => {
39
+ let {
40
+ app: {
41
+ tpFolder,
42
+ folder,
43
+ instrumentScript,
44
+ devCssFileBountry,
45
+ context,
46
+ hasEFC: prevOptionForEnableEFC,
47
+ hasShadowDOM,
48
+ server: {
49
+ mode
50
+ },
51
+ htmlTemplate: {
52
+ inject
53
+ },
54
+ crossorigin
55
+ },
56
+ efc: {
57
+ hasEFC: newOptionForEnableEFC,
58
+ templateFilePath,
59
+ nameScope: efcNameSpace,
60
+ localeAttr: efcLocaleAttr
61
+ },
62
+ css: {
63
+ enableRTLSplit
64
+ },
65
+ i18n,
66
+ unusedFiles
67
+ } = options;
68
+ const hasEFC = newOptionForEnableEFC || prevOptionForEnableEFC;
69
+ const cssLTRFileNameTempalte = enableRTLSplit ? 'css/[name].ltr.css' : 'css/[name].css';
70
+ const cssRTLFileNameTempalte = 'css/[name].rtl.css';
71
+ let plugins = [new _plugins.CleanUpStatsPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.IgnorePlugin(/^\.\/domain$/, /moment$/), new _webpack.default.DefinePlugin({
29
72
  __CLIENT__: true,
30
73
  __TEST__: false,
31
74
  __SERVER__: false,
32
75
  __DEVELOPMENT__: true,
33
76
  __LOCAL_PRODUCTION__: false,
34
77
  __DEVTOOLS__: true,
35
- __DOCS__: false
36
- }), new _miniCssExtractPlugin2.default({
37
- // Options similar to the same options in webpackOptions.output
38
- // both options are optional
39
- filename: '[name].css',
40
- chunkFilename: '[name].css'
41
- })];
42
-
43
- var _options$app = options.app,
44
- folder = _options$app.folder,
45
- hotReload = _options$app.server.hotReload,
46
- unusedFiles = options.unusedFiles;
47
-
78
+ __DOCS__: false,
79
+ 'process.env': {
80
+ NODE_ENV: JSON.stringify(mode === 'dev-no-warn' ? 'production' : 'development')
81
+ }
82
+ }), new _miniCssExtractPlugin.default({
83
+ filename: cssLTRFileNameTempalte,
84
+ // ignoreOrder: true,
85
+ chunkFilename: cssLTRFileNameTempalte
86
+ }), new _plugins.ResourceHintsPlugin()];
87
+
88
+ if (enableRTLSplit) {
89
+ plugins.push(new _RtlCssPlugin.RtlCssPlugin({
90
+ templateLabel: options.css.templateLabel,
91
+ dirVarName: options.css.dirVarName,
92
+ disableMiniFiySelector: options.css.disableMiniFiySelector,
93
+ // config: {},
94
+ // sourcemap: true,
95
+ filename: cssRTLFileNameTempalte
96
+ }));
97
+ }
48
98
 
49
99
  if (unusedFiles.enable) {
50
100
  plugins.push(new _plugins.UnusedFilesFindPlugin(Object.assign(unusedFiles, {
51
- origin: _path2.default.join(process.cwd(), folder)
101
+ origin: _path.default.join(process.cwd(), folder)
52
102
  })));
53
103
  }
54
104
 
55
- if (hotReload) {
56
- plugins.push(new _plugins.ScriptInstrumentPlugin());
105
+ const i18nManifestFileName = 'i18n-manifest.json';
106
+ /**
107
+ * NOTE:
108
+ * this file name ext .i18n.js added
109
+ * Because, in service worker they maintain cache as file name based
110
+ * So, to make differce we added .i18n.js ext.
111
+ */
112
+
113
+ const i18nFileNameTemplate = 'i18n-chunk/[locale]/[name].i18n.js';
114
+ const i18nPublicPath = publicPath || '';
115
+
116
+ if (i18n.chunkSplitEnable) {
117
+ plugins.push(new _I18nSplitPlugin.default({
118
+ jsResource: i18n.jsResource,
119
+ localeVarName: i18n.localeVarName,
120
+ jsonpFunc: i18n.jsonpFunc,
121
+ disableDefault: i18n.disableDefault,
122
+ publicPath: i18nPublicPath,
123
+ i18nManifestFileName,
124
+ // template: (object, locale) => `window.loadI18n(${JSON.stringify(object)}, ${JSON.stringify(locale)})`,
125
+ filenameTemplate: i18nFileNameTemplate,
126
+ propertiesFolder: i18n.propertiesFolder
127
+ }));
128
+ } else {
129
+ let i18nPath = _path.default.join(process.cwd(), context, 'i18n');
130
+
131
+ if (_fs.default.existsSync(i18nPath)) {
132
+ plugins.push(new _copyWebpackPlugin.default([{
133
+ from: `${i18nPath}/`,
134
+ to: './i18n/[name].[ext]',
135
+ toType: 'template'
136
+ }]));
137
+ }
138
+ }
139
+
140
+ tpFolder && plugins.push(new _copyWebpackPlugin.default([{
141
+ from: `${_path.default.join(process.cwd(), context, tpFolder)}/`,
142
+ to: `./${tpFolder}/`,
143
+ toType: 'dir'
144
+ }]));
145
+ plugins.push(new _lodashWebpackPlugin.default({
146
+ collections: true,
147
+ shorthands: true
148
+ }));
149
+
150
+ if (hasEFC) {
151
+ plugins.push(new _htmlWebpackPlugin.default({
152
+ chunksSortMode: 'none',
153
+ filename: 'index.html',
154
+ template: _path.default.join(process.cwd(), folder, 'index.html'),
155
+ excludeChunks: ['efc', 'widget'],
156
+ templateParameters: _common.templateParameters,
157
+ scriptLoading: 'defer',
158
+ inject: inject
159
+ }));
160
+ crossorigin && plugins.push(new _htmlWebpackInjectAttributesPlugin.default({
161
+ crossorigin: 'anonymous'
162
+ }));
163
+ plugins.push(new _plugins.EFCPlugin({
164
+ isDevelopment: true,
165
+ i18nManifestFileName,
166
+ templateFilePath,
167
+ i18nFileNameTemplate,
168
+ serverUrl: publicPath,
169
+ entryPointName: 'efc',
170
+ nameScope: efcNameSpace,
171
+ localeAttr: efcLocaleAttr // outputFile: 'zohodesk-efc-sdk-latest.js',
172
+
173
+ }));
174
+ } else {
175
+ plugins.push(new _htmlWebpackPlugin.default({
176
+ chunksSortMode: 'none',
177
+ filename: 'index.html',
178
+ template: _path.default.join(process.cwd(), folder, 'index.html'),
179
+ templateParameters: _common.templateParameters,
180
+ scriptLoading: 'defer',
181
+ inject: inject
182
+ }));
183
+ crossorigin && plugins.push(new _htmlWebpackInjectAttributesPlugin.default({
184
+ crossorigin: 'anonymous'
185
+ }));
186
+ }
187
+
188
+ plugins.push(new _plugins.I18NInjectIntoIndexPlugin({
189
+ publicPath: i18nPublicPath,
190
+ isDevelopment: true,
191
+ templateLabel: i18n.templateLabel || '{{--user-locale}}',
192
+ i18nFileNameTemplate,
193
+ i18nManifestFileName,
194
+ mainChunkName: 'main'
195
+ }));
196
+ instrumentScript && plugins.push(new _plugins.ScriptInstrumentPlugin());
197
+ hasShadowDOM && plugins.push(new _plugins.ShadowDOMSupportPlugin());
198
+
199
+ if (devCssFileBountry) {
200
+ plugins.push(new _RequireVariablePublicPlugin.default({
201
+ requireFuncName: 'require'
202
+ }));
57
203
  }
58
204
 
59
- return plugins;
205
+ return plugins.filter(Boolean);
60
206
  };
61
207
 
62
- exports.default = getDevPlugins;
208
+ var _default = getDevPlugins;
209
+ exports.default = _default;
@@ -1,33 +1,54 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _caseSensitivePathsWebpackPlugin = require('case-sensitive-paths-webpack-plugin');
8
+ var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
8
9
 
9
- var _caseSensitivePathsWebpackPlugin2 = _interopRequireDefault(_caseSensitivePathsWebpackPlugin);
10
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
10
11
 
11
- var _webpack = require('webpack');
12
+ var _webpack = _interopRequireDefault(require("webpack"));
12
13
 
13
- var _webpack2 = _interopRequireDefault(_webpack);
14
+ var _path = _interopRequireDefault(require("path"));
14
15
 
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ var _plugins = require("../plugins");
16
17
 
17
- //import ModuleStatsPlugin from '../plugins/ModuleStatsPlugin';
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
 
19
- var getDocsPlugins = function getDocsPlugins() {
20
- var plugins = [new _caseSensitivePathsWebpackPlugin2.default(), new _webpack2.default.ProvidePlugin({
20
+ // isForLibraryImpact this variable for now only used in getLibraryImactPlugins.
21
+ // So you gona use it please check with that function as well
22
+ let getDocsPlugins = (isSSTest, options, isForLibraryImpact = false) => {
23
+ let {
24
+ app: {
25
+ folder
26
+ },
27
+ unusedFiles
28
+ } = options;
29
+ let plugins = [new _plugins.CleanUpStatsPlugin(), new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.ProvidePlugin({
21
30
  React: 'react'
22
- }), new _webpack2.default.DefinePlugin({
31
+ }), new _webpack.default.DefinePlugin({
23
32
  __TEST__: false,
24
33
  __DEVELOPMENT__: true,
25
34
  __DOCS__: true
26
- })
27
- //,
28
- //new ModuleStatsPlugin({ filename: 'moduleStats.js' })
29
- ];
35
+ }), !isForLibraryImpact && new _plugins.ModuleStatsPlugin({
36
+ filename: 'js/moduleStats.js'
37
+ }), new _miniCssExtractPlugin.default({
38
+ filename: 'css/[name].css',
39
+ chunkFilename: 'css/[name].css'
40
+ })].filter(Boolean);
41
+
42
+ if (unusedFiles.enable) {
43
+ plugins.push(new _plugins.UnusedFilesFindPlugin(Object.assign(unusedFiles, {
44
+ docsFilename: 'Undocsfiles.json',
45
+ ssTest: true,
46
+ origin: _path.default.join(process.cwd(), folder)
47
+ })));
48
+ }
49
+
30
50
  return plugins;
31
51
  };
32
52
 
33
- exports.default = getDocsPlugins;
53
+ var _default = getDocsPlugins;
54
+ exports.default = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getLibraryImactPlugins;
7
+
8
+ var _libraryImpactPlugin = _interopRequireDefault(require("../plugins/libraryImpactPlugin"));
9
+
10
+ var _getDocsPlugins = _interopRequireDefault(require("./getDocsPlugins"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ // import ModuleStatsPlugin from '../plugins/ModuleStatsPlugin';
15
+ function getLibraryImactPlugins(options) {
16
+ let plugins = (0, _getDocsPlugins.default)(false, options, true); // for performance But for furture maintanablity we adding isForLibraryImpact in getDocsPlugin
17
+ // plugins.filter(plugin => !(plugin instanceof ModuleStatsPlugin));
18
+
19
+ plugins.push(new _libraryImpactPlugin.default({
20
+ filename: 'js/libraryImpact.js'
21
+ }));
22
+ return plugins;
23
+ }
@@ -1,21 +1,18 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _caseSensitivePathsWebpackPlugin = require('case-sensitive-paths-webpack-plugin');
8
+ var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin"));
8
9
 
9
- var _caseSensitivePathsWebpackPlugin2 = _interopRequireDefault(_caseSensitivePathsWebpackPlugin);
10
-
11
- var _webpack = require('webpack');
12
-
13
- var _webpack2 = _interopRequireDefault(_webpack);
10
+ var _webpack = _interopRequireDefault(require("webpack"));
14
11
 
15
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
13
 
17
- var getLibraryPlugins = function getLibraryPlugins() {
18
- var plugins = [new _caseSensitivePathsWebpackPlugin2.default(), new _webpack2.default.DefinePlugin({
14
+ let getLibraryPlugins = () => {
15
+ let plugins = [new _caseSensitivePathsWebpackPlugin.default(), new _webpack.default.DefinePlugin({
19
16
  __TEST__: false,
20
17
  __DEVELOPMENT__: false,
21
18
  __DOCS__: false,
@@ -27,4 +24,5 @@ var getLibraryPlugins = function getLibraryPlugins() {
27
24
  return plugins;
28
25
  };
29
26
 
30
- exports.default = getLibraryPlugins;
27
+ var _default = getLibraryPlugins;
28
+ exports.default = _default;