saksh-pc2
Version:
Check required packages in a JavaScript file
36 lines (28 loc) • 1.01 kB
JavaScript
const fs = require("fs");
function checkPackages(filePath) {
let code;
try {
code = fs.readFileSync(filePath, "utf-8");
} catch (err) {
console.error(`❌ Error reading file ${filePath}: ${err.message}`);
process.exit(1);
}
const requireRegex = /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
const importRegex = /import\s+(?:[\w*\s{},]+\s+from\s+)?['"]([^'"]+)['"]/g;
const packages = new Set();
let match;
while ((match = requireRegex.exec(code)) !== null) {
const moduleName = match[1];
if (!moduleName.startsWith(".") && !moduleName.startsWith("/")) {
packages.add(moduleName);
}
}
while ((match = importRegex.exec(code)) !== null) {
const moduleName = match[1];
if (!moduleName.startsWith(".") && !moduleName.startsWith("/")) {
packages.add(moduleName);
}
}
return Array.from(packages);
}
module.exports = checkPackages;