@module-federation/vite 1.2.7 → 1.4.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/lib/index.cjs CHANGED
@@ -448,7 +448,8 @@ function normalizeModuleFederationOptions(options) {
448
448
  dev: options.dev,
449
449
  dts: options.dts,
450
450
  getPublicPath: options.getPublicPath,
451
- shareStrategy: options.shareStrategy || 'version-first'
451
+ shareStrategy: options.shareStrategy || 'version-first',
452
+ ignoreOrigin: options.ignoreOrigin || false
452
453
  };
453
454
  }
454
455
 
@@ -771,11 +772,12 @@ var Manifest = function Manifest() {
771
772
  },
772
773
  configureServer: function configureServer(server) {
773
774
  server.middlewares.use(function (req, res, next) {
775
+ var _req$url;
774
776
  if (!mfManifestName) {
775
777
  next();
776
778
  return;
777
779
  }
778
- if (req.url === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
780
+ if (((_req$url = req.url) == null ? void 0 : _req$url.replace(/\?.*/, '')) === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
779
781
  res.setHeader('Content-Type', 'application/json');
780
782
  res.setHeader('Access-Control-Allow-Origin', '*');
781
783
  res.end(JSON.stringify(_extends({}, generateMFManifest({}), {
@@ -1153,7 +1155,7 @@ function pluginProxyRemoteEntry () {
1153
1155
  if (_command === 'serve') {
1154
1156
  var _viteConfig$server, _viteConfig$server2;
1155
1157
  var host = typeof ((_viteConfig$server = viteConfig.server) == null ? void 0 : _viteConfig$server.host) === 'string' && viteConfig.server.host !== '0.0.0.0' ? viteConfig.server.host : 'localhost';
1156
- return Promise.resolve("\n const origin = window ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1158
+ return Promise.resolve("\n const origin = (window && " + !options.ignoreOrigin + ") ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1157
1159
  }
1158
1160
  return Promise.resolve(code);
1159
1161
  }
package/lib/index.esm.js CHANGED
@@ -424,7 +424,8 @@ function normalizeModuleFederationOptions(options) {
424
424
  dev: options.dev,
425
425
  dts: options.dts,
426
426
  getPublicPath: options.getPublicPath,
427
- shareStrategy: options.shareStrategy || 'version-first'
427
+ shareStrategy: options.shareStrategy || 'version-first',
428
+ ignoreOrigin: options.ignoreOrigin || false
428
429
  };
429
430
  }
430
431
 
@@ -747,11 +748,12 @@ var Manifest = function Manifest() {
747
748
  },
748
749
  configureServer: function configureServer(server) {
749
750
  server.middlewares.use(function (req, res, next) {
751
+ var _req$url;
750
752
  if (!mfManifestName) {
751
753
  next();
752
754
  return;
753
755
  }
754
- if (req.url === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
756
+ if (((_req$url = req.url) == null ? void 0 : _req$url.replace(/\?.*/, '')) === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
755
757
  res.setHeader('Content-Type', 'application/json');
756
758
  res.setHeader('Access-Control-Allow-Origin', '*');
757
759
  res.end(JSON.stringify(_extends({}, generateMFManifest({}), {
@@ -1129,7 +1131,7 @@ function pluginProxyRemoteEntry () {
1129
1131
  if (_command === 'serve') {
1130
1132
  var _viteConfig$server, _viteConfig$server2;
1131
1133
  var host = typeof ((_viteConfig$server = viteConfig.server) == null ? void 0 : _viteConfig$server.host) === 'string' && viteConfig.server.host !== '0.0.0.0' ? viteConfig.server.host : 'localhost';
1132
- return Promise.resolve("\n const origin = window ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1134
+ return Promise.resolve("\n const origin = (window && " + !options.ignoreOrigin + ") ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1133
1135
  }
1134
1136
  return Promise.resolve(code);
1135
1137
  }
@@ -394,7 +394,8 @@ function normalizeModuleFederationOptions(options) {
394
394
  dev: options.dev,
395
395
  dts: options.dts,
396
396
  getPublicPath: options.getPublicPath,
397
- shareStrategy: options.shareStrategy || 'version-first'
397
+ shareStrategy: options.shareStrategy || 'version-first',
398
+ ignoreOrigin: options.ignoreOrigin || false
398
399
  };
399
400
  }
400
401
 
@@ -849,11 +850,12 @@ const Manifest = () => {
849
850
  },
850
851
  configureServer(server) {
851
852
  server.middlewares.use((req, res, next) => {
853
+ var _req$url;
852
854
  if (!mfManifestName) {
853
855
  next();
854
856
  return;
855
857
  }
856
- if (req.url === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
858
+ if (((_req$url = req.url) == null ? void 0 : _req$url.replace(/\?.*/, '')) === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
857
859
  res.setHeader('Content-Type', 'application/json');
858
860
  res.setHeader('Access-Control-Allow-Origin', '*');
859
861
  res.end(JSON.stringify(_extends({}, generateMFManifest({}), {
@@ -1201,7 +1203,7 @@ function pluginProxyRemoteEntry () {
1201
1203
  var _viteConfig$server, _viteConfig$server2;
1202
1204
  const host = typeof ((_viteConfig$server = viteConfig.server) == null ? void 0 : _viteConfig$server.host) === 'string' && viteConfig.server.host !== '0.0.0.0' ? viteConfig.server.host : 'localhost';
1203
1205
  return `
1204
- const origin = window ? window.origin : "//${host}:${(_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port}"
1206
+ const origin = (window && ${!options.ignoreOrigin}) ? window.origin : "//${host}:${(_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port}"
1205
1207
  const remoteEntryPromise = await import(origin + "${viteConfig.base + options.filename}")
1206
1208
  // __tla only serves as a hack for vite-plugin-top-level-await.
1207
1209
  Promise.resolve(remoteEntryPromise)
package/lib/index.umd.js CHANGED
@@ -446,7 +446,8 @@
446
446
  dev: options.dev,
447
447
  dts: options.dts,
448
448
  getPublicPath: options.getPublicPath,
449
- shareStrategy: options.shareStrategy || 'version-first'
449
+ shareStrategy: options.shareStrategy || 'version-first',
450
+ ignoreOrigin: options.ignoreOrigin || false
450
451
  };
451
452
  }
452
453
 
@@ -769,11 +770,12 @@
769
770
  },
770
771
  configureServer: function configureServer(server) {
771
772
  server.middlewares.use(function (req, res, next) {
773
+ var _req$url;
772
774
  if (!mfManifestName) {
773
775
  next();
774
776
  return;
775
777
  }
776
- if (req.url === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
778
+ if (((_req$url = req.url) == null ? void 0 : _req$url.replace(/\?.*/, '')) === (viteConfig.base + mfManifestName).replace(/^\/?/, '/')) {
777
779
  res.setHeader('Content-Type', 'application/json');
778
780
  res.setHeader('Access-Control-Allow-Origin', '*');
779
781
  res.end(JSON.stringify(_extends({}, generateMFManifest({}), {
@@ -1151,7 +1153,7 @@
1151
1153
  if (_command === 'serve') {
1152
1154
  var _viteConfig$server, _viteConfig$server2;
1153
1155
  var host = typeof ((_viteConfig$server = viteConfig.server) == null ? void 0 : _viteConfig$server.host) === 'string' && viteConfig.server.host !== '0.0.0.0' ? viteConfig.server.host : 'localhost';
1154
- return Promise.resolve("\n const origin = window ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1156
+ return Promise.resolve("\n const origin = (window && " + !options.ignoreOrigin + ") ? window.origin : \"//" + host + ":" + ((_viteConfig$server2 = viteConfig.server) == null ? void 0 : _viteConfig$server2.port) + "\"\n const remoteEntryPromise = await import(origin + \"" + (viteConfig.base + options.filename) + "\")\n // __tla only serves as a hack for vite-plugin-top-level-await. \n Promise.resolve(remoteEntryPromise)\n .then(remoteEntry => {\n return Promise.resolve(remoteEntry.__tla)\n .then(remoteEntry.init).catch(remoteEntry.init)\n })\n ");
1155
1157
  }
1156
1158
  return Promise.resolve(code);
1157
1159
  }
@@ -51,6 +51,7 @@ export type ModuleFederationOptions = {
51
51
  dev?: boolean | PluginDevOptions;
52
52
  dts?: boolean | PluginDtsOptions;
53
53
  shareStrategy?: ShareStrategy;
54
+ ignoreOrigin?: boolean;
54
55
  };
55
56
  export interface NormalizedModuleFederationOptions {
56
57
  exposes: Record<string, ExposesItem>;
@@ -68,6 +69,7 @@ export interface NormalizedModuleFederationOptions {
68
69
  dts?: boolean | PluginDtsOptions;
69
70
  shareStrategy: ShareStrategy;
70
71
  getPublicPath?: string;
72
+ ignoreOrigin?: boolean;
71
73
  }
72
74
  interface PluginDevOptions {
73
75
  disableLiveReload?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/vite",
3
- "version": "1.2.7",
3
+ "version": "1.4.0",
4
4
  "description": "Vite plugin for Module Federation",
5
5
  "type": "module",
6
6
  "source": "src/index.ts",
@@ -9,6 +9,22 @@
9
9
  "files": [
10
10
  "lib/**/*"
11
11
  ],
12
+ "scripts": {
13
+ "prepare": "husky install",
14
+ "fmt": "prettier --write src",
15
+ "fmt.check": "prettier --check src",
16
+ "format": "pretty-quick",
17
+ "dev": "microbundle watch --no-sourcemap --compress=false",
18
+ "build": "rimraf lib && microbundle --no-sourcemap --compress=false",
19
+ "dev-rv": "pnpm -filter 'examples-rust-vite*' run dev",
20
+ "preview-rv": "pnpm -filter 'examples-rust-vite*' run preview",
21
+ "dev-vv": "pnpm -filter 'examples-vite-vite*' run dev",
22
+ "dev-nv": "pnpm -filter 'examples-nuxt-vite-host' -filter 'examples-vite-vite-remote' run dev",
23
+ "preview-vv": "pnpm -filter 'examples-vite-vite*' run preview",
24
+ "multi-example": "pnpm --filter \"multi-example-*\" --parallel run start",
25
+ "test": "vitest",
26
+ "e2e": "playwright test"
27
+ },
12
28
  "repository": {
13
29
  "type": "git",
14
30
  "url": "git+https://github.com/module-federation/vite.git"
@@ -28,6 +44,7 @@
28
44
  "url": "https://github.com/module-federation/vite/issues"
29
45
  },
30
46
  "homepage": "https://github.com/module-federation/vite#readme",
47
+ "packageManager": "pnpm@9.1.3",
31
48
  "dependencies": {
32
49
  "@module-federation/runtime": "^0.8.0",
33
50
  "@rollup/pluginutils": "^5.1.0",
@@ -48,20 +65,5 @@
48
65
  "vite": "^5.4.3",
49
66
  "vitest": "^2.1.1",
50
67
  "wait-on": "^8.0.1"
51
- },
52
- "scripts": {
53
- "fmt": "prettier --write src",
54
- "fmt.check": "prettier --check src",
55
- "format": "pretty-quick",
56
- "dev": "microbundle watch --no-sourcemap --compress=false",
57
- "build": "rimraf lib && microbundle --no-sourcemap --compress=false",
58
- "dev-rv": "pnpm -filter 'examples-rust-vite*' run dev",
59
- "preview-rv": "pnpm -filter 'examples-rust-vite*' run preview",
60
- "dev-vv": "pnpm -filter 'examples-vite-vite*' run dev",
61
- "dev-nv": "pnpm -filter 'examples-nuxt-vite-host' -filter 'examples-vite-vite-remote' run dev",
62
- "preview-vv": "pnpm -filter 'examples-vite-vite*' run preview",
63
- "multi-example": "pnpm --filter \"multi-example-*\" --parallel run start",
64
- "test": "vitest",
65
- "e2e": "playwright test"
66
68
  }
67
- }
69
+ }