@module-federation/sdk 0.0.0-next-20240529015908 → 0.0.0-next-20240529032552

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/dist/index.cjs.js CHANGED
@@ -507,7 +507,7 @@ function generateSnapshotFromManifest(manifest) {
507
507
  matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]
508
508
  };
509
509
  });
510
- var _manifest_metaData2 = manifest.metaData, _manifest_metaData_remoteEntry = _manifest_metaData2.remoteEntry, remoteEntryPath = _manifest_metaData_remoteEntry.path, remoteEntryName = _manifest_metaData_remoteEntry.name, remoteEntryType = _manifest_metaData_remoteEntry.type, remoteTypes = _manifest_metaData2.types, buildVersion = _manifest_metaData2.buildInfo.buildVersion, globalName = _manifest_metaData2.globalName;
510
+ var _manifest_metaData2 = manifest.metaData, _manifest_metaData_remoteEntry = _manifest_metaData2.remoteEntry, remoteEntryPath = _manifest_metaData_remoteEntry.path, remoteEntryName = _manifest_metaData_remoteEntry.name, remoteEntryType = _manifest_metaData_remoteEntry.type, remoteTypes = _manifest_metaData2.types, buildVersion = _manifest_metaData2.buildInfo.buildVersion, globalName = _manifest_metaData2.globalName, ssrRemoteEntry = _manifest_metaData2.ssrRemoteEntry;
511
511
  var exposes = manifest.exposes;
512
512
  var basicRemoteSnapshot = {
513
513
  version: version ? version : '',
@@ -556,6 +556,11 @@ function generateSnapshotFromManifest(manifest) {
556
556
  getPublicPath: getPublicPath()
557
557
  });
558
558
  }
559
+ if (ssrRemoteEntry) {
560
+ var fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);
561
+ remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;
562
+ remoteSnapshot.ssrRemoteEntryType = 'cjs:webpack';
563
+ }
559
564
  return remoteSnapshot;
560
565
  }
561
566
  function isManifestProvider(moduleInfo) {
@@ -836,7 +841,6 @@ function createLink(url, cb) {
836
841
  if (!link) {
837
842
  link = document.createElement('link');
838
843
  link.setAttribute('href', url);
839
- link.setAttribute('crossorigin', 'anonymous');
840
844
  if (createLinkHook) {
841
845
  var createLinkRes = createLinkHook(url);
842
846
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
package/dist/index.esm.js CHANGED
@@ -503,7 +503,7 @@ function generateSnapshotFromManifest(manifest) {
503
503
  matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]
504
504
  };
505
505
  });
506
- var _manifest_metaData2 = manifest.metaData, _manifest_metaData_remoteEntry = _manifest_metaData2.remoteEntry, remoteEntryPath = _manifest_metaData_remoteEntry.path, remoteEntryName = _manifest_metaData_remoteEntry.name, remoteEntryType = _manifest_metaData_remoteEntry.type, remoteTypes = _manifest_metaData2.types, buildVersion = _manifest_metaData2.buildInfo.buildVersion, globalName = _manifest_metaData2.globalName;
506
+ var _manifest_metaData2 = manifest.metaData, _manifest_metaData_remoteEntry = _manifest_metaData2.remoteEntry, remoteEntryPath = _manifest_metaData_remoteEntry.path, remoteEntryName = _manifest_metaData_remoteEntry.name, remoteEntryType = _manifest_metaData_remoteEntry.type, remoteTypes = _manifest_metaData2.types, buildVersion = _manifest_metaData2.buildInfo.buildVersion, globalName = _manifest_metaData2.globalName, ssrRemoteEntry = _manifest_metaData2.ssrRemoteEntry;
507
507
  var exposes = manifest.exposes;
508
508
  var basicRemoteSnapshot = {
509
509
  version: version ? version : '',
@@ -552,6 +552,11 @@ function generateSnapshotFromManifest(manifest) {
552
552
  getPublicPath: getPublicPath()
553
553
  });
554
554
  }
555
+ if (ssrRemoteEntry) {
556
+ var fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);
557
+ remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;
558
+ remoteSnapshot.ssrRemoteEntryType = 'cjs:webpack';
559
+ }
555
560
  return remoteSnapshot;
556
561
  }
557
562
  function isManifestProvider(moduleInfo) {
@@ -832,7 +837,6 @@ function createLink(url, cb) {
832
837
  if (!link) {
833
838
  link = document.createElement('link');
834
839
  link.setAttribute('href', url);
835
- link.setAttribute('crossorigin', 'anonymous');
836
840
  if (createLinkHook) {
837
841
  var createLinkRes = createLinkHook(url);
838
842
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
@@ -82,6 +82,7 @@ export interface PluginManifestOptions {
82
82
  export interface PluginDevOptions {
83
83
  disableLiveReload?: boolean;
84
84
  disableHotTypesReload?: boolean;
85
+ injectWebClient?: boolean;
85
86
  }
86
87
  export interface DtsHostOptions {
87
88
  typesFolder?: string;
@@ -111,6 +112,10 @@ export interface PluginDtsOptions {
111
112
  extraOptions?: Record<string, any>;
112
113
  implementation?: string;
113
114
  }
115
+ export type AsyncBoundaryOptions = {
116
+ eager?: RegExp | ((module: any) => boolean);
117
+ excludeChunk?: (chunk: any) => boolean;
118
+ };
114
119
  export interface ModuleFederationPluginOptions {
115
120
  /**
116
121
  * Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.
@@ -159,6 +164,7 @@ export interface ModuleFederationPluginOptions {
159
164
  manifest?: boolean | PluginManifestOptions;
160
165
  dev?: boolean | PluginDevOptions;
161
166
  dts?: boolean | PluginDtsOptions;
167
+ async?: boolean | AsyncBoundaryOptions;
162
168
  }
163
169
  /**
164
170
  * Modules that should be exposed by this container. Property names are used as public paths.
@@ -23,6 +23,8 @@ interface BasicModuleInfo {
23
23
  export interface BasicProviderModuleInfo extends BasicModuleInfo {
24
24
  remoteEntry: string;
25
25
  remoteEntryType: RemoteEntryType;
26
+ ssrRemoteEntry?: string;
27
+ ssrRemoteEntryType?: RemoteEntryType;
26
28
  remoteManifest?: string;
27
29
  globalName: string;
28
30
  modules: Array<{
@@ -42,6 +44,7 @@ interface BasicProviderModuleInfoWithGetPublicPath extends BasicProviderModuleIn
42
44
  }
43
45
  export interface ManifestProvider {
44
46
  remoteEntry: string;
47
+ ssrRemoteEntry?: string;
45
48
  version?: string;
46
49
  }
47
50
  export interface PureEntryProvider extends ManifestProvider {
@@ -1,6 +1,6 @@
1
1
  import type { RemoteWithEntry, RemoteWithVersion } from './common';
2
- export type RemoteEntryType = 'esm' | 'global';
3
- interface ResourceInfo {
2
+ export type RemoteEntryType = 'esm' | 'global' | 'cjs:webpack';
3
+ export interface ResourceInfo {
4
4
  path: string;
5
5
  name: string;
6
6
  type: RemoteEntryType;
@@ -20,6 +20,7 @@ export interface BasicStatsMetaData {
20
20
  globalName: string;
21
21
  buildInfo: StatsBuildInfo;
22
22
  remoteEntry: ResourceInfo;
23
+ ssrRemoteEntry?: ResourceInfo;
23
24
  prefetchInterface?: boolean;
24
25
  prefetchEntry?: ResourceInfo;
25
26
  types: MetaDataTypes;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.0.0-next-20240529015908",
3
+ "version": "0.0.0-next-20240529032552",
4
4
  "license": "MIT",
5
5
  "description": "A sdk for support module federation",
6
6
  "keywords": [