@zohodesk/react-cli 1.1.19-exp.3 → 1.1.19-exp.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. package/bin/cli.js +4 -0
  2. package/lib/babel/cmjs-plugins-presets.js +11 -6
  3. package/lib/babel/es-plugins-presets.js +12 -6
  4. package/lib/configs/webpack.dev.config.js +4 -0
  5. package/lib/configs/webpack.prod.config.js +5 -1
  6. package/lib/loaderUtils/getDevJsLoaders.js +1 -1
  7. package/lib/loaders/workerLoader.js +24 -39
  8. package/lib/pluginUtils/configHtmlWebpackPlugins.js +2 -9
  9. package/lib/pluginUtils/getDevPlugins.js +2 -4
  10. package/lib/pluginUtils/getProdPlugins.js +1 -3
  11. package/lib/schemas/index.js +4 -2
  12. package/npm-shrinkwrap.json +1076 -31
  13. package/package.json +6 -1
  14. package/packages/client_build_tool/lib/allCommandsConfigs.js +0 -23
  15. package/packages/client_build_tool/lib/buildToolLoggers.js +0 -32
  16. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +0 -21
  17. package/packages/client_build_tool/lib/commands/build/config.js +0 -12
  18. package/packages/client_build_tool/lib/commands/build/errorHander.js +0 -10
  19. package/packages/client_build_tool/lib/commands/build/index.js +0 -35
  20. package/packages/client_build_tool/lib/commands/build/optionsProcesser.js +0 -40
  21. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +0 -17
  22. package/packages/client_build_tool/lib/commands/buildEs/config.js +0 -12
  23. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +0 -17
  24. package/packages/client_build_tool/lib/commands/buildLib/config.js +0 -12
  25. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +0 -13
  26. package/packages/client_build_tool/lib/commands/start/config.js +0 -12
  27. package/packages/client_build_tool/lib/commands/start/deprecationHandler.js +0 -10
  28. package/packages/client_build_tool/lib/commands/start/errorHander.js +0 -10
  29. package/packages/client_build_tool/lib/commands/start/optionsProcesser.js +0 -36
  30. package/packages/client_build_tool/lib/commands/start/postProcesser.js +0 -10
  31. package/packages/client_build_tool/lib/commands/start/preProcesser.js +0 -10
  32. package/packages/client_build_tool/lib/commandsRouter.js +0 -71
  33. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +0 -44
  34. package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +0 -31
  35. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +0 -51
  36. package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +0 -21
  37. package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +0 -16
  38. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +0 -111
  39. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCPlugin.js +0 -1
  40. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +0 -11
  41. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +0 -136
  42. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +0 -95
  43. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +0 -25
  44. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +0 -29
  45. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +0 -24
  46. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nDependency.js +0 -99
  47. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +0 -81
  48. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nModule.js +0 -201
  49. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +0 -401
  50. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +0 -67
  51. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +0 -23
  52. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +0 -29
  53. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +0 -49
  54. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +0 -77
  55. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +0 -63
  56. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +0 -19
  57. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +0 -31
  58. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +0 -127
  59. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +0 -1
  60. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +0 -63
  61. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +0 -89
  62. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +0 -34
  63. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +0 -15
  64. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +0 -155
  65. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin.js +0 -49
  66. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/ExcludePlugin.js +0 -58
  67. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_postcss_loaders/RTLSplitPlugin.js +0 -139
  68. package/packages/client_build_tool/lib/shared/bundler/webpack/devServerConfig.js +0 -34
  69. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +0 -30
  70. package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +0 -17
  71. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +0 -14
  72. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +0 -24
  73. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +0 -18
  74. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +0 -21
  75. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +0 -138
  76. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +0 -83
  77. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +0 -23
  78. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +0 -133
  79. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +0 -39
  80. package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +0 -28
  81. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +0 -18
  82. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyThirdpartyFile.js +0 -38
  83. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +0 -24
  84. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +0 -28
  85. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +0 -35
  86. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +0 -16
  87. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +0 -23
  88. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +0 -19
  89. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +0 -27
  90. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +0 -18
  91. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configUglifyCSSPlugin.js +0 -15
  92. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +0 -39
  93. package/packages/client_build_tool/lib/shared/bundler/webpack/postcssPlugins.js +0 -36
  94. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +0 -42
  95. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +0 -12
  96. package/packages/client_build_tool/lib/shared/bundler/webpack/webpack.dev.config.js +0 -17
  97. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +0 -24
  98. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +0 -50
  99. package/packages/client_build_tool/lib/shared/commands-utlis/doBasicRequiermentCheck.js +0 -16
  100. package/packages/client_build_tool/lib/shared/commands-utlis/getCliPath.js +0 -38
  101. package/packages/client_build_tool/lib/shared/commands-utlis/index.js +0 -29
  102. package/packages/client_build_tool/lib/shared/commands-utlis/log.js +0 -13
  103. package/packages/client_build_tool/lib/shared/commands-utlis/readArgsFormCommandLine.js +0 -11
  104. package/packages/client_build_tool/lib/shared/commands-utlis/readOptionFormCommandLine.js +0 -11
  105. package/packages/client_build_tool/lib/shared/commands-utlis/spanSync.js +0 -35
  106. package/packages/client_build_tool/lib/shared/constants.js +0 -33
  107. package/packages/client_build_tool/lib/shared/schemas/applyValuesToShema.js +0 -37
  108. package/packages/client_build_tool/lib/shared/schemas/cliArgsToObject.js +0 -37
  109. package/packages/client_build_tool/lib/shared/schemas/defaultConfigValues.js +0 -119
  110. package/packages/client_build_tool/lib/shared/schemas/deprecatedOptionsHandler.js +0 -65
  111. package/packages/client_build_tool/lib/shared/schemas/getCWD.js +0 -23
  112. package/packages/client_build_tool/lib/shared/schemas/getNpmVersion.js +0 -21
  113. package/packages/client_build_tool/lib/shared/schemas/npmConfigToObject.js +0 -32
  114. package/packages/client_build_tool/lib/shared/schemas/oldDefaultConfigValues.js +0 -480
  115. package/packages/client_build_tool/lib/shared/schemas/readOptions.js +0 -55
  116. package/packages/client_build_tool/lib/shared/schemas/readOptionsForPackageJson.js +0 -26
  117. package/packages/client_build_tool/lib/shared/schemas/readOptionsOld.js +0 -152
  118. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.crt +0 -37
  119. package/packages/client_build_tool/lib/shared/server/cert/Tsicsezwild-22-23.key +0 -27
  120. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +0 -40
  121. package/packages/client_build_tool/lib/shared/server/corsHandleing.js +0 -28
  122. package/packages/client_build_tool/lib/shared/server/getIp.js +0 -30
  123. package/packages/client_build_tool/lib/shared/server/getServerURL.js +0 -29
  124. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +0 -53
  125. package/packages/client_build_tool/lib/shared/server/initExpressApp.js +0 -19
  126. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +0 -66
  127. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +0 -24
  128. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +0 -40
  129. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +0 -26
  130. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +0 -34
  131. package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +0 -41
  132. package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +0 -44
  133. package/packages/client_build_tool/lib/shared/server/unwanted/devServerUtlis.js +0 -1
  134. package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +0 -19
  135. package/packages/client_build_tool/lib/shared/server/unwanted/webpackConfig.js +0 -32
  136. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +0 -48
  137. package/packages/client_build_tool/lib/shared/server/urlConcat.js +0 -25
  138. package/packages/client_build_tool/lib/shared/utils/utils.js +0 -1
  139. package/packages/client_build_tool/node_modules/history/CHANGES.md +0 -395
  140. package/packages/client_build_tool/node_modules/history/DOMUtils.js +0 -3
  141. package/packages/client_build_tool/node_modules/history/ExecutionEnvironment.js +0 -3
  142. package/packages/client_build_tool/node_modules/history/LICENSE +0 -21
  143. package/packages/client_build_tool/node_modules/history/LocationUtils.js +0 -3
  144. package/packages/client_build_tool/node_modules/history/PathUtils.js +0 -3
  145. package/packages/client_build_tool/node_modules/history/README.md +0 -282
  146. package/packages/client_build_tool/node_modules/history/cjs/history.js +0 -933
  147. package/packages/client_build_tool/node_modules/history/cjs/history.min.js +0 -1
  148. package/packages/client_build_tool/node_modules/history/createBrowserHistory.js +0 -3
  149. package/packages/client_build_tool/node_modules/history/createHashHistory.js +0 -3
  150. package/packages/client_build_tool/node_modules/history/createMemoryHistory.js +0 -3
  151. package/packages/client_build_tool/node_modules/history/createTransitionManager.js +0 -3
  152. package/packages/client_build_tool/node_modules/history/es/DOMUtils.js +0 -7
  153. package/packages/client_build_tool/node_modules/history/es/ExecutionEnvironment.js +0 -7
  154. package/packages/client_build_tool/node_modules/history/es/LocationUtils.js +0 -7
  155. package/packages/client_build_tool/node_modules/history/es/PathUtils.js +0 -7
  156. package/packages/client_build_tool/node_modules/history/es/createBrowserHistory.js +0 -7
  157. package/packages/client_build_tool/node_modules/history/es/createHashHistory.js +0 -7
  158. package/packages/client_build_tool/node_modules/history/es/createMemoryHistory.js +0 -7
  159. package/packages/client_build_tool/node_modules/history/es/createTransitionManager.js +0 -7
  160. package/packages/client_build_tool/node_modules/history/es/warnAboutDeprecatedESMImport.js +0 -35
  161. package/packages/client_build_tool/node_modules/history/esm/history.js +0 -904
  162. package/packages/client_build_tool/node_modules/history/index.js +0 -7
  163. package/packages/client_build_tool/node_modules/history/package.json +0 -117
  164. package/packages/client_build_tool/node_modules/history/umd/history.js +0 -1059
  165. package/packages/client_build_tool/node_modules/history/umd/history.min.js +0 -1
  166. package/packages/client_build_tool/node_modules/history/warnAboutDeprecatedCJSRequire.js +0 -35
@@ -1,201 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getI18nModule = getI18nModule;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _constants = require("./constants");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /* eslint-disable no-underscore-dangle */
15
- const i18nModuleCache = new WeakMap();
16
-
17
- function getI18nModule(webpack) {
18
- if (i18nModuleCache.has(webpack)) {
19
- return i18nModuleCache.get(webpack);
20
- }
21
-
22
- class I18nModule extends webpack.Module {
23
- constructor({
24
- context,
25
- identifier,
26
- identifierIndex,
27
- content,
28
- // ## layer,
29
- // ## supports,
30
- // ## media,
31
- // ## sourceMap,
32
- assets,
33
- assetsInfo
34
- }) {
35
- super(_constants.MODULE_TYPE, context);
36
- this.id = '';
37
- this._context = context;
38
- this._identifier = identifier;
39
- this._identifierIndex = identifierIndex;
40
- this.content = content; // ## this.layer = layer;
41
- // ## this.supports = supports;
42
- // ## this.media = media;
43
- // ## this.sourceMap = sourceMap;
44
-
45
- this.assets = assets;
46
- this.assetsInfo = assetsInfo;
47
- this._needBuild = true;
48
- }
49
-
50
- size() {
51
- return this.content.length;
52
- }
53
-
54
- identifier() {
55
- return `i18n|${this._identifier}|${this._identifierIndex}`;
56
- }
57
-
58
- readableIdentifier(requestShortener) {
59
- return `i18n ${requestShortener.shorten(this._identifier)}${this._identifierIndex ? ` (${this._identifierIndex})` : ''}`;
60
- } // eslint-disable-next-line class-methods-use-this
61
-
62
-
63
- getSourceTypes() {
64
- return _constants.TYPES;
65
- } // eslint-disable-next-line class-methods-use-this
66
-
67
-
68
- codeGeneration() {
69
- return _constants.CODE_GENERATION_RESULT;
70
- }
71
-
72
- nameForCondition() {
73
- const resource = this._identifier.split('!').pop();
74
-
75
- const idx = resource.indexOf('?');
76
-
77
- if (idx >= 0) {
78
- return resource.substring(0, idx);
79
- }
80
-
81
- return resource;
82
- }
83
-
84
- updateCacheModule(module) {
85
- if (this.content !== module.content || // ## this.layer !== module.layer ||
86
- // ## this.supports !== module.supports ||
87
- // ## this.media !== module.media ||
88
- // ## this.sourceMap !== module.sourceMap ||
89
- this.assets !== module.assets || this.assetsInfo !== module.assetsInfo) {
90
- this._needBuild = true;
91
- this.content = module.content; // ## this.layer = module.layer;
92
- // ## this.supports = module.supports;
93
- // ## this.media = module.media;
94
- // ## this.sourceMap = module.sourceMap;
95
-
96
- this.assets = module.assets;
97
- this.assetsInfo = module.assetsInfo;
98
- }
99
- }
100
-
101
- needRebuild() {
102
- return this._needBuild;
103
- }
104
-
105
- needBuild(context, callback) {
106
- callback(undefined, this._needBuild);
107
- }
108
-
109
- build(options, compilation, resolver, fileSystem, callback) {
110
- this.buildInfo = {
111
- assets: this.assets,
112
- assetsInfo: this.assetsInfo,
113
- cacheable: true,
114
- hash: this._computeHash(compilation.outputOptions.hashFunction)
115
- };
116
- this.buildMeta = {};
117
- this._needBuild = false;
118
- callback();
119
- }
120
-
121
- _computeHash(hashFunction) {
122
- const hash = webpack.util.createHash(hashFunction);
123
- hash.update(this.content); // ## if (this.layer) {
124
- // ## hash.update(this.layer);
125
- // ## }
126
- // ## hash.update(this.supports || '');
127
- // ## hash.update(this.media || '');
128
- // ## hash.update(this.sourceMap || '');
129
-
130
- return hash.digest('hex');
131
- }
132
-
133
- updateHash(hash, context) {
134
- super.updateHash(hash, context);
135
- hash.update(this.buildInfo.hash);
136
- }
137
-
138
- serialize(context) {
139
- const {
140
- write
141
- } = context;
142
- write(this._context);
143
- write(this._identifier);
144
- write(this._identifierIndex);
145
- write(this.content); // ## write(this.layer);
146
- // ## write(this.supports);
147
- // ## write(this.media);
148
- // ## write(this.sourceMap);
149
-
150
- write(this.assets);
151
- write(this.assetsInfo);
152
- write(this._needBuild);
153
- super.serialize(context);
154
- }
155
-
156
- deserialize(context) {
157
- this._needBuild = context.read();
158
- super.deserialize(context);
159
- }
160
-
161
- }
162
-
163
- i18nModuleCache.set(webpack, I18nModule);
164
- webpack.util.serialization.register(I18nModule, _path.default.resolve(__dirname, 'I18nModule-new'), null, {
165
- serialize(instance, context) {
166
- instance.serialize(context);
167
- },
168
-
169
- deserialize(context) {
170
- const {
171
- read
172
- } = context;
173
- const contextModule = read();
174
- const identifier = read();
175
- const identifierIndex = read();
176
- const content = read(); // ## const layer = read();
177
- // ## const supports = read();
178
- // ## const media = read();
179
- // ## const sourceMap = read();
180
-
181
- const assets = read();
182
- const assetsInfo = read();
183
- const dep = new I18nModule({
184
- context: contextModule,
185
- identifier,
186
- identifierIndex,
187
- content,
188
- // ## layer,
189
- // ## supports,
190
- // ## media,
191
- // ## sourceMap,
192
- assets,
193
- assetsInfo
194
- });
195
- dep.deserialize(context);
196
- return dep;
197
- }
198
-
199
- });
200
- return I18nModule;
201
- }
@@ -1,401 +0,0 @@
1
- "use strict";
2
-
3
- var _webpack = require("webpack");
4
-
5
- var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
6
-
7
- var _constants = require("./constants");
8
-
9
- var _I18nKeysIdentifer = _interopRequireDefault(require("./I18nKeysIdentifer"));
10
-
11
- var _getI18nModule = require("./getI18nModule");
12
-
13
- var _getI18nDependency = require("./getI18nDependency");
14
-
15
- var _optionsHandler = require("./optionsHandler");
16
-
17
- var _getI18nLoadingRuntimeModule = require("./getI18nLoadingRuntimeModule");
18
-
19
- var _createHash = require("./createHash");
20
-
21
- var _pathCreator = require("./pathCreator");
22
-
23
- var _templateFileName = require("./templateFileName");
24
-
25
- var _hashUtils = require("./utils/hashUtils");
26
-
27
- var _propertiesUtils = require("./utils/propertiesUtils");
28
-
29
- var _urlConcat = require("../../../../server/urlConcat");
30
-
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
- /* eslint-disable no-restricted-syntax */
34
-
35
- /* eslint-disable no-nested-ternary */
36
- // import getI18nKeysFormModules from './utils/getI18nKeysFormModules';
37
- const pluginName = 'mini-i18n-extract-plugin';
38
- const pluginSymbol = Symbol(pluginName);
39
-
40
- function getChunkModules(chunk, chunkGraph) {
41
- return typeof chunkGraph !== 'undefined' ? chunkGraph.getChunkModules(chunk) : chunk.modulesIterable;
42
- }
43
-
44
- class I18nExtractPlugin {
45
- constructor(options = {}) {
46
- // initialize options
47
- this.options = (0, _optionsHandler.optionsHandler)(options);
48
- }
49
-
50
- getI18nKeysForChunk(chunk, chunkGraph) {
51
- const {
52
- modulesI18nKeysMap
53
- } = this.i18nKeysIdentifer;
54
- const i18nKeysMap = {};
55
-
56
- for (const mod of getChunkModules(chunk, chunkGraph)) {
57
- const keys = modulesI18nKeysMap[mod.resource];
58
-
59
- if (keys) {
60
- for (const key of keys) {
61
- i18nKeysMap[key] = 1;
62
- }
63
- }
64
- }
65
-
66
- return Object.keys(i18nKeysMap);
67
- }
68
-
69
- getI18nContentForkeys(i18nKeys, locale) {
70
- const {
71
- allI18nObject
72
- } = this.options;
73
- const data = {};
74
-
75
- for (const key of i18nKeys) {
76
- data[key] = allI18nObject[locale][key];
77
- }
78
-
79
- return data;
80
- }
81
-
82
- getI18nChunkFileContent(i18nKeys, loc) {
83
- const {
84
- jsonpFunc
85
- } = this.options;
86
- const data = this.getI18nContentForkeys(i18nKeys, loc);
87
- return `${jsonpFunc}(${(0, _propertiesUtils.jsonToString)(data)})`;
88
- }
89
-
90
- filterI18nUsedChunks(chunks) {
91
- const {
92
- localeChunkAssestMap
93
- } = this;
94
- return Array.from(chunks).filter(c => localeChunkAssestMap[c.id]);
95
- }
96
-
97
- getContentHashes(locale) {
98
- const {
99
- localeChunkAssestMap
100
- } = this;
101
- const contentHashes = {};
102
- Object.keys(localeChunkAssestMap).forEach(chunkId => {
103
- if (localeChunkAssestMap[chunkId] && localeChunkAssestMap[chunkId][locale] && localeChunkAssestMap[chunkId][locale].contentHash) {
104
- contentHashes[chunkId] = localeChunkAssestMap[chunkId][locale].contentHash;
105
- } // console.log(localeChunkAssestMap[chunkId][locale]);
106
-
107
- }); // console.log({ contentHashes });
108
-
109
- return contentHashes;
110
- }
111
-
112
- apply(compiler) {
113
- const {
114
- webpack
115
- } = compiler;
116
- this.addToDefaultTypes(compiler);
117
- const I18nModule = (0, _getI18nModule.getI18nModule)(webpack);
118
- const I18nDependency = (0, _getI18nDependency.getI18nDependency)(webpack); // initialize base data's and plugis
119
-
120
- this.i18nKeysIdentifer = new _I18nKeysIdentifer.default(this.options, {
121
- I18nModule,
122
- I18nDependency
123
- });
124
- this.i18nKeysIdentifer.apply(compiler);
125
- compiler.hooks.thisCompilation.tap(pluginName, compilation => {
126
- this.localeChunkAssestMap = {};
127
- compilation.hooks.beforeHash.tap(pluginName, () => {
128
- const {
129
- locales
130
- } = this.options;
131
- const {
132
- chunks
133
- } = compilation;
134
- this.localeChunkAssestMap = {};
135
- const {
136
- localeChunkAssestMap
137
- } = this;
138
-
139
- for (const chunk of chunks) {
140
- const {
141
- chunkGraph
142
- } = compilation;
143
- const i18nKeys = this.getI18nKeysForChunk(chunk, chunkGraph);
144
-
145
- if (i18nKeys.length) {
146
- localeChunkAssestMap[chunk.id] = {};
147
-
148
- for (const loc of locales) {
149
- const content = this.getI18nChunkFileContent(i18nKeys, loc);
150
- localeChunkAssestMap[chunk.id][loc] = {
151
- content
152
- };
153
- }
154
- }
155
- }
156
- });
157
- compilation.hooks.chunkHash.tap(pluginName, (chunk, hash) => {
158
- const {
159
- localeChunkAssestMap
160
- } = this;
161
- const {
162
- locales
163
- } = this.options;
164
-
165
- if (localeChunkAssestMap[chunk.id]) {
166
- for (const loc of locales) {
167
- const {
168
- content
169
- } = localeChunkAssestMap[chunk.id][loc];
170
- hash.update(content);
171
- }
172
- }
173
- });
174
-
175
- function createFilenameWithHash({
176
- fileNameTemplate,
177
- chunk,
178
- locale,
179
- content
180
- }) {
181
- const fileName = fileNameTemplate.replaceAll('[locale]', locale);
182
- const contentHash = (0, _createHash.createHash)({
183
- compiler,
184
- outputOptions: compilation.outputOptions,
185
- content
186
- });
187
- const filename = (0, _pathCreator.pathCreator)(fileName, compilation, {
188
- hash: compilation.hash,
189
- chunkId: chunk.id,
190
- chunkHash: chunk.hash,
191
- contentHash
192
- });
193
- return {
194
- contentHash,
195
- filename
196
- };
197
- }
198
-
199
- compilation.hooks.contentHash.tap(pluginName, chunk => {
200
- const {
201
- RawSource
202
- } = webpack.sources;
203
- const {
204
- locales,
205
- chunkFilename,
206
- filename
207
- } = this.options;
208
- const fileNameTemplate = chunk.canBeInitial() ? filename : chunkFilename; // const { chunks } = compilation;
209
-
210
- const {
211
- localeChunkAssestMap
212
- } = this; // function filterI18nUsedChunks(chunks) {
213
- // return Array.from(chunks).filter(c => localeChunkAssestMap[c.id]);
214
- // }
215
- // for (const chunk of chunks) {
216
-
217
- if (localeChunkAssestMap[chunk.id]) {
218
- for (const locale of locales) {
219
- const localObject = localeChunkAssestMap[chunk.id][locale];
220
- const {
221
- content
222
- } = localObject;
223
- const {
224
- contentHash,
225
- filename
226
- } = createFilenameWithHash({
227
- fileNameTemplate,
228
- chunk,
229
- locale,
230
- content
231
- });
232
- localObject.contentHash = contentHash;
233
- localObject.filename = filename;
234
- compilation.emitAsset(filename, new RawSource(content));
235
- }
236
- }
237
- });
238
-
239
- if (!this.options.runtime) {
240
- return;
241
- }
242
-
243
- this.createI18nDownloadCodeInRuntimeFile(webpack, compilation, compiler); // ## compilation.hooks.runtimeRequirementInTree
244
- // ## .for(RuntimeGlobals.hmrDownloadUpdateHandlers)
245
- // ## .tap(pluginName, handler);
246
-
247
- _htmlWebpackPlugin.default.getHooks(compilation).beforeAssetTagGeneration.tap(pluginName, hookOptions => {
248
- const {
249
- assets
250
- } = hookOptions;
251
- const {
252
- templateLabel,
253
- filename,
254
- publicPath = ''
255
- } = this.options;
256
- const dummyContent = '// dummy comment';
257
- const initialChunks = compilation.chunks.filter(c => c.canBeInitial() && c.id !== c.runtime);
258
- const initialI18nAssets = initialChunks.map(c => {
259
- const data = createFilenameWithHash({
260
- fileNameTemplate: filename,
261
- chunk: c,
262
- locale: templateLabel,
263
- content: dummyContent
264
- });
265
- return (0, _urlConcat.urlConcat)(publicPath, data.filename);
266
- });
267
- const allJSAssets = [...initialI18nAssets, ...assets.js].map(url => url.replaceAll('[locale]', templateLabel).replaceAll('%5Blocale%5D', templateLabel));
268
- console.log('HtmlWebpackPluginallJSAssets', {
269
- assets,
270
- filename,
271
- allJSAssets
272
- });
273
- return {
274
- assets: { ...assets,
275
- js: allJSAssets
276
- }
277
- };
278
- });
279
- });
280
- }
281
-
282
- createI18nDownloadCodeInRuntimeFile(webpack, compilation, compiler) {
283
- const {
284
- RuntimeGlobals
285
- } = webpack;
286
- const {
287
- RawSource
288
- } = webpack.sources;
289
- const {
290
- chunkFilename,
291
- locales
292
- } = this.options;
293
- const chunkFilenameHasContentHash = (0, _hashUtils.hasContentHash)(chunkFilename);
294
-
295
- const getI18nChunks = mainChunk => this.filterI18nUsedChunks(mainChunk.getAllAsyncChunks());
296
-
297
- const I18nLoadingRuntimeModule = (0, _getI18nLoadingRuntimeModule.getI18nLoadingRuntimeModule)({
298
- getI18nChunks,
299
- webpack
300
- });
301
- const enabledChunks = new WeakSet();
302
-
303
- const chunkFilenameUrlgenerator = (i18nChunks, locale) => (0, _templateFileName.templateFileName)({
304
- compiler,
305
- compilation,
306
- locale,
307
- dynamicFilename: chunkFilename,
308
- contentHashes: this.getContentHashes(locale),
309
- chunks: i18nChunks
310
- });
311
-
312
- const prefixFunc = () => _constants.I18N_CHUNK_NAME_GENERATION_SEGMENT;
313
-
314
- const handler = (entryRuntimeChunk, set) => {
315
- if (enabledChunks.has(entryRuntimeChunk)) {
316
- return;
317
- }
318
-
319
- enabledChunks.add(entryRuntimeChunk);
320
- const {
321
- chunkFilename,
322
- // filename: initialFilename,
323
- runtimeOptions
324
- } = this.options;
325
-
326
- if (typeof chunkFilename === 'string' && /\[(full)?hash(:\d+)?\]/.test(chunkFilename)) {
327
- set.add(RuntimeGlobals.getFullHash);
328
- }
329
-
330
- set.add(RuntimeGlobals.publicPath);
331
- compilation.addRuntimeModule(entryRuntimeChunk, new I18nLoadingRuntimeModule(set, {
332
- prefixFunc: chunkFilenameHasContentHash ? prefixFunc : chunkFilenameUrlgenerator,
333
- compiler,
334
- runtimeOptions,
335
- chunkFilename
336
- }));
337
- };
338
-
339
- compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.ensureChunkHandlers).tap(pluginName, handler);
340
-
341
- if (chunkFilenameHasContentHash) {
342
- compilation.hooks.processAssets.tap({
343
- name: pluginName,
344
- stage: _webpack.Compilation.PROCESS_ASSETS_STAGE_DERIVED // additionalAssets: true
345
-
346
- }, assets => {
347
- // eslint-disable-next-line no-underscore-dangle
348
- const entries = compilation._getChunkGraphEntries();
349
-
350
- function createRuntimeFilePerLocale({
351
- locale,
352
- runtimeFileName,
353
- runtimeFileSourceStr,
354
- i18nChunks
355
- }) {
356
- const newRuntimeName = runtimeFileName.replaceAll('[locale]', locale);
357
- const replaceText = chunkFilenameUrlgenerator(i18nChunks, locale);
358
- const replacedStr = runtimeFileSourceStr.replace(_constants.I18N_CHUNK_NAME_GENERATION_SEGMENT, replaceText);
359
- compilation.emitAsset(newRuntimeName, new RawSource(replacedStr));
360
- }
361
-
362
- for (const entryChunk of entries) {
363
- const i18nChunks = getI18nChunks(entryChunk);
364
- const runtimeFileName = entryChunk.files[0];
365
- const runtimeFileSourceStr = assets[runtimeFileName].source();
366
- locales.forEach(locale => createRuntimeFilePerLocale({
367
- locale,
368
- entryChunk,
369
- runtimeFileName,
370
- runtimeFileSourceStr,
371
- i18nChunks
372
- })); // NOTE: we don't delete, Because of HTML plugin needs to add runtime file in html
373
- // compilation.deleteAsset(runtimeFileName);
374
- }
375
- });
376
- }
377
- } // eslint-disable-next-line class-methods-use-this
378
-
379
-
380
- addToDefaultTypes(compiler) {
381
- const {
382
- splitChunks
383
- } = compiler.options.optimization;
384
-
385
- if (splitChunks) {
386
- if (splitChunks.defaultSizeTypes.includes('...')) {
387
- splitChunks.defaultSizeTypes.push(_constants.MODULE_TYPE);
388
- }
389
- }
390
- }
391
-
392
- }
393
-
394
- I18nExtractPlugin.pluginName = pluginName;
395
- I18nExtractPlugin.pluginSymbol = pluginSymbol; // I18nExtractPlugin.loader = require.resolve('./loader');
396
-
397
- module.exports = I18nExtractPlugin;
398
- /**
399
- * TODO:
400
- * move `localeChunkAssestMap` as separate module or file or class
401
- */
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.optionsHandler = optionsHandler;
7
-
8
- var _constants = require("./constants");
9
-
10
- var _readI18nValues = require("./readI18nValues");
11
-
12
- /* eslint-disable no-use-before-define */
13
- function optionsHandler(options) {
14
- const {
15
- disableDefault,
16
- jsResource,
17
- propertiesFolder
18
- } = options;
19
- const {
20
- jsResourceI18nKeys,
21
- allI18nObject,
22
- locales
23
- } = (0, _readI18nValues.readI18nValues)({
24
- jsResource,
25
- propertiesFolder,
26
- disableDefault
27
- });
28
- return {
29
- filename: options.filename || _constants.DEFAULT_FILENAME,
30
- chunkFilename: options.chunkFilename || chunkNameDecider(options.filename),
31
- templateLabel: options.templateLabel,
32
- publicPath: options.publicPath,
33
- disableDefault: options.disableDefault,
34
- i18nManifestFileName: options.i18nManifestFileName,
35
- jsonpFunc: options.jsonpFunc,
36
- localeVarName: options.localeVarName,
37
- jsResource: options.jsResource,
38
- propertiesFolder: options.propertiesFolder,
39
- jsResourceI18nKeys,
40
- allI18nObject,
41
- locales,
42
- // template: (object, locale) => `window.loadI18n(${JSON.stringify(object)}, ${JSON.stringify(locale)})`,
43
- runtime: true,
44
- runtimeOptions: {
45
- insert: options.insert,
46
- scriptType: typeof options.scriptType === 'boolean' && options.scriptType === true || typeof options.scriptType === 'undefined' ? 'text/javascript' : options.scriptType,
47
- attributes: options.attributes
48
- }
49
- };
50
- }
51
-
52
- function chunkNameDecider(filename) {
53
- if (typeof filename !== 'function') {
54
- const hasName = filename.includes('[name]');
55
- const hasId = filename.includes('[id]');
56
- const hasChunkHash = filename.includes('[chunkhash]');
57
- const hasContentHash = filename.includes('[contenthash]');
58
-
59
- if (hasChunkHash || hasContentHash || hasName || hasId) {
60
- return filename;
61
- }
62
-
63
- return filename.replace(/(^|\/)([^/]*(?:\?|$))/, '$1[id].$2');
64
- }
65
-
66
- return _constants.DEFAULT_CHUNK_FILENAME;
67
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.pathCreator = pathCreator;
7
-
8
- var _constants = require("./constants");
9
-
10
- function pathCreator(filenameTemplate, compilation, data) {
11
- return compilation.getAssetPath(filenameTemplate.replace(/\[locale\]/gi, data.locale), {
12
- hash: data.hash,
13
- chunk: {
14
- id: data.chunkId,
15
- hash: data.chunkHash,
16
- contentHash: {
17
- [_constants.MODULE_TYPE]: data.contentHash
18
- },
19
- name: data.chunkName
20
- },
21
- contentHashType: _constants.MODULE_TYPE
22
- });
23
- }