@tsed/cli 4.5.0 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -111,9 +111,9 @@ let InitCmd = InitCmd_1 = class InitCmd {
111
111
  title: "Initialize package.json",
112
112
  task: async () => {
113
113
  await this.packageJson.init(ctx);
114
+ this.addScripts(ctx);
114
115
  this.addDependencies(ctx);
115
116
  this.addDevDependencies(ctx);
116
- this.addScripts(ctx);
117
117
  this.addFeatures(ctx);
118
118
  }
119
119
  },
@@ -1 +1 @@
1
- {"version":3,"file":"InitCmd.js","sourceRoot":"","sources":["../../../../src/commands/init/InitCmd.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CliExeca,\n CliFs,\n CliLoadFile,\n CliPackageJson,\n CliPlugins,\n CliService,\n Command,\n CommandProvider,\n Configuration,\n createSubTasks,\n createTasksRunner,\n Inject,\n PackageManager,\n ProjectPackageJson,\n QuestionOptions,\n RootRendererService\n} from \"@tsed/cli-core\";\nimport {paramCase, pascalCase} from \"change-case\";\nimport {basename, join} from \"path\";\nimport {DEFAULT_TSED_TAGS} from \"../../constants\";\nimport {ArchitectureConvention} from \"../../interfaces/ArchitectureConvention\";\nimport {ProjectConvention} from \"../../interfaces/ProjectConvention\";\nimport {OutputFilePathPipe} from \"../../pipes/OutputFilePathPipe\";\nimport {InitCmdContext} from \"./interfaces/InitCmdContext\";\nimport {InitFileSchema} from \"./config/InitFileSchema\";\nimport {mapToContext} from \"./mappers/mapToContext\";\nimport {FeaturesMap, FeatureType} from \"./config/FeaturesPrompt\";\nimport {InitOptions} from \"./interfaces/InitOptions\";\nimport {getFeaturesPrompt} from \"./prompts/getFeaturesPrompt\";\nimport {PlatformType} from \"../../interfaces\";\nimport {fillImports} from \"../../utils/fillImports\";\n\n@Command({\n name: \"init\",\n description: \"Init a new Ts.ED project\",\n args: {\n root: {\n type: String,\n defaultValue: \".\",\n description: \"Root directory to initialize the Ts.ED project\"\n }\n },\n options: {\n \"-n, --project-name <projectName>\": {\n type: String,\n defaultValue: \"\",\n description: \"Set the project name. By default, the project is the same as the name directory.\"\n },\n \"-a, --arch <architecture>\": {\n type: String,\n defaultValue: ArchitectureConvention.DEFAULT,\n description: `Set the default architecture convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-c, --convention <convention>\": {\n type: String,\n defaultValue: ProjectConvention.DEFAULT,\n description: `Set the default project convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-p, --platform <platform>\": {\n type: String,\n defaultValue: PlatformType.EXPRESS,\n description: \"Set the default platform for Ts.ED (express or koa)\"\n },\n \"--features <features...>\": {\n type: Array,\n itemType: String,\n defaultValue: [],\n description: \"List of the Ts.ED features.\"\n },\n \"-m, --package-manager <packageManager>\": {\n itemType: String,\n defaultValue: PackageManager.YARN,\n description: \"The default package manager to install the project\"\n },\n \"-t, --tsed-version <version>\": {\n type: String,\n defaultValue: DEFAULT_TSED_TAGS,\n description: \"Use a specific version of Ts.ED (format: 5.x.x).\"\n },\n \"-f, --file <path>\": {\n type: String,\n description: \"Location of a file in which the features are defined.\"\n },\n \"-s, --skip-prompt\": {\n type: Boolean,\n defaultValue: false,\n description: \"Skip the prompt.\"\n }\n },\n disableReadUpPkg: true\n})\nexport class InitCmd implements CommandProvider {\n @Configuration()\n protected configuration: Configuration;\n\n @Inject()\n protected cliPlugins: CliPlugins;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @CliPackageJson()\n protected cliPackageJson: CliPackageJson;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected cliLoadFile: CliLoadFile;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected outputFilePathPipe: OutputFilePathPipe;\n\n @Inject()\n protected execa: CliExeca;\n\n @Inject()\n protected fs: CliFs;\n\n static checkPrecondition(availablePackageManagers: string[], ctx: InitCmdContext) {\n const isValid = (types: any, value: any) => (value ? Object.values(types).includes(value) : true);\n\n if (!isValid(PlatformType, ctx.platform)) {\n throw new Error(`Invalid selected platform: ${ctx.platform}. Possible values: ${Object.values(PlatformType).join(\", \")}.`);\n }\n\n if (!isValid(ArchitectureConvention, ctx.architecture)) {\n throw new Error(\n `Invalid selected architecture: ${ctx.architecture}. Possible values: ${Object.values(ArchitectureConvention).join(\", \")}.`\n );\n }\n\n if (!isValid(ProjectConvention, ctx.convention)) {\n throw new Error(`Invalid selected convention: ${ctx.convention}. Possible values: ${Object.values(ProjectConvention).join(\", \")}.`);\n }\n\n if (!availablePackageManagers.includes(ctx.packageManager)) {\n throw new Error(`Invalid selected package manager: ${ctx.packageManager}. Possible values: ${availablePackageManagers.join(\", \")}.`);\n }\n\n if (ctx.features) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (!feature) {\n throw new Error(`Invalid selected feature: ${value}. Possible values: ${Object.values(FeatureType).join(\", \")}.`);\n }\n });\n }\n }\n\n async $beforePrompt(initialOptions: Partial<InitOptions>) {\n if (initialOptions.file) {\n const file = join(this.packageJson.dir, initialOptions.file);\n\n return {\n ...initialOptions,\n ...(await this.cliLoadFile.loadFile(file, InitFileSchema))\n };\n }\n\n return initialOptions;\n }\n\n $prompt(initialOptions: Partial<InitOptions>): QuestionOptions {\n if (initialOptions.skipPrompt) {\n return [];\n }\n\n const packageManagers = this.packageJson.availablePackageManagers;\n\n return [\n {\n type: \"input\",\n name: \"projectName\",\n message: \"What is your project name\",\n default: paramCase(initialOptions.root!),\n when: initialOptions.root !== \".\",\n transformer(input) {\n return paramCase(input);\n }\n },\n ...getFeaturesPrompt(packageManagers, initialOptions)\n ];\n }\n\n $mapContext(ctx: any): InitCmdContext {\n this.resolveRootDir(ctx);\n ctx = mapToContext(ctx);\n\n return fillImports({\n ...ctx,\n yarn: ctx.packageManager == PackageManager.YARN || !ctx.packageManager,\n npm: ctx.packageManager == PackageManager.NPM,\n pnpm: ctx.packageManager == PackageManager.PNPM,\n cliVersion: ctx.cliVersion || this.cliPackageJson.version,\n srcDir: this.configuration.project?.srcDir,\n platformSymbol: ctx.platform && pascalCase(`Platform ${ctx.platform}`)\n }) as InitCmdContext;\n }\n\n async $beforeExec(ctx: InitCmdContext): Promise<any> {\n this.fs.ensureDirSync(this.packageJson.dir);\n this.packageJson.name = ctx.projectName;\n\n ctx.packageManager && this.packageJson.setPreference(\"packageManager\", ctx.packageManager);\n ctx.architecture && this.packageJson.setPreference(\"architecture\", ctx.architecture);\n ctx.convention && this.packageJson.setPreference(\"convention\", ctx.convention);\n ctx.GH_TOKEN && this.packageJson.setGhToken(ctx.GH_TOKEN);\n\n await createTasksRunner(\n [\n {\n title: \"Write RC files\",\n skip: () => !ctx.GH_TOKEN,\n task: () =>\n this.rootRenderer.renderAll([\"/init/.npmrc.hbs\", \"/init/.yarnrc.hbs\"], ctx, {\n baseDir: \"/init\"\n })\n },\n {\n title: \"Initialize package.json\",\n task: async () => {\n await this.packageJson.init(ctx);\n\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n this.addScripts(ctx);\n this.addFeatures(ctx);\n }\n },\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx), {...ctx, concurrent: false})\n },\n {\n title: \"Load plugins\",\n task: () => this.cliPlugins.loadPlugins()\n },\n {\n title: \"Install plugins dependencies\",\n task: createSubTasks(this.cliPlugins.addPluginsDependencies(ctx), {...ctx, concurrent: false})\n }\n ],\n ctx\n );\n }\n\n async $exec(ctx: InitCmdContext) {\n InitCmd.checkPrecondition(this.packageJson.availablePackageManagers, ctx);\n\n const subTasks = [\n ...(await this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"server\",\n name: \"Server\",\n route: \"/rest\"\n })),\n ...(await this.cliService.getTasks(\"generate\", {\n type: \"controller\",\n route: \"hello-world\",\n name: \"HelloWorld\",\n directory: \"rest\"\n })),\n ...(ctx.commands\n ? await this.cliService.getTasks(\"generate\", {\n type: \"command\",\n route: \"hello\",\n name: \"hello\"\n })\n : [])\n ];\n\n const indexCtrlBaseName = basename(\n `${this.outputFilePathPipe.transform({\n name: \"Index\",\n type: \"controller\",\n format: ctx.convention\n })}.ts`\n );\n\n return [\n {\n title: \"Generate project files\",\n task: createSubTasks(\n [\n {\n title: \"Root files\",\n task: () =>\n this.rootRenderer.renderAll(\n [\n \"/init/.dockerignore.hbs\",\n \"/init/.gitignore.hbs\",\n \"/init/.barrelsby.json.hbs\",\n \"/init/processes.config.js.hbs\",\n ctx.babel && \"/init/.babelrc.hbs\",\n ctx.webpack && \"/init/webpack.config.js.hbs\",\n \"/init/docker-compose.yml.hbs\",\n \"/init/Dockerfile.hbs\",\n \"/init/README.md.hbs\",\n \"/init/tsconfig.compile.json.hbs\",\n \"/init/tsconfig.json.hbs\",\n \"/init/src/index.ts.hbs\",\n \"/init/src/config/envs/index.ts.hbs\",\n \"/init/src/config/logger/index.ts.hbs\",\n \"/init/src/config/index.ts.hbs\",\n ctx.commands && \"/init/src/bin/index.ts.hbs\",\n ctx.swagger && \"/init/views/swagger.ejs.hbs\",\n ctx.swagger && {\n path: \"/init/src/controllers/pages/IndexController.ts.hbs\",\n basename: indexCtrlBaseName,\n output: ctx.architecture === \"default\" ? \"/controllers/pages/IndexController.ts\" : \"/pages/IndexController.ts\"\n }\n ].filter(Boolean),\n ctx,\n {\n baseDir: \"/init\"\n }\n )\n },\n ...subTasks\n ],\n {...ctx, concurrent: false}\n )\n }\n ];\n }\n\n async $afterPostInstall() {\n return [\n {\n title: \"Generate barrels files\",\n task: () => {\n return this.packageJson.runScript(\"barrels\", {\n ignoreError: true\n });\n }\n }\n ];\n }\n\n resolveRootDir(ctx: Partial<InitCmdContext>) {\n const rootDirName = paramCase(ctx.projectName || basename(this.packageJson.dir));\n\n if (this.packageJson.dir.endsWith(rootDirName)) {\n ctx.projectName = ctx.projectName || rootDirName;\n ctx.root = \".\";\n return;\n }\n\n ctx.projectName = ctx.projectName || rootDirName;\n\n if (ctx.root && ctx.root !== \".\") {\n this.packageJson.dir = join(this.packageJson.dir, rootDirName);\n ctx.root = \".\";\n }\n }\n\n addScripts(ctx: InitCmdContext): void {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n build: `${runner} barrels && tsc --project tsconfig.compile.json`,\n barrels: \"barrelsby --config .barrelsby.json\",\n start: `${runner} barrels && tsnd --inspect --exit-child --cls --ignore-watch node_modules --respawn --transpile-only -r tsconfig-paths/register src/index.ts`,\n \"start:prod\": \"cross-env NODE_ENV=production node dist/index.js\"\n });\n\n if (ctx.babel) {\n this.packageJson.addScripts({\n build: `tsc && babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline`,\n start: \"babel-watch --extensions .ts src/index.ts\"\n });\n }\n\n if (ctx.webpack) {\n this.packageJson.addScripts({\n bundle: `tsc && cross-env NODE_ENV=production webpack`,\n \"start:bundle\": \"cross-env NODE_ENV=production node dist/app.bundle.js\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({\n \"@tsed/common\": ctx.tsedVersion,\n \"@tsed/core\": ctx.tsedVersion,\n \"@tsed/di\": ctx.tsedVersion,\n \"@tsed/ajv\": ctx.tsedVersion,\n \"@tsed/exceptions\": ctx.tsedVersion,\n \"@tsed/schema\": ctx.tsedVersion,\n \"@tsed/json-mapper\": ctx.tsedVersion,\n \"@tsed/openspec\": ctx.tsedVersion,\n \"@tsed/platform-cache\": ctx.tsedVersion,\n \"@tsed/platform-exceptions\": ctx.tsedVersion,\n \"@tsed/platform-log-middleware\": ctx.tsedVersion,\n \"@tsed/platform-middlewares\": ctx.tsedVersion,\n \"@tsed/platform-params\": ctx.tsedVersion,\n \"@tsed/platform-response-filter\": ctx.tsedVersion,\n \"@tsed/platform-views\": ctx.tsedVersion,\n \"@tsed/logger\": \"latest\",\n \"@tsed/logger-file\": \"latest\",\n \"@tsed/engines\": \"latest\",\n ajv: \"latest\",\n barrelsby: \"latest\",\n \"cross-env\": \"latest\",\n dotenv: \"latest\",\n \"dotenv-expand\": \"latest\",\n \"dotenv-flow\": \"latest\"\n });\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n \"@types/node\": \"latest\",\n \"@types/multer\": \"latest\",\n tslib: \"latest\",\n \"ts-node\": \"latest\",\n \"tsconfig-paths\": \"latest\",\n typescript: \"latest\"\n },\n ctx\n );\n\n if (!ctx.babel) {\n this.packageJson.addDevDependencies(\n {\n \"ts-node-dev\": \"latest\"\n },\n ctx\n );\n }\n }\n\n addFeatures(ctx: InitCmdContext) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (feature.dependencies) {\n this.packageJson.addDependencies(feature.dependencies, ctx);\n }\n\n if (feature.devDependencies) {\n this.packageJson.addDevDependencies(feature.devDependencies, ctx);\n }\n });\n\n switch (ctx.platform) {\n case \"express\":\n this.addExpressDependencies(ctx);\n break;\n case \"koa\":\n this.addKoaDependencies(ctx);\n break;\n }\n\n if (ctx.features.find((value) => value === FeatureType.GRAPHQL)) {\n this.packageJson.addDependencies(\n {\n [\"apollo-server-\" + ctx.platform]: \"2.25.2\"\n },\n ctx\n );\n }\n }\n\n private addExpressDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-express\": ctx.tsedVersion,\n \"body-parser\": \"latest\",\n cors: \"latest\",\n compression: \"latest\",\n \"cookie-parser\": \"latest\",\n express: \"latest\",\n \"method-override\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/cors\": \"latest\",\n \"@types/express\": \"latest\",\n \"@types/compression\": \"latest\",\n \"@types/cookie-parser\": \"latest\",\n \"@types/method-override\": \"latest\"\n },\n ctx\n );\n }\n\n private addKoaDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-koa\": ctx.tsedVersion,\n koa: \"latest\",\n \"@koa/cors\": \"latest\",\n \"@koa/router\": \"latest\",\n \"koa-qs\": \"latest\",\n \"koa-bodyparser\": \"latest\",\n \"koa-override\": \"latest\",\n \"koa-compress\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/koa\": \"latest\",\n \"@types/koa-qs\": \"latest\",\n \"@types/koa-json\": \"latest\",\n \"@types/koa-bodyparser\": \"latest\",\n \"@types/koa__router\": \"latest\",\n \"@types/koa-compress\": \"latest\",\n \"@types/koa-send\": \"latest\",\n \"@types/koa__cors\": \"latest\"\n },\n ctx\n );\n }\n}\n"]}
1
+ {"version":3,"file":"InitCmd.js","sourceRoot":"","sources":["../../../../src/commands/init/InitCmd.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CliExeca,\n CliFs,\n CliLoadFile,\n CliPackageJson,\n CliPlugins,\n CliService,\n Command,\n CommandProvider,\n Configuration,\n createSubTasks,\n createTasksRunner,\n Inject,\n PackageManager,\n ProjectPackageJson,\n QuestionOptions,\n RootRendererService\n} from \"@tsed/cli-core\";\nimport {paramCase, pascalCase} from \"change-case\";\nimport {basename, join} from \"path\";\nimport {DEFAULT_TSED_TAGS} from \"../../constants\";\nimport {ArchitectureConvention} from \"../../interfaces/ArchitectureConvention\";\nimport {ProjectConvention} from \"../../interfaces/ProjectConvention\";\nimport {OutputFilePathPipe} from \"../../pipes/OutputFilePathPipe\";\nimport {InitCmdContext} from \"./interfaces/InitCmdContext\";\nimport {InitFileSchema} from \"./config/InitFileSchema\";\nimport {mapToContext} from \"./mappers/mapToContext\";\nimport {FeaturesMap, FeatureType} from \"./config/FeaturesPrompt\";\nimport {InitOptions} from \"./interfaces/InitOptions\";\nimport {getFeaturesPrompt} from \"./prompts/getFeaturesPrompt\";\nimport {PlatformType} from \"../../interfaces\";\nimport {fillImports} from \"../../utils/fillImports\";\n\n@Command({\n name: \"init\",\n description: \"Init a new Ts.ED project\",\n args: {\n root: {\n type: String,\n defaultValue: \".\",\n description: \"Root directory to initialize the Ts.ED project\"\n }\n },\n options: {\n \"-n, --project-name <projectName>\": {\n type: String,\n defaultValue: \"\",\n description: \"Set the project name. By default, the project is the same as the name directory.\"\n },\n \"-a, --arch <architecture>\": {\n type: String,\n defaultValue: ArchitectureConvention.DEFAULT,\n description: `Set the default architecture convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-c, --convention <convention>\": {\n type: String,\n defaultValue: ProjectConvention.DEFAULT,\n description: `Set the default project convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-p, --platform <platform>\": {\n type: String,\n defaultValue: PlatformType.EXPRESS,\n description: \"Set the default platform for Ts.ED (express or koa)\"\n },\n \"--features <features...>\": {\n type: Array,\n itemType: String,\n defaultValue: [],\n description: \"List of the Ts.ED features.\"\n },\n \"-m, --package-manager <packageManager>\": {\n itemType: String,\n defaultValue: PackageManager.YARN,\n description: \"The default package manager to install the project\"\n },\n \"-t, --tsed-version <version>\": {\n type: String,\n defaultValue: DEFAULT_TSED_TAGS,\n description: \"Use a specific version of Ts.ED (format: 5.x.x).\"\n },\n \"-f, --file <path>\": {\n type: String,\n description: \"Location of a file in which the features are defined.\"\n },\n \"-s, --skip-prompt\": {\n type: Boolean,\n defaultValue: false,\n description: \"Skip the prompt.\"\n }\n },\n disableReadUpPkg: true\n})\nexport class InitCmd implements CommandProvider {\n @Configuration()\n protected configuration: Configuration;\n\n @Inject()\n protected cliPlugins: CliPlugins;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @CliPackageJson()\n protected cliPackageJson: CliPackageJson;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected cliLoadFile: CliLoadFile;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected outputFilePathPipe: OutputFilePathPipe;\n\n @Inject()\n protected execa: CliExeca;\n\n @Inject()\n protected fs: CliFs;\n\n static checkPrecondition(availablePackageManagers: string[], ctx: InitCmdContext) {\n const isValid = (types: any, value: any) => (value ? Object.values(types).includes(value) : true);\n\n if (!isValid(PlatformType, ctx.platform)) {\n throw new Error(`Invalid selected platform: ${ctx.platform}. Possible values: ${Object.values(PlatformType).join(\", \")}.`);\n }\n\n if (!isValid(ArchitectureConvention, ctx.architecture)) {\n throw new Error(\n `Invalid selected architecture: ${ctx.architecture}. Possible values: ${Object.values(ArchitectureConvention).join(\", \")}.`\n );\n }\n\n if (!isValid(ProjectConvention, ctx.convention)) {\n throw new Error(`Invalid selected convention: ${ctx.convention}. Possible values: ${Object.values(ProjectConvention).join(\", \")}.`);\n }\n\n if (!availablePackageManagers.includes(ctx.packageManager)) {\n throw new Error(`Invalid selected package manager: ${ctx.packageManager}. Possible values: ${availablePackageManagers.join(\", \")}.`);\n }\n\n if (ctx.features) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (!feature) {\n throw new Error(`Invalid selected feature: ${value}. Possible values: ${Object.values(FeatureType).join(\", \")}.`);\n }\n });\n }\n }\n\n async $beforePrompt(initialOptions: Partial<InitOptions>) {\n if (initialOptions.file) {\n const file = join(this.packageJson.dir, initialOptions.file);\n\n return {\n ...initialOptions,\n ...(await this.cliLoadFile.loadFile(file, InitFileSchema))\n };\n }\n\n return initialOptions;\n }\n\n $prompt(initialOptions: Partial<InitOptions>): QuestionOptions {\n if (initialOptions.skipPrompt) {\n return [];\n }\n\n const packageManagers = this.packageJson.availablePackageManagers;\n\n return [\n {\n type: \"input\",\n name: \"projectName\",\n message: \"What is your project name\",\n default: paramCase(initialOptions.root!),\n when: initialOptions.root !== \".\",\n transformer(input) {\n return paramCase(input);\n }\n },\n ...getFeaturesPrompt(packageManagers, initialOptions)\n ];\n }\n\n $mapContext(ctx: any): InitCmdContext {\n this.resolveRootDir(ctx);\n ctx = mapToContext(ctx);\n\n return fillImports({\n ...ctx,\n yarn: ctx.packageManager == PackageManager.YARN || !ctx.packageManager,\n npm: ctx.packageManager == PackageManager.NPM,\n pnpm: ctx.packageManager == PackageManager.PNPM,\n cliVersion: ctx.cliVersion || this.cliPackageJson.version,\n srcDir: this.configuration.project?.srcDir,\n platformSymbol: ctx.platform && pascalCase(`Platform ${ctx.platform}`)\n }) as InitCmdContext;\n }\n\n async $beforeExec(ctx: InitCmdContext): Promise<any> {\n this.fs.ensureDirSync(this.packageJson.dir);\n this.packageJson.name = ctx.projectName;\n\n ctx.packageManager && this.packageJson.setPreference(\"packageManager\", ctx.packageManager);\n ctx.architecture && this.packageJson.setPreference(\"architecture\", ctx.architecture);\n ctx.convention && this.packageJson.setPreference(\"convention\", ctx.convention);\n ctx.GH_TOKEN && this.packageJson.setGhToken(ctx.GH_TOKEN);\n\n await createTasksRunner(\n [\n {\n title: \"Write RC files\",\n skip: () => !ctx.GH_TOKEN,\n task: () =>\n this.rootRenderer.renderAll([\"/init/.npmrc.hbs\", \"/init/.yarnrc.hbs\"], ctx, {\n baseDir: \"/init\"\n })\n },\n {\n title: \"Initialize package.json\",\n task: async () => {\n await this.packageJson.init(ctx);\n\n this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n this.addFeatures(ctx);\n }\n },\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx), {...ctx, concurrent: false})\n },\n {\n title: \"Load plugins\",\n task: () => this.cliPlugins.loadPlugins()\n },\n {\n title: \"Install plugins dependencies\",\n task: createSubTasks(this.cliPlugins.addPluginsDependencies(ctx), {...ctx, concurrent: false})\n }\n ],\n ctx\n );\n }\n\n async $exec(ctx: InitCmdContext) {\n InitCmd.checkPrecondition(this.packageJson.availablePackageManagers, ctx);\n\n const subTasks = [\n ...(await this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"server\",\n name: \"Server\",\n route: \"/rest\"\n })),\n ...(await this.cliService.getTasks(\"generate\", {\n type: \"controller\",\n route: \"hello-world\",\n name: \"HelloWorld\",\n directory: \"rest\"\n })),\n ...(ctx.commands\n ? await this.cliService.getTasks(\"generate\", {\n type: \"command\",\n route: \"hello\",\n name: \"hello\"\n })\n : [])\n ];\n\n const indexCtrlBaseName = basename(\n `${this.outputFilePathPipe.transform({\n name: \"Index\",\n type: \"controller\",\n format: ctx.convention\n })}.ts`\n );\n\n return [\n {\n title: \"Generate project files\",\n task: createSubTasks(\n [\n {\n title: \"Root files\",\n task: () =>\n this.rootRenderer.renderAll(\n [\n \"/init/.dockerignore.hbs\",\n \"/init/.gitignore.hbs\",\n \"/init/.barrelsby.json.hbs\",\n \"/init/processes.config.js.hbs\",\n ctx.babel && \"/init/.babelrc.hbs\",\n ctx.webpack && \"/init/webpack.config.js.hbs\",\n \"/init/docker-compose.yml.hbs\",\n \"/init/Dockerfile.hbs\",\n \"/init/README.md.hbs\",\n \"/init/tsconfig.compile.json.hbs\",\n \"/init/tsconfig.json.hbs\",\n \"/init/src/index.ts.hbs\",\n \"/init/src/config/envs/index.ts.hbs\",\n \"/init/src/config/logger/index.ts.hbs\",\n \"/init/src/config/index.ts.hbs\",\n ctx.commands && \"/init/src/bin/index.ts.hbs\",\n ctx.swagger && \"/init/views/swagger.ejs.hbs\",\n ctx.swagger && {\n path: \"/init/src/controllers/pages/IndexController.ts.hbs\",\n basename: indexCtrlBaseName,\n output: ctx.architecture === \"default\" ? \"/controllers/pages/IndexController.ts\" : \"/pages/IndexController.ts\"\n }\n ].filter(Boolean),\n ctx,\n {\n baseDir: \"/init\"\n }\n )\n },\n ...subTasks\n ],\n {...ctx, concurrent: false}\n )\n }\n ];\n }\n\n async $afterPostInstall() {\n return [\n {\n title: \"Generate barrels files\",\n task: () => {\n return this.packageJson.runScript(\"barrels\", {\n ignoreError: true\n });\n }\n }\n ];\n }\n\n resolveRootDir(ctx: Partial<InitCmdContext>) {\n const rootDirName = paramCase(ctx.projectName || basename(this.packageJson.dir));\n\n if (this.packageJson.dir.endsWith(rootDirName)) {\n ctx.projectName = ctx.projectName || rootDirName;\n ctx.root = \".\";\n return;\n }\n\n ctx.projectName = ctx.projectName || rootDirName;\n\n if (ctx.root && ctx.root !== \".\") {\n this.packageJson.dir = join(this.packageJson.dir, rootDirName);\n ctx.root = \".\";\n }\n }\n\n addScripts(ctx: InitCmdContext): void {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n build: `${runner} barrels && tsc --project tsconfig.compile.json`,\n barrels: \"barrelsby --config .barrelsby.json\",\n start: `${runner} barrels && tsnd --inspect --exit-child --cls --ignore-watch node_modules --respawn --transpile-only -r tsconfig-paths/register src/index.ts`,\n \"start:prod\": \"cross-env NODE_ENV=production node dist/index.js\"\n });\n\n if (ctx.babel) {\n this.packageJson.addScripts({\n build: `tsc && babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline`,\n start: \"babel-watch --extensions .ts src/index.ts\"\n });\n }\n\n if (ctx.webpack) {\n this.packageJson.addScripts({\n bundle: `tsc && cross-env NODE_ENV=production webpack`,\n \"start:bundle\": \"cross-env NODE_ENV=production node dist/app.bundle.js\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({\n \"@tsed/common\": ctx.tsedVersion,\n \"@tsed/core\": ctx.tsedVersion,\n \"@tsed/di\": ctx.tsedVersion,\n \"@tsed/ajv\": ctx.tsedVersion,\n \"@tsed/exceptions\": ctx.tsedVersion,\n \"@tsed/schema\": ctx.tsedVersion,\n \"@tsed/json-mapper\": ctx.tsedVersion,\n \"@tsed/openspec\": ctx.tsedVersion,\n \"@tsed/platform-cache\": ctx.tsedVersion,\n \"@tsed/platform-exceptions\": ctx.tsedVersion,\n \"@tsed/platform-log-middleware\": ctx.tsedVersion,\n \"@tsed/platform-middlewares\": ctx.tsedVersion,\n \"@tsed/platform-params\": ctx.tsedVersion,\n \"@tsed/platform-response-filter\": ctx.tsedVersion,\n \"@tsed/platform-views\": ctx.tsedVersion,\n \"@tsed/logger\": \"latest\",\n \"@tsed/logger-file\": \"latest\",\n \"@tsed/engines\": \"latest\",\n ajv: \"latest\",\n barrelsby: \"latest\",\n \"cross-env\": \"latest\",\n dotenv: \"latest\",\n \"dotenv-expand\": \"latest\",\n \"dotenv-flow\": \"latest\"\n });\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n \"@types/node\": \"latest\",\n \"@types/multer\": \"latest\",\n tslib: \"latest\",\n \"ts-node\": \"latest\",\n \"tsconfig-paths\": \"latest\",\n typescript: \"latest\"\n },\n ctx\n );\n\n if (!ctx.babel) {\n this.packageJson.addDevDependencies(\n {\n \"ts-node-dev\": \"latest\"\n },\n ctx\n );\n }\n }\n\n addFeatures(ctx: InitCmdContext) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (feature.dependencies) {\n this.packageJson.addDependencies(feature.dependencies, ctx);\n }\n\n if (feature.devDependencies) {\n this.packageJson.addDevDependencies(feature.devDependencies, ctx);\n }\n });\n\n switch (ctx.platform) {\n case \"express\":\n this.addExpressDependencies(ctx);\n break;\n case \"koa\":\n this.addKoaDependencies(ctx);\n break;\n }\n\n if (ctx.features.find((value) => value === FeatureType.GRAPHQL)) {\n this.packageJson.addDependencies(\n {\n [\"apollo-server-\" + ctx.platform]: \"2.25.2\"\n },\n ctx\n );\n }\n }\n\n private addExpressDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-express\": ctx.tsedVersion,\n \"body-parser\": \"latest\",\n cors: \"latest\",\n compression: \"latest\",\n \"cookie-parser\": \"latest\",\n express: \"latest\",\n \"method-override\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/cors\": \"latest\",\n \"@types/express\": \"latest\",\n \"@types/compression\": \"latest\",\n \"@types/cookie-parser\": \"latest\",\n \"@types/method-override\": \"latest\"\n },\n ctx\n );\n }\n\n private addKoaDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-koa\": ctx.tsedVersion,\n koa: \"latest\",\n \"@koa/cors\": \"latest\",\n \"@koa/router\": \"latest\",\n \"koa-qs\": \"latest\",\n \"koa-bodyparser\": \"latest\",\n \"koa-override\": \"latest\",\n \"koa-compress\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/koa\": \"latest\",\n \"@types/koa-qs\": \"latest\",\n \"@types/koa-json\": \"latest\",\n \"@types/koa-bodyparser\": \"latest\",\n \"@types/koa__router\": \"latest\",\n \"@types/koa-compress\": \"latest\",\n \"@types/koa-send\": \"latest\",\n \"@types/koa__cors\": \"latest\"\n },\n ctx\n );\n }\n}\n"]}
@@ -108,9 +108,9 @@ let InitCmd = InitCmd_1 = class InitCmd {
108
108
  title: "Initialize package.json",
109
109
  task: async () => {
110
110
  await this.packageJson.init(ctx);
111
+ this.addScripts(ctx);
111
112
  this.addDependencies(ctx);
112
113
  this.addDevDependencies(ctx);
113
- this.addScripts(ctx);
114
114
  this.addFeatures(ctx);
115
115
  }
116
116
  },
@@ -1 +1 @@
1
- {"version":3,"file":"InitCmd.js","sourceRoot":"","sources":["../../../../src/commands/init/InitCmd.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,UAAU,EACV,OAAO,EAEP,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,sBAAsB,EAAC,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AA6D7C,IAAM,OAAO,eAAb,MAAM,OAAO;IAER,aAAa,CAAgB;IAG7B,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAGhC,cAAc,CAAiB;IAG/B,UAAU,CAAa;IAGvB,WAAW,CAAc;IAGzB,YAAY,CAAsB;IAGlC,kBAAkB,CAAqB;IAGvC,KAAK,CAAW;IAGhB,EAAE,CAAQ;IAEpB,MAAM,CAAC,iBAAiB,CAAC,wBAAkC,EAAE,GAAmB;QAC9E,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,QAAQ,sBAAsB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5H;QAED,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,YAAY,sBAAsB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5H,CAAC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,UAAU,sBAAsB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrI;QAED,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,cAAc,sBAAsB,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtI;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAEjD,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,sBAAsB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnH;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAAoC;QACtD,IAAI,cAAc,CAAC,IAAI,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;YAE7D,OAAO;gBACL,GAAG,cAAc;gBACjB,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aAC3D,CAAC;SACH;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,cAAoC;QAC1C,IAAI,cAAc,CAAC,UAAU,EAAE;YAC7B,OAAO,EAAE,CAAC;SACX;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC;QAElE,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,IAAK,CAAC;gBACxC,IAAI,EAAE,cAAc,CAAC,IAAI,KAAK,GAAG;gBACjC,WAAW,CAAC,KAAK;oBACf,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;aACF;YACD,GAAG,iBAAiB,CAAC,eAAe,EAAE,cAAc,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAExB,OAAO,WAAW,CAAC;YACjB,GAAG,GAAG;YACN,IAAI,EAAE,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc;YACtE,GAAG,EAAE,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG;YAC7C,IAAI,EAAE,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI;YAC/C,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO;YACzD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;YAC1C,cAAc,EAAE,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvE,CAAmB,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAmB;QACnC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;QAExC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3F,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACrF,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/E,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,iBAAiB,CACrB;YACE;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACzB,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,GAAG,EAAE;oBAC1E,OAAO,EAAE,OAAO;iBACjB,CAAC;aACL;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aACvF;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;aAC1C;YACD;gBACE,KAAK,EAAE,8BAA8B;gBACrC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aAC/F;SACF,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAmB;QAC7B,SAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAE1E,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAC7C,GAAG,GAAG;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAC7C,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,QAAQ;gBACd,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;oBACzC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,OAAO;iBACd,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,MAAM,iBAAiB,GAAG,QAAQ,CAChC,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACnC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,GAAG,CAAC,UAAU;SACvB,CAAC,KAAK,CACR,CAAC;QAEF,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,cAAc,CAClB;oBACE;wBACE,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,YAAY,CAAC,SAAS,CACzB;4BACE,yBAAyB;4BACzB,sBAAsB;4BACtB,2BAA2B;4BAC3B,+BAA+B;4BAC/B,GAAG,CAAC,KAAK,IAAI,oBAAoB;4BACjC,GAAG,CAAC,OAAO,IAAI,6BAA6B;4BAC5C,8BAA8B;4BAC9B,sBAAsB;4BACtB,qBAAqB;4BACrB,iCAAiC;4BACjC,yBAAyB;4BACzB,wBAAwB;4BACxB,oCAAoC;4BACpC,sCAAsC;4BACtC,+BAA+B;4BAC/B,GAAG,CAAC,QAAQ,IAAI,4BAA4B;4BAC5C,GAAG,CAAC,OAAO,IAAI,6BAA6B;4BAC5C,GAAG,CAAC,OAAO,IAAI;gCACb,IAAI,EAAE,oDAAoD;gCAC1D,QAAQ,EAAE,iBAAiB;gCAC3B,MAAM,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,2BAA2B;6BAC/G;yBACF,CAAC,MAAM,CAAC,OAAO,CAAC,EACjB,GAAG,EACH;4BACE,OAAO,EAAE,OAAO;yBACjB,CACF;qBACJ;oBACD,GAAG,QAAQ;iBACZ,EACD,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAC5B;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,GAAG,EAAE;oBACT,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE;wBAC3C,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,GAA4B;QACzC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjF,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9C,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC;YACjD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YACf,OAAO;SACR;QAED,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC;QAEjD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/D,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;SAChB;IACH,CAAC;IAED,UAAU,CAAC,GAAmB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,KAAK,EAAE,GAAG,MAAM,iDAAiD;YACjE,OAAO,EAAE,oCAAoC;YAC7C,KAAK,EAAE,GAAG,MAAM,8IAA8I;YAC9J,YAAY,EAAE,kDAAkD;SACjE,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC1B,KAAK,EAAE,8EAA8E;gBACrF,KAAK,EAAE,2CAA2C;aACnD,CAAC,CAAC;SACJ;QAED,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC1B,MAAM,EAAE,8CAA8C;gBACtD,cAAc,EAAE,uDAAuD;aACxE,CAAC,CAAC;SACJ;IACH,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,cAAc,EAAE,GAAG,CAAC,WAAW;YAC/B,YAAY,EAAE,GAAG,CAAC,WAAW;YAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,kBAAkB,EAAE,GAAG,CAAC,WAAW;YACnC,cAAc,EAAE,GAAG,CAAC,WAAW;YAC/B,mBAAmB,EAAE,GAAG,CAAC,WAAW;YACpC,gBAAgB,EAAE,GAAG,CAAC,WAAW;YACjC,sBAAsB,EAAE,GAAG,CAAC,WAAW;YACvC,2BAA2B,EAAE,GAAG,CAAC,WAAW;YAC5C,+BAA+B,EAAE,GAAG,CAAC,WAAW;YAChD,4BAA4B,EAAE,GAAG,CAAC,WAAW;YAC7C,uBAAuB,EAAE,GAAG,CAAC,WAAW;YACxC,gCAAgC,EAAE,GAAG,CAAC,WAAW;YACjD,sBAAsB,EAAE,GAAG,CAAC,WAAW;YACvC,cAAc,EAAE,QAAQ;YACxB,mBAAmB,EAAE,QAAQ;YAC7B,eAAe,EAAE,QAAQ;YACzB,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;YACE,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,QAAQ;YACzB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,QAAQ;YACnB,gBAAgB,EAAE,QAAQ;YAC1B,UAAU,EAAE,QAAQ;SACrB,EACD,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;gBACE,aAAa,EAAE,QAAQ;aACxB,EACD,GAAG,CACJ,CAAC;SACH;IACH,CAAC;IAED,WAAW,CAAC,GAAmB;QAC7B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjD,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;aAC7D;YAED,IAAI,OAAO,CAAC,eAAe,EAAE;gBAC3B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;aACnE;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,GAAG,CAAC,QAAQ,EAAE;YACpB,KAAK,SAAS;gBACZ,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM;SACT;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE;YAC/D,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;gBACE,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ;aAC5C,EACD,GAAG,CACJ,CAAC;SACH;IACH,CAAC;IAEO,sBAAsB,CAAC,GAAmB;QAChD,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,wBAAwB,EAAE,GAAG,CAAC,WAAW;YACzC,aAAa,EAAE,QAAQ;YACvB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,QAAQ;YACzB,OAAO,EAAE,QAAQ;YACjB,iBAAiB,EAAE,QAAQ;SAC5B,EACD,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;YACE,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,QAAQ;YAC1B,oBAAoB,EAAE,QAAQ;YAC9B,sBAAsB,EAAE,QAAQ;YAChC,wBAAwB,EAAE,QAAQ;SACnC,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,GAAmB;QAC5C,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,oBAAoB,EAAE,GAAG,CAAC,WAAW;YACrC,GAAG,EAAE,QAAQ;YACb,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,QAAQ;YAC1B,cAAc,EAAE,QAAQ;YACxB,cAAc,EAAE,QAAQ;SACzB,EACD,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;YACE,YAAY,EAAE,QAAQ;YACtB,eAAe,EAAE,QAAQ;YACzB,iBAAiB,EAAE,QAAQ;YAC3B,uBAAuB,EAAE,QAAQ;YACjC,oBAAoB,EAAE,QAAQ;YAC9B,qBAAqB,EAAE,QAAQ;YAC/B,iBAAiB,EAAE,QAAQ;YAC3B,kBAAkB,EAAE,QAAQ;SAC7B,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;CACF,CAAA;AAjbC;IAAC,aAAa,EAAE;;8CACuB;AAEvC;IAAC,MAAM,EAAE;8BACa,UAAU;2CAAC;AAEjC;IAAC,MAAM,EAAE;8BACc,kBAAkB;4CAAC;AAE1C;IAAC,cAAc,EAAE;;+CACwB;AAEzC;IAAC,MAAM,EAAE;8BACa,UAAU;2CAAC;AAEjC;IAAC,MAAM,EAAE;8BACc,WAAW;4CAAC;AAEnC;IAAC,MAAM,EAAE;8BACe,mBAAmB;6CAAC;AAE5C;IAAC,MAAM,EAAE;8BACqB,kBAAkB;mDAAC;AAEjD;IAAC,MAAM,EAAE;8BACQ,QAAQ;sCAAC;AAE1B;IAAC,MAAM,EAAE;8BACK,KAAK;mCAAC;AA7BT,OAAO;IA3DnB,OAAO,CAAC;QACP,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,GAAG;gBACjB,WAAW,EAAE,gDAAgD;aAC9D;SACF;QACD,OAAO,EAAE;YACP,kCAAkC,EAAE;gBAClC,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,EAAE;gBAChB,WAAW,EAAE,kFAAkF;aAChG;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,sBAAsB,CAAC,OAAO;gBAC5C,WAAW,EAAE,4CAA4C,sBAAsB,CAAC,OAAO,OAAO,sBAAsB,CAAC,OAAO,GAAG;aAChI;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,iBAAiB,CAAC,OAAO;gBACvC,WAAW,EAAE,uCAAuC,sBAAsB,CAAC,OAAO,OAAO,sBAAsB,CAAC,OAAO,GAAG;aAC3H;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,WAAW,EAAE,qDAAqD;aACnE;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,EAAE;gBAChB,WAAW,EAAE,6BAA6B;aAC3C;YACD,wCAAwC,EAAE;gBACxC,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,cAAc,CAAC,IAAI;gBACjC,WAAW,EAAE,oDAAoD;aAClE;YACD,8BAA8B,EAAE;gBAC9B,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,iBAAiB;gBAC/B,WAAW,EAAE,kDAAkD;aAChE;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,uDAAuD;aACrE;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,gBAAgB,EAAE,IAAI;KACvB,CAAC;GACW,OAAO,CAkbnB;SAlbY,OAAO","sourcesContent":["import {\n CliExeca,\n CliFs,\n CliLoadFile,\n CliPackageJson,\n CliPlugins,\n CliService,\n Command,\n CommandProvider,\n Configuration,\n createSubTasks,\n createTasksRunner,\n Inject,\n PackageManager,\n ProjectPackageJson,\n QuestionOptions,\n RootRendererService\n} from \"@tsed/cli-core\";\nimport {paramCase, pascalCase} from \"change-case\";\nimport {basename, join} from \"path\";\nimport {DEFAULT_TSED_TAGS} from \"../../constants\";\nimport {ArchitectureConvention} from \"../../interfaces/ArchitectureConvention\";\nimport {ProjectConvention} from \"../../interfaces/ProjectConvention\";\nimport {OutputFilePathPipe} from \"../../pipes/OutputFilePathPipe\";\nimport {InitCmdContext} from \"./interfaces/InitCmdContext\";\nimport {InitFileSchema} from \"./config/InitFileSchema\";\nimport {mapToContext} from \"./mappers/mapToContext\";\nimport {FeaturesMap, FeatureType} from \"./config/FeaturesPrompt\";\nimport {InitOptions} from \"./interfaces/InitOptions\";\nimport {getFeaturesPrompt} from \"./prompts/getFeaturesPrompt\";\nimport {PlatformType} from \"../../interfaces\";\nimport {fillImports} from \"../../utils/fillImports\";\n\n@Command({\n name: \"init\",\n description: \"Init a new Ts.ED project\",\n args: {\n root: {\n type: String,\n defaultValue: \".\",\n description: \"Root directory to initialize the Ts.ED project\"\n }\n },\n options: {\n \"-n, --project-name <projectName>\": {\n type: String,\n defaultValue: \"\",\n description: \"Set the project name. By default, the project is the same as the name directory.\"\n },\n \"-a, --arch <architecture>\": {\n type: String,\n defaultValue: ArchitectureConvention.DEFAULT,\n description: `Set the default architecture convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-c, --convention <convention>\": {\n type: String,\n defaultValue: ProjectConvention.DEFAULT,\n description: `Set the default project convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-p, --platform <platform>\": {\n type: String,\n defaultValue: PlatformType.EXPRESS,\n description: \"Set the default platform for Ts.ED (express or koa)\"\n },\n \"--features <features...>\": {\n type: Array,\n itemType: String,\n defaultValue: [],\n description: \"List of the Ts.ED features.\"\n },\n \"-m, --package-manager <packageManager>\": {\n itemType: String,\n defaultValue: PackageManager.YARN,\n description: \"The default package manager to install the project\"\n },\n \"-t, --tsed-version <version>\": {\n type: String,\n defaultValue: DEFAULT_TSED_TAGS,\n description: \"Use a specific version of Ts.ED (format: 5.x.x).\"\n },\n \"-f, --file <path>\": {\n type: String,\n description: \"Location of a file in which the features are defined.\"\n },\n \"-s, --skip-prompt\": {\n type: Boolean,\n defaultValue: false,\n description: \"Skip the prompt.\"\n }\n },\n disableReadUpPkg: true\n})\nexport class InitCmd implements CommandProvider {\n @Configuration()\n protected configuration: Configuration;\n\n @Inject()\n protected cliPlugins: CliPlugins;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @CliPackageJson()\n protected cliPackageJson: CliPackageJson;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected cliLoadFile: CliLoadFile;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected outputFilePathPipe: OutputFilePathPipe;\n\n @Inject()\n protected execa: CliExeca;\n\n @Inject()\n protected fs: CliFs;\n\n static checkPrecondition(availablePackageManagers: string[], ctx: InitCmdContext) {\n const isValid = (types: any, value: any) => (value ? Object.values(types).includes(value) : true);\n\n if (!isValid(PlatformType, ctx.platform)) {\n throw new Error(`Invalid selected platform: ${ctx.platform}. Possible values: ${Object.values(PlatformType).join(\", \")}.`);\n }\n\n if (!isValid(ArchitectureConvention, ctx.architecture)) {\n throw new Error(\n `Invalid selected architecture: ${ctx.architecture}. Possible values: ${Object.values(ArchitectureConvention).join(\", \")}.`\n );\n }\n\n if (!isValid(ProjectConvention, ctx.convention)) {\n throw new Error(`Invalid selected convention: ${ctx.convention}. Possible values: ${Object.values(ProjectConvention).join(\", \")}.`);\n }\n\n if (!availablePackageManagers.includes(ctx.packageManager)) {\n throw new Error(`Invalid selected package manager: ${ctx.packageManager}. Possible values: ${availablePackageManagers.join(\", \")}.`);\n }\n\n if (ctx.features) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (!feature) {\n throw new Error(`Invalid selected feature: ${value}. Possible values: ${Object.values(FeatureType).join(\", \")}.`);\n }\n });\n }\n }\n\n async $beforePrompt(initialOptions: Partial<InitOptions>) {\n if (initialOptions.file) {\n const file = join(this.packageJson.dir, initialOptions.file);\n\n return {\n ...initialOptions,\n ...(await this.cliLoadFile.loadFile(file, InitFileSchema))\n };\n }\n\n return initialOptions;\n }\n\n $prompt(initialOptions: Partial<InitOptions>): QuestionOptions {\n if (initialOptions.skipPrompt) {\n return [];\n }\n\n const packageManagers = this.packageJson.availablePackageManagers;\n\n return [\n {\n type: \"input\",\n name: \"projectName\",\n message: \"What is your project name\",\n default: paramCase(initialOptions.root!),\n when: initialOptions.root !== \".\",\n transformer(input) {\n return paramCase(input);\n }\n },\n ...getFeaturesPrompt(packageManagers, initialOptions)\n ];\n }\n\n $mapContext(ctx: any): InitCmdContext {\n this.resolveRootDir(ctx);\n ctx = mapToContext(ctx);\n\n return fillImports({\n ...ctx,\n yarn: ctx.packageManager == PackageManager.YARN || !ctx.packageManager,\n npm: ctx.packageManager == PackageManager.NPM,\n pnpm: ctx.packageManager == PackageManager.PNPM,\n cliVersion: ctx.cliVersion || this.cliPackageJson.version,\n srcDir: this.configuration.project?.srcDir,\n platformSymbol: ctx.platform && pascalCase(`Platform ${ctx.platform}`)\n }) as InitCmdContext;\n }\n\n async $beforeExec(ctx: InitCmdContext): Promise<any> {\n this.fs.ensureDirSync(this.packageJson.dir);\n this.packageJson.name = ctx.projectName;\n\n ctx.packageManager && this.packageJson.setPreference(\"packageManager\", ctx.packageManager);\n ctx.architecture && this.packageJson.setPreference(\"architecture\", ctx.architecture);\n ctx.convention && this.packageJson.setPreference(\"convention\", ctx.convention);\n ctx.GH_TOKEN && this.packageJson.setGhToken(ctx.GH_TOKEN);\n\n await createTasksRunner(\n [\n {\n title: \"Write RC files\",\n skip: () => !ctx.GH_TOKEN,\n task: () =>\n this.rootRenderer.renderAll([\"/init/.npmrc.hbs\", \"/init/.yarnrc.hbs\"], ctx, {\n baseDir: \"/init\"\n })\n },\n {\n title: \"Initialize package.json\",\n task: async () => {\n await this.packageJson.init(ctx);\n\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n this.addScripts(ctx);\n this.addFeatures(ctx);\n }\n },\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx), {...ctx, concurrent: false})\n },\n {\n title: \"Load plugins\",\n task: () => this.cliPlugins.loadPlugins()\n },\n {\n title: \"Install plugins dependencies\",\n task: createSubTasks(this.cliPlugins.addPluginsDependencies(ctx), {...ctx, concurrent: false})\n }\n ],\n ctx\n );\n }\n\n async $exec(ctx: InitCmdContext) {\n InitCmd.checkPrecondition(this.packageJson.availablePackageManagers, ctx);\n\n const subTasks = [\n ...(await this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"server\",\n name: \"Server\",\n route: \"/rest\"\n })),\n ...(await this.cliService.getTasks(\"generate\", {\n type: \"controller\",\n route: \"hello-world\",\n name: \"HelloWorld\",\n directory: \"rest\"\n })),\n ...(ctx.commands\n ? await this.cliService.getTasks(\"generate\", {\n type: \"command\",\n route: \"hello\",\n name: \"hello\"\n })\n : [])\n ];\n\n const indexCtrlBaseName = basename(\n `${this.outputFilePathPipe.transform({\n name: \"Index\",\n type: \"controller\",\n format: ctx.convention\n })}.ts`\n );\n\n return [\n {\n title: \"Generate project files\",\n task: createSubTasks(\n [\n {\n title: \"Root files\",\n task: () =>\n this.rootRenderer.renderAll(\n [\n \"/init/.dockerignore.hbs\",\n \"/init/.gitignore.hbs\",\n \"/init/.barrelsby.json.hbs\",\n \"/init/processes.config.js.hbs\",\n ctx.babel && \"/init/.babelrc.hbs\",\n ctx.webpack && \"/init/webpack.config.js.hbs\",\n \"/init/docker-compose.yml.hbs\",\n \"/init/Dockerfile.hbs\",\n \"/init/README.md.hbs\",\n \"/init/tsconfig.compile.json.hbs\",\n \"/init/tsconfig.json.hbs\",\n \"/init/src/index.ts.hbs\",\n \"/init/src/config/envs/index.ts.hbs\",\n \"/init/src/config/logger/index.ts.hbs\",\n \"/init/src/config/index.ts.hbs\",\n ctx.commands && \"/init/src/bin/index.ts.hbs\",\n ctx.swagger && \"/init/views/swagger.ejs.hbs\",\n ctx.swagger && {\n path: \"/init/src/controllers/pages/IndexController.ts.hbs\",\n basename: indexCtrlBaseName,\n output: ctx.architecture === \"default\" ? \"/controllers/pages/IndexController.ts\" : \"/pages/IndexController.ts\"\n }\n ].filter(Boolean),\n ctx,\n {\n baseDir: \"/init\"\n }\n )\n },\n ...subTasks\n ],\n {...ctx, concurrent: false}\n )\n }\n ];\n }\n\n async $afterPostInstall() {\n return [\n {\n title: \"Generate barrels files\",\n task: () => {\n return this.packageJson.runScript(\"barrels\", {\n ignoreError: true\n });\n }\n }\n ];\n }\n\n resolveRootDir(ctx: Partial<InitCmdContext>) {\n const rootDirName = paramCase(ctx.projectName || basename(this.packageJson.dir));\n\n if (this.packageJson.dir.endsWith(rootDirName)) {\n ctx.projectName = ctx.projectName || rootDirName;\n ctx.root = \".\";\n return;\n }\n\n ctx.projectName = ctx.projectName || rootDirName;\n\n if (ctx.root && ctx.root !== \".\") {\n this.packageJson.dir = join(this.packageJson.dir, rootDirName);\n ctx.root = \".\";\n }\n }\n\n addScripts(ctx: InitCmdContext): void {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n build: `${runner} barrels && tsc --project tsconfig.compile.json`,\n barrels: \"barrelsby --config .barrelsby.json\",\n start: `${runner} barrels && tsnd --inspect --exit-child --cls --ignore-watch node_modules --respawn --transpile-only -r tsconfig-paths/register src/index.ts`,\n \"start:prod\": \"cross-env NODE_ENV=production node dist/index.js\"\n });\n\n if (ctx.babel) {\n this.packageJson.addScripts({\n build: `tsc && babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline`,\n start: \"babel-watch --extensions .ts src/index.ts\"\n });\n }\n\n if (ctx.webpack) {\n this.packageJson.addScripts({\n bundle: `tsc && cross-env NODE_ENV=production webpack`,\n \"start:bundle\": \"cross-env NODE_ENV=production node dist/app.bundle.js\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({\n \"@tsed/common\": ctx.tsedVersion,\n \"@tsed/core\": ctx.tsedVersion,\n \"@tsed/di\": ctx.tsedVersion,\n \"@tsed/ajv\": ctx.tsedVersion,\n \"@tsed/exceptions\": ctx.tsedVersion,\n \"@tsed/schema\": ctx.tsedVersion,\n \"@tsed/json-mapper\": ctx.tsedVersion,\n \"@tsed/openspec\": ctx.tsedVersion,\n \"@tsed/platform-cache\": ctx.tsedVersion,\n \"@tsed/platform-exceptions\": ctx.tsedVersion,\n \"@tsed/platform-log-middleware\": ctx.tsedVersion,\n \"@tsed/platform-middlewares\": ctx.tsedVersion,\n \"@tsed/platform-params\": ctx.tsedVersion,\n \"@tsed/platform-response-filter\": ctx.tsedVersion,\n \"@tsed/platform-views\": ctx.tsedVersion,\n \"@tsed/logger\": \"latest\",\n \"@tsed/logger-file\": \"latest\",\n \"@tsed/engines\": \"latest\",\n ajv: \"latest\",\n barrelsby: \"latest\",\n \"cross-env\": \"latest\",\n dotenv: \"latest\",\n \"dotenv-expand\": \"latest\",\n \"dotenv-flow\": \"latest\"\n });\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n \"@types/node\": \"latest\",\n \"@types/multer\": \"latest\",\n tslib: \"latest\",\n \"ts-node\": \"latest\",\n \"tsconfig-paths\": \"latest\",\n typescript: \"latest\"\n },\n ctx\n );\n\n if (!ctx.babel) {\n this.packageJson.addDevDependencies(\n {\n \"ts-node-dev\": \"latest\"\n },\n ctx\n );\n }\n }\n\n addFeatures(ctx: InitCmdContext) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (feature.dependencies) {\n this.packageJson.addDependencies(feature.dependencies, ctx);\n }\n\n if (feature.devDependencies) {\n this.packageJson.addDevDependencies(feature.devDependencies, ctx);\n }\n });\n\n switch (ctx.platform) {\n case \"express\":\n this.addExpressDependencies(ctx);\n break;\n case \"koa\":\n this.addKoaDependencies(ctx);\n break;\n }\n\n if (ctx.features.find((value) => value === FeatureType.GRAPHQL)) {\n this.packageJson.addDependencies(\n {\n [\"apollo-server-\" + ctx.platform]: \"2.25.2\"\n },\n ctx\n );\n }\n }\n\n private addExpressDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-express\": ctx.tsedVersion,\n \"body-parser\": \"latest\",\n cors: \"latest\",\n compression: \"latest\",\n \"cookie-parser\": \"latest\",\n express: \"latest\",\n \"method-override\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/cors\": \"latest\",\n \"@types/express\": \"latest\",\n \"@types/compression\": \"latest\",\n \"@types/cookie-parser\": \"latest\",\n \"@types/method-override\": \"latest\"\n },\n ctx\n );\n }\n\n private addKoaDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-koa\": ctx.tsedVersion,\n koa: \"latest\",\n \"@koa/cors\": \"latest\",\n \"@koa/router\": \"latest\",\n \"koa-qs\": \"latest\",\n \"koa-bodyparser\": \"latest\",\n \"koa-override\": \"latest\",\n \"koa-compress\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/koa\": \"latest\",\n \"@types/koa-qs\": \"latest\",\n \"@types/koa-json\": \"latest\",\n \"@types/koa-bodyparser\": \"latest\",\n \"@types/koa__router\": \"latest\",\n \"@types/koa-compress\": \"latest\",\n \"@types/koa-send\": \"latest\",\n \"@types/koa__cors\": \"latest\"\n },\n ctx\n );\n }\n}\n"]}
1
+ {"version":3,"file":"InitCmd.js","sourceRoot":"","sources":["../../../../src/commands/init/InitCmd.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CliExeca,\n CliFs,\n CliLoadFile,\n CliPackageJson,\n CliPlugins,\n CliService,\n Command,\n CommandProvider,\n Configuration,\n createSubTasks,\n createTasksRunner,\n Inject,\n PackageManager,\n ProjectPackageJson,\n QuestionOptions,\n RootRendererService\n} from \"@tsed/cli-core\";\nimport {paramCase, pascalCase} from \"change-case\";\nimport {basename, join} from \"path\";\nimport {DEFAULT_TSED_TAGS} from \"../../constants\";\nimport {ArchitectureConvention} from \"../../interfaces/ArchitectureConvention\";\nimport {ProjectConvention} from \"../../interfaces/ProjectConvention\";\nimport {OutputFilePathPipe} from \"../../pipes/OutputFilePathPipe\";\nimport {InitCmdContext} from \"./interfaces/InitCmdContext\";\nimport {InitFileSchema} from \"./config/InitFileSchema\";\nimport {mapToContext} from \"./mappers/mapToContext\";\nimport {FeaturesMap, FeatureType} from \"./config/FeaturesPrompt\";\nimport {InitOptions} from \"./interfaces/InitOptions\";\nimport {getFeaturesPrompt} from \"./prompts/getFeaturesPrompt\";\nimport {PlatformType} from \"../../interfaces\";\nimport {fillImports} from \"../../utils/fillImports\";\n\n@Command({\n name: \"init\",\n description: \"Init a new Ts.ED project\",\n args: {\n root: {\n type: String,\n defaultValue: \".\",\n description: \"Root directory to initialize the Ts.ED project\"\n }\n },\n options: {\n \"-n, --project-name <projectName>\": {\n type: String,\n defaultValue: \"\",\n description: \"Set the project name. By default, the project is the same as the name directory.\"\n },\n \"-a, --arch <architecture>\": {\n type: String,\n defaultValue: ArchitectureConvention.DEFAULT,\n description: `Set the default architecture convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-c, --convention <convention>\": {\n type: String,\n defaultValue: ProjectConvention.DEFAULT,\n description: `Set the default project convention (${ArchitectureConvention.DEFAULT} or ${ArchitectureConvention.FEATURE})`\n },\n \"-p, --platform <platform>\": {\n type: String,\n defaultValue: PlatformType.EXPRESS,\n description: \"Set the default platform for Ts.ED (express or koa)\"\n },\n \"--features <features...>\": {\n type: Array,\n itemType: String,\n defaultValue: [],\n description: \"List of the Ts.ED features.\"\n },\n \"-m, --package-manager <packageManager>\": {\n itemType: String,\n defaultValue: PackageManager.YARN,\n description: \"The default package manager to install the project\"\n },\n \"-t, --tsed-version <version>\": {\n type: String,\n defaultValue: DEFAULT_TSED_TAGS,\n description: \"Use a specific version of Ts.ED (format: 5.x.x).\"\n },\n \"-f, --file <path>\": {\n type: String,\n description: \"Location of a file in which the features are defined.\"\n },\n \"-s, --skip-prompt\": {\n type: Boolean,\n defaultValue: false,\n description: \"Skip the prompt.\"\n }\n },\n disableReadUpPkg: true\n})\nexport class InitCmd implements CommandProvider {\n @Configuration()\n protected configuration: Configuration;\n\n @Inject()\n protected cliPlugins: CliPlugins;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @CliPackageJson()\n protected cliPackageJson: CliPackageJson;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected cliLoadFile: CliLoadFile;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected outputFilePathPipe: OutputFilePathPipe;\n\n @Inject()\n protected execa: CliExeca;\n\n @Inject()\n protected fs: CliFs;\n\n static checkPrecondition(availablePackageManagers: string[], ctx: InitCmdContext) {\n const isValid = (types: any, value: any) => (value ? Object.values(types).includes(value) : true);\n\n if (!isValid(PlatformType, ctx.platform)) {\n throw new Error(`Invalid selected platform: ${ctx.platform}. Possible values: ${Object.values(PlatformType).join(\", \")}.`);\n }\n\n if (!isValid(ArchitectureConvention, ctx.architecture)) {\n throw new Error(\n `Invalid selected architecture: ${ctx.architecture}. Possible values: ${Object.values(ArchitectureConvention).join(\", \")}.`\n );\n }\n\n if (!isValid(ProjectConvention, ctx.convention)) {\n throw new Error(`Invalid selected convention: ${ctx.convention}. Possible values: ${Object.values(ProjectConvention).join(\", \")}.`);\n }\n\n if (!availablePackageManagers.includes(ctx.packageManager)) {\n throw new Error(`Invalid selected package manager: ${ctx.packageManager}. Possible values: ${availablePackageManagers.join(\", \")}.`);\n }\n\n if (ctx.features) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (!feature) {\n throw new Error(`Invalid selected feature: ${value}. Possible values: ${Object.values(FeatureType).join(\", \")}.`);\n }\n });\n }\n }\n\n async $beforePrompt(initialOptions: Partial<InitOptions>) {\n if (initialOptions.file) {\n const file = join(this.packageJson.dir, initialOptions.file);\n\n return {\n ...initialOptions,\n ...(await this.cliLoadFile.loadFile(file, InitFileSchema))\n };\n }\n\n return initialOptions;\n }\n\n $prompt(initialOptions: Partial<InitOptions>): QuestionOptions {\n if (initialOptions.skipPrompt) {\n return [];\n }\n\n const packageManagers = this.packageJson.availablePackageManagers;\n\n return [\n {\n type: \"input\",\n name: \"projectName\",\n message: \"What is your project name\",\n default: paramCase(initialOptions.root!),\n when: initialOptions.root !== \".\",\n transformer(input) {\n return paramCase(input);\n }\n },\n ...getFeaturesPrompt(packageManagers, initialOptions)\n ];\n }\n\n $mapContext(ctx: any): InitCmdContext {\n this.resolveRootDir(ctx);\n ctx = mapToContext(ctx);\n\n return fillImports({\n ...ctx,\n yarn: ctx.packageManager == PackageManager.YARN || !ctx.packageManager,\n npm: ctx.packageManager == PackageManager.NPM,\n pnpm: ctx.packageManager == PackageManager.PNPM,\n cliVersion: ctx.cliVersion || this.cliPackageJson.version,\n srcDir: this.configuration.project?.srcDir,\n platformSymbol: ctx.platform && pascalCase(`Platform ${ctx.platform}`)\n }) as InitCmdContext;\n }\n\n async $beforeExec(ctx: InitCmdContext): Promise<any> {\n this.fs.ensureDirSync(this.packageJson.dir);\n this.packageJson.name = ctx.projectName;\n\n ctx.packageManager && this.packageJson.setPreference(\"packageManager\", ctx.packageManager);\n ctx.architecture && this.packageJson.setPreference(\"architecture\", ctx.architecture);\n ctx.convention && this.packageJson.setPreference(\"convention\", ctx.convention);\n ctx.GH_TOKEN && this.packageJson.setGhToken(ctx.GH_TOKEN);\n\n await createTasksRunner(\n [\n {\n title: \"Write RC files\",\n skip: () => !ctx.GH_TOKEN,\n task: () =>\n this.rootRenderer.renderAll([\"/init/.npmrc.hbs\", \"/init/.yarnrc.hbs\"], ctx, {\n baseDir: \"/init\"\n })\n },\n {\n title: \"Initialize package.json\",\n task: async () => {\n await this.packageJson.init(ctx);\n\n this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n this.addFeatures(ctx);\n }\n },\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx), {...ctx, concurrent: false})\n },\n {\n title: \"Load plugins\",\n task: () => this.cliPlugins.loadPlugins()\n },\n {\n title: \"Install plugins dependencies\",\n task: createSubTasks(this.cliPlugins.addPluginsDependencies(ctx), {...ctx, concurrent: false})\n }\n ],\n ctx\n );\n }\n\n async $exec(ctx: InitCmdContext) {\n InitCmd.checkPrecondition(this.packageJson.availablePackageManagers, ctx);\n\n const subTasks = [\n ...(await this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"server\",\n name: \"Server\",\n route: \"/rest\"\n })),\n ...(await this.cliService.getTasks(\"generate\", {\n type: \"controller\",\n route: \"hello-world\",\n name: \"HelloWorld\",\n directory: \"rest\"\n })),\n ...(ctx.commands\n ? await this.cliService.getTasks(\"generate\", {\n type: \"command\",\n route: \"hello\",\n name: \"hello\"\n })\n : [])\n ];\n\n const indexCtrlBaseName = basename(\n `${this.outputFilePathPipe.transform({\n name: \"Index\",\n type: \"controller\",\n format: ctx.convention\n })}.ts`\n );\n\n return [\n {\n title: \"Generate project files\",\n task: createSubTasks(\n [\n {\n title: \"Root files\",\n task: () =>\n this.rootRenderer.renderAll(\n [\n \"/init/.dockerignore.hbs\",\n \"/init/.gitignore.hbs\",\n \"/init/.barrelsby.json.hbs\",\n \"/init/processes.config.js.hbs\",\n ctx.babel && \"/init/.babelrc.hbs\",\n ctx.webpack && \"/init/webpack.config.js.hbs\",\n \"/init/docker-compose.yml.hbs\",\n \"/init/Dockerfile.hbs\",\n \"/init/README.md.hbs\",\n \"/init/tsconfig.compile.json.hbs\",\n \"/init/tsconfig.json.hbs\",\n \"/init/src/index.ts.hbs\",\n \"/init/src/config/envs/index.ts.hbs\",\n \"/init/src/config/logger/index.ts.hbs\",\n \"/init/src/config/index.ts.hbs\",\n ctx.commands && \"/init/src/bin/index.ts.hbs\",\n ctx.swagger && \"/init/views/swagger.ejs.hbs\",\n ctx.swagger && {\n path: \"/init/src/controllers/pages/IndexController.ts.hbs\",\n basename: indexCtrlBaseName,\n output: ctx.architecture === \"default\" ? \"/controllers/pages/IndexController.ts\" : \"/pages/IndexController.ts\"\n }\n ].filter(Boolean),\n ctx,\n {\n baseDir: \"/init\"\n }\n )\n },\n ...subTasks\n ],\n {...ctx, concurrent: false}\n )\n }\n ];\n }\n\n async $afterPostInstall() {\n return [\n {\n title: \"Generate barrels files\",\n task: () => {\n return this.packageJson.runScript(\"barrels\", {\n ignoreError: true\n });\n }\n }\n ];\n }\n\n resolveRootDir(ctx: Partial<InitCmdContext>) {\n const rootDirName = paramCase(ctx.projectName || basename(this.packageJson.dir));\n\n if (this.packageJson.dir.endsWith(rootDirName)) {\n ctx.projectName = ctx.projectName || rootDirName;\n ctx.root = \".\";\n return;\n }\n\n ctx.projectName = ctx.projectName || rootDirName;\n\n if (ctx.root && ctx.root !== \".\") {\n this.packageJson.dir = join(this.packageJson.dir, rootDirName);\n ctx.root = \".\";\n }\n }\n\n addScripts(ctx: InitCmdContext): void {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n build: `${runner} barrels && tsc --project tsconfig.compile.json`,\n barrels: \"barrelsby --config .barrelsby.json\",\n start: `${runner} barrels && tsnd --inspect --exit-child --cls --ignore-watch node_modules --respawn --transpile-only -r tsconfig-paths/register src/index.ts`,\n \"start:prod\": \"cross-env NODE_ENV=production node dist/index.js\"\n });\n\n if (ctx.babel) {\n this.packageJson.addScripts({\n build: `tsc && babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline`,\n start: \"babel-watch --extensions .ts src/index.ts\"\n });\n }\n\n if (ctx.webpack) {\n this.packageJson.addScripts({\n bundle: `tsc && cross-env NODE_ENV=production webpack`,\n \"start:bundle\": \"cross-env NODE_ENV=production node dist/app.bundle.js\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({\n \"@tsed/common\": ctx.tsedVersion,\n \"@tsed/core\": ctx.tsedVersion,\n \"@tsed/di\": ctx.tsedVersion,\n \"@tsed/ajv\": ctx.tsedVersion,\n \"@tsed/exceptions\": ctx.tsedVersion,\n \"@tsed/schema\": ctx.tsedVersion,\n \"@tsed/json-mapper\": ctx.tsedVersion,\n \"@tsed/openspec\": ctx.tsedVersion,\n \"@tsed/platform-cache\": ctx.tsedVersion,\n \"@tsed/platform-exceptions\": ctx.tsedVersion,\n \"@tsed/platform-log-middleware\": ctx.tsedVersion,\n \"@tsed/platform-middlewares\": ctx.tsedVersion,\n \"@tsed/platform-params\": ctx.tsedVersion,\n \"@tsed/platform-response-filter\": ctx.tsedVersion,\n \"@tsed/platform-views\": ctx.tsedVersion,\n \"@tsed/logger\": \"latest\",\n \"@tsed/logger-file\": \"latest\",\n \"@tsed/engines\": \"latest\",\n ajv: \"latest\",\n barrelsby: \"latest\",\n \"cross-env\": \"latest\",\n dotenv: \"latest\",\n \"dotenv-expand\": \"latest\",\n \"dotenv-flow\": \"latest\"\n });\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n \"@types/node\": \"latest\",\n \"@types/multer\": \"latest\",\n tslib: \"latest\",\n \"ts-node\": \"latest\",\n \"tsconfig-paths\": \"latest\",\n typescript: \"latest\"\n },\n ctx\n );\n\n if (!ctx.babel) {\n this.packageJson.addDevDependencies(\n {\n \"ts-node-dev\": \"latest\"\n },\n ctx\n );\n }\n }\n\n addFeatures(ctx: InitCmdContext) {\n ctx.features.forEach((value) => {\n const feature = FeaturesMap[value.toLowerCase()];\n\n if (feature.dependencies) {\n this.packageJson.addDependencies(feature.dependencies, ctx);\n }\n\n if (feature.devDependencies) {\n this.packageJson.addDevDependencies(feature.devDependencies, ctx);\n }\n });\n\n switch (ctx.platform) {\n case \"express\":\n this.addExpressDependencies(ctx);\n break;\n case \"koa\":\n this.addKoaDependencies(ctx);\n break;\n }\n\n if (ctx.features.find((value) => value === FeatureType.GRAPHQL)) {\n this.packageJson.addDependencies(\n {\n [\"apollo-server-\" + ctx.platform]: \"2.25.2\"\n },\n ctx\n );\n }\n }\n\n private addExpressDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-express\": ctx.tsedVersion,\n \"body-parser\": \"latest\",\n cors: \"latest\",\n compression: \"latest\",\n \"cookie-parser\": \"latest\",\n express: \"latest\",\n \"method-override\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/cors\": \"latest\",\n \"@types/express\": \"latest\",\n \"@types/compression\": \"latest\",\n \"@types/cookie-parser\": \"latest\",\n \"@types/method-override\": \"latest\"\n },\n ctx\n );\n }\n\n private addKoaDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/platform-koa\": ctx.tsedVersion,\n koa: \"latest\",\n \"@koa/cors\": \"latest\",\n \"@koa/router\": \"latest\",\n \"koa-qs\": \"latest\",\n \"koa-bodyparser\": \"latest\",\n \"koa-override\": \"latest\",\n \"koa-compress\": \"latest\"\n },\n ctx\n );\n\n this.packageJson.addDevDependencies(\n {\n \"@types/koa\": \"latest\",\n \"@types/koa-qs\": \"latest\",\n \"@types/koa-json\": \"latest\",\n \"@types/koa-bodyparser\": \"latest\",\n \"@types/koa__router\": \"latest\",\n \"@types/koa-compress\": \"latest\",\n \"@types/koa-send\": \"latest\",\n \"@types/koa__cors\": \"latest\"\n },\n ctx\n );\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/cli",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "source": "./src/index.ts",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "module": "./lib/esm/index.js",
@@ -59,7 +59,7 @@
59
59
  "node": ">=14"
60
60
  },
61
61
  "dependencies": {
62
- "@tsed/cli-core": "4.5.0",
62
+ "@tsed/cli-core": "4.5.2",
63
63
  "@tsed/core": ">=7.14.2",
64
64
  "@tsed/di": ">=7.14.2",
65
65
  "@tsed/logger": ">=6.2.1",