🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

@vercel/nft

Package Overview
Dependencies
Maintainers
9
Versions
85
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vercel/nft - npm Package Compare versions

Comparing version
0.26.4
to
0.26.5
+201
-94
out/analyze.js

@@ -29,3 +29,3 @@ "use strict";

//require("acorn-private-class-elements")
require("acorn-import-attributes").importAttributes);
require('acorn-import-attributes').importAttributes);
const os_1 = __importDefault(require("os"));

@@ -40,5 +40,5 @@ const wrappers_1 = require("./utils/wrappers");

NODE_ENV: static_eval_1.UNKNOWN,
[static_eval_1.UNKNOWN]: true
[static_eval_1.UNKNOWN]: true,
},
[static_eval_1.UNKNOWN]: true
[static_eval_1.UNKNOWN]: true,
};

@@ -71,3 +71,3 @@ // unique symbol value to identify express instance in static analysis

stat: FS_FN,
statSync: FS_FN
statSync: FS_FN,
};

@@ -85,3 +85,3 @@ const fsExtraSymbols = {

bindings: {
default: BINDINGS
default: BINDINGS,
},

@@ -93,33 +93,33 @@ express: {

set: EXPRESS_SET,
engine: EXPRESS_ENGINE
engine: EXPRESS_ENGINE,
};
}
},
},
fs: {
default: fsSymbols,
...fsSymbols
...fsSymbols,
},
'fs-extra': {
default: fsExtraSymbols,
...fsExtraSymbols
...fsExtraSymbols,
},
'graceful-fs': {
default: fsSymbols,
...fsSymbols
...fsSymbols,
},
process: {
default: staticProcess,
...staticProcess
...staticProcess,
},
// populated below
path: {
default: {}
default: {},
},
os: {
default: os_1.default,
...os_1.default
...os_1.default,
},
'@mapbox/node-pre-gyp': {
default: node_pre_gyp_1.default,
...node_pre_gyp_1.default
...node_pre_gyp_1.default,
},

@@ -130,25 +130,25 @@ 'node-pre-gyp': binary_locators_1.pregyp,

'node-gyp-build': {
default: NODE_GYP_BUILD
default: NODE_GYP_BUILD,
},
'@aminya/node-gyp-build': {
default: NODE_GYP_BUILD
default: NODE_GYP_BUILD,
},
'nbind': {
nbind: {
init: NBIND_INIT,
default: {
init: NBIND_INIT
}
init: NBIND_INIT,
},
},
'resolve-from': {
default: resolve_from_1.default
default: resolve_from_1.default,
},
'strong-globalize': {
default: {
SetRootDir: SET_ROOT_DIR
SetRootDir: SET_ROOT_DIR,
},
SetRootDir: SET_ROOT_DIR
SetRootDir: SET_ROOT_DIR,
},
'pkginfo': {
default: PKG_INFO
}
pkginfo: {
default: PKG_INFO,
},
});

@@ -165,6 +165,9 @@ const globalBindings = {

Object: {
assign: Object.assign
}
assign: Object.assign,
},
};
globalBindings.global = globalBindings.GLOBAL = globalBindings.globalThis = globalBindings;
globalBindings.global =
globalBindings.GLOBAL =
globalBindings.globalThis =
globalBindings;
// call expression triggers

@@ -174,3 +177,3 @@ const TRIGGER = Symbol();

const staticPath = staticModules.path;
Object.keys(path_1.default).forEach(name => {
Object.keys(path_1.default).forEach((name) => {
const pathFn = path_1.default[name];

@@ -194,3 +197,8 @@ if (typeof pathFn === 'function') {

const excludeAssetExtensions = new Set(['.h', '.cmake', '.c', '.cpp']);
const excludeAssetFiles = new Set(['CHANGELOG.md', 'README.md', 'readme.md', 'changelog.md']);
const excludeAssetFiles = new Set([
'CHANGELOG.md',
'README.md',
'readme.md',
'changelog.md',
]);
let cwd;

@@ -217,3 +225,2 @@ const absoluteRegEx = /^\/[^\/]+|^[a-z]:[\\/][^\\/]+/i;

const repeatGlobRegEx = /([\/\\]\*\*[\/\\]\*)+/g;
;
async function analyze(id, code, job) {

@@ -232,8 +239,12 @@ const assets = new Set();

const wildcardIndex = wildcardPath.indexOf(static_eval_1.WILDCARD);
const dirIndex = wildcardIndex === -1 ? wildcardPath.length : wildcardPath.lastIndexOf(path_1.default.sep, wildcardIndex);
const dirIndex = wildcardIndex === -1
? wildcardPath.length
: wildcardPath.lastIndexOf(path_1.default.sep, wildcardIndex);
const assetDirPath = wildcardPath.substring(0, dirIndex);
const patternPath = wildcardPath.slice(dirIndex);
const wildcardPattern = patternPath.replace(static_eval_1.wildcardRegEx, (_match, index) => {
const wildcardPattern = patternPath
.replace(static_eval_1.wildcardRegEx, (_match, index) => {
return patternPath[index - 1] === path_1.default.sep ? '**/*' : '*';
}).replace(repeatGlobRegEx, '/**/*') || '/**/*';
})
.replace(repeatGlobRegEx, '/**/*') || '/**/*';
if (job.ignoreFn(path_1.default.relative(job.base, assetDirPath + wildcardPattern)))

@@ -244,8 +255,12 @@ return;

console.log('Globbing ' + assetDirPath + wildcardPattern);
const files = (await new Promise((resolve, reject) => (0, glob_1.default)(assetDirPath + wildcardPattern, { mark: true, ignore: assetDirPath + '/**/node_modules/**/*', dot: true }, (err, files) => err ? reject(err) : resolve(files))));
const files = await new Promise((resolve, reject) => (0, glob_1.default)(assetDirPath + wildcardPattern, {
mark: true,
ignore: assetDirPath + '/**/node_modules/**/*',
dot: true,
}, (err, files) => (err ? reject(err) : resolve(files))));
files
.filter(name => !excludeAssetExtensions.has(path_1.default.extname(name)) &&
.filter((name) => !excludeAssetExtensions.has(path_1.default.extname(name)) &&
!excludeAssetFiles.has(path_1.default.basename(name)) &&
!name.endsWith('/'))
.forEach(file => assets.add(file));
.forEach((file) => assets.add(file));
});

@@ -259,3 +274,6 @@ };

try {
ast = acorn.parse(code, { ecmaVersion: 'latest', allowReturnOutsideFunction: true });
ast = acorn.parse(code, {
ecmaVersion: 'latest',
allowReturnOutsideFunction: true,
});
isESM = false;

@@ -272,3 +290,7 @@ }

try {
ast = acorn.parse(code, { ecmaVersion: 'latest', sourceType: 'module', allowAwaitOutsideFunction: true });
ast = acorn.parse(code, {
ecmaVersion: 'latest',
sourceType: 'module',
allowAwaitOutsideFunction: true,
});
isESM = true;

@@ -286,12 +308,12 @@ }

shadowDepth: 0,
value: { value: path_1.default.resolve(id, '..') }
value: { value: path_1.default.resolve(id, '..') },
},
__filename: {
shadowDepth: 0,
value: { value: id }
value: { value: id },
},
process: {
shadowDepth: 0,
value: { value: staticProcess }
}
value: { value: staticProcess },
},
});

@@ -310,5 +332,5 @@ if (!isESM || job.mixedModules) {

return (0, resolve_dependency_js_1.default)(specifier, id, job);
}
}
}
},
},
},
};

@@ -324,3 +346,3 @@ knownBindings.require.value.value.resolve[TRIGGER] = true;

shadowDepth: 0,
value: value
value: value,
};

@@ -351,10 +373,15 @@ }

setKnownBinding(impt.local.name, { value: staticModule });
else if (impt.type === 'ImportDefaultSpecifier' && 'default' in staticModule)
else if (impt.type === 'ImportDefaultSpecifier' &&
'default' in staticModule)
setKnownBinding(impt.local.name, { value: staticModule.default });
else if (impt.type === 'ImportSpecifier' && impt.imported.name in staticModule)
setKnownBinding(impt.local.name, { value: staticModule[impt.imported.name] });
else if (impt.type === 'ImportSpecifier' &&
impt.imported.name in staticModule)
setKnownBinding(impt.local.name, {
value: staticModule[impt.imported.name],
});
}
}
}
else if (decl.type === 'ExportNamedDeclaration' || decl.type === 'ExportAllDeclaration') {
else if (decl.type === 'ExportNamedDeclaration' ||
decl.type === 'ExportAllDeclaration') {
if (decl.source)

@@ -367,6 +394,6 @@ deps.add(String(decl.source.value));

const vars = Object.create(null);
Object.keys(globalBindings).forEach(name => {
Object.keys(globalBindings).forEach((name) => {
vars[name] = { value: globalBindings[name] };
});
Object.keys(knownBindings).forEach(name => {
Object.keys(knownBindings).forEach((name) => {
vars[name] = getKnownBinding(name);

@@ -386,7 +413,10 @@ });

function emitWildcardRequire(wildcardRequire) {
if (!job.analysis.emitGlobs || !wildcardRequire.startsWith('./') && !wildcardRequire.startsWith('../'))
if (!job.analysis.emitGlobs ||
(!wildcardRequire.startsWith('./') && !wildcardRequire.startsWith('../')))
return;
wildcardRequire = path_1.default.resolve(dir, wildcardRequire);
const wildcardIndex = wildcardRequire.indexOf(static_eval_1.WILDCARD);
const dirIndex = wildcardIndex === -1 ? wildcardRequire.length : wildcardRequire.lastIndexOf(path_1.default.sep, wildcardIndex);
const dirIndex = wildcardIndex === -1
? wildcardRequire.length
: wildcardRequire.lastIndexOf(path_1.default.sep, wildcardIndex);
const wildcardDirPath = wildcardRequire.substring(0, dirIndex);

@@ -398,3 +428,4 @@ const patternPath = wildcardRequire.slice(dirIndex);

if (!wildcardPattern.endsWith('*'))
wildcardPattern += '?(' + (job.ts ? '.ts|.tsx|' : '') + '.js|.json|.node)';
wildcardPattern +=
'?(' + (job.ts ? '.ts|.tsx|' : '') + '.js|.json|.node)';
if (job.ignoreFn(path_1.default.relative(job.base, wildcardDirPath + wildcardPattern)))

@@ -405,8 +436,8 @@ return;

console.log('Globbing ' + wildcardDirPath + wildcardPattern);
const files = (await new Promise((resolve, reject) => (0, glob_1.default)(wildcardDirPath + wildcardPattern, { mark: true, ignore: wildcardDirPath + '/**/node_modules/**/*' }, (err, files) => err ? reject(err) : resolve(files))));
const files = await new Promise((resolve, reject) => (0, glob_1.default)(wildcardDirPath + wildcardPattern, { mark: true, ignore: wildcardDirPath + '/**/node_modules/**/*' }, (err, files) => (err ? reject(err) : resolve(files))));
files
.filter(name => !excludeAssetExtensions.has(path_1.default.extname(name)) &&
.filter((name) => !excludeAssetExtensions.has(path_1.default.extname(name)) &&
!excludeAssetFiles.has(path_1.default.basename(name)) &&
!name.endsWith('/'))
.forEach(file => deps.add(file));
.forEach((file) => deps.add(file));
});

@@ -444,3 +475,10 @@ }

(0, wrappers_1.handleWrappers)(ast);
await (0, special_cases_1.default)({ id, ast, emitDependency: path => deps.add(path), emitAsset: path => assets.add(path), emitAssetDirectory, job });
await (0, special_cases_1.default)({
id,
ast,
emitDependency: (path) => deps.add(path),
emitAsset: (path) => assets.add(path),
emitAssetDirectory,
job,
});
}

@@ -455,4 +493,7 @@ async function backtrack(parent, context) {

if (curStaticValue) {
if ('value' in curStaticValue && typeof curStaticValue.value !== 'symbol' ||
'then' in curStaticValue && typeof curStaticValue.then !== 'symbol' && typeof curStaticValue.else !== 'symbol') {
if (('value' in curStaticValue &&
typeof curStaticValue.value !== 'symbol') ||
('then' in curStaticValue &&
typeof curStaticValue.then !== 'symbol' &&
typeof curStaticValue.else !== 'symbol')) {
staticChildValue = curStaticValue;

@@ -485,9 +526,15 @@ staticChildNode = parent;

if (node.type === 'Identifier') {
if ((0, ast_helpers_1.isIdentifierRead)(node, parent) && job.analysis.computeFileReferences) {
if ((0, ast_helpers_1.isIdentifierRead)(node, parent) &&
job.analysis.computeFileReferences) {
let binding;
// detect asset leaf expression triggers (if not already)
// __dirname, __filename
if (typeof (binding = getKnownBinding(node.name)?.value) === 'string' && binding.match(absoluteRegEx) ||
binding && (typeof binding === 'function' || typeof binding === 'object') && binding[TRIGGER]) {
staticChildValue = { value: typeof binding === 'string' ? binding : undefined };
if ((typeof (binding = getKnownBinding(node.name)?.value) === 'string' &&
binding.match(absoluteRegEx)) ||
(binding &&
(typeof binding === 'function' || typeof binding === 'object') &&
binding[TRIGGER])) {
staticChildValue = {
value: typeof binding === 'string' ? binding : undefined,
};
staticChildNode = node;

@@ -498,3 +545,9 @@ await backtrack(parent, this);

}
else if (job.analysis.computeFileReferences && node.type === 'MemberExpression' && node.object.type === 'MetaProperty' && node.object.meta.name === 'import' && node.object.property.name === 'meta' && (node.property.computed ? node.property.value : node.property.name) === 'url') {
else if (job.analysis.computeFileReferences &&
node.type === 'MemberExpression' &&
node.object.type === 'MetaProperty' &&
node.object.meta.name === 'import' &&
node.object.property.name === 'meta' &&
(node.property.computed ? node.property.value : node.property.name) ===
'url') {
// import.meta.url leaf trigger

@@ -516,4 +569,7 @@ staticChildValue = { value: importMetaUrl };

else if (node.type === 'CallExpression') {
if ((!isESM || job.mixedModules) && node.callee.type === 'Identifier' && node.arguments.length) {
if (node.callee.name === 'require' && knownBindings.require.shadowDepth === 0) {
if ((!isESM || job.mixedModules) &&
node.callee.type === 'Identifier' &&
node.arguments.length) {
if (node.callee.name === 'require' &&
knownBindings.require.shadowDepth === 0) {
await processRequireArg(node.arguments[0]);

@@ -547,6 +603,11 @@ return;

}
const calleeValue = job.analysis.evaluatePureExpressions && await computePureStaticValue(node.callee, false);
const calleeValue = job.analysis.evaluatePureExpressions &&
(await computePureStaticValue(node.callee, false));
// if we have a direct pure static function,
// and that function has a [TRIGGER] symbol -> trigger asset emission from it
if (calleeValue && 'value' in calleeValue && typeof calleeValue.value === 'function' && calleeValue.value[TRIGGER] && job.analysis.computeFileReferences) {
if (calleeValue &&
'value' in calleeValue &&
typeof calleeValue.value === 'function' &&
calleeValue.value[TRIGGER] &&
job.analysis.computeFileReferences) {
staticChildValue = await computePureStaticValue(node, true);

@@ -560,3 +621,5 @@ // if it computes, then we start backtracking

// handle well-known function symbol cases
else if (calleeValue && 'value' in calleeValue && typeof calleeValue.value === 'symbol') {
else if (calleeValue &&
'value' in calleeValue &&
typeof calleeValue.value === 'symbol') {
switch (calleeValue.value) {

@@ -612,3 +675,4 @@ // customRequireWrapper('...')

node.arguments[0].arguments[1].type === 'Literal';
if (knownBindings.__dirname.shadowDepth === 0 && (withDirname || withPathJoinDirname)) {
if (knownBindings.__dirname.shadowDepth === 0 &&
(withDirname || withPathJoinDirname)) {
const pathJoinedDir = withPathJoinDirname

@@ -643,3 +707,6 @@ ? path_1.default.join(dir, node.arguments[0].arguments[1].value)

const arg = await computePureStaticValue(node.arguments[0], false);
if (arg && 'value' in arg && (typeof arg.value === 'string' || typeof arg.value === 'undefined')) {
if (arg &&
'value' in arg &&
(typeof arg.value === 'string' ||
typeof arg.value === 'undefined')) {
const bindingInfo = (0, binary_locators_1.nbind)(arg.value);

@@ -675,3 +742,5 @@ if (bindingInfo && bindingInfo.path) {

staticChildNode = node.arguments[0];
if (calleeValue.value === FS_DIR_FN && node.arguments[0].type === 'Identifier' && node.arguments[0].name === '__dirname') {
if (calleeValue.value === FS_DIR_FN &&
node.arguments[0].type === 'Identifier' &&
node.arguments[0].name === '__dirname') {
// Special case `fs.readdirSync(__dirname)` to emit right away

@@ -700,3 +769,4 @@ emitAssetDirectory(dir);

const rootPjson = path_1.default.resolve('/package.json');
while (pjsonPath !== rootPjson && (await job.stat(pjsonPath) === null))
while (pjsonPath !== rootPjson &&
(await job.stat(pjsonPath)) === null)
pjsonPath = path_1.default.resolve(pjsonPath, '../../package.json');

@@ -709,3 +779,6 @@ if (pjsonPath !== rootPjson)

}
else if (node.type === 'VariableDeclaration' && parent && !(0, ast_helpers_1.isVarLoop)(parent) && job.analysis.evaluatePureExpressions) {
else if (node.type === 'VariableDeclaration' &&
parent &&
!(0, ast_helpers_1.isVarLoop)(parent) &&
job.analysis.evaluatePureExpressions) {
for (const decl of node.declarations) {

@@ -730,6 +803,10 @@ if (!decl.init)

continue;
setKnownBinding(prop.value.name, { value: computed.value[prop.key.name] });
setKnownBinding(prop.value.name, {
value: computed.value[prop.key.name],
});
}
}
if (!('value' in computed) && isAbsolutePathOrUrl(computed.then) && isAbsolutePathOrUrl(computed.else)) {
if (!('value' in computed) &&
isAbsolutePathOrUrl(computed.then) &&
isAbsolutePathOrUrl(computed.else)) {
staticChildValue = computed;

@@ -742,3 +819,6 @@ staticChildNode = decl.init;

}
else if (node.type === 'AssignmentExpression' && parent && !(0, ast_helpers_1.isLoop)(parent) && job.analysis.evaluatePureExpressions) {
else if (node.type === 'AssignmentExpression' &&
parent &&
!(0, ast_helpers_1.isLoop)(parent) &&
job.analysis.evaluatePureExpressions) {
if (!hasKnownBindingValue(node.left.name)) {

@@ -761,3 +841,5 @@ const computed = await computePureStaticValue(node.right, false);

continue;
setKnownBinding(prop.value.name, { value: computed.value[prop.key.name] });
setKnownBinding(prop.value.name, {
value: computed.value[prop.key.name],
});
}

@@ -775,7 +857,11 @@ }

else if ((!isESM || job.mixedModules) &&
(node.type === 'FunctionDeclaration' || node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression') &&
(node.arguments || node.params)[0] && (node.arguments || node.params)[0].type === 'Identifier') {
(node.type === 'FunctionDeclaration' ||
node.type === 'FunctionExpression' ||
node.type === 'ArrowFunctionExpression') &&
(node.arguments || node.params)[0] &&
(node.arguments || node.params)[0].type === 'Identifier') {
let fnName;
let args;
if ((node.type === 'ArrowFunctionExpression' || node.type === 'FunctionExpression') &&
if ((node.type === 'ArrowFunctionExpression' ||
node.type === 'FunctionExpression') &&
parent &&

@@ -794,3 +880,4 @@ parent.type === 'VariableDeclarator' &&

for (let i = 0; i < node.body.body.length; i++) {
if (node.body.body[i].type === 'VariableDeclaration' && !requireDecl) {
if (node.body.body[i].type === 'VariableDeclaration' &&
!requireDecl) {
requireDecl = node.body.body[i].declarations.find((decl) => decl &&

@@ -840,3 +927,3 @@ decl.id &&

await backtrack(parent, this);
}
},
});

@@ -848,3 +935,5 @@ await assetEmissionPromises;

const wildcardIndex = assetPath.indexOf(static_eval_1.WILDCARD);
const dirIndex = wildcardIndex === -1 ? assetPath.length : assetPath.lastIndexOf(path_1.default.sep, wildcardIndex);
const dirIndex = wildcardIndex === -1
? assetPath.length
: assetPath.lastIndexOf(path_1.default.sep, wildcardIndex);
const basePath = assetPath.substring(0, dirIndex);

@@ -892,6 +981,14 @@ try {

if (pkgBase) {
const nodeModulesBase = id.substring(0, id.indexOf(path_1.default.sep + 'node_modules')) + path_1.default.sep + 'node_modules' + path_1.default.sep;
const nodeModulesBase = id.substring(0, id.indexOf(path_1.default.sep + 'node_modules')) +
path_1.default.sep +
'node_modules' +
path_1.default.sep;
if (!assetPath.startsWith(nodeModulesBase)) {
if (job.log)
console.log('Skipping asset emission of ' + assetPath.replace(static_eval_1.wildcardRegEx, '*') + ' for ' + id + ' as it is outside the package base ' + pkgBase);
console.log('Skipping asset emission of ' +
assetPath.replace(static_eval_1.wildcardRegEx, '*') +
' for ' +
id +
' as it is outside the package base ' +
pkgBase);
return false;

@@ -903,3 +1000,7 @@ }

function resolveAbsolutePathOrUrl(value) {
return value instanceof url_1.URL ? (0, url_1.fileURLToPath)(value) : value.startsWith('file:') ? (0, url_1.fileURLToPath)(new url_1.URL(value)) : path_1.default.resolve(value);
return value instanceof url_1.URL
? (0, url_1.fileURLToPath)(value)
: value.startsWith('file:')
? (0, url_1.fileURLToPath)(new url_1.URL(value))
: path_1.default.resolve(value);
}

@@ -910,3 +1011,4 @@ async function emitStaticChildAsset() {

}
if ('value' in staticChildValue && isAbsolutePathOrUrl(staticChildValue.value)) {
if ('value' in staticChildValue &&
isAbsolutePathOrUrl(staticChildValue.value)) {
try {

@@ -918,3 +1020,6 @@ const resolved = resolveAbsolutePathOrUrl(staticChildValue.value);

}
else if ('then' in staticChildValue && 'else' in staticChildValue && isAbsolutePathOrUrl(staticChildValue.then) && isAbsolutePathOrUrl(staticChildValue.else)) {
else if ('then' in staticChildValue &&
'else' in staticChildValue &&
isAbsolutePathOrUrl(staticChildValue.then) &&
isAbsolutePathOrUrl(staticChildValue.else)) {
let resolvedThen;

@@ -935,3 +1040,6 @@ try {

}
else if (staticChildNode && staticChildNode.type === 'ArrayExpression' && 'value' in staticChildValue && staticChildValue.value instanceof Array) {
else if (staticChildNode &&
staticChildNode.type === 'ArrayExpression' &&
'value' in staticChildValue &&
staticChildValue.value instanceof Array) {
for (const value of staticChildValue.value) {

@@ -949,5 +1057,4 @@ try {

exports.default = analyze;
;
function isAst(ast) {
return 'body' in ast;
}

@@ -1,1 +0,1 @@

{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}

@@ -14,3 +14,5 @@ #!/usr/bin/env node

!reason.parents ||
(reason.type.length === 1 && reason.type.includes('initial') && reason.parents.size === 0)) {
(reason.type.length === 1 &&
reason.type.includes('initial') &&
reason.parents.size === 0)) {
return;

@@ -72,5 +74,3 @@ }

}
const normalizedExitPoint = ((0, path_1.isAbsolute)(exitpoint)
? (0, path_1.relative)(cwd, exitpoint)
: exitpoint).replace(/[/\\]/g, path_1.sep);
const normalizedExitPoint = ((0, path_1.isAbsolute)(exitpoint) ? (0, path_1.relative)(cwd, exitpoint) : exitpoint).replace(/[/\\]/g, path_1.sep);
printStack(normalizedExitPoint, reasons, stdout, cwd);

@@ -77,0 +77,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
/// <reference types="node" />
import type { Stats } from "fs";
import type { Stats } from 'fs';
export declare class CachedFileSystem {

@@ -4,0 +4,0 @@ private fileCache;

@@ -65,3 +65,3 @@ "use strict";

catch (e) {
if (e.code !== "EINVAL" && e.code !== "ENOENT" && e.code !== "UNKNOWN")
if (e.code !== 'EINVAL' && e.code !== 'ENOENT' && e.code !== 'UNKNOWN')
throw e;

@@ -76,3 +76,3 @@ return null;

catch (e) {
if (e.code === "ENOENT" || e.code === "EISDIR") {
if (e.code === 'ENOENT' || e.code === 'EISDIR') {
return null;

@@ -88,3 +88,3 @@ }

catch (e) {
if (e.code === "ENOENT") {
if (e.code === 'ENOENT') {
return null;

@@ -91,0 +91,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}

@@ -61,3 +61,3 @@ "use strict";

reasons: job.reasons,
warnings: job.warnings
warnings: job.warnings,
};

@@ -67,3 +67,2 @@ return result;

exports.nodeFileTrace = nodeFileTrace;
;
class Job {

@@ -136,3 +135,3 @@ constructor({ base = process.cwd(), processCwd, exports, conditions = exports || ['node'], exportsOnly = false, paths = {}, ignore, log = false, mixedModules = false, ts = true, analysis = {}, cache,

else if (Array.isArray(ignore)) {
const resolvedIgnores = ignore.map(ignore => (0, path_1.relative)(base, (0, path_1.resolve)(base || process.cwd(), ignore)));
const resolvedIgnores = ignore.map((ignore) => (0, path_1.relative)(base, (0, path_1.resolve)(base || process.cwd(), ignore)));
this.ignoreFn = (path) => {

@@ -173,3 +172,3 @@ if (path.startsWith('..' + path_1.sep))

}
this.analysisCache = cache && cache.analysisCache || new Map();
this.analysisCache = (cache && cache.analysisCache) || new Map();
if (cache) {

@@ -239,3 +238,3 @@ cache.analysisCache = this.analysisCache;

ignored: false,
parents: new Set()
parents: new Set(),
};

@@ -276,3 +275,2 @@ this.reasons.set(path, reasonEntry);

}
;
this.processed.add(path);

@@ -317,4 +315,12 @@ const emitted = await this.emitFile(path, 'dependency', parent);

const ext = (0, path_1.extname)(asset);
if (ext === '.js' || ext === '.mjs' || ext === '.node' || ext === '' ||
this.ts && (ext === '.ts' || ext === '.tsx') && asset.startsWith(this.base) && asset.slice(this.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1)
if (ext === '.js' ||
ext === '.mjs' ||
ext === '.node' ||
ext === '' ||
(this.ts &&
(ext === '.ts' || ext === '.tsx') &&
asset.startsWith(this.base) &&
asset
.slice(this.base.length)
.indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1))
await this.emitDependency(asset, path);

@@ -321,0 +327,0 @@ else

@@ -1,1 +0,1 @@

{"version":3,"file":"node-file-trace.js","sourceRoot":"","sources":["../src/node-file-trace.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"node-file-trace.js","sourceRoot":"","sources":["../src/node-file-trace.ts"],"names":[],"mappings":"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"}

@@ -11,3 +11,7 @@ "use strict";

let resolved;
if ((0, path_1.isAbsolute)(specifier) || specifier === '.' || specifier === '..' || specifier.startsWith('./') || specifier.startsWith('../')) {
if ((0, path_1.isAbsolute)(specifier) ||
specifier === '.' ||
specifier === '..' ||
specifier.startsWith('./') ||
specifier.startsWith('../')) {
const trailingSlash = specifier.endsWith('/');

@@ -23,3 +27,3 @@ resolved = await resolvePath((0, path_1.resolve)(parent, '..', specifier) + (trailingSlash ? '/' : ''), parent, job);

if (Array.isArray(resolved)) {
return Promise.all(resolved.map(resolved => job.realpath(resolved, parent)));
return Promise.all(resolved.map((resolved) => job.realpath(resolved, parent)));
}

@@ -34,5 +38,5 @@ else if (resolved.startsWith('node:')) {

exports.default = resolveDependency;
;
async function resolvePath(path, parent, job) {
const result = await resolveFile(path, parent, job) || await resolveDir(path, parent, job);
const result = (await resolveFile(path, parent, job)) ||
(await resolveDir(path, parent, job));
if (!result) {

@@ -49,5 +53,11 @@ throw new NotFoundError(path, parent);

return path;
if (job.ts && path.startsWith(job.base) && path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 && await job.isFile(path + '.ts'))
if (job.ts &&
path.startsWith(job.base) &&
path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 &&
(await job.isFile(path + '.ts')))
return path + '.ts';
if (job.ts && path.startsWith(job.base) && path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 && await job.isFile(path + '.tsx'))
if (job.ts &&
path.startsWith(job.base) &&
path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 &&
(await job.isFile(path + '.tsx')))
return path + '.tsx';

@@ -65,7 +75,8 @@ if (await job.isFile(path + '.js'))

path = path.slice(0, -1);
if (!await job.isDir(path))
if (!(await job.isDir(path)))
return;
const pkgCfg = await getPkgCfg(path, job);
if (pkgCfg && typeof pkgCfg.main === 'string') {
const resolved = await resolveFile((0, path_1.resolve)(path, pkgCfg.main), parent, job) || await resolveFile((0, path_1.resolve)(path, pkgCfg.main, 'index'), parent, job);
const resolved = (await resolveFile((0, path_1.resolve)(path, pkgCfg.main), parent, job)) ||
(await resolveFile((0, path_1.resolve)(path, pkgCfg.main, 'index'), parent, job));
if (resolved) {

@@ -112,3 +123,4 @@ await job.emitFile(path + path_1.sep + 'package.json', 'resolve', parent);

const target = getExportsTarget(item, conditions, cjsResolve);
if (target === null || typeof target === 'string' && target.startsWith('./'))
if (target === null ||
(typeof target === 'string' && target.startsWith('./')))
return target;

@@ -120,4 +132,4 @@ }

if (condition === 'default' ||
condition === 'require' && cjsResolve ||
condition === 'import' && !cjsResolve ||
(condition === 'require' && cjsResolve) ||
(condition === 'import' && !cjsResolve) ||
conditions.includes(condition)) {

@@ -139,4 +151,8 @@ const target = getExportsTarget(exports[condition], conditions, cjsResolve);

}
else if (typeof obj === 'string' || Array.isArray(obj) || obj === null ||
typeof obj === 'object' && Object.keys(obj).length && Object.keys(obj)[0][0] !== '.') {
else if (typeof obj === 'string' ||
Array.isArray(obj) ||
obj === null ||
(typeof obj === 'object' &&
Object.keys(obj).length &&
Object.keys(obj)[0][0] !== '.')) {
matchObj = { '.': obj };

@@ -156,3 +172,4 @@ }

if (typeof target === 'string' && target.startsWith('./'))
return pkgPath + target.slice(1).replace(/\*/g, subpath.slice(match.length - 1));
return (pkgPath +
target.slice(1).replace(/\*/g, subpath.slice(match.length - 1)));
}

@@ -163,3 +180,5 @@ if (!match.endsWith('/'))

const target = getExportsTarget(matchObj[match], job.conditions, cjsResolve);
if (typeof target === 'string' && target.endsWith('/') && target.startsWith('./'))
if (typeof target === 'string' &&
target.endsWith('/') &&
target.startsWith('./'))
return pkgPath + target.slice(1) + subpath.slice(match.length);

@@ -180,4 +199,6 @@ }

if (cjsResolve)
importsResolved = await resolveFile(importsResolved, parent, job) || await resolveDir(importsResolved, parent, job);
else if (!await job.isFile(importsResolved))
importsResolved =
(await resolveFile(importsResolved, parent, job)) ||
(await resolveDir(importsResolved, parent, job));
else if (!(await job.isFile(importsResolved)))
throw new NotFoundError(importsResolved, parent);

@@ -208,8 +229,14 @@ if (importsResolved) {

const { exports: pkgExports } = pkgCfg || {};
if (pkgCfg && pkgCfg.name && pkgCfg.name === pkgName && pkgExports !== null && pkgExports !== undefined) {
if (pkgCfg &&
pkgCfg.name &&
pkgCfg.name === pkgName &&
pkgExports !== null &&
pkgExports !== undefined) {
selfResolved = resolveExportsImports(pjsonBoundary, pkgExports, '.' + name.slice(pkgName.length), job, false, cjsResolve);
if (selfResolved) {
if (cjsResolve)
selfResolved = await resolveFile(selfResolved, parent, job) || await resolveDir(selfResolved, parent, job);
else if (!await job.isFile(selfResolved))
selfResolved =
(await resolveFile(selfResolved, parent, job)) ||
(await resolveDir(selfResolved, parent, job));
else if (!(await job.isFile(selfResolved)))
throw new NotFoundError(selfResolved, parent);

@@ -232,11 +259,18 @@ }

const { exports: pkgExports } = pkgCfg || {};
if (job.conditions && pkgExports !== undefined && pkgExports !== null && !selfResolved) {
if (job.conditions &&
pkgExports !== undefined &&
pkgExports !== null &&
!selfResolved) {
let legacyResolved;
if (!job.exportsOnly)
legacyResolved = await resolveFile(nodeModulesDir + path_1.sep + name, parent, job) || await resolveDir(nodeModulesDir + path_1.sep + name, parent, job);
legacyResolved =
(await resolveFile(nodeModulesDir + path_1.sep + name, parent, job)) ||
(await resolveDir(nodeModulesDir + path_1.sep + name, parent, job));
let resolved = resolveExportsImports(nodeModulesDir + path_1.sep + pkgName, pkgExports, '.' + name.slice(pkgName.length), job, false, cjsResolve);
if (resolved) {
if (cjsResolve)
resolved = await resolveFile(resolved, parent, job) || await resolveDir(resolved, parent, job);
else if (!await job.isFile(resolved))
resolved =
(await resolveFile(resolved, parent, job)) ||
(await resolveDir(resolved, parent, job));
else if (!(await job.isFile(resolved)))
throw new NotFoundError(resolved, parent);

@@ -254,3 +288,4 @@ }

else {
const resolved = await resolveFile(nodeModulesDir + path_1.sep + name, parent, job) || await resolveDir(nodeModulesDir + path_1.sep + name, parent, job);
const resolved = (await resolveFile(nodeModulesDir + path_1.sep + name, parent, job)) ||
(await resolveDir(nodeModulesDir + path_1.sep + name, parent, job));
if (resolved) {

@@ -271,3 +306,4 @@ if (selfResolved && selfResolved !== resolved)

const pathTarget = job.paths[path] + name.slice(path.length);
const resolved = await resolveFile(pathTarget, parent, job) || await resolveDir(pathTarget, parent, job);
const resolved = (await resolveFile(pathTarget, parent, job)) ||
(await resolveDir(pathTarget, parent, job));
if (!resolved) {

@@ -274,0 +310,0 @@ throw new NotFoundError(name, parent);

@@ -1,1 +0,1 @@

{"version":3,"file":"resolve-dependency.js","sourceRoot":"","sources":["../src/resolve-dependency.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"resolve-dependency.js","sourceRoot":"","sources":["../src/resolve-dependency.ts"],"names":[],"mappings":"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"}

@@ -38,8 +38,14 @@ "use strict";

function isVarLoop(node) {
return node.type === 'ForStatement' || node.type === 'ForInStatement' || node.type === 'ForOfStatement';
return (node.type === 'ForStatement' ||
node.type === 'ForInStatement' ||
node.type === 'ForOfStatement');
}
exports.isVarLoop = isVarLoop;
function isLoop(node) {
return node.type === 'ForStatement' || node.type === 'ForInStatement' || node.type === 'ForOfStatement' || node.type === 'WhileStatement' || node.type === 'DoWhileStatement';
return (node.type === 'ForStatement' ||
node.type === 'ForInStatement' ||
node.type === 'ForOfStatement' ||
node.type === 'WhileStatement' ||
node.type === 'DoWhileStatement');
}
exports.isLoop = isLoop;

@@ -1,1 +0,1 @@

{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../src/utils/ast-helpers.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,IAAU,EAAE,MAAY;IACvD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc;YACjB,+CAA+C;YAC/C,OAAO,KAAK,CAAC;QACf,qCAAqC;QACrC,KAAK,sBAAsB;YACzB,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC;QACnD,wCAAwC;QACxC,KAAK,UAAU;YACb,OAAO,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;QAC/B,sDAAsD;QACtD,KAAK,kBAAkB;YACrB,OAAO,KAAK,CAAC;QACf,wCAAwC;QACxC,KAAK,oBAAoB;YACvB,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;QAC5B,iDAAiD;QACjD,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC;QACf,6CAA6C;QAC7C,KAAK,oBAAoB,CAAC;QAC1B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,yBAAyB;YAC5B,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AA/BD,4CA+BC;AAED,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1G,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC;AAChL,CAAC;AAFD,wBAEC"}
{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../src/utils/ast-helpers.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,IAAU,EAAE,MAAY;IACvD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc;YACjB,+CAA+C;YAC/C,OAAO,KAAK,CAAC;QACf,qCAAqC;QACrC,KAAK,sBAAsB;YACzB,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC;QACnD,wCAAwC;QACxC,KAAK,UAAU;YACb,OAAO,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;QAC/B,sDAAsD;QACtD,KAAK,kBAAkB;YACrB,OAAO,KAAK,CAAC;QACf,wCAAwC;QACxC,KAAK,oBAAoB;YACvB,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;QAC5B,iDAAiD;QACjD,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC;QACf,6CAA6C;QAC7C,KAAK,oBAAoB,CAAC;QAC1B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,yBAAyB;YAC5B,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AA/BD,4CA+BC;AAED,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,cAAc;QAC5B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAC/B,CAAC;AACJ,CAAC;AAND,8BAMC;AAED,SAAgB,MAAM,CAAC,IAAU;IAC/B,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,cAAc;QAC5B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,kBAAkB,CACjC,CAAC;AACJ,CAAC;AARD,wBAQC"}

@@ -10,4 +10,4 @@ "use strict";

// pregyp
const versioning = require("@mapbox/node-pre-gyp/lib/util/versioning.js");
const napi = require("@mapbox/node-pre-gyp/lib/util/napi.js");
const versioning = require('@mapbox/node-pre-gyp/lib/util/versioning.js');
const napi = require('@mapbox/node-pre-gyp/lib/util/napi.js');
const pregypFind = (package_json_path, opts) => {

@@ -30,21 +30,21 @@ const package_json = JSON.parse(graceful_fs_1.default.readFileSync(package_json_path).toString());

function makeModulePathList(root, name) {
return ([
return [
[root, name],
[root, "build", name],
[root, "build", "Debug", name],
[root, "build", "Release", name],
[root, "out", "Debug", name],
[root, "Debug", name],
[root, "out", "Release", name],
[root, "Release", name],
[root, "build", "default", name],
[root, 'build', name],
[root, 'build', 'Debug', name],
[root, 'build', 'Release', name],
[root, 'out', 'Debug', name],
[root, 'Debug', name],
[root, 'out', 'Release', name],
[root, 'Release', name],
[root, 'build', 'default', name],
[
root,
process.env["NODE_BINDINGS_COMPILED_DIR"] || "compiled",
process.env['NODE_BINDINGS_COMPILED_DIR'] || 'compiled',
process.versions.node,
process.platform,
process.arch,
name
]
]);
name,
],
];
}

@@ -58,3 +58,3 @@ function findCompiledModule(basePath, specList) {

try {
spec.path = eval("require.resolve(basePath)");
spec.path = eval('require.resolve(basePath)');
return spec;

@@ -73,3 +73,3 @@ }

try {
spec.path = eval("require.resolve(resolvedPath)");
spec.path = eval('require.resolve(resolvedPath)');
}

@@ -87,4 +87,4 @@ catch (err) {

const found = findCompiledModule(basePath, [
{ ext: ".node", name: "nbind.node", type: "node" },
{ ext: ".js", name: "nbind.js", type: "emcc" }
{ ext: '.node', name: 'nbind.node', type: 'node' },
{ ext: '.js', name: 'nbind.js', type: 'emcc' },
]);

@@ -91,0 +91,0 @@ return found;

@@ -1,1 +0,1 @@

{"version":3,"file":"binary-locators.js","sourceRoot":"","sources":["../../src/utils/binary-locators.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"binary-locators.js","sourceRoot":"","sources":["../../src/utils/binary-locators.ts"],"names":[],"mappings":"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"}

@@ -32,2 +32,1 @@ "use strict";

exports.getPackageName = getPackageName;
;

@@ -1,1 +0,1 @@

{"version":3,"file":"get-package-base.js","sourceRoot":"","sources":["../../src/utils/get-package-base.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,0BAA0B;AAC1B,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE;QAC7D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY;YACd,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAC9D;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,wCAUC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE;QAC7D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAG,GAAG,CAAC,CAAC;SAC7C;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,wCAWC;AAAA,CAAC"}
{"version":3,"file":"get-package-base.js","sourceRoot":"","sources":["../../src/utils/get-package-base.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,0BAA0B;AAC1B,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IACE,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EACzD;QACA,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY;YACd,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAC9D;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAZD,wCAYC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IACE,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EACzD;QACA,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAC5C;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAbD,wCAaC"}

@@ -27,6 +27,5 @@ "use strict";

return;
const files = await new Promise((resolve, reject) => (0, glob_1.default)(pkgPath + sharedlibGlob, { ignore: pkgPath + '/**/node_modules/**/*', dot: true }, (err, files) => err ? reject(err) : resolve(files)));
await Promise.all(files.map(file => job.emitFile(file, 'sharedlib', path)));
const files = await new Promise((resolve, reject) => (0, glob_1.default)(pkgPath + sharedlibGlob, { ignore: pkgPath + '/**/node_modules/**/*', dot: true }, (err, files) => (err ? reject(err) : resolve(files))));
await Promise.all(files.map((file) => job.emitFile(file, 'sharedlib', path)));
}
exports.sharedLibEmit = sharedLibEmit;
;

@@ -1,1 +0,1 @@

{"version":3,"file":"sharedlib-emit.js","sourceRoot":"","sources":["../../src/utils/sharedlib-emit.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,yDAAoD;AAGpD,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAQ,YAAE,CAAC,QAAQ,EAAE,EAAE;IACrB,KAAK,QAAQ;QACX,aAAa,GAAG,wBAAwB,CAAC;QAC3C,MAAM;IACN,KAAK,OAAO;QACV,aAAa,GAAG,WAAW,CAAC;QAC9B,MAAM;IACN;QACE,aAAa,GAAG,eAAe,CAAC;CACnC;AAED,+EAA+E;AACxE,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,GAAQ;IACxD,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QACV,OAAO;IAET,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC5D,IAAA,cAAI,EAAC,OAAO,GAAG,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,uBAAuB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC5I,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAVD,sCAUC;AAAA,CAAC"}
{"version":3,"file":"sharedlib-emit.js","sourceRoot":"","sources":["../../src/utils/sharedlib-emit.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,yDAAoD;AAGpD,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAQ,YAAE,CAAC,QAAQ,EAAE,EAAE;IACrB,KAAK,QAAQ;QACX,aAAa,GAAG,wBAAwB,CAAC;QACzC,MAAM;IACR,KAAK,OAAO;QACV,aAAa,GAAG,WAAW,CAAC;QAC5B,MAAM;IACR;QACE,aAAa,GAAG,eAAe,CAAC;CACnC;AAED,+EAA+E;AACxE,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,GAAQ;IACxD,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC5D,IAAA,cAAI,EACF,OAAO,GAAG,aAAa,EACvB,EAAE,MAAM,EAAE,OAAO,GAAG,uBAAuB,EAAE,GAAG,EAAE,IAAI,EAAE,EACxD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACrD,CACF,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAbD,sCAaC"}

@@ -16,3 +16,9 @@ "use strict";

},
'argon2'({ id, emitAssetDirectory }) {
'@serialport/bindings-cpp'({ id, emitAssetDirectory }) {
if (id.endsWith('@serialport/bindings-cpp/dist/index.js')) {
emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'build', 'Release'));
emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'prebuilds'));
}
},
argon2({ id, emitAssetDirectory }) {
if (id.endsWith('argon2/argon2.js')) {

@@ -24,3 +30,3 @@ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), 'build', 'Release'));

},
'bull'({ id, emitAssetDirectory }) {
bull({ id, emitAssetDirectory }) {
if (id.endsWith('bull/lib/commands/index.js')) {

@@ -30,3 +36,3 @@ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id)));

},
'camaro'({ id, emitAsset }) {
camaro({ id, emitAsset }) {
if (id.endsWith('camaro/dist/camaro.js')) {

@@ -36,3 +42,3 @@ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), 'camaro.wasm'));

},
'esbuild'({ id, emitAssetDirectory }) {
esbuild({ id, emitAssetDirectory }) {
if (id.endsWith('esbuild/lib/main.js')) {

@@ -61,3 +67,3 @@ const file = (0, path_1.resolve)(id, '..', '..', 'package.json');

},
'oracledb'({ id, ast, emitAsset }) {
oracledb({ id, ast, emitAsset }) {
if (id.endsWith('oracledb/lib/oracledb.js')) {

@@ -73,20 +79,43 @@ for (const statement of ast.body) {

statement.body.body[0].block.body[0].type === 'ExpressionStatement' &&
statement.body.body[0].block.body[0].expression.type === 'AssignmentExpression' &&
statement.body.body[0].block.body[0].expression.type ===
'AssignmentExpression' &&
statement.body.body[0].block.body[0].expression.operator === '=' &&
statement.body.body[0].block.body[0].expression.left.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.left.name === 'oracledbCLib' &&
statement.body.body[0].block.body[0].expression.right.type === 'CallExpression' &&
statement.body.body[0].block.body[0].expression.right.callee.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.right.callee.name === 'require' &&
statement.body.body[0].block.body[0].expression.right.arguments.length === 1 &&
statement.body.body[0].block.body[0].expression.right.arguments[0].type === 'MemberExpression' &&
statement.body.body[0].block.body[0].expression.right.arguments[0].computed === true &&
statement.body.body[0].block.body[0].expression.right.arguments[0].object.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.right.arguments[0].object.name === 'binaryLocations' &&
statement.body.body[0].block.body[0].expression.right.arguments[0].property.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.right.arguments[0].property.name === 'i') {
statement.body.body[0].block.body[0].expression.right.arguments = [{ type: 'Literal', value: '_' }];
const version = global._unit ? '3.0.0' : JSON.parse((0, graceful_fs_1.readFileSync)(id.slice(0, -15) + 'package.json', 'utf8')).version;
statement.body.body[0].block.body[0].expression.left.type ===
'Identifier' &&
statement.body.body[0].block.body[0].expression.left.name ===
'oracledbCLib' &&
statement.body.body[0].block.body[0].expression.right.type ===
'CallExpression' &&
statement.body.body[0].block.body[0].expression.right.callee.type ===
'Identifier' &&
statement.body.body[0].block.body[0].expression.right.callee.name ===
'require' &&
statement.body.body[0].block.body[0].expression.right.arguments
.length === 1 &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.type === 'MemberExpression' &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.computed === true &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.object.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.object.name === 'binaryLocations' &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.property.type === 'Identifier' &&
statement.body.body[0].block.body[0].expression.right.arguments[0]
.property.name === 'i') {
statement.body.body[0].block.body[0].expression.right.arguments = [
{ type: 'Literal', value: '_' },
];
const version = global._unit
? '3.0.0'
: JSON.parse((0, graceful_fs_1.readFileSync)(id.slice(0, -15) + 'package.json', 'utf8')).version;
const useVersion = Number(version.slice(0, version.indexOf('.'))) >= 4;
const binaryName = 'oracledb-' + (useVersion ? version : 'abi' + process.versions.modules) + '-' + process.platform + '-' + process.arch + '.node';
const binaryName = 'oracledb-' +
(useVersion ? version : 'abi' + process.versions.modules) +
'-' +
process.platform +
'-' +
process.arch +
'.node';
emitAsset((0, path_1.resolve)(id, '../../build/Release/' + binaryName));

@@ -114,3 +143,3 @@ }

},
'semver'({ id, emitAsset }) {
semver({ id, emitAsset }) {
if (id.endsWith('semver/index.js')) {

@@ -121,3 +150,3 @@ // See https://github.com/npm/node-semver/blob/master/CHANGELOG.md#710

},
'sharp': async ({ id, emitAssetDirectory, job }) => {
sharp: async ({ id, emitAssetDirectory, job }) => {
if (id.endsWith('sharp/lib/index.js')) {

@@ -146,3 +175,3 @@ const file = (0, path_1.resolve)(id, '..', '..', 'package.json');

},
'shiki'({ id, emitAssetDirectory }) {
shiki({ id, emitAssetDirectory }) {
if (id.endsWith('/dist/index.js')) {

@@ -164,6 +193,9 @@ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'languages'));

statement.expression.right.arguments[0].type === 'CallExpression' &&
statement.expression.right.arguments[0].callee.type === 'Identifier' &&
statement.expression.right.arguments[0].callee.name === 'resolvePath' &&
statement.expression.right.arguments[0].callee.type ===
'Identifier' &&
statement.expression.right.arguments[0].callee.name ===
'resolvePath' &&
statement.expression.right.arguments[0].arguments.length === 1 &&
statement.expression.right.arguments[0].arguments[0].type === 'Literal') {
statement.expression.right.arguments[0].arguments[0].type ===
'Literal') {
const arg = statement.expression.right.arguments[0].arguments[0].value;

@@ -194,3 +226,3 @@ let resolved;

type: 'Identifier',
name: '__dirname'
name: '__dirname',
},

@@ -200,4 +232,4 @@ right: {

value: relResolved,
raw: JSON.stringify(relResolved)
}
raw: JSON.stringify(relResolved),
},
};

@@ -221,10 +253,20 @@ }

for (const node of statement.expression.right.body.body) {
if (node.type === 'IfStatement' && node.consequent && 'body' in node.consequent && node.consequent.body) {
if (node.type === 'IfStatement' &&
node.consequent &&
'body' in node.consequent &&
node.consequent.body) {
const ifBody = node.consequent.body;
let replaced = false;
if (Array.isArray(ifBody) && ifBody[0] && ifBody[0].type === 'ExpressionStatement') {
if (Array.isArray(ifBody) &&
ifBody[0] &&
ifBody[0].type === 'ExpressionStatement') {
replaced = await replaceResolvePathStatement(ifBody[0]);
}
if (Array.isArray(ifBody) && ifBody[1] && ifBody[1].type === 'TryStatement' && ifBody[1].block.body && ifBody[1].block.body[0]) {
replaced = await replaceResolvePathStatement(ifBody[1].block.body[0]) || replaced;
if (Array.isArray(ifBody) &&
ifBody[1] &&
ifBody[1].type === 'TryStatement' &&
ifBody[1].block.body &&
ifBody[1].block.body[0]) {
replaced =
(await replaceResolvePathStatement(ifBody[1].block.body[0])) || replaced;
}

@@ -238,3 +280,3 @@ return;

},
'typescript'({ id, emitAssetDirectory }) {
typescript({ id, emitAssetDirectory }) {
if (id.endsWith('typescript/lib/tsc.js')) {

@@ -276,9 +318,9 @@ emitAssetDirectory((0, path_1.resolve)(id, '../'));

},
'pixelmatch'({ id, emitDependency }) {
pixelmatch({ id, emitDependency }) {
if (id.endsWith('pixelmatch/index.js')) {
emitDependency((0, path_1.resolve)((0, path_1.dirname)(id), 'bin/pixelmatch'));
}
}
},
};
async function handleSpecialCases({ id, ast, emitDependency, emitAsset, emitAssetDirectory, job }) {
async function handleSpecialCases({ id, ast, emitDependency, emitAsset, emitAssetDirectory, job, }) {
const pkgName = (0, get_package_base_1.getPackageName)(id);

@@ -288,5 +330,11 @@ const specialCase = specialCases[pkgName || ''];

if (specialCase)
await specialCase({ id, ast, emitDependency, emitAsset, emitAssetDirectory, job });
await specialCase({
id,
ast,
emitDependency,
emitAsset,
emitAssetDirectory,
job,
});
}
exports.default = handleSpecialCases;
;

@@ -1,1 +0,1 @@

{"version":3,"file":"special-cases.js","sourceRoot":"","sources":["../../src/utils/special-cases.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"special-cases.js","sourceRoot":"","sources":["../../src/utils/special-cases.ts"],"names":[],"mappings":"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"}

@@ -8,3 +8,3 @@ "use strict";

computeBranches,
vars
vars,
};

@@ -25,3 +25,2 @@ return walk(ast);

exports.evaluate = evaluate;
;
exports.UNKNOWN = Symbol();

@@ -39,3 +38,3 @@ exports.FUNCTION = Symbol();

const visitors = {
'ArrayExpression': async function ArrayExpression(node, walk) {
ArrayExpression: async function ArrayExpression(node, walk) {
const arr = [];

@@ -56,5 +55,8 @@ for (let i = 0, l = node.elements.length; i < l; i++) {

},
'ArrowFunctionExpression': async function (node, walk) {
ArrowFunctionExpression: async function (node, walk) {
// () => val support only
if (node.params.length === 0 && !node.generator && !node.async && node.expression) {
if (node.params.length === 0 &&
!node.generator &&
!node.async &&
node.expression) {
const innerValue = await walk(node.body);

@@ -65,4 +67,4 @@ if (!innerValue || !('value' in innerValue))

value: {
[exports.FUNCTION]: () => innerValue.value
}
[exports.FUNCTION]: () => innerValue.value,
},
};

@@ -72,3 +74,3 @@ }

},
'BinaryExpression': async function BinaryExpression(node, walk) {
BinaryExpression: async function BinaryExpression(node, walk) {
const op = node.operator;

@@ -83,4 +85,10 @@ let l = await walk(node.left);

// UNKNOWN + 'str' -> wildcard string value
if (this.computeBranches && r && 'value' in r && typeof r.value === 'string')
return { value: exports.WILDCARD + r.value, wildcards: [node.left, ...r.wildcards || []] };
if (this.computeBranches &&
r &&
'value' in r &&
typeof r.value === 'string')
return {
value: exports.WILDCARD + r.value,
wildcards: [node.left, ...(r.wildcards || [])],
};
return;

@@ -92,3 +100,6 @@ }

if (l && 'value' in l && typeof l.value === 'string')
return { value: l.value + exports.WILDCARD, wildcards: [...l.wildcards || [], node.right] };
return {
value: l.value + exports.WILDCARD,
wildcards: [...(l.wildcards || []), node.right],
};
}

@@ -230,3 +241,3 @@ // A || UNKNOWN -> A if A is truthy

},
'CallExpression': async function CallExpression(node, walk) {
CallExpression: async function CallExpression(node, walk) {
const callee = await walk(node.callee);

@@ -256,3 +267,3 @@ if (!callee || 'test' in callee)

if ('value' in x && typeof x.value === 'string' && x.wildcards)
x.wildcards.forEach(w => wildcards.push(w));
x.wildcards.forEach((w) => wildcards.push(w));
}

@@ -291,3 +302,4 @@ else {

if (wildcards.length) {
if (typeof result !== 'string' || countWildcards(result) !== wildcards.length)
if (typeof result !== 'string' ||
countWildcards(result) !== wildcards.length)
return;

@@ -307,3 +319,3 @@ return { value: result, wildcards };

},
'ConditionalExpression': async function ConditionalExpression(node, walk) {
ConditionalExpression: async function ConditionalExpression(node, walk) {
const val = await walk(node.test);

@@ -323,9 +335,9 @@ if (val && 'value' in val)

then: thenValue.value,
else: elseValue.value
else: elseValue.value,
};
},
'ExpressionStatement': async function ExpressionStatement(node, walk) {
ExpressionStatement: async function ExpressionStatement(node, walk) {
return walk(node.expression);
},
'Identifier': async function Identifier(node, _walk) {
Identifier: async function Identifier(node, _walk) {
if (Object.hasOwnProperty.call(this.vars, node.name))

@@ -335,6 +347,6 @@ return this.vars[node.name];

},
'Literal': async function Literal(node, _walk) {
Literal: async function Literal(node, _walk) {
return { value: node.value };
},
'MemberExpression': async function MemberExpression(node, walk) {
MemberExpression: async function MemberExpression(node, walk) {
const obj = await walk(node.object);

@@ -348,4 +360,4 @@ if (!obj || 'test' in obj || typeof obj.value === 'function') {

value: {
[exports.FUNCTION]: (...args) => obj.value.concat(args)
}
[exports.FUNCTION]: (...args) => obj.value.concat(args),
},
};

@@ -404,3 +416,3 @@ }

},
'MetaProperty': async function MetaProperty(node) {
MetaProperty: async function MetaProperty(node) {
if (node.meta.name === 'import' && node.property.name === 'meta')

@@ -410,3 +422,3 @@ return { value: this.vars['import.meta'] };

},
'NewExpression': async function NewExpression(node, walk) {
NewExpression: async function NewExpression(node, walk) {
// new URL('./local', parent)

@@ -447,3 +459,3 @@ const cls = await walk(node.callee);

then: new url_1.URL(arg.then, parent.value),
else: new url_1.URL(arg.else, parent.value)
else: new url_1.URL(arg.else, parent.value),
};

@@ -459,3 +471,3 @@ }

then: new url_1.URL(arg.then),
else: new url_1.URL(arg.else)
else: new url_1.URL(arg.else),
};

@@ -470,7 +482,9 @@ }

},
'ObjectExpression': async function ObjectExpression(node, walk) {
ObjectExpression: async function ObjectExpression(node, walk) {
const obj = {};
for (let i = 0; i < node.properties.length; i++) {
const prop = node.properties[i];
const keyValue = prop.computed ? walk(prop.key) : prop.key && { value: prop.key.name || prop.key.value };
const keyValue = prop.computed
? walk(prop.key)
: prop.key && { value: prop.key.name || prop.key.value };
if (!keyValue || 'test' in keyValue)

@@ -489,4 +503,8 @@ return;

},
'SequenceExpression': async function SequenceExpression(node, walk) {
if ('expressions' in node && node.expressions.length === 2 && node.expressions[0].type === 'Literal' && node.expressions[0].value === 0 && node.expressions[1].type === 'MemberExpression') {
SequenceExpression: async function SequenceExpression(node, walk) {
if ('expressions' in node &&
node.expressions.length === 2 &&
node.expressions[0].type === 'Literal' &&
node.expressions[0].value === 0 &&
node.expressions[1].type === 'MemberExpression') {
const arg = await walk(node.expressions[1]);

@@ -497,3 +515,3 @@ return arg;

},
'TemplateLiteral': async function TemplateLiteral(node, walk) {
TemplateLiteral: async function TemplateLiteral(node, walk) {
let val = { value: '' };

@@ -518,3 +536,3 @@ for (var i = 0; i < node.expressions.length; i++) {

if (exprValue.wildcards)
val.wildcards = [...val.wildcards || [], ...exprValue.wildcards];
val.wildcards = [...(val.wildcards || []), ...exprValue.wildcards];
}

@@ -536,3 +554,3 @@ else {

then: val.value + exprValue.then,
else: val.value + exprValue.else
else: val.value + exprValue.else,
};

@@ -554,3 +572,3 @@ }

},
'ThisExpression': async function ThisExpression(_node, _walk) {
ThisExpression: async function ThisExpression(_node, _walk) {
if (Object.hasOwnProperty.call(this.vars, 'this'))

@@ -560,3 +578,3 @@ return this.vars['this'];

},
'UnaryExpression': async function UnaryExpression(node, walk) {
UnaryExpression: async function UnaryExpression(node, walk) {
const val = await walk(node.argument);

@@ -586,4 +604,4 @@ if (!val)

return undefined;
}
},
};
visitors.LogicalExpression = visitors.BinaryExpression;

@@ -1,1 +0,1 @@

{"version":3,"file":"static-eval.js","sourceRoot":"","sources":["../../src/utils/static-eval.ts"],"names":[],"mappings":"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O,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI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AC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,IAAI;gB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"}
{"version":3,"file":"static-eval.js","sourceRoot":"","sources":["../../src/utils/static-eval.ts"],"names":[],"mappings":"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"}

@@ -6,3 +6,7 @@ "use strict";

function isUndefinedOrVoid(node) {
return node.type === 'Identifier' && node.name === 'undefined' || node.type === 'UnaryExpression' && node.operator === 'void' && node.argument.type === 'Literal' && node.argument.value === 0;
return ((node.type === 'Identifier' && node.name === 'undefined') ||
(node.type === 'UnaryExpression' &&
node.operator === 'void' &&
node.argument.type === 'Literal' &&
node.argument.value === 0));
}

@@ -25,3 +29,4 @@ // Wrapper detection pretransforms to enable static analysis

ast.body[0].expression.callee.type === 'FunctionExpression' &&
(ast.body[0].expression.arguments.length === 1 || ast.body[0].expression.arguments.length === 0))
(ast.body[0].expression.arguments.length === 1 ||
ast.body[0].expression.arguments.length === 0))
wrapper = ast.body[0].expression;

@@ -49,3 +54,4 @@ else if (ast.body.length === 1 &&

// (typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); })
if (wrapper.arguments[0] && wrapper.arguments[0].type === 'ConditionalExpression' &&
if (wrapper.arguments[0] &&
wrapper.arguments[0].type === 'ConditionalExpression' &&
wrapper.arguments[0].test.type === 'LogicalExpression' &&

@@ -70,19 +76,33 @@ wrapper.arguments[0].test.operator === '&&' &&

wrapper.arguments[0].alternate.body.body.length === 1 &&
wrapper.arguments[0].alternate.body.body[0].type === 'ExpressionStatement' &&
wrapper.arguments[0].alternate.body.body[0].expression.type === 'AssignmentExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.type === 'MemberExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.object.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.object.name === 'module' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.property.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.property.name === 'exports' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.computed === false &&
wrapper.arguments[0].alternate.body.body[0].expression.right.type === 'CallExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.callee.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.callee.name === wrapper.arguments[0].alternate.params[0].name &&
wrapper.arguments[0].alternate.body.body[0].type ===
'ExpressionStatement' &&
wrapper.arguments[0].alternate.body.body[0].expression.type ===
'AssignmentExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.type ===
'MemberExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.object
.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.object
.name === 'module' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.property
.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.property
.name === 'exports' &&
wrapper.arguments[0].alternate.body.body[0].expression.left.computed ===
false &&
wrapper.arguments[0].alternate.body.body[0].expression.right.type ===
'CallExpression' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.callee
.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.callee
.name === wrapper.arguments[0].alternate.params[0].name &&
'body' in wrapper.callee &&
'body' in wrapper.callee.body &&
Array.isArray(wrapper.callee.body.body) &&
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments.length === 1 &&
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments[0].type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments[0].name === 'require') {
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments
.length === 1 &&
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments[0]
.type === 'Identifier' &&
wrapper.arguments[0].alternate.body.body[0].expression.right.arguments[0]
.name === 'require') {
let body = wrapper.callee.body.body;

@@ -98,3 +118,4 @@ if (body[0].type === 'ExpressionStatement' &&

body[0].expression.callee.type === 'Identifier' &&
body[0].expression.callee.name === wrapper.arguments[0].test.right.object.name &&
body[0].expression.callee.name ===
wrapper.arguments[0].test.right.object.name &&
body[0].expression.arguments.length === 1 &&

@@ -108,3 +129,3 @@ body[0].expression.arguments[0].type === 'FunctionExpression' &&

try {
// @ts-ignore If it doesn't exist thats ok
// @ts-ignore If it doesn't exist that's ok
delete arg.scope.declarations.require;

@@ -131,23 +152,28 @@ }

// });
else if (wrapper.arguments[0] && wrapper.arguments[0].type === 'FunctionExpression' &&
else if (wrapper.arguments[0] &&
wrapper.arguments[0].type === 'FunctionExpression' &&
wrapper.arguments[0].params.length === 0 &&
(wrapper.arguments[0].body.body.length === 1 ||
wrapper.arguments[0].body.body.length === 2 &&
(wrapper.arguments[0].body.body.length === 2 &&
wrapper.arguments[0].body.body[0].type === 'VariableDeclaration' &&
wrapper.arguments[0].body.body[0].declarations.length === 3 &&
wrapper.arguments[0].body.body[0].declarations.every(decl => decl.init === null && decl.id.type === 'Identifier')) &&
wrapper.arguments[0].body.body[wrapper.arguments[0].body.body.length - 1].type === 'ReturnStatement' &&
wrapper.arguments[0].body.body[0].declarations.every((decl) => decl.init === null && decl.id.type === 'Identifier'))) &&
wrapper.arguments[0].body.body[wrapper.arguments[0].body.body.length - 1]
.type === 'ReturnStatement' &&
(browserifyReturn = wrapper.arguments[0].body.body[wrapper.arguments[0].body.body.length - 1]) &&
browserifyReturn.argument?.type === 'CallExpression' &&
browserifyReturn.argument.arguments.length &&
browserifyReturn.argument.arguments.every(arg => arg && arg.type === 'Literal' && typeof arg.value === 'number') &&
browserifyReturn.argument.arguments.every((arg) => arg && arg.type === 'Literal' && typeof arg.value === 'number') &&
browserifyReturn.argument.callee.type === 'CallExpression' &&
(browserifyReturn.argument.callee.callee.type === 'FunctionExpression' ||
browserifyReturn.argument.callee.callee.type === 'CallExpression' &&
browserifyReturn.argument.callee.callee.callee.type === 'FunctionExpression' &&
browserifyReturn.argument.callee.callee.arguments.length === 0) &&
(browserifyReturn.argument.callee.callee.type === 'CallExpression' &&
browserifyReturn.argument.callee.callee.callee.type ===
'FunctionExpression' &&
browserifyReturn.argument.callee.callee.arguments.length === 0)) &&
// (dont go deeper into browserify loader internals than this)
browserifyReturn.argument.callee.arguments.length === 3 &&
browserifyReturn.argument.callee.arguments[0].type === 'ObjectExpression' &&
browserifyReturn.argument.callee.arguments[1].type === 'ObjectExpression' &&
browserifyReturn.argument.callee.arguments[0].type ===
'ObjectExpression' &&
browserifyReturn.argument.callee.arguments[1].type ===
'ObjectExpression' &&
browserifyReturn.argument.callee.arguments[2].type === 'ArrayExpression') {

@@ -158,3 +184,3 @@ const modules = browserifyReturn.argument.callee.arguments[0].properties;

const externals = {};
if (modules.every(m => {
if (modules.every((m) => {
if (m.type !== 'Property' ||

@@ -176,4 +202,7 @@ m.computed !== false ||

if (prop.type !== 'Property' ||
(prop.value.type !== 'Identifier' && prop.value.type !== 'Literal' && !isUndefinedOrVoid(prop.value)) ||
!(prop.key.type === 'Literal' && typeof prop.key.value === 'string' ||
(prop.value.type !== 'Identifier' &&
prop.value.type !== 'Literal' &&
!isUndefinedOrVoid(prop.value)) ||
!((prop.key.type === 'Literal' &&
typeof prop.key.value === 'string') ||
prop.key.type === 'Identifier') ||

@@ -192,3 +221,3 @@ prop.computed) {

value: prop.key.name,
raw: JSON.stringify(prop.key.name)
raw: JSON.stringify(prop.key.name),
};

@@ -206,3 +235,3 @@ }

const cache = browserifyReturn.argument.callee.arguments[1];
cache.properties = externalIds.map(ext => {
cache.properties = externalIds.map((ext) => {
return {

@@ -217,3 +246,4 @@ type: 'Property',

type: 'ObjectExpression',
properties: [{
properties: [
{
type: 'Property',

@@ -226,3 +256,3 @@ kind: 'init',

type: 'Identifier',
name: 'exports'
name: 'exports',
},

@@ -234,8 +264,9 @@ value: {

type: 'Identifier',
name: 'require'
name: 'require',
},
arguments: [externals[ext]]
}
}]
}
arguments: [externals[ext]],
},
},
],
},
};

@@ -269,3 +300,4 @@ });

// }
else if (wrapper.arguments[0] && wrapper.arguments[0].type === 'FunctionExpression' &&
else if (wrapper.arguments[0] &&
wrapper.arguments[0].type === 'FunctionExpression' &&
wrapper.arguments[0].params.length === 2 &&

@@ -304,3 +336,4 @@ wrapper.arguments[0].params[0].type === 'Identifier' &&

statement.consequent.body[0].declarations[0].init &&
statement.consequent.body[0].declarations[0].init.type === 'CallExpression')
statement.consequent.body[0].declarations[0].init.type ===
'CallExpression')
callSite = statement.consequent.body[0].declarations[0].init;

@@ -311,5 +344,7 @@ else if (statement.consequent.body[0].type === 'ExpressionStatement' &&

else if (statement.consequent.body[0].type === 'ExpressionStatement' &&
statement.consequent.body[0].expression.type === 'AssignmentExpression' &&
statement.consequent.body[0].expression.type ===
'AssignmentExpression' &&
statement.consequent.body[0].expression.operator === '=' &&
statement.consequent.body[0].expression.right.type === 'CallExpression')
statement.consequent.body[0].expression.right.type ===
'CallExpression')
callSite = statement.consequent.body[0].expression.right;

@@ -330,3 +365,3 @@ if (callSite &&

try {
// @ts-ignore If scope doesn't exist thats ok
// @ts-ignore If scope doesn't exist that's ok
const scope = funcExpression.scope;

@@ -341,3 +376,3 @@ delete scope.declarations.require;

// Webpack wrapper
//
//
// module.exports = (function(e) {

@@ -373,3 +408,3 @@ // var t = {};

// OR Webpack 5 non-runtime variant:
//
//
// (function() {

@@ -384,29 +419,45 @@ // var exports = {};

//
else if (wrapper.callee.type === 'FunctionExpression' &&
else if ((wrapper.callee.type === 'FunctionExpression' &&
wrapper.callee.body.body.length > 2 &&
wrapper.callee.body.body[0].type === 'VariableDeclaration' &&
wrapper.callee.body.body[0].declarations.length === 1 &&
wrapper.callee.body.body[0].declarations[0].type === 'VariableDeclarator' &&
wrapper.callee.body.body[0].declarations[0].type ===
'VariableDeclarator' &&
wrapper.callee.body.body[0].declarations[0].id.type === 'Identifier' &&
wrapper.callee.body.body[0].declarations[0].init && (wrapper.callee.body.body[0].declarations[0].init.type === 'ObjectExpression' &&
wrapper.callee.body.body[0].declarations[0].init.properties.length === 0 ||
wrapper.callee.body.body[0].declarations[0].init.type === 'CallExpression' &&
wrapper.callee.body.body[0].declarations[0].init.arguments.length === 1) &&
(wrapper.callee.body.body[1] &&
wrapper.callee.body.body[0].declarations[0].init &&
((wrapper.callee.body.body[0].declarations[0].init.type ===
'ObjectExpression' &&
wrapper.callee.body.body[0].declarations[0].init.properties.length ===
0) ||
(wrapper.callee.body.body[0].declarations[0].init.type ===
'CallExpression' &&
wrapper.callee.body.body[0].declarations[0].init.arguments
.length === 1)) &&
((wrapper.callee.body.body[1] &&
wrapper.callee.body.body[1].type === 'FunctionDeclaration' &&
wrapper.callee.body.body[1].params.length === 1 &&
wrapper.callee.body.body[1].body.body.length >= 3 ||
wrapper.callee.body.body[2] &&
wrapper.callee.body.body[1].body.body.length >= 3) ||
(wrapper.callee.body.body[2] &&
wrapper.callee.body.body[2].type === 'FunctionDeclaration' &&
wrapper.callee.body.body[2].params.length === 1 &&
wrapper.callee.body.body[2].body.body.length >= 3) && (wrapper.arguments[0] && (wrapper.arguments[0].type === 'ArrayExpression' &&
(webpackModuleObj = wrapper.arguments[0]) &&
wrapper.arguments[0].elements.length > 0 &&
wrapper.arguments[0].elements.every(el => el && el.type === 'FunctionExpression') ||
wrapper.arguments[0].type === 'ObjectExpression' &&
wrapper.callee.body.body[2].body.body.length >= 3)) &&
wrapper.arguments[0] &&
((wrapper.arguments[0].type === 'ArrayExpression' &&
(webpackModuleObj = wrapper.arguments[0]) &&
wrapper.arguments[0].properties &&
wrapper.arguments[0].properties.length > 0 &&
wrapper.arguments[0].properties.every(prop => prop && prop.type === 'Property' && !prop.computed && prop.key && prop.key.type === 'Literal' && (typeof prop.key.value === 'string' || typeof prop.key.value === 'number') && prop.value && prop.value.type === 'FunctionExpression'))) ||
wrapper.arguments.length === 0 &&
wrapper.arguments[0].elements.length > 0 &&
wrapper.arguments[0].elements.every((el) => el && el.type === 'FunctionExpression')) ||
(wrapper.arguments[0].type === 'ObjectExpression' &&
(webpackModuleObj = wrapper.arguments[0]) &&
wrapper.arguments[0].properties &&
wrapper.arguments[0].properties.length > 0 &&
wrapper.arguments[0].properties.every((prop) => prop &&
prop.type === 'Property' &&
!prop.computed &&
prop.key &&
prop.key.type === 'Literal' &&
(typeof prop.key.value === 'string' ||
typeof prop.key.value === 'number') &&
prop.value &&
prop.value.type === 'FunctionExpression')))) ||
(wrapper.arguments.length === 0 &&
wrapper.callee.type === 'FunctionExpression' &&

@@ -420,41 +471,71 @@ wrapper.callee.params.length === 0 &&

wrapper.callee.body.body[1].type === 'ExpressionStatement' &&
wrapper.callee.body.body[1].expression.type === 'AssignmentExpression' &&
wrapper.callee.body.body[1].expression.type ===
'AssignmentExpression' &&
wrapper.callee.body.body[2].type === 'ExpressionStatement' &&
wrapper.callee.body.body[2].expression.type === 'AssignmentExpression' &&
wrapper.callee.body.body[2].expression.type ===
'AssignmentExpression' &&
wrapper.callee.body.body[3].type === 'ExpressionStatement' &&
wrapper.callee.body.body[3].expression.type === 'AssignmentExpression' &&
wrapper.callee.body.body[3].expression.left.type === 'MemberExpression' &&
wrapper.callee.body.body[3].expression.left.object.type === 'Identifier' &&
wrapper.callee.body.body[3].expression.left.object.name === wrapper.callee.body.body[0].declarations[0].id.name &&
wrapper.callee.body.body[3].expression.left.property.type === 'Identifier' &&
wrapper.callee.body.body[3].expression.left.property.name === 'modules' &&
wrapper.callee.body.body[3].expression.right.type === 'ObjectExpression' &&
wrapper.callee.body.body[3].expression.right.properties.every(prop => prop && prop.type === 'Property' && !prop.computed && prop.key && prop.key.type === 'Literal' && (typeof prop.key.value === 'string' || typeof prop.key.value === 'number') && prop.value && prop.value.type === 'FunctionExpression') &&
wrapper.callee.body.body[3].expression.type ===
'AssignmentExpression' &&
wrapper.callee.body.body[3].expression.left.type ===
'MemberExpression' &&
wrapper.callee.body.body[3].expression.left.object.type ===
'Identifier' &&
wrapper.callee.body.body[3].expression.left.object.name ===
wrapper.callee.body.body[0].declarations[0].id.name &&
wrapper.callee.body.body[3].expression.left.property.type ===
'Identifier' &&
wrapper.callee.body.body[3].expression.left.property.name ===
'modules' &&
wrapper.callee.body.body[3].expression.right.type ===
'ObjectExpression' &&
wrapper.callee.body.body[3].expression.right.properties.every((prop) => prop &&
prop.type === 'Property' &&
!prop.computed &&
prop.key &&
prop.key.type === 'Literal' &&
(typeof prop.key.value === 'string' ||
typeof prop.key.value === 'number') &&
prop.value &&
prop.value.type === 'FunctionExpression') &&
(webpackModuleObj = wrapper.callee.body.body[3].expression.right) &&
(wrapper.callee.body.body[4].type === 'VariableDeclaration' &&
((wrapper.callee.body.body[4].type === 'VariableDeclaration' &&
wrapper.callee.body.body[4].declarations.length === 1 &&
wrapper.callee.body.body[4].declarations[0].init &&
wrapper.callee.body.body[4].declarations[0].init.type === 'CallExpression' &&
wrapper.callee.body.body[4].declarations[0].init.callee.type === 'Identifier' &&
wrapper.callee.body.body[4].declarations[0].init.callee.name === 'require' ||
wrapper.callee.body.body[5].type === 'VariableDeclaration' &&
wrapper.callee.body.body[4].declarations[0].init.type ===
'CallExpression' &&
wrapper.callee.body.body[4].declarations[0].init.callee.type ===
'Identifier' &&
wrapper.callee.body.body[4].declarations[0].init.callee.name ===
'require') ||
(wrapper.callee.body.body[5].type === 'VariableDeclaration' &&
wrapper.callee.body.body[5].declarations.length === 1 &&
wrapper.callee.body.body[5].declarations[0].init &&
wrapper.callee.body.body[5].declarations[0].init.type === 'CallExpression' &&
wrapper.callee.body.body[5].declarations[0].init.callee.type === 'Identifier' &&
wrapper.callee.body.body[5].declarations[0].init.callee.name === 'require')) {
wrapper.callee.body.body[5].declarations[0].init.type ===
'CallExpression' &&
wrapper.callee.body.body[5].declarations[0].init.callee.type ===
'Identifier' &&
wrapper.callee.body.body[5].declarations[0].init.callee.name ===
'require')))) {
const externalMap = new Map();
let modules;
if (webpackModuleObj.type === 'ArrayExpression')
modules = webpackModuleObj.elements.filter(el => el?.type === 'FunctionExpression').map((el, i) => [String(i), el]);
modules = webpackModuleObj.elements.filter((el) => el?.type === 'FunctionExpression').map((el, i) => [String(i), el]);
// Structure already checked in conditional above
else
modules = webpackModuleObj.properties.map(prop => [String(prop.key.value), prop.value]);
modules = webpackModuleObj.properties.map((prop) => [
String(prop.key.value),
prop.value,
]);
for (const [k, m] of modules) {
const statement = m.body.body.length === 1 ? m.body.body[0] :
(m.body.body.length === 2 || m.body.body.length === 3 && m.body.body[2].type === 'EmptyStatement') &&
const statement = m.body.body.length === 1
? m.body.body[0]
: (m.body.body.length === 2 ||
(m.body.body.length === 3 &&
m.body.body[2].type === 'EmptyStatement')) &&
m.body.body[0].type === 'ExpressionStatement' &&
m.body.body[0].expression.type === 'Literal' &&
m.body.body[0].expression.value === 'use strict'
? m.body.body[1] : null;
? m.body.body[1]
: null;
if (statement &&

@@ -481,3 +562,5 @@ statement.type === 'ExpressionStatement' &&

for (const [, m] of modules) {
if ('params' in m && m.params.length === 3 && m.params[2].type === 'Identifier') {
if ('params' in m &&
m.params.length === 3 &&
m.params[2].type === 'Identifier') {
const assignedVars = new Map();

@@ -501,8 +584,10 @@ (0, estree_walker_1.walk)(m.body, {

type: 'Identifier',
name: 'require'
name: 'require',
},
arguments: [{
arguments: [
{
type: 'Literal',
value: externalId
}]
value: externalId,
},
],
};

@@ -522,7 +607,9 @@ const parent = maybeParent;

}
else if ('arguments' in parent && parent.arguments.some(arg => arg === node)) {
parent.arguments = parent.arguments.map(arg => arg === node ? replacement : arg);
else if ('arguments' in parent &&
parent.arguments.some((arg) => arg === node)) {
parent.arguments = parent.arguments.map((arg) => arg === node ? replacement : arg);
}
else if ('init' in parent && parent.init === node) {
if (parent.type === 'VariableDeclarator' && parent.id.type === 'Identifier')
if (parent.type === 'VariableDeclarator' &&
parent.id.type === 'Identifier')
assignedVars.set(parent.id.name, externalId);

@@ -542,3 +629,5 @@ parent.init = replacement;

node.arguments[0].type === 'Identifier') {
if (maybeParent && 'init' in maybeParent && maybeParent.init === node) {
if (maybeParent &&
'init' in maybeParent &&
maybeParent.init === node) {
const req = node.arguments[0];

@@ -554,8 +643,8 @@ const callExpression = {

type: 'Identifier',
name: 'Object'
name: 'Object',
},
property: {
type: 'Identifier',
name: 'assign'
}
name: 'assign',
},
},

@@ -567,7 +656,8 @@ arguments: [

params: [],
body: req
body: req,
},
{
type: 'ObjectExpression',
properties: [{
properties: [
{
type: 'Property',

@@ -580,8 +670,9 @@ kind: 'init',

type: 'Identifier',
name: 'a'
name: 'a',
},
value: req
}]
}
]
value: req,
},
],
},
],
};

@@ -591,3 +682,3 @@ maybeParent.init = callExpression;

}
}
},
});

@@ -594,0 +685,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../src/utils/wrappers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../src/utils/wrappers.ts"],"names":[],"mappings":"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"}
{
"name": "@vercel/nft",
"version": "0.26.4",
"version": "0.26.5",
"repository": "vercel/nft",

@@ -11,11 +11,15 @@ "license": "MIT",

},
"files": [
"out"
],
"scripts": {
"build": "tsc",
"git-pre-commit": "prettier --write . && git add -A",
"prepublishOnly": "tsc && rm out/utils/*.d.ts && rm out/tsconfig.tsbuildinfo",
"prettier-check": "prettier --check .",
"prettier-fix": "prettier --write .",
"test": "jest --verbose",
"test-verbose": "tsc --sourceMap && jest --verbose --coverage --globals \"{\\\"coverage\\\":true}\""
},
"files": [
"out"
],
"prettier": "@vercel/style-guide/prettier",
"dependencies": {

@@ -40,3 +44,3 @@ "@mapbox/node-pre-gyp": "^1.0.5",

"@google-cloud/bigquery": "^4.1.4",
"@google-cloud/firestore": "^6.2.0",
"@google-cloud/firestore": "^7.6.0",
"@sentry/node": "^5.5.0",

@@ -50,2 +54,4 @@ "@tpluscode/sparql-builder": "^0.3.12",

"@types/node": "^14.14.37",
"@vercel/git-hooks": "^1.0.0",
"@vercel/style-guide": "^5.2.0",
"analytics-node": "^3.4.0-beta.1",

@@ -69,7 +75,7 @@ "apollo-server-express": "^2.14.2",

"esm": "^3.2.25",
"express": "^4.17.3",
"express": "^4.19.2",
"fast-glob": "^3.1.1",
"fetch-h2": "^2.2.0",
"firebase": "^7",
"firebase-admin": "^11.4.1",
"firebase-admin": "^12.0.0",
"fluent-ffmpeg": "^2.1.2",

@@ -95,3 +101,2 @@ "geo-tz": "^7.0.1",

"mysql": "^2.17.1",
"npm": "^6.14.6",
"oracledb": "^6.2.0",

@@ -110,2 +115,3 @@ "paraphrase": "1.8.0",

"polyfill-library": "3.93.0",
"prettier": "^3.2.5",
"prismjs": "^1.27.0",

@@ -123,2 +129,3 @@ "pug": "^3.0.1",

"sequelize": "^6.29.0",
"serialport": "^12.0.0",
"sharp": "^0.33.1",

@@ -141,6 +148,6 @@ "shiki": "^0.14.5",

},
"packageManager": "npm@10.2.5",
"engines": {
"node": ">=16"
},
"packageManager": "npm@10.2.5",
"publishConfig": {

@@ -147,0 +154,0 @@ "access": "public"

+26
-22

@@ -12,2 +12,3 @@ # Node File Trace

### Installation
```bash

@@ -39,4 +40,4 @@ npm i @vercel/nft

const { fileList } = await nodeFileTrace(files, {
base: process.cwd()
}
base: process.cwd(),
});
```

@@ -55,4 +56,4 @@

const { fileList } = await nodeFileTrace(files, {
processCwd: path.resolve(__dirname)
}
processCwd: path.resolve(__dirname),
});
```

@@ -70,3 +71,3 @@

const { fileList } = await nodeFileTrace(files, {
conditions: ['node', 'production']
conditions: ['node', 'production'],
});

@@ -85,3 +86,3 @@ ```

const { fileList } = await nodeFileTrace(files, {
exportsOnly: true
exportsOnly: true,
});

@@ -101,4 +102,4 @@ ```

paths: {
'utils/': '/path/to/utils/'
}
'utils/': '/path/to/utils/',
},
});

@@ -113,6 +114,6 @@ ```

* `readFile(path): Promise<string>`
* `stat(path): Promise<FS.Stats>`
* `readlink(path): Promise<string>`
* `resolve(id: string, parent: string): Promise<string | string[]>`
- `readFile(path): Promise<string>`
- `stat(path): Promise<FS.Stats>`
- `readlink(path): Promise<string>`
- `resolve(id: string, parent: string): Promise<string | string[]>`

@@ -123,15 +124,18 @@ ##### Advanced Resolving

* `resolve(id: string, parent: string, job: Job, isCjs: boolean): Promise<string | string[]>`
- `resolve(id: string, parent: string, job: Job, isCjs: boolean): Promise<string | string[]>`
Here is an example showing one id being resolved to a bespoke path while all other paths being resolved by the built-in resolver
```js
const { nodeFileTrace, resolve } = require('@vercel/nft');
const files = ['./src/main.js', './src/second.js'];
const { fileList } = await nodeFileTrace(files, { resolve: async (id, parent, job, isCjs) => {
if (id === './src/main.js') {
return '/path/to/some/resolved/main/file.js'
} else {
return resolve(id, parent, job, isCjs)
}
}});
const { fileList } = await nodeFileTrace(files, {
resolve: async (id, parent, job, isCjs) => {
if (id === './src/main.js') {
return '/path/to/some/resolved/main/file.js';
} else {
return resolve(id, parent, job, isCjs);
}
},
});
```

@@ -179,3 +183,3 @@

evaluatePureExpressions: true,
}
},
});

@@ -190,3 +194,3 @@ ```

const { fileList } = await nodeFileTrace(files, {
ignore: ['./node_modules/pkg/file.js']
ignore: ['./node_modules/pkg/file.js'],
});

@@ -193,0 +197,0 @@ ```