@slidef/cli
Version:
CLI tool for converting PDF slides to web-viewable format
42 lines • 1.55 kB
JavaScript
import * as fs from "fs/promises";
import * as path from "path";
import chalk from "chalk";
import ora from "ora";
export async function removeCommand(slideName) {
const cwd = process.cwd();
// Load config
let config = {
slidesDir: "slides",
};
try {
const configPath = path.join(cwd, "slidef.config.json");
const configData = await fs.readFile(configPath, "utf-8");
config = { ...config, ...JSON.parse(configData) };
}
catch {
// Config doesn't exist, use defaults
}
const slidesDir = path.resolve(config.slidesDir || "slides");
const slideDir = path.join(slidesDir, slideName);
const spinner = ora(`Removing slide deck: ${chalk.cyan(slideName)}`).start();
try {
// Check if slide directory exists
try {
await fs.access(slideDir);
}
catch {
spinner.fail(chalk.red(`Slide deck not found: ${slideName}`));
console.log(chalk.gray('\nRun "slidef list" to see available slide decks.'));
process.exit(1);
}
// Remove the directory and all its contents
await fs.rm(slideDir, { recursive: true, force: true });
spinner.succeed(chalk.green(`Successfully removed slide deck: ${chalk.cyan(slideName)}`));
}
catch (error) {
spinner.fail(chalk.red("Failed to remove slide deck"));
console.error(chalk.red("\nError:"), error instanceof Error ? error.message : error);
process.exit(1);
}
}
//# sourceMappingURL=remove.js.map