@module-federation/sdk
Advanced tools
Comparing version 0.0.0-next-20250208115611 to 0.0.0-next-20250214035103
'use strict'; | ||
var isomorphicRslog = require('isomorphic-rslog'); | ||
var env = require('./env.cjs.js'); | ||
var polyfills = require('./polyfills.cjs.js'); | ||
const FederationModuleManifest = 'federation-manifest.json'; | ||
const MANIFEST_EXT = '.json'; | ||
const BROWSER_LOG_KEY = 'FEDERATION_DEBUG'; | ||
const BROWSER_LOG_VALUE = '1'; | ||
const NameTransformSymbol = { | ||
AT: '@', | ||
HYPHEN: '-', | ||
SLASH: '/' | ||
}; | ||
const NameTransformMap = { | ||
[NameTransformSymbol.AT]: 'scope_', | ||
[NameTransformSymbol.HYPHEN]: '_', | ||
[NameTransformSymbol.SLASH]: '__' | ||
}; | ||
const EncodedNameTransformMap = { | ||
[NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT, | ||
[NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN, | ||
[NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH | ||
}; | ||
const SEPARATOR = ':'; | ||
const ManifestFileName = 'mf-manifest.json'; | ||
const StatsFileName = 'mf-stats.json'; | ||
const MFModuleType = { | ||
NPM: 'npm', | ||
APP: 'app' | ||
}; | ||
const MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__'; | ||
const ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX'; | ||
const TEMP_DIR = '.federation'; | ||
const MFPrefetchCommon = { | ||
identifier: 'MFDataPrefetch', | ||
globalKey: '__PREFETCH__', | ||
library: 'mf-data-prefetch', | ||
exportsKey: '__PREFETCH_EXPORTS__', | ||
fileName: 'bootstrap.js' | ||
}; | ||
var ContainerPlugin = /*#__PURE__*/Object.freeze({ | ||
@@ -59,69 +22,10 @@ __proto__: null | ||
function isBrowserEnv() { | ||
return typeof window !== 'undefined'; | ||
} | ||
function isBrowserDebug() { | ||
try { | ||
if (isBrowserEnv() && window.localStorage) { | ||
return localStorage.getItem(BROWSER_LOG_KEY) === BROWSER_LOG_VALUE; | ||
} | ||
} catch (error) { | ||
return false; | ||
} | ||
return false; | ||
} | ||
function isDebugMode() { | ||
if (typeof process !== 'undefined' && process.env && process.env['FEDERATION_DEBUG']) { | ||
return Boolean(process.env['FEDERATION_DEBUG']); | ||
} | ||
if (typeof FEDERATION_DEBUG !== 'undefined' && Boolean(FEDERATION_DEBUG)) { | ||
return true; | ||
} | ||
return isBrowserDebug(); | ||
} | ||
const getProcessEnv = function() { | ||
return typeof process !== 'undefined' && process.env ? process.env : {}; | ||
}; | ||
const PREFIX = '[ Module Federation ]'; | ||
function setDebug(loggerInstance) { | ||
if (isDebugMode()) { | ||
loggerInstance.level = 'verbose'; | ||
} | ||
} | ||
function setPrefix(loggerInstance, prefix) { | ||
loggerInstance.labels = { | ||
warn: `${prefix} Warn`, | ||
error: `${prefix} Error`, | ||
success: `${prefix} Success`, | ||
info: `${prefix} Info`, | ||
ready: `${prefix} Ready`, | ||
debug: `${prefix} Debug` | ||
}; | ||
} | ||
function createLogger(prefix) { | ||
const loggerInstance = isomorphicRslog.createLogger({ | ||
labels: { | ||
warn: `${PREFIX} Warn`, | ||
error: `${PREFIX} Error`, | ||
success: `${PREFIX} Success`, | ||
info: `${PREFIX} Info`, | ||
ready: `${PREFIX} Ready`, | ||
debug: `${PREFIX} Debug` | ||
} | ||
}); | ||
setDebug(loggerInstance); | ||
setPrefix(loggerInstance, prefix); | ||
return loggerInstance; | ||
} | ||
const logger = createLogger(PREFIX); | ||
const LOG_CATEGORY = '[ Federation Runtime ]'; | ||
// entry: name:version version : 1.0.0 | ^1.2.3 | ||
// entry: name:entry entry: https://localhost:9000/federation-manifest.json | ||
const parseEntry = (str, devVerOrUrl, separator = SEPARATOR)=>{ | ||
const parseEntry = (str, devVerOrUrl, separator = env.SEPARATOR)=>{ | ||
const strSplit = str.split(separator); | ||
const devVersionOrUrl = getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl; | ||
const devVersionOrUrl = env.getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl; | ||
const defaultVersion = '*'; | ||
const isEntry = (s)=>s.startsWith('http') || s.includes(MANIFEST_EXT); | ||
const isEntry = (s)=>s.startsWith('http') || s.includes(env.MANIFEST_EXT); | ||
// Check if the string starts with a type | ||
@@ -177,3 +81,3 @@ if (strSplit.length >= 2) { | ||
} | ||
return `${sum}${SEPARATOR}${cur}`; | ||
return `${sum}${env.SEPARATOR}${cur}`; | ||
}, ''); | ||
@@ -184,3 +88,3 @@ }; | ||
const ext = withExt ? '.js' : ''; | ||
return `${prefix}${name.replace(new RegExp(`${NameTransformSymbol.AT}`, 'g'), NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'), NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`, 'g'), NameTransformMap[NameTransformSymbol.SLASH])}${ext}`; | ||
return `${prefix}${name.replace(new RegExp(`${env.NameTransformSymbol.AT}`, 'g'), env.NameTransformMap[env.NameTransformSymbol.AT]).replace(new RegExp(`${env.NameTransformSymbol.HYPHEN}`, 'g'), env.NameTransformMap[env.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${env.NameTransformSymbol.SLASH}`, 'g'), env.NameTransformMap[env.NameTransformSymbol.SLASH])}${ext}`; | ||
} catch (err) { | ||
@@ -199,3 +103,3 @@ throw err; | ||
} | ||
decodedName = decodedName.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]); | ||
decodedName = decodedName.replace(new RegExp(`${env.NameTransformMap[env.NameTransformSymbol.AT]}`, 'g'), env.EncodedNameTransformMap[env.NameTransformMap[env.NameTransformSymbol.AT]]).replace(new RegExp(`${env.NameTransformMap[env.NameTransformSymbol.SLASH]}`, 'g'), env.EncodedNameTransformMap[env.NameTransformMap[env.NameTransformSymbol.SLASH]]).replace(new RegExp(`${env.NameTransformMap[env.NameTransformSymbol.HYPHEN]}`, 'g'), env.EncodedNameTransformMap[env.NameTransformMap[env.NameTransformSymbol.HYPHEN]]); | ||
if (withExt) { | ||
@@ -400,3 +304,3 @@ decodedName = decodedName.replace('.js', ''); | ||
function isManifestProvider(moduleInfo) { | ||
if ('remoteEntry' in moduleInfo && moduleInfo.remoteEntry.includes(MANIFEST_EXT)) { | ||
if ('remoteEntry' in moduleInfo && moduleInfo.remoteEntry.includes(env.MANIFEST_EXT)) { | ||
return true; | ||
@@ -759,17 +663,20 @@ } else { | ||
exports.BROWSER_LOG_KEY = BROWSER_LOG_KEY; | ||
exports.BROWSER_LOG_VALUE = BROWSER_LOG_VALUE; | ||
exports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX; | ||
exports.EncodedNameTransformMap = EncodedNameTransformMap; | ||
exports.FederationModuleManifest = FederationModuleManifest; | ||
exports.MANIFEST_EXT = MANIFEST_EXT; | ||
exports.MFModuleType = MFModuleType; | ||
exports.MFPrefetchCommon = MFPrefetchCommon; | ||
exports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER; | ||
exports.ManifestFileName = ManifestFileName; | ||
exports.NameTransformMap = NameTransformMap; | ||
exports.NameTransformSymbol = NameTransformSymbol; | ||
exports.SEPARATOR = SEPARATOR; | ||
exports.StatsFileName = StatsFileName; | ||
exports.TEMP_DIR = TEMP_DIR; | ||
exports.BROWSER_LOG_KEY = env.BROWSER_LOG_KEY; | ||
exports.BROWSER_LOG_VALUE = env.BROWSER_LOG_VALUE; | ||
exports.ENCODE_NAME_PREFIX = env.ENCODE_NAME_PREFIX; | ||
exports.EncodedNameTransformMap = env.EncodedNameTransformMap; | ||
exports.FederationModuleManifest = env.FederationModuleManifest; | ||
exports.MANIFEST_EXT = env.MANIFEST_EXT; | ||
exports.MFModuleType = env.MFModuleType; | ||
exports.MFPrefetchCommon = env.MFPrefetchCommon; | ||
exports.MODULE_DEVTOOL_IDENTIFIER = env.MODULE_DEVTOOL_IDENTIFIER; | ||
exports.ManifestFileName = env.ManifestFileName; | ||
exports.NameTransformMap = env.NameTransformMap; | ||
exports.NameTransformSymbol = env.NameTransformSymbol; | ||
exports.SEPARATOR = env.SEPARATOR; | ||
exports.StatsFileName = env.StatsFileName; | ||
exports.TEMP_DIR = env.TEMP_DIR; | ||
exports.getProcessEnv = env.getProcessEnv; | ||
exports.isBrowserEnv = env.isBrowserEnv; | ||
exports.isDebugMode = env.isDebugMode; | ||
exports.assert = assert; | ||
@@ -780,3 +687,2 @@ exports.composeKeyWithSeparator = composeKeyWithSeparator; | ||
exports.createLink = createLink; | ||
exports.createLogger = createLogger; | ||
exports.createScript = createScript; | ||
@@ -790,7 +696,4 @@ exports.createScriptNode = createScriptNode; | ||
exports.generateSnapshotFromManifest = generateSnapshotFromManifest; | ||
exports.getProcessEnv = getProcessEnv; | ||
exports.getResourceUrl = getResourceUrl; | ||
exports.inferAutoPublicPath = inferAutoPublicPath; | ||
exports.isBrowserEnv = isBrowserEnv; | ||
exports.isDebugMode = isDebugMode; | ||
exports.isManifestProvider = isManifestProvider; | ||
@@ -801,3 +704,2 @@ exports.isRequiredVersion = isRequiredVersion; | ||
exports.loadScriptNode = loadScriptNode; | ||
exports.logger = logger; | ||
exports.moduleFederationPlugin = ModuleFederationPlugin; | ||
@@ -804,0 +706,0 @@ exports.normalizeOptions = normalizeOptions; |
@@ -5,3 +5,2 @@ export * from './constant'; | ||
export { generateSnapshotFromManifest, isManifestProvider, simpleJoinRemoteEntry, inferAutoPublicPath, } from './generateSnapshotFromManifest'; | ||
export * from './logger'; | ||
export * from './env'; | ||
@@ -8,0 +7,0 @@ export * from './dom'; |
import { RemoteEntryInfo, ModuleInfo } from './types'; | ||
import { logger } from './logger'; | ||
declare const parseEntry: (str: string, devVerOrUrl?: string, separator?: string) => RemoteEntryInfo; | ||
@@ -18,2 +17,2 @@ declare global { | ||
declare function isRequiredVersion(str: string): boolean; | ||
export { parseEntry, logger, decodeName, encodeName, composeKeyWithSeparator, generateExposeFilename, generateShareFilename, getResourceUrl, assert, error, warn, safeToString, isRequiredVersion, }; | ||
export { parseEntry, decodeName, encodeName, composeKeyWithSeparator, generateExposeFilename, generateShareFilename, getResourceUrl, assert, error, warn, safeToString, isRequiredVersion, }; |
{ | ||
"name": "@module-federation/sdk", | ||
"version": "0.0.0-next-20250208115611", | ||
"version": "0.0.0-next-20250214035103", | ||
"license": "MIT", | ||
@@ -33,2 +33,7 @@ "description": "A sdk for support module federation", | ||
}, | ||
"./logger": { | ||
"types": "./dist/logger.cjs.d.ts", | ||
"import": "./dist/logger.esm.mjs", | ||
"require": "./dist/logger.cjs.js" | ||
}, | ||
"./normalize-webpack-path": { | ||
@@ -47,2 +52,5 @@ "types": "./dist/normalize-webpack-path.cjs.d.ts", | ||
"./dist/normalize-webpack-path.cjs.d.ts" | ||
], | ||
"logger": [ | ||
"./dist/logger.cjs.d.ts" | ||
] | ||
@@ -49,0 +57,0 @@ } |
Sorry, the diff of this file is not supported yet
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
106732
41
2671
6