mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Add support for node: prefixed modules in function node
This commit is contained in:
@@ -92,7 +92,7 @@ function requireModule(module) {
|
||||
|
||||
const parsedModule = parseModuleName(module);
|
||||
|
||||
if (BUILTIN_MODULES.indexOf(parsedModule.module) !== -1) {
|
||||
if (parsedModule.builtin) {
|
||||
return require(parsedModule.module + parsedModule.subpath);
|
||||
}
|
||||
if (!knownExternalModules[parsedModule.module]) {
|
||||
@@ -113,7 +113,7 @@ function importModule(module) {
|
||||
|
||||
const parsedModule = parseModuleName(module);
|
||||
|
||||
if (BUILTIN_MODULES.indexOf(parsedModule.module) !== -1) {
|
||||
if (parsedModule.builtin) {
|
||||
return import(parsedModule.module + parsedModule.subpath);
|
||||
}
|
||||
if (!knownExternalModules[parsedModule.module]) {
|
||||
@@ -135,15 +135,22 @@ function importModule(module) {
|
||||
}
|
||||
|
||||
function parseModuleName(module) {
|
||||
var match = /((?:@[^/]+\/)?[^/@]+)(\/[^/@]+)?(?:@([\s\S]+))?/.exec(module);
|
||||
const match = /((?:@[^/]+\/)?[^/@]+)(\/[^/@]+)?(?:@([\s\S]+))?/.exec(module);
|
||||
if (match) {
|
||||
const moduleName = match[1]
|
||||
let isBuiltIn = false
|
||||
if (/^node:/.test(moduleName)) {
|
||||
isBuiltIn = BUILTIN_MODULES.includes(moduleName.substring(5))
|
||||
} else {
|
||||
isBuiltIn = BUILTIN_MODULES.includes(moduleName)
|
||||
}
|
||||
return {
|
||||
spec: module,
|
||||
module: match[1],
|
||||
module: moduleName,
|
||||
subpath: match[2] || '',
|
||||
version: match[3],
|
||||
builtin: BUILTIN_MODULES.indexOf(match[1]) !== -1,
|
||||
known: !!knownExternalModules[match[1]]
|
||||
builtin: isBuiltIn,
|
||||
known: !!knownExternalModules[moduleName]
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
Reference in New Issue
Block a user