comment-remover-cli
Version:
A CLI tool to remove comments from Svelte and TypeScript files while preserving JSDoc
34 lines (33 loc) • 1.49 kB
JavaScript
;
// This file initializes the comment removal process and integrates the processors for Svelte and TypeScript files.
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeComments = void 0;
const fileScanner_1 = require("./utils/fileScanner");
const svelteProcessor_1 = require("./processors/svelteProcessor");
const tsProcessor_1 = require("./processors/tsProcessor");
const removeComments = async (directory) => {
console.log(`Scanning directory: ${directory}`);
const svelteFiles = await (0, fileScanner_1.scanFiles)(directory, ".svelte");
const tsFiles = await (0, fileScanner_1.scanFiles)(directory, ".ts");
console.log(`Found ${svelteFiles.length} Svelte files and ${tsFiles.length} TypeScript files`);
await (0, svelteProcessor_1.processSvelteFiles)(svelteFiles);
await (0, tsProcessor_1.processTsFiles)(tsFiles);
console.log("All files processed successfully");
};
exports.removeComments = removeComments;
// Run as CLI if this file is executed directly
if (require.main === module) {
const args = process.argv.slice(2);
if (args.length === 0) {
console.log("Usage: comment-remover-cli <directory>");
process.exit(1);
}
const directory = args[0];
(0, exports.removeComments)(directory)
.then(() => console.log("✅ Comment removal complete"))
.catch((error) => {
console.error("❌ Error:", error);
process.exit(1);
});
}