@shijiu/jsview 2.1.362-test.0 → 2.1.364-test.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shijiu/jsview",
3
- "version": "2.1.362-test.0",
3
+ "version": "2.1.364-test.0",
4
4
  "bin": {
5
5
  "jsview-post-build": "./tools/jsview-post-build.js",
6
6
  "jsview-post-install": "./tools/jsview-post-install.js"
@@ -21,7 +21,11 @@ async function main(argv)
21
21
  const filter = argv.filter ?? '^jsview-';
22
22
  const regex = new RegExp(filter);
23
23
 
24
- execCommand('JSVIEW_KEEP_CHUNKNAME=true npm run build');
24
+ var exportPrefix = 'export';
25
+ if(process.platform == 'win32') {
26
+ exportPrefix = 'set'
27
+ }
28
+ execCommand(exportPrefix + ' JSVIEW_KEEP_CHUNKNAME=true && npm run build');
25
29
 
26
30
  const srcmapFileNames = fs.readdirSync(options.distDebugMapDir);
27
31
  const needlessFileNames = srcmapFileNames.filter(it => !it.match(regex));
@@ -444,7 +444,7 @@ function unzipFile(zipFilePath, toDir, workDir)
444
444
  }
445
445
  Logger.Info('Unzipping ' + zipFilePath + ' => ' + relativePath);
446
446
 
447
- const cmdline = 'npx extract-zip ' + zipFilePath + ' ' + toDir;
447
+ const cmdline = 'npx -y extract-zip ' + zipFilePath + ' ' + toDir;
448
448
  execCommand(cmdline);
449
449
  }
450
450
 
@@ -137,7 +137,7 @@ function getChunkFileName(chunkInfo) {
137
137
  if(chunkInfo.name == '__federation_expose_JsViewLoader') {
138
138
  return 'js/JsViewLoader.js'
139
139
  }
140
- return 'js/chunk.jsv.[hash].js'
140
+ return (process.env['JSVIEW_KEEP_CHUNKNAME'] ? 'js/[name].[hash].js' : 'js/chunk.jsv.[hash].js')
141
141
  }`;
142
142
  }
143
143
  }
@@ -150,36 +150,37 @@ function genFederationConfigFunction(options)
150
150
  var content = '';
151
151
  if(options.mode == 'remote') {
152
152
  content += `
153
- function setFederationRemoteConfig(config) {`;
153
+ function setFederationRemoteConfig(config, federation) {`;
154
154
  } else if(options.mode == 'host') {
155
155
  content += `
156
- function setFederationHostConfig(config) {`;
156
+ function setFederationHostConfig(config, federation) {`;
157
157
  }
158
158
 
159
- if(options.mode == 'remote') {
160
- if(options.jsviewMode == 'expose') {
161
- content += `
159
+ content += `
162
160
  config.build = (config.build || {})
163
161
  config.build.rollupOptions = (config.build.rollupOptions || {})
164
162
  config.build.rollupOptions.output = (config.build.rollupOptions.output || {})
165
163
  config.build.rollupOptions.output.manualChunks = (config.build.rollupOptions.output.manualChunks || {})
166
-
167
- config.build.rollupOptions.output.chunkFileNames = getChunkFileName
168
164
  config.build.rollupOptions.output.manualChunks["__federation_fn_import"] = ["__federation_fn_import"]`;
165
+
166
+ if(options.mode == 'remote') {
167
+ if(options.jsviewMode == 'expose') {
168
+ content += `
169
+ config.build.rollupOptions.output.chunkFileNames = getChunkFileName`;
169
170
  }
170
171
  }
171
172
 
172
173
  content += '\n'
173
174
  if(options.mode == 'remote') {
174
175
  content += `
175
- const config = getRemoteConfig()`;
176
+ const federationConfig = getRemoteConfig()`;
176
177
  } else if(options.mode == 'host') {
177
178
  content += `
178
- const config = getHostConfig()`;
179
+ const federationConfig = getHostConfig()`;
179
180
  }
180
181
 
181
182
  content += `
182
- config.plugins.push(federation(config))
183
+ config.plugins.push(federation(federationConfig))
183
184
 
184
185
  }`;
185
186
 
@@ -204,7 +205,7 @@ import federation from '@originjs/vite-plugin-federation'`;
204
205
 
205
206
  federationConfigContent += `
206
207
  export {
207
- setFederationHostConfig,
208
+ setFederationRemoteConfig,
208
209
  }`;
209
210
 
210
211
  fs.writeFileSync(path.resolve(options.projectDir, federationConfigName),
@@ -217,8 +218,7 @@ function createFederationHostConfigFile(options)
217
218
  const federationConfigName = 'federation.host.config.ts';
218
219
  Logger.Info('Creating ' + federationConfigName + ' ...');
219
220
 
220
- var federationConfigContent = `
221
- import federation from '@originjs/vite-plugin-federation'`;
221
+ var federationConfigContent = '';
222
222
 
223
223
  federationConfigContent += '\n';
224
224
  federationConfigContent += genFederationUrl(options);
@@ -256,6 +256,7 @@ async function updateViteConfigFile(options)
256
256
  viteConfigContent = viteConfigContent.replace(regex, 'const viteConfig = ');
257
257
 
258
258
  // 开头添加
259
+ viteConfigContent = "import federation from '@originjs/vite-plugin-federation'\n" + viteConfigContent;
259
260
  if(options.mode == 'remote') {
260
261
  viteConfigContent = "import { setFederationRemoteConfig } from './federation.remote.config'\n" + viteConfigContent;
261
262
  } else if(options.mode == 'host') {
@@ -265,9 +266,9 @@ async function updateViteConfigFile(options)
265
266
  // 末尾添加
266
267
  viteConfigContent += '\n';
267
268
  if(options.mode == 'remote') {
268
- viteConfigContent += 'setFederationRemoteConfig(viteConfig)\n';
269
+ viteConfigContent += 'setFederationRemoteConfig(viteConfig, federation)\n';
269
270
  } else if(options.mode == 'host') {
270
- viteConfigContent += 'setFederationHostConfig(viteConfig)\n';
271
+ viteConfigContent += 'setFederationHostConfig(viteConfig, federation)\n';
271
272
  }
272
273
  viteConfigContent += '\n';
273
274
  viteConfigContent += 'export default defineConfig(viteConfig)\n';
@@ -295,6 +296,24 @@ function updateJsviewConfigFile(options)
295
296
  }
296
297
  }
297
298
 
299
+ function updateTsConfigFile(options)
300
+ {
301
+ const tsConfigName = 'tsconfig.json';
302
+ Logger.Info('Updating ' + tsConfigName + ' ...');
303
+
304
+ if(options.mode == 'host') {
305
+ if(options.jsviewMode == 'expose') {
306
+ const tsConfigPath = path.resolve(options.projectDir, tsConfigName);
307
+ var tsConfigContent = fs.readFileSync(tsConfigPath, 'utf-8');
308
+ const regex = /RemoteEntry/;
309
+ if(regex.test(tsConfigContent) == false) {
310
+ tsConfigContent = tsConfigContent.replace(/"jsview"/, '"RemoteEntry/JsViewVue": [ "./node_modules/@shijiu/jsview-vue" ],\n $&');
311
+ }
312
+ fs.writeFileSync(tsConfigPath, tsConfigContent, 'utf-8');
313
+ }
314
+ }
315
+ }
316
+
298
317
  function updateToFederationRemote(options)
299
318
  {
300
319
  createFederationRemoteConfigFile(options);
@@ -309,6 +328,8 @@ function updateToFederationHost(options)
309
328
  updateViteConfigFile(options);
310
329
 
311
330
  updateJsviewConfigFile(options);
331
+
332
+ updateTsConfigFile(options);
312
333
  }
313
334
 
314
335
 
@@ -346,8 +367,8 @@ async function main(argv)
346
367
  }
347
368
  Logger.Info('Success to update project to module federation.');
348
369
  Logger.Info('Module federation info:');
349
- Logger.Info(' mode: ' + options.mode);
350
- Logger.Info(' jsview: ' + options.jsviewMode);
370
+ Logger.Info(' Mode: ' + options.mode);
371
+ Logger.Info(' JsView: ' + options.jsviewMode);
351
372
  if(options.mode == 'host') {
352
373
  Logger.Info(' remote entry url: ' + options.remoteDomain + '/js/remoteEntry.js');
353
374
  }