UNPKG

@tsed/cli

Version:
51 lines (50 loc) 1.55 kB
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");