@module-federation/vite 1.4.1 → 1.5.1

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
@@ -434,13 +434,16 @@ function getNormalizeModuleFederationOptions() {
434
434
  }
435
435
  function getNormalizeShareItem(key) {
436
436
  var options = getNormalizeModuleFederationOptions();
437
- var shareItem = options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
437
+ var shareItem = options.shared[key] || options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
438
438
  return shareItem;
439
439
  }
440
440
  function normalizeModuleFederationOptions(options) {
441
441
  if (options.getPublicPath) {
442
442
  warn("We are ignoring the getPublicPath options because they are natively supported by Vite\nwith the \"experimental.renderBuiltUrl\" configuration https://vitejs.dev/guide/build#advanced-base-options");
443
443
  }
444
+ if (options.virtualModuleDir && options.virtualModuleDir.includes('/')) {
445
+ throw new Error("Invalid virtualModuleDir: \"" + options.virtualModuleDir + "\". " + "The virtualModuleDir option cannot contain slashes (/). " + "Please use a single directory name like '__mf__virtual__your_app_name'.");
446
+ }
444
447
  return config = {
445
448
  exposes: normalizeExposes(options.exposes),
446
449
  filename: options.filename || 'remoteEntry-[hash]',
@@ -458,7 +461,8 @@ function normalizeModuleFederationOptions(options) {
458
461
  dts: options.dts,
459
462
  getPublicPath: options.getPublicPath,
460
463
  shareStrategy: options.shareStrategy || 'version-first',
461
- ignoreOrigin: options.ignoreOrigin || false
464
+ ignoreOrigin: options.ignoreOrigin || false,
465
+ virtualModuleDir: options.virtualModuleDir || '__mf__virtual'
462
466
  };
463
467
  }
464
468
 
@@ -533,7 +537,6 @@ function getNodeModulesDir() {
533
537
  }
534
538
  return cachedNodeModulesDir;
535
539
  }
536
- var virtualPackageName = '__mf__virtual';
537
540
  var patternMap = {};
538
541
  var cacheMap = {};
539
542
  /**
@@ -572,12 +575,14 @@ var VirtualModule = /*#__PURE__*/function () {
572
575
  */;
573
576
  VirtualModule.ensureVirtualPackageExists = function ensureVirtualPackageExists() {
574
577
  var nodeModulesDir = getNodeModulesDir();
575
- var virtualPackagePath = path.resolve(nodeModulesDir, virtualPackageName);
578
+ var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
579
+ virtualModuleDir = _getNormalizeModuleFe.virtualModuleDir;
580
+ var virtualPackagePath = path.resolve(nodeModulesDir, virtualModuleDir);
576
581
  if (!fs.existsSync(virtualPackagePath)) {
577
582
  fs.mkdirSync(virtualPackagePath);
578
583
  fs.writeFileSync(path.resolve(virtualPackagePath, 'empty.js'), '');
579
584
  fs.writeFileSync(path.resolve(virtualPackagePath, 'package.json'), JSON.stringify({
580
- name: virtualPackageName,
585
+ name: virtualModuleDir,
581
586
  main: 'empty.js'
582
587
  }));
583
588
  }
@@ -596,9 +601,10 @@ var VirtualModule = /*#__PURE__*/function () {
596
601
  return path.resolve(getNodeModulesDir(), this.getImportId());
597
602
  };
598
603
  _proto.getImportId = function getImportId() {
599
- var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
600
- mfName = _getNormalizeModuleFe.name;
601
- return virtualPackageName + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
604
+ var _getNormalizeModuleFe2 = getNormalizeModuleFederationOptions(),
605
+ mfName = _getNormalizeModuleFe2.name,
606
+ virtualModuleDir = _getNormalizeModuleFe2.virtualModuleDir;
607
+ return virtualModuleDir + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
602
608
  };
603
609
  _proto.writeSync = function writeSync(code, force) {
604
610
  if (!force && this.inited) return;
@@ -1404,9 +1410,10 @@ function federation(mfUserOptions) {
1404
1410
  strictRequires: 'auto'
1405
1411
  }
1406
1412
  });
1413
+ var virtualDir = options.virtualModuleDir || '__mf__virtual';
1407
1414
  (_config$optimizeDeps = _config.optimizeDeps) == null || (_config$optimizeDeps = _config$optimizeDeps.include) == null || _config$optimizeDeps.push('@module-federation/runtime');
1408
- (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push('__mf__virtual');
1409
- (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push('__mf__virtual');
1415
+ (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push(virtualDir);
1416
+ (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push(virtualDir);
1410
1417
  (_config$optimizeDeps4 = _config.optimizeDeps) == null || (_config$optimizeDeps4 = _config$optimizeDeps4.needsInterop) == null || _config$optimizeDeps4.push(getLocalSharedImportMapPath());
1411
1418
  }
1412
1419
  }], Manifest());
package/lib/index.esm.js CHANGED
@@ -410,13 +410,16 @@ function getNormalizeModuleFederationOptions() {
410
410
  }
411
411
  function getNormalizeShareItem(key) {
412
412
  var options = getNormalizeModuleFederationOptions();
413
- var shareItem = options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
413
+ var shareItem = options.shared[key] || options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
414
414
  return shareItem;
415
415
  }
416
416
  function normalizeModuleFederationOptions(options) {
417
417
  if (options.getPublicPath) {
418
418
  warn("We are ignoring the getPublicPath options because they are natively supported by Vite\nwith the \"experimental.renderBuiltUrl\" configuration https://vitejs.dev/guide/build#advanced-base-options");
419
419
  }
420
+ if (options.virtualModuleDir && options.virtualModuleDir.includes('/')) {
421
+ throw new Error("Invalid virtualModuleDir: \"" + options.virtualModuleDir + "\". " + "The virtualModuleDir option cannot contain slashes (/). " + "Please use a single directory name like '__mf__virtual__your_app_name'.");
422
+ }
420
423
  return config = {
421
424
  exposes: normalizeExposes(options.exposes),
422
425
  filename: options.filename || 'remoteEntry-[hash]',
@@ -434,7 +437,8 @@ function normalizeModuleFederationOptions(options) {
434
437
  dts: options.dts,
435
438
  getPublicPath: options.getPublicPath,
436
439
  shareStrategy: options.shareStrategy || 'version-first',
437
- ignoreOrigin: options.ignoreOrigin || false
440
+ ignoreOrigin: options.ignoreOrigin || false,
441
+ virtualModuleDir: options.virtualModuleDir || '__mf__virtual'
438
442
  };
439
443
  }
440
444
 
@@ -509,7 +513,6 @@ function getNodeModulesDir() {
509
513
  }
510
514
  return cachedNodeModulesDir;
511
515
  }
512
- var virtualPackageName = '__mf__virtual';
513
516
  var patternMap = {};
514
517
  var cacheMap = {};
515
518
  /**
@@ -548,12 +551,14 @@ var VirtualModule = /*#__PURE__*/function () {
548
551
  */;
549
552
  VirtualModule.ensureVirtualPackageExists = function ensureVirtualPackageExists() {
550
553
  var nodeModulesDir = getNodeModulesDir();
551
- var virtualPackagePath = resolve(nodeModulesDir, virtualPackageName);
554
+ var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
555
+ virtualModuleDir = _getNormalizeModuleFe.virtualModuleDir;
556
+ var virtualPackagePath = resolve(nodeModulesDir, virtualModuleDir);
552
557
  if (!existsSync(virtualPackagePath)) {
553
558
  mkdirSync(virtualPackagePath);
554
559
  writeFileSync(resolve(virtualPackagePath, 'empty.js'), '');
555
560
  writeFileSync(resolve(virtualPackagePath, 'package.json'), JSON.stringify({
556
- name: virtualPackageName,
561
+ name: virtualModuleDir,
557
562
  main: 'empty.js'
558
563
  }));
559
564
  }
@@ -572,9 +577,10 @@ var VirtualModule = /*#__PURE__*/function () {
572
577
  return resolve(getNodeModulesDir(), this.getImportId());
573
578
  };
574
579
  _proto.getImportId = function getImportId() {
575
- var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
576
- mfName = _getNormalizeModuleFe.name;
577
- return virtualPackageName + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
580
+ var _getNormalizeModuleFe2 = getNormalizeModuleFederationOptions(),
581
+ mfName = _getNormalizeModuleFe2.name,
582
+ virtualModuleDir = _getNormalizeModuleFe2.virtualModuleDir;
583
+ return virtualModuleDir + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
578
584
  };
579
585
  _proto.writeSync = function writeSync(code, force) {
580
586
  if (!force && this.inited) return;
@@ -1380,9 +1386,10 @@ function federation(mfUserOptions) {
1380
1386
  strictRequires: 'auto'
1381
1387
  }
1382
1388
  });
1389
+ var virtualDir = options.virtualModuleDir || '__mf__virtual';
1383
1390
  (_config$optimizeDeps = _config.optimizeDeps) == null || (_config$optimizeDeps = _config$optimizeDeps.include) == null || _config$optimizeDeps.push('@module-federation/runtime');
1384
- (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push('__mf__virtual');
1385
- (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push('__mf__virtual');
1391
+ (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push(virtualDir);
1392
+ (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push(virtualDir);
1386
1393
  (_config$optimizeDeps4 = _config.optimizeDeps) == null || (_config$optimizeDeps4 = _config$optimizeDeps4.needsInterop) == null || _config$optimizeDeps4.push(getLocalSharedImportMapPath());
1387
1394
  }
1388
1395
  }], Manifest());
@@ -380,13 +380,16 @@ function getNormalizeModuleFederationOptions() {
380
380
  }
381
381
  function getNormalizeShareItem(key) {
382
382
  const options = getNormalizeModuleFederationOptions();
383
- const shareItem = options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
383
+ const shareItem = options.shared[key] || options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
384
384
  return shareItem;
385
385
  }
386
386
  function normalizeModuleFederationOptions(options) {
387
387
  if (options.getPublicPath) {
388
388
  warn(`We are ignoring the getPublicPath options because they are natively supported by Vite\nwith the "experimental.renderBuiltUrl" configuration https://vitejs.dev/guide/build#advanced-base-options`);
389
389
  }
390
+ if (options.virtualModuleDir && options.virtualModuleDir.includes('/')) {
391
+ throw new Error(`Invalid virtualModuleDir: "${options.virtualModuleDir}". ` + `The virtualModuleDir option cannot contain slashes (/). ` + `Please use a single directory name like '__mf__virtual__your_app_name'.`);
392
+ }
390
393
  return config = {
391
394
  exposes: normalizeExposes(options.exposes),
392
395
  filename: options.filename || 'remoteEntry-[hash]',
@@ -404,7 +407,8 @@ function normalizeModuleFederationOptions(options) {
404
407
  dts: options.dts,
405
408
  getPublicPath: options.getPublicPath,
406
409
  shareStrategy: options.shareStrategy || 'version-first',
407
- ignoreOrigin: options.ignoreOrigin || false
410
+ ignoreOrigin: options.ignoreOrigin || false,
411
+ virtualModuleDir: options.virtualModuleDir || '__mf__virtual'
408
412
  };
409
413
  }
410
414
 
@@ -477,7 +481,6 @@ function getNodeModulesDir() {
477
481
  }
478
482
  return cachedNodeModulesDir;
479
483
  }
480
- const virtualPackageName = '__mf__virtual';
481
484
  const patternMap = {};
482
485
  const cacheMap = {};
483
486
  /**
@@ -498,12 +501,15 @@ class VirtualModule {
498
501
  */
499
502
  static ensureVirtualPackageExists() {
500
503
  const nodeModulesDir = getNodeModulesDir();
501
- const virtualPackagePath = resolve(nodeModulesDir, virtualPackageName);
504
+ const {
505
+ virtualModuleDir
506
+ } = getNormalizeModuleFederationOptions();
507
+ const virtualPackagePath = resolve(nodeModulesDir, virtualModuleDir);
502
508
  if (!existsSync(virtualPackagePath)) {
503
509
  mkdirSync(virtualPackagePath);
504
510
  writeFileSync(resolve(virtualPackagePath, 'empty.js'), '');
505
511
  writeFileSync(resolve(virtualPackagePath, 'package.json'), JSON.stringify({
506
- name: virtualPackageName,
512
+ name: virtualModuleDir,
507
513
  main: 'empty.js'
508
514
  }));
509
515
  }
@@ -531,9 +537,10 @@ class VirtualModule {
531
537
  }
532
538
  getImportId() {
533
539
  const {
534
- name: mfName
540
+ name: mfName,
541
+ virtualModuleDir
535
542
  } = getNormalizeModuleFederationOptions();
536
- return `${virtualPackageName}/${packageNameEncode(`${mfName}${this.tag}${this.name}${this.tag}`)}${this.suffix}`;
543
+ return `${virtualModuleDir}/${packageNameEncode(`${mfName}${this.tag}${this.name}${this.tag}`)}${this.suffix}`;
537
544
  }
538
545
  writeSync(code, force) {
539
546
  if (!force && this.inited) return;
@@ -1453,9 +1460,10 @@ function federation(mfUserOptions) {
1453
1460
  strictRequires: 'auto'
1454
1461
  }
1455
1462
  });
1463
+ const virtualDir = options.virtualModuleDir || '__mf__virtual';
1456
1464
  (_config$optimizeDeps = config.optimizeDeps) == null || (_config$optimizeDeps = _config$optimizeDeps.include) == null || _config$optimizeDeps.push('@module-federation/runtime');
1457
- (_config$optimizeDeps2 = config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push('__mf__virtual');
1458
- (_config$optimizeDeps3 = config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push('__mf__virtual');
1465
+ (_config$optimizeDeps2 = config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push(virtualDir);
1466
+ (_config$optimizeDeps3 = config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push(virtualDir);
1459
1467
  (_config$optimizeDeps4 = config.optimizeDeps) == null || (_config$optimizeDeps4 = _config$optimizeDeps4.needsInterop) == null || _config$optimizeDeps4.push(getLocalSharedImportMapPath());
1460
1468
  }
1461
1469
  }, ...Manifest()];
package/lib/index.umd.js CHANGED
@@ -432,13 +432,16 @@
432
432
  }
433
433
  function getNormalizeShareItem(key) {
434
434
  var options = getNormalizeModuleFederationOptions();
435
- var shareItem = options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
435
+ var shareItem = options.shared[key] || options.shared[removePathFromNpmPackage(key)] || options.shared[removePathFromNpmPackage(key) + '/'];
436
436
  return shareItem;
437
437
  }
438
438
  function normalizeModuleFederationOptions(options) {
439
439
  if (options.getPublicPath) {
440
440
  warn("We are ignoring the getPublicPath options because they are natively supported by Vite\nwith the \"experimental.renderBuiltUrl\" configuration https://vitejs.dev/guide/build#advanced-base-options");
441
441
  }
442
+ if (options.virtualModuleDir && options.virtualModuleDir.includes('/')) {
443
+ throw new Error("Invalid virtualModuleDir: \"" + options.virtualModuleDir + "\". " + "The virtualModuleDir option cannot contain slashes (/). " + "Please use a single directory name like '__mf__virtual__your_app_name'.");
444
+ }
442
445
  return config = {
443
446
  exposes: normalizeExposes(options.exposes),
444
447
  filename: options.filename || 'remoteEntry-[hash]',
@@ -456,7 +459,8 @@
456
459
  dts: options.dts,
457
460
  getPublicPath: options.getPublicPath,
458
461
  shareStrategy: options.shareStrategy || 'version-first',
459
- ignoreOrigin: options.ignoreOrigin || false
462
+ ignoreOrigin: options.ignoreOrigin || false,
463
+ virtualModuleDir: options.virtualModuleDir || '__mf__virtual'
460
464
  };
461
465
  }
462
466
 
@@ -531,7 +535,6 @@
531
535
  }
532
536
  return cachedNodeModulesDir;
533
537
  }
534
- var virtualPackageName = '__mf__virtual';
535
538
  var patternMap = {};
536
539
  var cacheMap = {};
537
540
  /**
@@ -570,12 +573,14 @@
570
573
  */;
571
574
  VirtualModule.ensureVirtualPackageExists = function ensureVirtualPackageExists() {
572
575
  var nodeModulesDir = getNodeModulesDir();
573
- var virtualPackagePath = path.resolve(nodeModulesDir, virtualPackageName);
576
+ var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
577
+ virtualModuleDir = _getNormalizeModuleFe.virtualModuleDir;
578
+ var virtualPackagePath = path.resolve(nodeModulesDir, virtualModuleDir);
574
579
  if (!fs.existsSync(virtualPackagePath)) {
575
580
  fs.mkdirSync(virtualPackagePath);
576
581
  fs.writeFileSync(path.resolve(virtualPackagePath, 'empty.js'), '');
577
582
  fs.writeFileSync(path.resolve(virtualPackagePath, 'package.json'), JSON.stringify({
578
- name: virtualPackageName,
583
+ name: virtualModuleDir,
579
584
  main: 'empty.js'
580
585
  }));
581
586
  }
@@ -594,9 +599,10 @@
594
599
  return path.resolve(getNodeModulesDir(), this.getImportId());
595
600
  };
596
601
  _proto.getImportId = function getImportId() {
597
- var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
598
- mfName = _getNormalizeModuleFe.name;
599
- return virtualPackageName + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
602
+ var _getNormalizeModuleFe2 = getNormalizeModuleFederationOptions(),
603
+ mfName = _getNormalizeModuleFe2.name,
604
+ virtualModuleDir = _getNormalizeModuleFe2.virtualModuleDir;
605
+ return virtualModuleDir + "/" + packageNameEncode("" + mfName + this.tag + this.name + this.tag) + this.suffix;
600
606
  };
601
607
  _proto.writeSync = function writeSync(code, force) {
602
608
  if (!force && this.inited) return;
@@ -1402,9 +1408,10 @@
1402
1408
  strictRequires: 'auto'
1403
1409
  }
1404
1410
  });
1411
+ var virtualDir = options.virtualModuleDir || '__mf__virtual';
1405
1412
  (_config$optimizeDeps = _config.optimizeDeps) == null || (_config$optimizeDeps = _config$optimizeDeps.include) == null || _config$optimizeDeps.push('@module-federation/runtime');
1406
- (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push('__mf__virtual');
1407
- (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push('__mf__virtual');
1413
+ (_config$optimizeDeps2 = _config.optimizeDeps) == null || (_config$optimizeDeps2 = _config$optimizeDeps2.include) == null || _config$optimizeDeps2.push(virtualDir);
1414
+ (_config$optimizeDeps3 = _config.optimizeDeps) == null || (_config$optimizeDeps3 = _config$optimizeDeps3.needsInterop) == null || _config$optimizeDeps3.push(virtualDir);
1408
1415
  (_config$optimizeDeps4 = _config.optimizeDeps) == null || (_config$optimizeDeps4 = _config$optimizeDeps4.needsInterop) == null || _config$optimizeDeps4.push(getLocalSharedImportMapPath());
1409
1416
  }
1410
1417
  }], Manifest());
@@ -1,4 +1,3 @@
1
- export declare const virtualPackageName = "__mf__virtual";
2
1
  /**
3
2
  * Physically generate files as virtual modules under node_modules/__mf__virtual/*
4
3
  */
@@ -52,6 +52,7 @@ export type ModuleFederationOptions = {
52
52
  dts?: boolean | PluginDtsOptions;
53
53
  shareStrategy?: ShareStrategy;
54
54
  ignoreOrigin?: boolean;
55
+ virtualModuleDir?: string;
55
56
  };
56
57
  export interface NormalizedModuleFederationOptions {
57
58
  exposes: Record<string, ExposesItem>;
@@ -70,6 +71,7 @@ export interface NormalizedModuleFederationOptions {
70
71
  shareStrategy: ShareStrategy;
71
72
  getPublicPath?: string;
72
73
  ignoreOrigin?: boolean;
74
+ virtualModuleDir: string;
73
75
  }
74
76
  interface PluginDevOptions {
75
77
  disableLiveReload?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/vite",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Vite plugin for Module Federation",
5
5
  "type": "module",
6
6
  "source": "src/index.ts",