@module-federation/sdk 0.9.0 → 0.10.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/dist/index.cjs.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var isomorphicRslog = require('isomorphic-rslog');
4
3
  var polyfills = require('./polyfills.cjs.js');
5
4
 
6
5
  const FederationModuleManifest = 'federation-manifest.json';
@@ -82,39 +81,6 @@ const getProcessEnv = function() {
82
81
  return typeof process !== 'undefined' && process.env ? process.env : {};
83
82
  };
84
83
 
85
- const PREFIX = '[ Module Federation ]';
86
- function setDebug(loggerInstance) {
87
- if (isDebugMode()) {
88
- loggerInstance.level = 'verbose';
89
- }
90
- }
91
- function setPrefix(loggerInstance, prefix) {
92
- loggerInstance.labels = {
93
- warn: `${prefix} Warn`,
94
- error: `${prefix} Error`,
95
- success: `${prefix} Success`,
96
- info: `${prefix} Info`,
97
- ready: `${prefix} Ready`,
98
- debug: `${prefix} Debug`
99
- };
100
- }
101
- function createLogger(prefix) {
102
- const loggerInstance = isomorphicRslog.createLogger({
103
- labels: {
104
- warn: `${PREFIX} Warn`,
105
- error: `${PREFIX} Error`,
106
- success: `${PREFIX} Success`,
107
- info: `${PREFIX} Info`,
108
- ready: `${PREFIX} Ready`,
109
- debug: `${PREFIX} Debug`
110
- }
111
- });
112
- setDebug(loggerInstance);
113
- setPrefix(loggerInstance, prefix);
114
- return loggerInstance;
115
- }
116
- const logger = createLogger(PREFIX);
117
-
118
84
  const LOG_CATEGORY = '[ Federation Runtime ]';
119
85
  // entry: name:version version : 1.0.0 | ^1.2.3
120
86
  // entry: name:entry entry: https://localhost:9000/federation-manifest.json
@@ -126,11 +92,12 @@ const parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{
126
92
  // Check if the string starts with a type
127
93
  if (strSplit.length >= 2) {
128
94
  let [name, ...versionOrEntryArr] = strSplit;
95
+ // @name@manifest-url.json
129
96
  if (str.startsWith(separator)) {
97
+ name = strSplit.slice(0, 2).join(separator);
130
98
  versionOrEntryArr = [
131
- devVersionOrUrl || strSplit.slice(-1)[0]
99
+ devVersionOrUrl || strSplit.slice(2).join(separator)
132
100
  ];
133
- name = strSplit.slice(0, -1).join(separator);
134
101
  }
135
102
  let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);
136
103
  if (isEntry(versionOrEntry)) {
@@ -400,6 +367,40 @@ function isManifestProvider(moduleInfo) {
400
367
  }
401
368
  }
402
369
 
370
+ const PREFIX = '[ Module Federation ]';
371
+ let Logger = class Logger {
372
+ log(...args) {
373
+ console.log(this.prefix, ...args);
374
+ }
375
+ warn(...args) {
376
+ console.log(this.prefix, ...args);
377
+ }
378
+ error(...args) {
379
+ console.log(this.prefix, ...args);
380
+ }
381
+ success(...args) {
382
+ console.log(this.prefix, ...args);
383
+ }
384
+ info(...args) {
385
+ console.log(this.prefix, ...args);
386
+ }
387
+ ready(...args) {
388
+ console.log(this.prefix, ...args);
389
+ }
390
+ debug(...args) {
391
+ if (isDebugMode()) {
392
+ console.log(this.prefix, ...args);
393
+ }
394
+ }
395
+ constructor(prefix){
396
+ this.prefix = prefix;
397
+ }
398
+ };
399
+ function createLogger(prefix) {
400
+ return new Logger(prefix);
401
+ }
402
+ const logger = createLogger(PREFIX);
403
+
403
404
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
404
405
  async function safeWrapper(callback, disableWarn) {
405
406
  try {
@@ -520,8 +521,8 @@ function createLink(info) {
520
521
  for(let i = 0; i < links.length; i++){
521
522
  const l = links[i];
522
523
  const linkHref = l.getAttribute('href');
523
- const linkRef = l.getAttribute('ref');
524
- if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
524
+ const linkRel = l.getAttribute('rel');
525
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRel === info.attrs['rel']) {
525
526
  link = l;
526
527
  needAttach = false;
527
528
  break;
@@ -1,4 +1,3 @@
1
- import { createLogger as createLogger$1 } from 'isomorphic-rslog';
2
1
  import { _ as _extends } from './polyfills.esm.mjs';
3
2
 
4
3
  const FederationModuleManifest = 'federation-manifest.json';
@@ -80,39 +79,6 @@ const getProcessEnv = function() {
80
79
  return typeof process !== 'undefined' && process.env ? process.env : {};
81
80
  };
82
81
 
83
- const PREFIX = '[ Module Federation ]';
84
- function setDebug(loggerInstance) {
85
- if (isDebugMode()) {
86
- loggerInstance.level = 'verbose';
87
- }
88
- }
89
- function setPrefix(loggerInstance, prefix) {
90
- loggerInstance.labels = {
91
- warn: `${prefix} Warn`,
92
- error: `${prefix} Error`,
93
- success: `${prefix} Success`,
94
- info: `${prefix} Info`,
95
- ready: `${prefix} Ready`,
96
- debug: `${prefix} Debug`
97
- };
98
- }
99
- function createLogger(prefix) {
100
- const loggerInstance = createLogger$1({
101
- labels: {
102
- warn: `${PREFIX} Warn`,
103
- error: `${PREFIX} Error`,
104
- success: `${PREFIX} Success`,
105
- info: `${PREFIX} Info`,
106
- ready: `${PREFIX} Ready`,
107
- debug: `${PREFIX} Debug`
108
- }
109
- });
110
- setDebug(loggerInstance);
111
- setPrefix(loggerInstance, prefix);
112
- return loggerInstance;
113
- }
114
- const logger = createLogger(PREFIX);
115
-
116
82
  const LOG_CATEGORY = '[ Federation Runtime ]';
117
83
  // entry: name:version version : 1.0.0 | ^1.2.3
118
84
  // entry: name:entry entry: https://localhost:9000/federation-manifest.json
@@ -124,11 +90,12 @@ const parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{
124
90
  // Check if the string starts with a type
125
91
  if (strSplit.length >= 2) {
126
92
  let [name, ...versionOrEntryArr] = strSplit;
93
+ // @name@manifest-url.json
127
94
  if (str.startsWith(separator)) {
95
+ name = strSplit.slice(0, 2).join(separator);
128
96
  versionOrEntryArr = [
129
- devVersionOrUrl || strSplit.slice(-1)[0]
97
+ devVersionOrUrl || strSplit.slice(2).join(separator)
130
98
  ];
131
- name = strSplit.slice(0, -1).join(separator);
132
99
  }
133
100
  let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);
134
101
  if (isEntry(versionOrEntry)) {
@@ -398,6 +365,40 @@ function isManifestProvider(moduleInfo) {
398
365
  }
399
366
  }
400
367
 
368
+ const PREFIX = '[ Module Federation ]';
369
+ let Logger = class Logger {
370
+ log(...args) {
371
+ console.log(this.prefix, ...args);
372
+ }
373
+ warn(...args) {
374
+ console.log(this.prefix, ...args);
375
+ }
376
+ error(...args) {
377
+ console.log(this.prefix, ...args);
378
+ }
379
+ success(...args) {
380
+ console.log(this.prefix, ...args);
381
+ }
382
+ info(...args) {
383
+ console.log(this.prefix, ...args);
384
+ }
385
+ ready(...args) {
386
+ console.log(this.prefix, ...args);
387
+ }
388
+ debug(...args) {
389
+ if (isDebugMode()) {
390
+ console.log(this.prefix, ...args);
391
+ }
392
+ }
393
+ constructor(prefix){
394
+ this.prefix = prefix;
395
+ }
396
+ };
397
+ function createLogger(prefix) {
398
+ return new Logger(prefix);
399
+ }
400
+ const logger = createLogger(PREFIX);
401
+
401
402
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
402
403
  async function safeWrapper(callback, disableWarn) {
403
404
  try {
@@ -518,8 +519,8 @@ function createLink(info) {
518
519
  for(let i = 0; i < links.length; i++){
519
520
  const l = links[i];
520
521
  const linkHref = l.getAttribute('href');
521
- const linkRef = l.getAttribute('ref');
522
- if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
522
+ const linkRel = l.getAttribute('rel');
523
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRel === info.attrs['rel']) {
523
524
  link = l;
524
525
  needAttach = false;
525
526
  break;
package/dist/src/dom.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CreateScriptHookDom } from './types';
1
+ import type { CreateScriptHookDom } from './types';
2
2
  export declare function safeWrapper<T extends (...args: Array<any>) => any>(callback: T, disableWarn?: boolean): Promise<ReturnType<T> | undefined>;
3
3
  export declare function isStaticResourcesEqual(url1: string, url2: string): boolean;
4
4
  export declare function createScript(info: {
@@ -1,4 +1,14 @@
1
- import { type Logger } from 'isomorphic-rslog';
1
+ declare class Logger {
2
+ prefix: string;
3
+ constructor(prefix: string);
4
+ log(...args: any[]): void;
5
+ warn(...args: any[]): void;
6
+ error(...args: any[]): void;
7
+ success(...args: any[]): void;
8
+ info(...args: any[]): void;
9
+ ready(...args: any[]): void;
10
+ debug(...args: any[]): void;
11
+ }
2
12
  declare function createLogger(prefix: string): Logger;
3
13
  declare const logger: Logger;
4
14
  export { logger, createLogger };
@@ -88,6 +88,13 @@ export interface PluginDevOptions {
88
88
  disableHotTypesReload?: boolean;
89
89
  disableDynamicRemoteTypeHints?: boolean;
90
90
  }
91
+ interface RemoteTypeUrl {
92
+ api: string;
93
+ zip: string;
94
+ }
95
+ export interface RemoteTypeUrls {
96
+ [remoteName: string]: RemoteTypeUrl;
97
+ }
91
98
  export interface DtsHostOptions {
92
99
  typesFolder?: string;
93
100
  abortOnError?: boolean;
@@ -96,6 +103,8 @@ export interface DtsHostOptions {
96
103
  maxRetries?: number;
97
104
  consumeAPITypes?: boolean;
98
105
  runtimePkgs?: string[];
106
+ remoteTypeUrls?: (() => Promise<RemoteTypeUrls>) | RemoteTypeUrls;
107
+ timeout?: number;
99
108
  }
100
109
  export interface DtsRemoteOptions {
101
110
  tsConfigPath?: string;
@@ -365,3 +374,4 @@ export interface SharedConfig {
365
374
  */
366
375
  version?: false | string;
367
376
  }
377
+ export {};
@@ -1,5 +1,4 @@
1
1
  import { RemoteEntryInfo, ModuleInfo } from './types';
2
- import { logger } from './logger';
3
2
  declare const parseEntry: (str: string, devVerOrUrl?: string, separator?: string) => RemoteEntryInfo;
4
3
  declare global {
5
4
  var FEDERATION_DEBUG: string | undefined;
@@ -15,4 +14,4 @@ declare const error: (msg: string | Error | unknown) => never;
15
14
  declare const warn: (msg: Parameters<typeof console.warn>[0]) => void;
16
15
  declare function safeToString(info: any): string;
17
16
  declare function isRequiredVersion(str: string): boolean;
18
- export { parseEntry, logger, decodeName, encodeName, composeKeyWithSeparator, generateExposeFilename, generateShareFilename, getResourceUrl, assert, error, warn, safeToString, isRequiredVersion, };
17
+ export { parseEntry, decodeName, encodeName, composeKeyWithSeparator, generateExposeFilename, generateShareFilename, getResourceUrl, assert, error, warn, safeToString, isRequiredVersion, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "description": "A sdk for support module federation",
6
6
  "keywords": [
@@ -45,8 +45,5 @@
45
45
  "./dist/normalize-webpack-path.cjs.d.ts"
46
46
  ]
47
47
  }
48
- },
49
- "dependencies": {
50
- "isomorphic-rslog": "0.0.7"
51
48
  }
52
49
  }