find-node-modules-import
Version:
Find specific node modules import statement in your source code
25 lines • 890 B
JavaScript
import { init, parse } from "es-module-lexer";
import { StructuredSource } from "structured-source";
// @ts-expect-error: no types
import { isBuiltin } from "node:module";
export async function findNodeModulesImport(code) {
await init;
const [imports] = parse(code);
const source = new StructuredSource(code);
return imports.map((imp) => {
return {
name: code.slice(imp.s, imp.e),
range: [imp.s, imp.e],
loc: source.rangeToLocation([imp.s, imp.e])
};
});
}
export function filterModulesByModuleNames(modules, moduleNames) {
return modules.filter((imp) => moduleNames.includes(imp.name));
}
export function filterModulesByBuiltinModules(modules) {
return modules.filter((imp) => {
return imp.name.startsWith("node:") || isBuiltin(imp.name);
});
}
//# sourceMappingURL=find-node-modules-import.js.map