svelte-draft
Version:
Develop svelte app in typedraft
69 lines (68 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const program = require("commander");
const literator_1 = require("./literator");
const path_1 = require("path");
const fs_extra_1 = require("fs-extra");
const fix_1 = require("./fix");
const type_1 = require("./type");
const config_1 = require("./config");
const packageJSON = fs_extra_1.readJSONSync(path_1.resolve(__dirname, "../../package.json"));
program.version(packageJSON.version);
//
program
.command("build")
.description("build component and script")
.action(() => {
config_1.withConfig(config => {
const { include, outDir } = config;
const workingDirectory = process.cwd();
include.forEach(inDir => {
const path = path_1.resolve(workingDirectory, inDir);
if (fs_extra_1.lstatSync(path).isDirectory()) {
literator_1.ComposeDirectory(path, config, () => {
const newOutDir = path_1.join(outDir, path_1.basename(inDir));
fs_extra_1.emptyDirSync(newOutDir);
fs_extra_1.copySync(inDir, newOutDir, {
filter: (src, dest) => {
if (path_1.basename(src).endsWith(".tsx") ||
path_1.basename(src).endsWith(".ts")) {
return false;
}
return true;
},
});
fix_1.addSvelteExtension(newOutDir);
});
}
});
type_1.generateType(include, outDir);
});
});
//
program
.command("transcribe <dir>")
.description("generate component and script")
.action(dir => {
config_1.withConfig(config => {
const path = path_1.resolve(process.cwd(), dir);
if (fs_extra_1.lstatSync(path).isDirectory()) {
literator_1.ComposeDirectory(path, config, () => {
fix_1.addSvelteExtension(path);
});
}
});
});
//
program
.command("clean <dir>")
.description("remove generated files")
.action(dir => {
const path = path_1.resolve(process.cwd(), dir);
if (fs_extra_1.lstatSync(path).isDirectory()) {
literator_1.CrossoutDirectory(path);
}
});
//
program.parse(process.argv);