@tsed/cli 3.20.13 → 3.20.16

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.
@@ -20,7 +20,7 @@ let AddCmd = class AddCmd {
20
20
  ];
21
21
  }
22
22
  async $exec(ctx) {
23
- this.packageJson.addDevDependency(ctx.name);
23
+ this.packageJson.addDevDependency(ctx.name, "latest");
24
24
  return [
25
25
  {
26
26
  title: "Install plugins",
@@ -1 +1 @@
1
- {"version":3,"file":"AddCmd.js","sourceRoot":"","sources":["../../../src/commands/add/AddCmd.ts"],"names":[],"mappings":";;;;AAAA,iCAAgC;AAChC,6CAA4I;AAgB5I,IAAa,MAAM,GAAnB,MAAa,MAAM;IAOjB,OAAO,CAAC,cAAmB;QACzB,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,cAAc,CAAC,IAAI;gBAC5B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI;gBAC1B,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,OAAe,EAAE,EAAE;oBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAkB;QAC5B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO;YACL;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,IAAA,yBAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAU,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aAC9F;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,IAAA,yBAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aACrG;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAtCC;IADC,IAAA,WAAM,EAAC,qBAAU,CAAC;sCACP,qBAAU;0CAAC;AAGvB;IADC,IAAA,WAAM,EAAC,6BAAkB,CAAC;sCACd,6BAAkB;2CAAC;AALrB,MAAM;IAVlB,IAAA,kBAAO,EAAC;QACP,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,WAAW,EAAE,oCAAoC;gBACjD,IAAI,EAAE,MAAM;aACb;SACF;KACF,CAAC;GACW,MAAM,CAwClB;AAxCY,wBAAM","sourcesContent":["import {Inject} from \"@tsed/di\";\nimport {CliDefaultOptions, CliPlugins, Command, CommandProvider, createSubTasks, ProjectPackageJson, QuestionOptions} from \"@tsed/cli-core\";\n\nexport interface AddCmdOptions extends CliDefaultOptions {\n name: string;\n}\n\n@Command({\n name: \"add\",\n description: \"Add cli plugin to the current project\",\n args: {\n name: {\n description: \"Npm package name of the cli plugin\",\n type: String\n }\n }\n})\nexport class AddCmd implements CommandProvider {\n @Inject(CliPlugins)\n cliPlugins: CliPlugins;\n\n @Inject(ProjectPackageJson)\n packageJson: ProjectPackageJson;\n\n $prompt(initialOptions: any): QuestionOptions {\n return [\n {\n type: \"autocomplete\",\n name: \"name\",\n message: \"Which cli plugin ?\",\n default: initialOptions.name,\n when: !initialOptions.name,\n source: async (state: any, keyword: string) => {\n return this.cliPlugins.searchPlugins(keyword);\n }\n }\n ];\n }\n\n async $exec(ctx: AddCmdOptions) {\n this.packageJson.addDevDependency(ctx.name);\n\n return [\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx as any), {...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 }\n}\n"]}
1
+ {"version":3,"file":"AddCmd.js","sourceRoot":"","sources":["../../../src/commands/add/AddCmd.ts"],"names":[],"mappings":";;;;AAAA,iCAAgC;AAChC,6CAA4I;AAgB5I,IAAa,MAAM,GAAnB,MAAa,MAAM;IAOjB,OAAO,CAAC,cAAmB;QACzB,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,cAAc,CAAC,IAAI;gBAC5B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI;gBAC1B,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,OAAe,EAAE,EAAE;oBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAkB;QAC5B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO;YACL;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,IAAA,yBAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAU,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aAC9F;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,IAAA,yBAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAC,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC;aACrG;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAtCC;IADC,IAAA,WAAM,EAAC,qBAAU,CAAC;sCACP,qBAAU;0CAAC;AAGvB;IADC,IAAA,WAAM,EAAC,6BAAkB,CAAC;sCACd,6BAAkB;2CAAC;AALrB,MAAM;IAVlB,IAAA,kBAAO,EAAC;QACP,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,WAAW,EAAE,oCAAoC;gBACjD,IAAI,EAAE,MAAM;aACb;SACF;KACF,CAAC;GACW,MAAM,CAwClB;AAxCY,wBAAM","sourcesContent":["import {Inject} from \"@tsed/di\";\nimport {CliDefaultOptions, CliPlugins, Command, CommandProvider, createSubTasks, ProjectPackageJson, QuestionOptions} from \"@tsed/cli-core\";\n\nexport interface AddCmdOptions extends CliDefaultOptions {\n name: string;\n}\n\n@Command({\n name: \"add\",\n description: \"Add cli plugin to the current project\",\n args: {\n name: {\n description: \"Npm package name of the cli plugin\",\n type: String\n }\n }\n})\nexport class AddCmd implements CommandProvider {\n @Inject(CliPlugins)\n cliPlugins: CliPlugins;\n\n @Inject(ProjectPackageJson)\n packageJson: ProjectPackageJson;\n\n $prompt(initialOptions: any): QuestionOptions {\n return [\n {\n type: \"autocomplete\",\n name: \"name\",\n message: \"Which cli plugin ?\",\n default: initialOptions.name,\n when: !initialOptions.name,\n source: async (state: any, keyword: string) => {\n return this.cliPlugins.searchPlugins(keyword);\n }\n }\n ];\n }\n\n async $exec(ctx: AddCmdOptions) {\n this.packageJson.addDevDependency(ctx.name, \"latest\");\n\n return [\n {\n title: \"Install plugins\",\n task: createSubTasks(() => this.packageJson.install(ctx as any), {...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 }\n}\n"]}
@@ -176,6 +176,9 @@ const featureChoices = (cliVersion) => [
176
176
  name: "TypeGraphQL",
177
177
  value: {
178
178
  type: "graphql",
179
+ dependencies: {
180
+ "@tsed/typegraphql": "{{tsedVersion}}"
181
+ },
179
182
  devDependencies: {
180
183
  "@tsed/cli-plugin-typegraphql": cliVersion
181
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Features.js","sourceRoot":"","sources":["../../src/services/Features.ts"],"names":[],"mappings":"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","sourcesContent":["import {CliPackageJson, Inject, registerProvider} from \"@tsed/cli-core\";\nimport {getValue} from \"@tsed/core\";\nimport {ProjectConvention, ArchitectureConvention} from \"../interfaces\";\n\nexport interface FeatureValue {\n type: string;\n dependencies?: {[key: string]: string | undefined};\n devDependencies?: {[key: string]: string | undefined};\n}\n\nexport interface Feature {\n name: string;\n value: FeatureValue;\n}\n\nexport type Features = Feature[];\n\nexport function Features() {\n return Inject(Features);\n}\n\nexport function hasFeature(feature: string) {\n return (ctx: any): boolean => !!ctx.features.find((item: any) => item.type === feature);\n}\n\nexport function hasValue(expression: string, value: any) {\n return (ctx: any) => getValue(expression, ctx) === value;\n}\n\nexport function isPlatform(...types: string[]) {\n return (ctx: any) => [types].includes(ctx.platform);\n}\n\nexport const FEATURES_TYPEORM_CONNECTION_TYPES = [\n {\n name: \"MySQL\",\n value: {\n type: \"typeorm:mysql\",\n dependencies: {\n mysql2: \"latest\"\n }\n }\n },\n {\n name: \"MariaDB\",\n value: {\n type: \"typeorm:mariadb\",\n dependencies: {\n mariadb: \"latest\"\n }\n }\n },\n {\n name: \"Postgres\",\n value: {\n type: \"typeorm:postgres\",\n dependencies: {\n pg: \"latest\"\n }\n }\n },\n {\n name: \"CockRoachDB\",\n value: {\n type: \"typeorm:postgres\",\n dependencies: {\n cockroachdb: \"latest\"\n }\n }\n },\n {\n name: \"SQLite\",\n value: {\n type: \"typeorm:sqlite\",\n dependencies: {\n sqlite3: \"latest\"\n }\n }\n },\n {\n name: \"Better SQLite3\",\n value: {\n type: \"typeorm:better-sqlite3\",\n dependencies: {\n \"better-sqlite3\": \"latest\"\n }\n }\n },\n {\n name: \"Cordova\",\n value: {\n type: \"typeorm:cordova\"\n }\n },\n {\n name: \"NativeScript\",\n value: {\n type: \"typeorm:nativescript\"\n }\n },\n {\n name: \"Oracle\",\n value: {\n type: \"typeorm:oracle\",\n dependencies: {\n oracledb: \"latest\"\n }\n }\n },\n {\n name: \"MsSQL\",\n value: {\n type: \"typeorm:mssql\",\n dependencies: {\n mssql: \"latest\"\n }\n }\n },\n {\n name: \"MongoDB\",\n value: {\n type: \"typeorm:mongodb\",\n dependencies: {\n mongodb: \"latest\"\n }\n }\n },\n {\n name: \"SQL.js\",\n value: {\n type: \"typeorm:sqljs\",\n dependencies: {}\n }\n },\n {\n name: \"ReactNative\",\n value: {\n type: \"typeorm:reactnative\",\n dependencies: {}\n }\n },\n {\n name: \"Expo\",\n value: {\n type: \"typeorm:expo\",\n dependencies: {}\n }\n }\n];\n\nconst babelDevDependencies = {\n \"@babel/cli\": \"latest\",\n \"@babel/core\": \"latest\",\n \"@babel/node\": \"latest\",\n \"@babel/plugin-proposal-class-properties\": \"latest\",\n \"@babel/plugin-proposal-decorators\": \"latest\",\n \"@babel/preset-env\": \"latest\",\n \"@babel/preset-typescript\": \"latest\",\n \"babel-plugin-transform-typescript-metadata\": \"latest\",\n \"babel-watch\": \"latest\"\n};\n\nconst platformChoices = [\n {\n name: \"Express.js\",\n checked: true,\n value: \"express\"\n },\n {\n name: \"Koa.js\",\n checked: false,\n value: \"koa\"\n }\n];\n\nconst conventionChoices = [\n {\n name: \"Ts.ED\",\n checked: true,\n value: ProjectConvention.DEFAULT\n },\n {\n name: \"Angular\",\n checked: false,\n value: ProjectConvention.ANGULAR\n }\n];\n\nconst featureChoices = (cliVersion: string) => [\n {\n name: \"TypeGraphQL\",\n value: {\n type: \"graphql\",\n devDependencies: {\n \"@tsed/cli-plugin-typegraphql\": cliVersion\n }\n }\n },\n {\n name: \"Database\",\n value: {type: \"db\"}\n },\n {\n name: \"Passport.js\",\n when: isPlatform(\"express\"),\n value: {\n type: \"passportjs\",\n devDependencies: {\n \"@tsed/cli-plugin-passport\": cliVersion\n }\n }\n },\n {\n name: \"Socket.io\",\n value: {\n type: \"socketio\",\n dependencies: {\n \"@tsed/socketio\": \"{{tsedVersion}}\",\n \"socket.io\": \"latest\"\n }\n }\n },\n {\n name: \"Swagger\",\n value: {\n type: \"swagger\",\n dependencies: {\n \"@tsed/swagger\": \"{{tsedVersion}}\"\n }\n }\n },\n {\n name: \"OpenID Connect provider\",\n value: {\n type: \"oidc\",\n devDependencies: {\n \"@tsed/cli-plugin-oidc-provider\": cliVersion\n }\n }\n },\n {\n name: \"Testing\",\n value: {\n type: \"testing\",\n dependencies: {},\n devDependencies: {\n \"@types/supertest\": \"latest\",\n supertest: \"latest\"\n }\n }\n },\n {\n name: \"Linter\",\n value: {\n type: \"linter\"\n }\n },\n {\n name: \"Bundler\",\n value: {\n type: \"bundler\"\n }\n },\n {\n name: \"Commands\",\n value: {\n type: \"commands\",\n dependencies: {\n \"@tsed/cli-core\": cliVersion\n },\n devDependencies: {\n \"@types/inquirer\": \"latest\"\n }\n }\n }\n];\n\nconst featuresDbChoices = (cliVersion: string) => [\n {\n name: \"Prisma\",\n value: {\n type: \"prisma\",\n devDependencies: {\n \"@tsed/cli-plugin-prisma\": cliVersion\n }\n }\n },\n {\n name: \"Mongoose\",\n value: {\n type: \"mongoose\",\n devDependencies: {\n \"@tsed/cli-plugin-mongoose\": cliVersion\n }\n }\n },\n {\n name: \"TypeORM\",\n value: {\n type: \"typeorm\",\n devDependencies: {\n \"@tsed/cli-plugin-typeorm\": cliVersion\n }\n }\n }\n];\n\nconst featuresTestingChoices = (cliVersion: string) => [\n {\n name: \"Jest\",\n value: {\n type: \"jest\",\n devDependencies: {\n \"@tsed/cli-plugin-jest\": cliVersion\n }\n }\n },\n {\n name: \"Mocha + Chai + Sinon\",\n value: {\n type: \"mocha\",\n devDependencies: {\n \"@tsed/cli-plugin-mocha\": cliVersion\n }\n }\n }\n];\n\nconst featuresLinterChoices = (cliVersion: string) => [\n {\n name: \"EsLint\",\n checked: true,\n value: {\n type: \"eslint\",\n devDependencies: {\n \"@tsed/cli-plugin-eslint\": cliVersion\n }\n }\n }\n];\n\nconst featuresExtraLinterChoices = [\n {\n name: \"Prettier\",\n value: {\n type: \"prettier\"\n }\n },\n {\n name: \"Lint on commit\",\n value: {\n type: \"lintstaged\"\n }\n }\n];\n\nconst featuresBundlerChoices = [\n {\n name: \"Babel\",\n value: {\n type: \"babel\",\n devDependencies: {\n ...babelDevDependencies\n }\n }\n },\n {\n name: \"Webpack\",\n value: {\n type: \"babel:webpack\",\n devDependencies: {\n ...babelDevDependencies,\n \"babel-loader\": \"latest\",\n webpack: \"latest\",\n \"webpack-cli\": \"latest\"\n }\n }\n }\n];\n\nconst packageManagerChoices = [\n {\n name: \"Yarn\",\n checked: true,\n value: \"yarn\"\n },\n {\n name: \"NPM\",\n checked: false,\n value: \"npm\"\n },\n {\n name: \"PNPM - experimental\",\n checked: false,\n value: \"pnpm\"\n }\n];\n\nexport const parseFeaturesFile = (features: Record<string, any>, cliVersion: string) => {\n return {\n platform: features.platform,\n convention: features.convention,\n features: [\n ...featureChoices(cliVersion)\n .map((v) => v.value)\n .filter((v) => features.features.filter((v: string | Record<string, any>) => typeof v === \"string\").includes(v.type)),\n ...features.features.filter((v: string | Record<string, any>) => typeof v === \"object\")\n ],\n featuresDB: featuresDbChoices(cliVersion).find((v) => v.value.type === features.featuresDB)?.value,\n featuresTypeORM: FEATURES_TYPEORM_CONNECTION_TYPES.find((v) => v.value.type === features.featuresTypeORM)?.value,\n featuresTesting: featuresTestingChoices(cliVersion).find((v) => v.value.type === features.featuresTesting)?.value,\n featuresLinter: featuresLinterChoices(cliVersion).find((v) => v.value.type === features.featuresLinter)?.value,\n featuresExtraLinter: featuresExtraLinterChoices.map((v) => v.value).filter((v) => features.featuresExtraLinter?.includes(v.type)),\n featuresBundler: featuresBundlerChoices.find((v) => v.value.type === features.featuresBundlerChoices)?.value,\n packageManager: features.packageManager\n };\n};\n\nexport const getFeaturesChoicesValues = (cliVersion: string) => {\n return {\n platform: platformChoices.map((v) => v.value),\n convention: conventionChoices.map((v) => v.value),\n features: featureChoices(cliVersion).map((v) => v.value.type),\n featuresDB: featuresDbChoices(cliVersion).map((v) => v.value.type),\n featuresTypeORM: FEATURES_TYPEORM_CONNECTION_TYPES.map((v) => v.value.type),\n featuresTesting: featuresTestingChoices(cliVersion).map((v) => v.value.type),\n featuresLinter: featuresLinterChoices(cliVersion).map((v) => v.value.type),\n featuresExtraLinter: featuresExtraLinterChoices.map((v) => v.value.type),\n featuresBundler: featuresBundlerChoices.map((v) => v.value.type),\n packageManager: packageManagerChoices.map((v) => v.value)\n };\n};\n\nregisterProvider({\n provide: Features,\n deps: [CliPackageJson],\n useFactory(cliPackageJson: CliPackageJson) {\n const cliVersion = cliPackageJson.version;\n\n return [\n {\n message: \"Choose the target platform:\",\n type: \"list\",\n name: \"platform\",\n choices: platformChoices\n },\n {\n message: \"Choose the architecture for your project:\",\n type: \"list\",\n name: \"architecture\",\n choices: [\n {\n name: \"Ts.ED\",\n checked: true,\n value: ArchitectureConvention.DEFAULT\n },\n {\n name: \"feature\",\n checked: false,\n value: ArchitectureConvention.FEATURE\n }\n ]\n },\n {\n message: \"Choose the convention file styling:\",\n type: \"list\",\n name: \"convention\",\n choices: conventionChoices\n },\n {\n type: \"checkbox\",\n name: \"features\",\n message: \"Check the features needed for your project\",\n choices: featureChoices(cliVersion)\n },\n {\n message: \"Choose a ORM manager\",\n type: \"list\",\n name: \"featuresDB\",\n when: hasFeature(\"db\"),\n choices: featuresDbChoices(cliVersion)\n },\n {\n type: \"list\",\n name: \"featuresTypeORM\",\n message: \"Which TypeORM you want to install?\",\n choices: FEATURES_TYPEORM_CONNECTION_TYPES,\n when: hasValue(\"featuresDB.type\", \"typeorm\")\n },\n // {\n // type: \"password\",\n // name: \"GH_TOKEN\",\n // message:\n // \"Enter GH_TOKEN to use the premium @tsedio/prisma package or leave blank (see https://tsed.io/tutorials/prisma-client.html)\",\n // when: hasValue(\"featuresDB.type\", \"prisma\")\n // },\n {\n message: \"Choose unit framework\",\n type: \"list\",\n name: \"featuresTesting\",\n when: hasFeature(\"testing\"),\n choices: featuresTestingChoices(cliVersion)\n },\n {\n message: \"Choose linter tools framework\",\n type: \"list\",\n name: \"featuresLinter\",\n when: hasFeature(\"linter\"),\n choices: featuresLinterChoices(cliVersion)\n },\n {\n message: \"Choose extra linter tools\",\n type: \"checkbox\",\n name: \"featuresExtraLinter\",\n when: hasFeature(\"linter\"),\n choices: featuresExtraLinterChoices\n },\n {\n message: \"Choose your bundler\",\n type: \"list\",\n name: \"featuresBundler\",\n when: hasFeature(\"bundler\"),\n choices: featuresBundlerChoices\n },\n {\n message: \"Choose the OIDC base path server\",\n name: \"oidcBasePath\",\n default: \"/oidc\",\n when: hasFeature(\"oidc\"),\n type: \"input\"\n },\n {\n message: \"Choose the OIDC base path server\",\n name: \"oidcBasePath\",\n default: \"/oidc\",\n when: hasFeature(\"oidc\"),\n type: \"input\"\n },\n {\n message: \"Choose the package manager:\",\n type: \"list\",\n name: \"packageManager\",\n choices: packageManagerChoices\n }\n ];\n }\n});\n"]}
1
+ {"version":3,"file":"Features.js","sourceRoot":"","sources":["../../src/services/Features.ts"],"names":[],"mappings":";;;AAAA,6CAAwE;AACxE,qCAAoC;AACpC,8CAAwE;AAexE,SAAgB,QAAQ;IACtB,OAAO,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAQ,EAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAC1F,CAAC;AAFD,gCAEC;AAED,SAAgB,QAAQ,CAAC,UAAkB,EAAE,KAAU;IACrD,OAAO,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAA,eAAQ,EAAC,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;AAC3D,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAC,GAAG,KAAe;IAC3C,OAAO,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAFD,gCAEC;AAEY,QAAA,iCAAiC,GAAG;IAC/C;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE;gBACZ,MAAM,EAAE,QAAQ;aACjB;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE;gBACZ,OAAO,EAAE,QAAQ;aAClB;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE;gBACZ,EAAE,EAAE,QAAQ;aACb;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE;gBACZ,WAAW,EAAE,QAAQ;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE;gBACZ,OAAO,EAAE,QAAQ;aAClB;SACF;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,IAAI,EAAE,wBAAwB;YAC9B,YAAY,EAAE;gBACZ,gBAAgB,EAAE,QAAQ;aAC3B;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;SACxB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE;YACL,IAAI,EAAE,sBAAsB;SAC7B;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE;gBACZ,QAAQ,EAAE,QAAQ;aACnB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE;gBACZ,KAAK,EAAE,QAAQ;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE;gBACZ,OAAO,EAAE,QAAQ;aAClB;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,EAAE;SACjB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE;YACL,IAAI,EAAE,qBAAqB;YAC3B,YAAY,EAAE,EAAE;SACjB;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,EAAE;SACjB;KACF;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,yCAAyC,EAAE,QAAQ;IACnD,mCAAmC,EAAE,QAAQ;IAC7C,mBAAmB,EAAE,QAAQ;IAC7B,0BAA0B,EAAE,QAAQ;IACpC,4CAA4C,EAAE,QAAQ;IACtD,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;KACb;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,8BAAiB,CAAC,OAAO;KACjC;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,8BAAiB,CAAC,OAAO;KACjC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC;IAC7C;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,YAAY,EAAE;gBACZ,mBAAmB,EAAE,iBAAiB;aACvC;YACD,eAAe,EAAE;gBACf,8BAA8B,EAAE,UAAU;aAC3C;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;KACpB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;QAC3B,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE;gBACf,2BAA2B,EAAE,UAAU;aACxC;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE;gBACZ,gBAAgB,EAAE,iBAAiB;gBACnC,WAAW,EAAE,QAAQ;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,YAAY,EAAE;gBACZ,eAAe,EAAE,iBAAiB;aACnC;SACF;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE;gBACf,gCAAgC,EAAE,UAAU;aAC7C;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE;gBACf,kBAAkB,EAAE,QAAQ;gBAC5B,SAAS,EAAE,QAAQ;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;SACf;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;SAChB;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE;gBACZ,gBAAgB,EAAE,UAAU;aAC7B;YACD,eAAe,EAAE;gBACf,iBAAiB,EAAE,QAAQ;aAC5B;SACF;KACF;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC;IAChD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE;gBACf,yBAAyB,EAAE,UAAU;aACtC;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE;gBACf,2BAA2B,EAAE,UAAU;aACxC;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,eAAe,EAAE;gBACf,0BAA0B,EAAE,UAAU;aACvC;SACF;KACF;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC;IACrD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE;gBACf,uBAAuB,EAAE,UAAU;aACpC;SACF;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,eAAe,EAAE;gBACf,wBAAwB,EAAE,UAAU;aACrC;SACF;KACF;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC;IACpD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE;gBACf,yBAAyB,EAAE,UAAU;aACtC;SACF;KACF;CACF,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;SACjB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;KACF;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,eAAe,EAAE;gBACf,GAAG,oBAAoB;aACxB;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,eAAe,EAAE;gBACf,GAAG,oBAAoB;gBACvB,cAAc,EAAE,QAAQ;gBACxB,OAAO,EAAE,QAAQ;gBACjB,aAAa,EAAE,QAAQ;aACxB;SACF;KACF;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,MAAM;KACd;CACF,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,UAAkB,EAAE,EAAE;;IACrF,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAA+B,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvH,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAA+B,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;SACxF;QACD,UAAU,EAAE,MAAA,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,0CAAE,KAAK;QAClG,eAAe,EAAE,MAAA,yCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,0CAAE,KAAK;QAChH,eAAe,EAAE,MAAA,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,0CAAE,KAAK;QACjH,cAAc,EAAE,MAAA,qBAAqB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,0CAAE,KAAK;QAC9G,mBAAmB,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,mBAAmB,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;QACjI,eAAe,EAAE,MAAA,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,sBAAsB,CAAC,0CAAE,KAAK;QAC5G,cAAc,EAAE,QAAQ,CAAC,cAAc;KACxC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,iBAAiB,qBAkB5B;AAEK,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC7D,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7C,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7D,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAClE,eAAe,EAAE,yCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3E,eAAe,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5E,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1E,mBAAmB,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACxE,eAAe,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAChE,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC1D,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC;AAEF,IAAA,2BAAgB,EAAC;IACf,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,yBAAc,CAAC;IACtB,UAAU,CAAC,cAA8B;QACvC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;QAE1C,OAAO;YACL;gBACE,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,eAAe;aACzB;YACD;gBACE,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,mCAAsB,CAAC,OAAO;qBACtC;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,mCAAsB,CAAC,OAAO;qBACtC;iBACF;aACF;YACD;gBACE,OAAO,EAAE,qCAAqC;gBAC9C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,iBAAiB;aAC3B;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,4CAA4C;gBACrD,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,yCAAiC;gBAC1C,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;aAC7C;YACD,IAAI;YACJ,sBAAsB;YACtB,sBAAsB;YACtB,aAAa;YACb,oIAAoI;YACpI,gDAAgD;YAChD,KAAK;YACL;gBACE,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC3B,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC;aAC5C;YACD;gBACE,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC;aAC3C;YACD;gBACE,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,0BAA0B;aACpC;YACD;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC3B,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,OAAO,EAAE,kCAAkC;gBAC3C,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,OAAO,EAAE,kCAAkC;gBAC3C,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC","sourcesContent":["import {CliPackageJson, Inject, registerProvider} from \"@tsed/cli-core\";\nimport {getValue} from \"@tsed/core\";\nimport {ProjectConvention, ArchitectureConvention} from \"../interfaces\";\n\nexport interface FeatureValue {\n type: string;\n dependencies?: {[key: string]: string | undefined};\n devDependencies?: {[key: string]: string | undefined};\n}\n\nexport interface Feature {\n name: string;\n value: FeatureValue;\n}\n\nexport type Features = Feature[];\n\nexport function Features() {\n return Inject(Features);\n}\n\nexport function hasFeature(feature: string) {\n return (ctx: any): boolean => !!ctx.features.find((item: any) => item.type === feature);\n}\n\nexport function hasValue(expression: string, value: any) {\n return (ctx: any) => getValue(expression, ctx) === value;\n}\n\nexport function isPlatform(...types: string[]) {\n return (ctx: any) => [types].includes(ctx.platform);\n}\n\nexport const FEATURES_TYPEORM_CONNECTION_TYPES = [\n {\n name: \"MySQL\",\n value: {\n type: \"typeorm:mysql\",\n dependencies: {\n mysql2: \"latest\"\n }\n }\n },\n {\n name: \"MariaDB\",\n value: {\n type: \"typeorm:mariadb\",\n dependencies: {\n mariadb: \"latest\"\n }\n }\n },\n {\n name: \"Postgres\",\n value: {\n type: \"typeorm:postgres\",\n dependencies: {\n pg: \"latest\"\n }\n }\n },\n {\n name: \"CockRoachDB\",\n value: {\n type: \"typeorm:postgres\",\n dependencies: {\n cockroachdb: \"latest\"\n }\n }\n },\n {\n name: \"SQLite\",\n value: {\n type: \"typeorm:sqlite\",\n dependencies: {\n sqlite3: \"latest\"\n }\n }\n },\n {\n name: \"Better SQLite3\",\n value: {\n type: \"typeorm:better-sqlite3\",\n dependencies: {\n \"better-sqlite3\": \"latest\"\n }\n }\n },\n {\n name: \"Cordova\",\n value: {\n type: \"typeorm:cordova\"\n }\n },\n {\n name: \"NativeScript\",\n value: {\n type: \"typeorm:nativescript\"\n }\n },\n {\n name: \"Oracle\",\n value: {\n type: \"typeorm:oracle\",\n dependencies: {\n oracledb: \"latest\"\n }\n }\n },\n {\n name: \"MsSQL\",\n value: {\n type: \"typeorm:mssql\",\n dependencies: {\n mssql: \"latest\"\n }\n }\n },\n {\n name: \"MongoDB\",\n value: {\n type: \"typeorm:mongodb\",\n dependencies: {\n mongodb: \"latest\"\n }\n }\n },\n {\n name: \"SQL.js\",\n value: {\n type: \"typeorm:sqljs\",\n dependencies: {}\n }\n },\n {\n name: \"ReactNative\",\n value: {\n type: \"typeorm:reactnative\",\n dependencies: {}\n }\n },\n {\n name: \"Expo\",\n value: {\n type: \"typeorm:expo\",\n dependencies: {}\n }\n }\n];\n\nconst babelDevDependencies = {\n \"@babel/cli\": \"latest\",\n \"@babel/core\": \"latest\",\n \"@babel/node\": \"latest\",\n \"@babel/plugin-proposal-class-properties\": \"latest\",\n \"@babel/plugin-proposal-decorators\": \"latest\",\n \"@babel/preset-env\": \"latest\",\n \"@babel/preset-typescript\": \"latest\",\n \"babel-plugin-transform-typescript-metadata\": \"latest\",\n \"babel-watch\": \"latest\"\n};\n\nconst platformChoices = [\n {\n name: \"Express.js\",\n checked: true,\n value: \"express\"\n },\n {\n name: \"Koa.js\",\n checked: false,\n value: \"koa\"\n }\n];\n\nconst conventionChoices = [\n {\n name: \"Ts.ED\",\n checked: true,\n value: ProjectConvention.DEFAULT\n },\n {\n name: \"Angular\",\n checked: false,\n value: ProjectConvention.ANGULAR\n }\n];\n\nconst featureChoices = (cliVersion: string) => [\n {\n name: \"TypeGraphQL\",\n value: {\n type: \"graphql\",\n dependencies: {\n \"@tsed/typegraphql\": \"{{tsedVersion}}\"\n },\n devDependencies: {\n \"@tsed/cli-plugin-typegraphql\": cliVersion\n }\n }\n },\n {\n name: \"Database\",\n value: {type: \"db\"}\n },\n {\n name: \"Passport.js\",\n when: isPlatform(\"express\"),\n value: {\n type: \"passportjs\",\n devDependencies: {\n \"@tsed/cli-plugin-passport\": cliVersion\n }\n }\n },\n {\n name: \"Socket.io\",\n value: {\n type: \"socketio\",\n dependencies: {\n \"@tsed/socketio\": \"{{tsedVersion}}\",\n \"socket.io\": \"latest\"\n }\n }\n },\n {\n name: \"Swagger\",\n value: {\n type: \"swagger\",\n dependencies: {\n \"@tsed/swagger\": \"{{tsedVersion}}\"\n }\n }\n },\n {\n name: \"OpenID Connect provider\",\n value: {\n type: \"oidc\",\n devDependencies: {\n \"@tsed/cli-plugin-oidc-provider\": cliVersion\n }\n }\n },\n {\n name: \"Testing\",\n value: {\n type: \"testing\",\n dependencies: {},\n devDependencies: {\n \"@types/supertest\": \"latest\",\n supertest: \"latest\"\n }\n }\n },\n {\n name: \"Linter\",\n value: {\n type: \"linter\"\n }\n },\n {\n name: \"Bundler\",\n value: {\n type: \"bundler\"\n }\n },\n {\n name: \"Commands\",\n value: {\n type: \"commands\",\n dependencies: {\n \"@tsed/cli-core\": cliVersion\n },\n devDependencies: {\n \"@types/inquirer\": \"latest\"\n }\n }\n }\n];\n\nconst featuresDbChoices = (cliVersion: string) => [\n {\n name: \"Prisma\",\n value: {\n type: \"prisma\",\n devDependencies: {\n \"@tsed/cli-plugin-prisma\": cliVersion\n }\n }\n },\n {\n name: \"Mongoose\",\n value: {\n type: \"mongoose\",\n devDependencies: {\n \"@tsed/cli-plugin-mongoose\": cliVersion\n }\n }\n },\n {\n name: \"TypeORM\",\n value: {\n type: \"typeorm\",\n devDependencies: {\n \"@tsed/cli-plugin-typeorm\": cliVersion\n }\n }\n }\n];\n\nconst featuresTestingChoices = (cliVersion: string) => [\n {\n name: \"Jest\",\n value: {\n type: \"jest\",\n devDependencies: {\n \"@tsed/cli-plugin-jest\": cliVersion\n }\n }\n },\n {\n name: \"Mocha + Chai + Sinon\",\n value: {\n type: \"mocha\",\n devDependencies: {\n \"@tsed/cli-plugin-mocha\": cliVersion\n }\n }\n }\n];\n\nconst featuresLinterChoices = (cliVersion: string) => [\n {\n name: \"EsLint\",\n checked: true,\n value: {\n type: \"eslint\",\n devDependencies: {\n \"@tsed/cli-plugin-eslint\": cliVersion\n }\n }\n }\n];\n\nconst featuresExtraLinterChoices = [\n {\n name: \"Prettier\",\n value: {\n type: \"prettier\"\n }\n },\n {\n name: \"Lint on commit\",\n value: {\n type: \"lintstaged\"\n }\n }\n];\n\nconst featuresBundlerChoices = [\n {\n name: \"Babel\",\n value: {\n type: \"babel\",\n devDependencies: {\n ...babelDevDependencies\n }\n }\n },\n {\n name: \"Webpack\",\n value: {\n type: \"babel:webpack\",\n devDependencies: {\n ...babelDevDependencies,\n \"babel-loader\": \"latest\",\n webpack: \"latest\",\n \"webpack-cli\": \"latest\"\n }\n }\n }\n];\n\nconst packageManagerChoices = [\n {\n name: \"Yarn\",\n checked: true,\n value: \"yarn\"\n },\n {\n name: \"NPM\",\n checked: false,\n value: \"npm\"\n },\n {\n name: \"PNPM - experimental\",\n checked: false,\n value: \"pnpm\"\n }\n];\n\nexport const parseFeaturesFile = (features: Record<string, any>, cliVersion: string) => {\n return {\n platform: features.platform,\n convention: features.convention,\n features: [\n ...featureChoices(cliVersion)\n .map((v) => v.value)\n .filter((v) => features.features.filter((v: string | Record<string, any>) => typeof v === \"string\").includes(v.type)),\n ...features.features.filter((v: string | Record<string, any>) => typeof v === \"object\")\n ],\n featuresDB: featuresDbChoices(cliVersion).find((v) => v.value.type === features.featuresDB)?.value,\n featuresTypeORM: FEATURES_TYPEORM_CONNECTION_TYPES.find((v) => v.value.type === features.featuresTypeORM)?.value,\n featuresTesting: featuresTestingChoices(cliVersion).find((v) => v.value.type === features.featuresTesting)?.value,\n featuresLinter: featuresLinterChoices(cliVersion).find((v) => v.value.type === features.featuresLinter)?.value,\n featuresExtraLinter: featuresExtraLinterChoices.map((v) => v.value).filter((v) => features.featuresExtraLinter?.includes(v.type)),\n featuresBundler: featuresBundlerChoices.find((v) => v.value.type === features.featuresBundlerChoices)?.value,\n packageManager: features.packageManager\n };\n};\n\nexport const getFeaturesChoicesValues = (cliVersion: string) => {\n return {\n platform: platformChoices.map((v) => v.value),\n convention: conventionChoices.map((v) => v.value),\n features: featureChoices(cliVersion).map((v) => v.value.type),\n featuresDB: featuresDbChoices(cliVersion).map((v) => v.value.type),\n featuresTypeORM: FEATURES_TYPEORM_CONNECTION_TYPES.map((v) => v.value.type),\n featuresTesting: featuresTestingChoices(cliVersion).map((v) => v.value.type),\n featuresLinter: featuresLinterChoices(cliVersion).map((v) => v.value.type),\n featuresExtraLinter: featuresExtraLinterChoices.map((v) => v.value.type),\n featuresBundler: featuresBundlerChoices.map((v) => v.value.type),\n packageManager: packageManagerChoices.map((v) => v.value)\n };\n};\n\nregisterProvider({\n provide: Features,\n deps: [CliPackageJson],\n useFactory(cliPackageJson: CliPackageJson) {\n const cliVersion = cliPackageJson.version;\n\n return [\n {\n message: \"Choose the target platform:\",\n type: \"list\",\n name: \"platform\",\n choices: platformChoices\n },\n {\n message: \"Choose the architecture for your project:\",\n type: \"list\",\n name: \"architecture\",\n choices: [\n {\n name: \"Ts.ED\",\n checked: true,\n value: ArchitectureConvention.DEFAULT\n },\n {\n name: \"feature\",\n checked: false,\n value: ArchitectureConvention.FEATURE\n }\n ]\n },\n {\n message: \"Choose the convention file styling:\",\n type: \"list\",\n name: \"convention\",\n choices: conventionChoices\n },\n {\n type: \"checkbox\",\n name: \"features\",\n message: \"Check the features needed for your project\",\n choices: featureChoices(cliVersion)\n },\n {\n message: \"Choose a ORM manager\",\n type: \"list\",\n name: \"featuresDB\",\n when: hasFeature(\"db\"),\n choices: featuresDbChoices(cliVersion)\n },\n {\n type: \"list\",\n name: \"featuresTypeORM\",\n message: \"Which TypeORM you want to install?\",\n choices: FEATURES_TYPEORM_CONNECTION_TYPES,\n when: hasValue(\"featuresDB.type\", \"typeorm\")\n },\n // {\n // type: \"password\",\n // name: \"GH_TOKEN\",\n // message:\n // \"Enter GH_TOKEN to use the premium @tsedio/prisma package or leave blank (see https://tsed.io/tutorials/prisma-client.html)\",\n // when: hasValue(\"featuresDB.type\", \"prisma\")\n // },\n {\n message: \"Choose unit framework\",\n type: \"list\",\n name: \"featuresTesting\",\n when: hasFeature(\"testing\"),\n choices: featuresTestingChoices(cliVersion)\n },\n {\n message: \"Choose linter tools framework\",\n type: \"list\",\n name: \"featuresLinter\",\n when: hasFeature(\"linter\"),\n choices: featuresLinterChoices(cliVersion)\n },\n {\n message: \"Choose extra linter tools\",\n type: \"checkbox\",\n name: \"featuresExtraLinter\",\n when: hasFeature(\"linter\"),\n choices: featuresExtraLinterChoices\n },\n {\n message: \"Choose your bundler\",\n type: \"list\",\n name: \"featuresBundler\",\n when: hasFeature(\"bundler\"),\n choices: featuresBundlerChoices\n },\n {\n message: \"Choose the OIDC base path server\",\n name: \"oidcBasePath\",\n default: \"/oidc\",\n when: hasFeature(\"oidc\"),\n type: \"input\"\n },\n {\n message: \"Choose the OIDC base path server\",\n name: \"oidcBasePath\",\n default: \"/oidc\",\n when: hasFeature(\"oidc\"),\n type: \"input\"\n },\n {\n message: \"Choose the package manager:\",\n type: \"list\",\n name: \"packageManager\",\n choices: packageManagerChoices\n }\n ];\n }\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/cli",
3
- "version": "3.20.13",
3
+ "version": "3.20.16",
4
4
  "main": "./lib/index.js",
5
5
  "typings": "./lib/index.d.ts",
6
6
  "bin": {
@@ -45,7 +45,7 @@
45
45
  "node": ">=8.9"
46
46
  },
47
47
  "dependencies": {
48
- "@tsed/cli-core": "3.20.13",
48
+ "@tsed/cli-core": "3.20.16",
49
49
  "@tsed/core": ">=6.114.6",
50
50
  "@tsed/di": ">=6.114.6",
51
51
  "@tsed/logger": ">=6.0.0",
@@ -55,7 +55,7 @@
55
55
  "tslib": "2.3.1"
56
56
  },
57
57
  "devDependencies": {
58
- "@tsed/cli-testing": "3.20.13",
58
+ "@tsed/cli-testing": "3.20.16",
59
59
  "@types/change-case": "^2.3.1"
60
60
  },
61
61
  "peerDependencies": {},