UNPKG

saksh-pc2

Version:

Check required packages in a JavaScript file

36 lines (28 loc) 1.01 kB
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;