aboutsummaryrefslogtreecommitdiff
path: root/node_modules/resolve-dependencies/lib/node-loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/resolve-dependencies/lib/node-loader.js')
-rw-r--r--node_modules/resolve-dependencies/lib/node-loader.js148
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QjtBQUN4QixtQ0FBcUM7QUFDckMsK0JBQW9DO0FBQ3BDLCtDQUFrRDtBQUNsRCxpQ0FTZTtBQUNmLHVEQUF5RTtBQUV6RSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBQzlELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBTXJELE1BQU0sVUFBVSxHQUFHLElBQUksd0NBQXFCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBUSxFQUMzRCxXQUFXLEdBQUcsa0NBQWUsQ0FBQyxjQUFjLENBQUM7SUFDM0MsVUFBVSxFQUFFLEVBQUU7SUFDZCxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDeEQsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVU7Q0FDWCxDQUFhLEVBQ2QsV0FBVyxHQUFHLGtDQUFlLENBQUMsY0FBYyxDQUFDO0lBQzNDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDckQsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDOUMsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVU7Q0FDWCxDQUFhLEVBQ2QsY0FBYyxHQUE2QjtJQUN6QyxXQUFXLEVBQUUsSUFBSTtJQUNqQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFLFVB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 \ No newline at end of file