@liftr/cli
Version:
The Liftr CLI provides scaffolding for the Liftr framework
12 lines (11 loc) • 3.98 kB
JavaScript
"use strict";
// tslint:disable:max-line-length
Object.defineProperty(exports, "__esModule", { value: true });
exports.moduleContent = function (moduleName, flat) { return "\nimport { Module, ModuleComponent } from '@liftr/core';\nimport { " + moduleName + "Route } from './" + moduleName + ".routes';\n\nexport const " + moduleName + "Module: ModuleComponent = Module([\n {\n route: " + moduleName + "Route,\n middleware: [],\n },\n])\n"; };
exports.middleWareContent = function (middlewareName, flat) { return "\nimport { Request, Response, NextFunction } from 'express';\n\nexport const " + middlewareName + "Middleware = (req: Request, res: Response, next: NextFunction) => {\n return next();\n};\n"; };
exports.routeContent = function (routeName, flat) { return "\nimport { Route } from '@liftr/core';\n" + (flat ? "import { " + routeName + "Controller } from '@controllers/" + routeName + ".controller';" : "import { " + routeName + "Controller } from '@controllers/" + routeName + "/" + routeName + ".controller'") + ";\n\nexport const " + routeName + "Route = Route.get('/', " + routeName + "Controller);\n"; };
exports.controllerContent = function (controllerName, flat) { return "\nimport { Request, Response, NextFunction } from 'express';\n\nexport const " + controllerName + "Controller = (req: Request, res: Response, next: NextFunction) => {\n res.send('Lift off!');\n};\n"; };
exports.appContent = "\nimport * as express from 'express';\nimport * as dotenv from 'dotenv';\nimport { routes } from '@routes/LiftrRoutingModule';\nimport { server } from '@liftr/core';\n\nconst app = express();\n\ndotenv.config();\napp.set('port', process.env.PORT || 4000);\n\nserver(app, routes);\n\nexport default app;\n";
exports.serverContent = "import app from './app';\nimport { Liftr } from '@liftr/core';\n\nconst server = Liftr.server(app);\n\nexport default server;\n";
exports.testControllerContent = function (controllerName, flat) { return "\nimport * as sinon from 'sinon';\nimport { expect } from 'chai';\nimport { Request, Response, NextFunction } from 'express';\nimport { " + controllerName + "Controller } from './" + controllerName + ".controller';\n\n\ndescribe(" + (flat ? "'src/controllers/" + controllerName + ".controller.ts'" : "'src/controllers/" + controllerName + "/" + controllerName + ".controller.ts'") + ", () => {\n let sandbox: sinon.SinonSandbox;\n let req: Partial<Request> = {};\n let responseStub: Partial<Response>;\n let next: Partial<NextFunction>;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n responseStub = {\n send: sandbox.stub(),\n }\n });\n\n it('should send a message' , () => {\n " + controllerName + "Controller(req as Request, responseStub as Response, next as NextFunction);\n expect(responseStub.send).to.be.calledWith('Lift off!');\n });\n});\n"; };
exports.testMiddleWareContent = function (middlewareName, flat) { return "\nimport * as sinon from 'sinon';\nimport { expect } from 'chai';\nimport { Request, Response, NextFunction } from 'express';\nimport { " + middlewareName + "Middleware } from './" + middlewareName + ".middleware';\n\ndescribe(" + (flat ? "'src/middlewares/" + middlewareName + ".middleware.ts'" : "'src/middlewares/" + middlewareName + "/" + middlewareName + ".middleware.ts'") + ", () => {\n const nextResponse = 'next!';\n let sandbox: sinon.SinonSandbox;\n let req: Partial<Request> = {};\n let responseStub: Partial<Response>;\n let nextStub: sinon.SinonStub;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n responseStub = {\n send: sandbox.stub(),\n }\n nextStub = sinon.stub().returns(nextResponse);\n });\n\n it('should call next' , () => {\n " + middlewareName + "Middleware(req as Request, responseStub as Response, nextStub as NextFunction);\n expect(nextStub).to.be.called;\n });\n});\n"; };