@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
42 lines (41 loc) • 1.31 kB
JavaScript
import { dirname } from "node:path";
import { injectable } from "@tsed/di";
import { NodeRuntime } from "./NodeRuntime.js";
export class BabelRuntime extends NodeRuntime {
constructor() {
super(...arguments);
this.name = "babel";
this.order = 1;
}
isCompiled() {
return false;
}
files() {
return [".babelrc"];
}
startDev(main) {
return `babel-watch --extensions .ts ${main}`;
}
startProd(args) {
return `${this.cmd} ${args}`;
}
compile(src, out) {
return `tsc && babel ${dirname(src)} --out-dir ${dirname(out)} --extensions ".ts,.tsx" --source-maps inline`;
}
devDependencies() {
return {
"@babel/cli": "latest",
"@babel/core": "latest",
"@babel/node": "latest",
"@babel/plugin-proposal-class-properties": "latest",
"@babel/plugin-proposal-decorators": "latest",
"@babel/preset-env": "latest",
"@babel/preset-typescript": "latest",
"@babel/plugin-proposal-object-rest-spread": "latest",
"babel-plugin-transform-typescript-metadata": "latest",
"babel-watch": "latest",
typescript: "latest"
};
}
}
injectable(BabelRuntime).type("runtime");