comment-remover-cli
Version:
A CLI tool to remove comments from Svelte and TypeScript files while preserving JSDoc
42 lines (41 loc) • 1.51 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.scanFiles = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const scanFiles = async (dir, extension) => {
let results = [];
const files = fs_1.default.readdirSync(dir);
for (const file of files) {
const filePath = path_1.default.join(dir, file);
const stat = fs_1.default.statSync(filePath);
if (stat.isDirectory()) {
// Skip node_modules directory
if (file === "node_modules") {
console.log("Skipping node_modules directory");
continue;
}
else if (file === ".git") {
console.log("Skipping .git directory");
continue;
}
else if (file === ".svelte-kit") {
console.log("Skipping .svelte-kit directory");
continue;
}
// Recursively scan subdirectories
results = results.concat(await (0, exports.scanFiles)(filePath, extension));
}
else {
// Only include files with matching extension
if (!extension || filePath.endsWith(extension)) {
results.push(filePath);
}
}
}
return results;
};
exports.scanFiles = scanFiles;