diff options
Diffstat (limited to 'node_modules/resolve-dependencies/lib/node-loader.js')
-rw-r--r-- | node_modules/resolve-dependencies/lib/node-loader.js | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/node_modules/resolve-dependencies/lib/node-loader.js b/node_modules/resolve-dependencies/lib/node-loader.js new file mode 100644 index 0000000..1877de4 --- /dev/null +++ b/node_modules/resolve-dependencies/lib/node-loader.js @@ -0,0 +1,148 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.load = exports.resolveSync = void 0; +const fs = __importStar(require("fs")); +const globby_1 = require("globby"); +const path_1 = require("path"); +const gather_deps_1 = require("./gather-deps"); +const file_1 = require("./file"); +const enhanced_resolve_1 = require("enhanced-resolve"); +const { readFileSync, lstatSync, statSync, realpathSync } = fs; +const supportedJsExtensions = ['.js', '.cjs', '.mjs']; +const fileSystem = new enhanced_resolve_1.CachedInputFileSystem(fs, 4000), esmResolver = enhanced_resolve_1.ResolverFactory.createResolver({ + extensions: [], + conditionNames: ['node', 'import', 'require', 'default'], + useSyncFileSystemCalls: true, + symlinks: false, + fileSystem, +}), cjsResolver = enhanced_resolve_1.ResolverFactory.createResolver({ + extensions: ['.js', '.cjs', '.mjs', '.json', '.node'], + conditionNames: ['node', 'require', 'default'], + useSyncFileSystemCalls: true, + symlinks: false, + fileSystem, +}), defaultOptions = { + loadContent: true, + expand: 'none', + isEntry: false, + type: 'commonjs', +}; +function stripControlCharacters(path) { + return path && path.replace(/[\u0000-\u001F\u007F-\u009F]/g, ''); +} +const emptyContext = {}, emptyResolveContext = {}; +function resolveSync(from, request, resolver = cjsResolver) { + const result = { + absPath: '', + pkgPath: '', + pkg: null, + warning: '', + }; + resolver.resolve(emptyContext, from, request, emptyResolveContext, (err, path, data) => { + if (err) { + result.warning = err.message; + return; + } + result.absPath = stripControlCharacters(path); + result.pkgPath = stripControlCharacters(data.descriptionFilePath); + result.pkg = data.descriptionFileData; + return; + }); + return result; +} +exports.resolveSync = resolveSync; +async function expand(file, fileDir, baseDir, globs) { + const files = globby_1.sync(globs, { + cwd: baseDir, + followSymbolicLinks: false, + }); + files + .sort() //glob search is width first and not deterministic + .map((dep) => file_1.ensureDottedRelative(fileDir, path_1.join(baseDir, dep))) + .filter((relDep) => file.absPath !== path_1.join(baseDir, relDep)) + .forEach((relDep) => { + file.deps[relDep] = file.deps[relDep] || null; + }); + const currentDeps = Object.keys(file.deps); + file.package && + file.package.dependencies && + Object.keys(file.package.dependencies || {}).forEach((dependency) => { + if (!currentDeps.some((curDep) => curDep.startsWith(dependency))) { + file.deps[dependency] = file.deps[dependency] || null; + } + }); +} +function load(workingDirectory, request, options = defaultOptions) { + var _a; + const resolver = options.type === 'module' ? esmResolver : cjsResolver, { absPath, pkg, pkgPath, warning } = resolveSync(workingDirectory, request, resolver); + if (!absPath) { + return { warning: warning }; + } + const file = file_1.createFile(absPath), isJs = options.isEntry || supportedJsExtensions.some((x) => absPath.endsWith(x)); + file.absPath = absPath; + if (isJs || absPath.endsWith('json')) { + file.contents = readFileSync(absPath, 'utf-8'); + } + if (isJs) { + try { + const isModule = absPath.endsWith('.mjs') || !file_1.isScript(file.contents); + const parseResult = gather_deps_1.gatherDependencies(file.contents, isModule); + Object.assign(file.deps, parseResult.deps); + file.moduleType = isModule ? 'module' : 'commonjs'; + file.variableImports = parseResult.variable; + } + catch (e) { + return { warning: `Error parsing file: "${file.absPath}"\n${e.stack}` }; + } + } + const fileDir = path_1.dirname(file.absPath), expandVariable = Boolean(options.expand === 'variable' && file.variableImports); + if (file_1.isNodeModule(request) && pkg && pkgPath) { + file.package = pkg; + file.deps[file_1.ensureDottedRelative(fileDir, pkgPath)] = null; + const pkgDir = (file.moduleRoot = path_1.dirname(pkgPath)), expandAll = options.expand === 'all'; + if (expandVariable || expandAll) { + expand(file, fileDir, pkgDir, file_1.nodeModuleGlobs(file)); + file.contextExpanded = true; + } + if (file_1.extraGlobs(file).length) { + expand(file, fileDir, pkgDir, file_1.extraGlobs(file)); + } + } + else if (expandVariable && ((_a = options.context) === null || _a === void 0 ? void 0 : _a.moduleRoot) && !options.context.expanded) { + expand(file, fileDir, options.context.moduleRoot, file_1.nodeModuleGlobs({ package: { files: options.context.globs } })); + file.contextExpanded = true; + } + if (!options.loadContent) { + file.contents = null; + } + const stats = lstatSync(file.absPath); + if (stats.isSymbolicLink()) { + const path = realpathSync(file.absPath); + const absStat = statSync(file.absPath); + file.realPath = path; + file.realSize = absStat.size; + } + file.size = stats.size; + return file; +} +exports.load = load; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QjtBQUN4QixtQ0FBcUM7QUFDckMsK0JBQW9DO0FBQ3BDLCtDQUFrRDtBQUNsRCxpQ0FTZTtBQUNmLHVEQUF5RTtBQUV6RSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBQzlELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBTXJELE1BQU0sVUFBVSxHQUFHLElBQUksd0NBQXFCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBUSxFQUMzRCxXQUFXLEdBQUcsa0NBQWUsQ0FBQyxjQUFjLENBQUM7SUFDM0MsVUFBVSxFQUFFLEVBQUU7SUFDZCxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDeEQsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVU7Q0FDWCxDQUFhLEVBQ2QsV0FBVyxHQUFHLGtDQUFlLENBQUMsY0FBYyxDQUFDO0lBQzNDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDckQsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDOUMsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVU7Q0FDWCxDQUFhLEVBQ2QsY0FBYyxHQUE2QjtJQUN6QyxXQUFXLEVBQUUsSUFBSTtJQUNqQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFLFVBQVU7Q0FDakIsQ0FBQTtBQUlILFNBQVMsc0JBQXNCLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ2xFLENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRyxFQUFFLEVBQ3JCLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtBQUUxQixTQUFnQixXQUFXLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxRQUFRLEdBQUcsV0FBVztJQUMvRSxNQUFNLE1BQU0sR0FBRztRQUNiLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxHQUFHLEVBQUUsSUFBSTtRQUNULE9BQU8sRUFBRSxFQUFFO0tBQ1osQ0FBQTtJQUNELFFBQVEsQ0FBQyxPQUFPLENBQ2QsWUFBWSxFQUNaLElBQUksRUFDSixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLENBQUMsR0FBaUIsRUFBRSxJQUFZLEVBQUUsSUFBUyxFQUFFLEVBQUU7UUFDN0MsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUE7WUFDNUIsT0FBTTtTQUNQO1FBQ0QsTUFBTSxDQUFDLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxNQUFNLENBQUMsT0FBTyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQ2pFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFBO1FBQ3JDLE9BQU07SUFDUixDQUFDLENBQ0YsQ0FBQTtJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQXhCRCxrQ0F3QkM7QUFFRCxLQUFLLFVBQVUsTUFBTSxDQUFDLElBQVUsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLEtBQXdCO0lBQzFGLE1BQU0sS0FBSyxHQUFHLGFBQUksQ0FBQyxLQUFLLEVBQUU7UUFDeEIsR0FBRyxFQUFFLE9BQU87UUFDWixtQkFBbUIsRUFBRSxLQUFLO0tBQzNCLENBQUMsQ0FBQTtJQUNGLEtBQUs7U0FDRixJQUFJLEVBQUUsQ0FBQyxrREFBa0Q7U0FDekQsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQywyQkFBb0IsQ0FBQyxPQUFPLEVBQUUsV0FBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQy9ELE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzFELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUE7SUFDL0MsQ0FBQyxDQUFDLENBQUE7SUFDSixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMxQyxJQUFJLENBQUMsT0FBTztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUE7YUFDdEQ7UUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxTQUFnQixJQUFJLENBQ2xCLGdCQUF3QixFQUN4QixPQUFlLEVBQ2YsT0FBTyxHQUFHLGNBQWM7O0lBRXhCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFDcEUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3ZGLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBO0tBQzVCO0lBRUQsTUFBTSxJQUFJLEdBQUcsaUJBQVUsQ0FBQyxPQUFPLENBQUMsRUFDOUIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFbEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFFdEIsSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7S0FDL0M7SUFFRCxJQUFJLElBQUksRUFBRTtRQUNSLElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBUSxDQUFDLElBQUksQ0FBQyxRQUFrQixDQUFDLENBQUE7WUFDL0UsTUFBTSxXQUFXLEdBQUcsZ0NBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtZQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUE7U0FDNUM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUE7U0FDeEU7S0FDRjtJQUVELE1BQU0sT0FBTyxHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQ25DLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBRWpGLElBQUksbUJBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQ3hELE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDakQsU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFBO1FBQ3RDLElBQUksY0FBYyxJQUFJLFNBQVMsRUFBRTtZQUMvQixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsc0JBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO1NBQzVCO1FBQ0QsSUFBSSxpQkFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUMzQixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1NBQ2hEO0tBQ0Y7U0FBTSxJQUFJLGNBQWMsS0FBSSxNQUFBLE9BQU8sQ0FBQyxPQUFPLDBDQUFFLFVBQVUsQ0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7UUFDckYsTUFBTSxDQUNKLElBQUksRUFDSixPQUFPLEVBQ1AsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQzFCLHNCQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQy9ELENBQUE7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtLQUM1QjtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0tBQ3JCO0lBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNyQyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRTtRQUMxQixNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFBO0tBQzdCO0lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO0lBQ3RCLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQXJFRCxvQkFxRUMifQ==
\ No newline at end of file |