@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
51 lines (50 loc) • 1.55 kB
JavaScript
import { injectable } from "@tsed/cli-core";
import { ts } from "ts-morph";
var SyntaxKind = ts.SyntaxKind;
export class InitExpressPlatform {
constructor() {
this.name = "express";
}
alterProjectFiles(project) {
const options = project.findConfiguration("server");
if (options) {
const middlewares = [
"cors",
"cookie-parser",
"compression",
"method-override",
"json-parser",
{
use: "urlencoded-parser",
options: { extended: true }
}
];
project.getPropertyAssignment(options, {
name: "middlewares",
kind: SyntaxKind.ArrayLiteralExpression,
initializer: JSON.stringify(middlewares, null, 2)
});
}
}
dependencies(ctx) {
return {
"@tsed/platform-express": ctx.tsedVersion,
"body-parser": "latest",
cors: "latest",
compression: "latest",
"cookie-parser": "latest",
express: "latest",
"method-override": "latest"
};
}
devDependencies(ctx) {
return {
"@types/cors": "latest",
"@types/express": "latest",
"@types/compression": "latest",
"@types/cookie-parser": "latest",
"@types/method-override": "latest"
};
}
}
injectable(InitExpressPlatform).type("platform:init");