@module-federation/sdk 2.0.1 → 2.2.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/README.md +9 -3
- package/dist/_virtual/_rolldown/runtime.cjs +19 -0
- package/dist/_virtual/_rolldown/runtime.js +18 -0
- package/dist/constant.cjs +70 -0
- package/dist/constant.cjs.map +1 -0
- package/dist/constant.d.ts +53 -0
- package/dist/constant.js +55 -0
- package/dist/constant.js.map +1 -0
- package/dist/createModuleFederationConfig.cjs +9 -0
- package/dist/createModuleFederationConfig.cjs.map +1 -0
- package/dist/createModuleFederationConfig.d.ts +6 -0
- package/dist/createModuleFederationConfig.js +8 -0
- package/dist/createModuleFederationConfig.js.map +1 -0
- package/dist/dom.cjs +180 -0
- package/dist/dom.cjs.map +1 -0
- package/dist/dom.d.ts +33 -0
- package/dist/dom.js +176 -0
- package/dist/dom.js.map +1 -0
- package/dist/env.cjs +34 -0
- package/dist/env.cjs.map +1 -0
- package/dist/env.d.ts +12 -0
- package/dist/env.js +30 -0
- package/dist/env.js.map +1 -0
- package/dist/generateSnapshotFromManifest.cjs +138 -0
- package/dist/generateSnapshotFromManifest.cjs.map +1 -0
- package/dist/generateSnapshotFromManifest.d.ts +20 -0
- package/dist/generateSnapshotFromManifest.js +134 -0
- package/dist/generateSnapshotFromManifest.js.map +1 -0
- package/dist/index.cjs +104 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.js +17 -0
- package/dist/logger.cjs +129 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.ts +34 -0
- package/dist/logger.js +125 -0
- package/dist/logger.js.map +1 -0
- package/dist/node.cjs +122 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.ts +15 -0
- package/dist/node.js +120 -0
- package/dist/node.js.map +1 -0
- package/dist/normalize-webpack-path.cjs +28 -0
- package/dist/normalize-webpack-path.cjs.map +1 -0
- package/dist/normalize-webpack-path.d.ts +10 -1
- package/dist/normalize-webpack-path.js +26 -0
- package/dist/normalize-webpack-path.js.map +1 -0
- package/dist/normalizeOptions.cjs +19 -0
- package/dist/normalizeOptions.cjs.map +1 -0
- package/dist/normalizeOptions.d.ts +5 -0
- package/dist/normalizeOptions.js +18 -0
- package/dist/normalizeOptions.js.map +1 -0
- package/dist/types/common.d.ts +14 -0
- package/dist/types/hooks.d.ts +16 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/manifest.d.ts +34 -0
- package/dist/types/plugins/ConsumeSharedPlugin.cjs +13 -0
- package/dist/types/plugins/ConsumeSharedPlugin.cjs.map +1 -0
- package/dist/types/plugins/ConsumeSharedPlugin.d.ts +109 -0
- package/dist/types/plugins/ConsumeSharedPlugin.js +8 -0
- package/dist/types/plugins/ConsumeSharedPlugin.js.map +1 -0
- package/dist/types/plugins/ContainerPlugin.cjs +13 -0
- package/dist/types/plugins/ContainerPlugin.cjs.map +1 -0
- package/dist/types/plugins/ContainerPlugin.d.ts +42 -0
- package/dist/types/plugins/ContainerPlugin.js +8 -0
- package/dist/types/plugins/ContainerPlugin.js.map +1 -0
- package/dist/types/plugins/ContainerReferencePlugin.cjs +13 -0
- package/dist/types/plugins/ContainerReferencePlugin.cjs.map +1 -0
- package/dist/types/plugins/ContainerReferencePlugin.d.ts +24 -0
- package/dist/types/plugins/ContainerReferencePlugin.js +8 -0
- package/dist/types/plugins/ContainerReferencePlugin.js.map +1 -0
- package/dist/types/plugins/ModuleFederationPlugin.cjs +13 -0
- package/dist/types/plugins/ModuleFederationPlugin.cjs.map +1 -0
- package/dist/types/plugins/ModuleFederationPlugin.d.ts +455 -0
- package/dist/types/plugins/ModuleFederationPlugin.js +8 -0
- package/dist/types/plugins/ModuleFederationPlugin.js.map +1 -0
- package/dist/types/plugins/ProvideSharedPlugin.cjs +13 -0
- package/dist/types/plugins/ProvideSharedPlugin.cjs.map +1 -0
- package/dist/types/plugins/ProvideSharedPlugin.d.ts +97 -0
- package/dist/types/plugins/ProvideSharedPlugin.js +8 -0
- package/dist/types/plugins/ProvideSharedPlugin.js.map +1 -0
- package/dist/types/plugins/SharePlugin.cjs +13 -0
- package/dist/types/plugins/SharePlugin.cjs.map +1 -0
- package/dist/types/plugins/SharePlugin.d.ts +26 -0
- package/dist/types/plugins/SharePlugin.js +8 -0
- package/dist/types/plugins/SharePlugin.js.map +1 -0
- package/dist/types/plugins/index.d.ts +6 -0
- package/dist/types/snapshot.d.ts +81 -0
- package/dist/types/stats.d.ts +101 -0
- package/dist/utils.cjs +127 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/{src/utils.d.ts → utils.d.ts} +7 -3
- package/dist/utils.js +116 -0
- package/dist/utils.js.map +1 -0
- package/package.json +14 -7
- package/dist/index.cjs.cjs +0 -1032
- package/dist/index.cjs.cjs.map +0 -1
- package/dist/index.cjs.d.ts +0 -1
- package/dist/index.esm.js +0 -978
- package/dist/index.esm.js.map +0 -1
- package/dist/normalize-webpack-path.cjs.cjs +0 -42
- package/dist/normalize-webpack-path.cjs.cjs.map +0 -1
- package/dist/normalize-webpack-path.cjs.d.ts +0 -1
- package/dist/normalize-webpack-path.esm.js +0 -39
- package/dist/normalize-webpack-path.esm.js.map +0 -1
- package/dist/src/constant.d.ts +0 -49
- package/dist/src/createModuleFederationConfig.d.ts +0 -2
- package/dist/src/dom.d.ts +0 -29
- package/dist/src/env.d.ts +0 -8
- package/dist/src/generateSnapshotFromManifest.d.ts +0 -15
- package/dist/src/index.d.ts +0 -11
- package/dist/src/logger.d.ts +0 -32
- package/dist/src/node.d.ts +0 -11
- package/dist/src/normalize-webpack-path.d.ts +0 -5
- package/dist/src/normalizeOptions.d.ts +0 -1
- package/dist/src/types/common.d.ts +0 -10
- package/dist/src/types/hooks.d.ts +0 -12
- package/dist/src/types/index.d.ts +0 -6
- package/dist/src/types/manifest.d.ts +0 -29
- package/dist/src/types/plugins/ContainerPlugin.d.ts +0 -32
- package/dist/src/types/plugins/ContainerReferencePlugin.d.ts +0 -15
- package/dist/src/types/plugins/ModuleFederationPlugin.d.ts +0 -425
- package/dist/src/types/plugins/SharePlugin.d.ts +0 -21
- package/dist/src/types/plugins/index.d.ts +0 -4
- package/dist/src/types/snapshot.d.ts +0 -77
- package/dist/src/types/stats.d.ts +0 -97
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { RemoteEntryInfo, ModuleInfo } from './types';\nimport {\n NameTransformMap,\n NameTransformSymbol,\n EncodedNameTransformMap,\n SEPARATOR,\n MANIFEST_EXT,\n} from './constant';\nimport { getProcessEnv, isBrowserEnv, isReactNativeEnv } from './env';\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n\n// entry: name:version version : 1.0.0 | ^1.2.3\n// entry: name:entry entry: https://localhost:9000/federation-manifest.json\nconst parseEntry = (\n str: string,\n devVerOrUrl?: string,\n separator = SEPARATOR,\n): RemoteEntryInfo => {\n const strSplit = str.split(separator);\n const devVersionOrUrl =\n getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl;\n const defaultVersion = '*';\n const isEntry = (s: string) =>\n s.startsWith('http') || s.includes(MANIFEST_EXT);\n\n // Check if the string starts with a type\n if (strSplit.length >= 2) {\n let [name, ...versionOrEntryArr] = strSplit;\n // @name@manifest-url.json\n if (str.startsWith(separator)) {\n name = strSplit.slice(0, 2).join(separator);\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(2).join(separator),\n ];\n }\n\n let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n\n if (isEntry(versionOrEntry)) {\n return {\n name,\n entry: versionOrEntry,\n };\n } else {\n // Apply version rule\n // devVersionOrUrl => inputVersion => defaultVersion\n return {\n name,\n version: versionOrEntry || defaultVersion,\n };\n }\n } else if (strSplit.length === 1) {\n const [name] = strSplit;\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) {\n return {\n name,\n entry: devVersionOrUrl,\n };\n }\n return {\n name,\n version: devVersionOrUrl || defaultVersion,\n };\n } else {\n throw `Invalid entry value: ${str}`;\n }\n};\n\ndeclare global {\n // eslint-disable-next-line no-var\n var FEDERATION_DEBUG: string | undefined;\n}\n\nconst composeKeyWithSeparator = function (\n ...args: (string | undefined)[]\n): string {\n if (!args.length) {\n return '';\n }\n\n return args.reduce((sum, cur) => {\n if (!cur) {\n return sum;\n }\n if (!sum) {\n return cur;\n }\n\n return `${sum}${SEPARATOR}${cur}`;\n }, '') as string;\n};\n\nconst encodeName = function (\n name: string,\n prefix = '',\n withExt = false,\n): string {\n try {\n const ext = withExt ? '.js' : '';\n return `${prefix}${name\n .replace(\n new RegExp(`${NameTransformSymbol.AT}`, 'g'),\n NameTransformMap[NameTransformSymbol.AT],\n )\n .replace(\n new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'),\n NameTransformMap[NameTransformSymbol.HYPHEN],\n )\n .replace(\n new RegExp(`${NameTransformSymbol.SLASH}`, 'g'),\n NameTransformMap[NameTransformSymbol.SLASH],\n )}${ext}`;\n } catch (err) {\n throw err;\n }\n};\n\nconst decodeName = function (\n name: string,\n prefix?: string,\n withExt?: boolean,\n): string {\n try {\n let decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) {\n return decodedName;\n }\n decodedName = decodedName.replace(new RegExp(prefix, 'g'), '');\n }\n decodedName = decodedName\n .replace(\n new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'),\n EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]],\n )\n .replace(\n new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'),\n EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]],\n )\n .replace(\n new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'),\n EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]],\n );\n if (withExt) {\n decodedName = decodedName.replace('.js', '');\n }\n return decodedName;\n } catch (err) {\n throw err;\n }\n};\n\nconst generateExposeFilename = (\n exposeName: string,\n withExt: boolean,\n): string => {\n if (!exposeName) {\n return '';\n }\n\n let expose = exposeName;\n if (expose === '.') {\n expose = 'default_export';\n }\n if (expose.startsWith('./')) {\n expose = expose.replace('./', '');\n }\n\n return encodeName(expose, '__federation_expose_', withExt);\n};\n\nconst generateShareFilename = (pkgName: string, withExt: boolean): string => {\n if (!pkgName) {\n return '';\n }\n return encodeName(pkgName, '__federation_shared_', withExt);\n};\n\nconst getResourceUrl = (module: ModuleInfo, sourceUrl: string): string => {\n if ('getPublicPath' in module) {\n let publicPath;\n\n if (!module.getPublicPath.startsWith('function')) {\n publicPath = new Function(module.getPublicPath)();\n } else {\n publicPath = new Function('return ' + module.getPublicPath)()();\n }\n\n return `${publicPath}${sourceUrl}`;\n } else if ('publicPath' in module) {\n if (\n !isBrowserEnv() &&\n !isReactNativeEnv() &&\n 'ssrPublicPath' in module &&\n typeof module.ssrPublicPath === 'string'\n ) {\n return `${module.ssrPublicPath}${sourceUrl}`;\n }\n return `${module.publicPath}${sourceUrl}`;\n } else {\n console.warn(\n 'Cannot get resource URL. If in debug mode, please ignore.',\n module,\n sourceUrl,\n );\n return '';\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst assert = (condition: any, msg: string): asserts condition => {\n if (!condition) {\n error(msg);\n }\n};\n\nconst error = (msg: string | Error | unknown): never => {\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n};\n\nconst warn = (msg: Parameters<typeof console.warn>[0]): void => {\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n};\n\nfunction safeToString(info: any): string {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return '';\n }\n}\n\n// RegExp for version string\nconst VERSION_PATTERN_REGEXP: RegExp = /^([\\d^=v<>~]|[*xX]$)/;\n\nfunction isRequiredVersion(str: string): boolean {\n return VERSION_PATTERN_REGEXP.test(str);\n}\n\nexport {\n parseEntry,\n decodeName,\n encodeName,\n composeKeyWithSeparator,\n generateExposeFilename,\n generateShareFilename,\n getResourceUrl,\n assert,\n error,\n warn,\n safeToString,\n isRequiredVersion,\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/sdk",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A sdk for support module federation",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
},
|
|
24
24
|
"author": "zhanghang <hanric.zhang@gmail.com>",
|
|
25
25
|
"sideEffects": false,
|
|
26
|
-
"main": "./dist/index.cjs
|
|
27
|
-
"module": "./dist/index.
|
|
26
|
+
"main": "./dist/index.cjs",
|
|
27
|
+
"module": "./dist/index.js",
|
|
28
28
|
"types": "./dist/index.d.ts",
|
|
29
29
|
"browser": {
|
|
30
30
|
"url": false
|
|
@@ -33,21 +33,21 @@
|
|
|
33
33
|
".": {
|
|
34
34
|
"import": {
|
|
35
35
|
"types": "./dist/index.d.ts",
|
|
36
|
-
"default": "./dist/index.
|
|
36
|
+
"default": "./dist/index.js"
|
|
37
37
|
},
|
|
38
38
|
"require": {
|
|
39
39
|
"types": "./dist/index.d.ts",
|
|
40
|
-
"default": "./dist/index.cjs
|
|
40
|
+
"default": "./dist/index.cjs"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"./normalize-webpack-path": {
|
|
44
44
|
"import": {
|
|
45
45
|
"types": "./dist/normalize-webpack-path.d.ts",
|
|
46
|
-
"default": "./dist/normalize-webpack-path.
|
|
46
|
+
"default": "./dist/normalize-webpack-path.js"
|
|
47
47
|
},
|
|
48
48
|
"require": {
|
|
49
49
|
"types": "./dist/normalize-webpack-path.d.ts",
|
|
50
|
-
"default": "./dist/normalize-webpack-path.cjs
|
|
50
|
+
"default": "./dist/normalize-webpack-path.cjs"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
},
|
|
@@ -60,5 +60,12 @@
|
|
|
60
60
|
"./dist/normalize-webpack-path.d.ts"
|
|
61
61
|
]
|
|
62
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"scripts": {
|
|
65
|
+
"build": "tsdown --config tsdown.config.ts",
|
|
66
|
+
"lint": "ESLINT_USE_FLAT_CONFIG=false pnpm exec eslint --ignore-pattern node_modules \"**/*.ts\" \"package.json\"",
|
|
67
|
+
"test": "pnpm exec jest --config jest.config.cjs --passWithNoTests",
|
|
68
|
+
"test:ci": "pnpm exec jest --config jest.config.cjs --passWithNoTests --ci --coverage",
|
|
69
|
+
"pre-release": "pnpm run test && pnpm run build"
|
|
63
70
|
}
|
|
64
71
|
}
|