@tsed/cli-plugin-typeorm 3.21.0-rc.3 → 3.21.0

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.
@@ -7,6 +7,7 @@ const di_1 = require("@tsed/di");
7
7
  const TypeORMGenerateHook_1 = require("./hooks/TypeORMGenerateHook");
8
8
  const TypeORMInitHook_1 = require("./hooks/TypeORMInitHook");
9
9
  let CliPluginTypeORMModule = class CliPluginTypeORMModule {
10
+ packageJson;
10
11
  install() {
11
12
  this.packageJson.addDependencies({
12
13
  typeorm: "latest"
@@ -1 +1 @@
1
- {"version":3,"file":"CliPluginTypeORMModule.js","sourceRoot":"","sources":["../../src/CliPluginTypeORMModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,qEAAgE;AAChE,6DAAwD;AAKxD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAKjC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;2DAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,0BAA0B,CAAC;;;;qDAKjC;AATU,sBAAsB;IAHlC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,iCAAe,EAAE,yCAAmB,CAAC;KAChD,CAAC;GACW,sBAAsB,CAUlC;AAVY,wDAAsB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {TypeORMGenerateHook} from \"./hooks/TypeORMGenerateHook\";\nimport {TypeORMInitHook} from \"./hooks/TypeORMInitHook\";\n\n@Module({\n imports: [TypeORMInitHook, TypeORMGenerateHook]\n})\nexport class CliPluginTypeORMModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-typeorm\")\n install() {\n this.packageJson.addDependencies({\n typeorm: \"latest\"\n });\n }\n}\n"]}
1
+ {"version":3,"file":"CliPluginTypeORMModule.js","sourceRoot":"","sources":["../../src/CliPluginTypeORMModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,qEAAgE;AAChE,6DAAwD;AAKxD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAEjC,WAAW,CAAqB;IAGhC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;2DAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,0BAA0B,CAAC;;;;qDAKjC;AATU,sBAAsB;IAHlC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,iCAAe,EAAE,yCAAmB,CAAC;KAChD,CAAC;GACW,sBAAsB,CAUlC;AAVY,wDAAsB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {TypeORMGenerateHook} from \"./hooks/TypeORMGenerateHook\";\nimport {TypeORMInitHook} from \"./hooks/TypeORMInitHook\";\n\n@Module({\n imports: [TypeORMInitHook, TypeORMGenerateHook]\n})\nexport class CliPluginTypeORMModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-typeorm\")\n install() {\n this.packageJson.addDependencies({\n typeorm: \"latest\"\n });\n }\n}\n"]}
@@ -9,6 +9,10 @@ const di_1 = require("@tsed/di");
9
9
  const templateDir_1 = require("../utils/templateDir");
10
10
  const change_case_1 = require("change-case");
11
11
  let TypeORMGenerateHook = TypeORMGenerateHook_1 = class TypeORMGenerateHook {
12
+ providersInfoService;
13
+ projectPackageJson;
14
+ srcRenderService;
15
+ cliDockerComposeYaml;
12
16
  constructor(providersInfoService) {
13
17
  this.providersInfoService = providersInfoService;
14
18
  providersInfoService.add({
@@ -48,15 +52,14 @@ let TypeORMGenerateHook = TypeORMGenerateHook_1 = class TypeORMGenerateHook {
48
52
  return [];
49
53
  }
50
54
  generateDataSourceTasks(ctx) {
51
- var _a;
52
55
  const { typeormDataSource, symbolPath, name } = ctx;
53
56
  if (!typeormDataSource) {
54
57
  return [];
55
58
  }
56
59
  const databaseType = cli_1.FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);
57
60
  const database = typeormDataSource.split(":").at(-1);
58
- if ((_a = databaseType === null || databaseType === void 0 ? void 0 : databaseType.value) === null || _a === void 0 ? void 0 : _a.dependencies) {
59
- this.projectPackageJson.addDependencies((databaseType === null || databaseType === void 0 ? void 0 : databaseType.value.dependencies) || {});
61
+ if (databaseType?.value?.dependencies) {
62
+ this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});
60
63
  }
61
64
  const symbolName = ctx.symbolName.replace("Datasource", "DataSource");
62
65
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"TypeORMGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {FEATURES_TYPEORM_CONNECTION_TYPES, GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {CliDockerComposeYaml, Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\nimport {constantCase} from \"change-case\";\n\nexport interface TypeORMGenerateOptions extends GenerateCmdContext {\n typeormDataSource: string;\n datasourceName: string;\n}\n\n@Injectable()\nexport class TypeORMGenerateHook {\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderService: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"TypeORM Datasource\",\n value: \"typeorm:datasource\",\n model: \"{{symbolName}}.datasource\"\n },\n TypeORMGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n const list = FEATURES_TYPEORM_CONNECTION_TYPES.map((item) => {\n return {\n name: item.name,\n value: item.value.type\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"typeormDataSource\",\n message: \"Which database type?\",\n when(state: any) {\n return state.type === \"typeorm:datasource\";\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: TypeORMGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, TypeORMGenerateHook)) {\n return this.generateDataSourceTasks(ctx);\n }\n\n return [];\n }\n\n generateDataSourceTasks(ctx: TypeORMGenerateOptions) {\n const {typeormDataSource, symbolPath, name} = ctx;\n\n if (!typeormDataSource) {\n return [];\n }\n\n const databaseType = FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);\n const database = typeormDataSource.split(\":\").at(-1)!;\n\n if (databaseType?.value?.dependencies) {\n this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});\n }\n\n const symbolName = ctx.symbolName.replace(\"Datasource\", \"DataSource\");\n\n return [\n {\n title: `Generate TypeORM datasource file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(\n \"datasource.hbs\",\n {\n name,\n database,\n symbolName,\n tokenName: constantCase(symbolName)\n },\n {\n templateDir: TEMPLATE_DIR,\n output: `${ctx.symbolPath}.ts`,\n rootDir: this.srcRenderService.rootDir\n }\n )\n },\n {\n title: \"Generate docker-compose configuration\",\n task: () => this.cliDockerComposeYaml.addDatabaseService(name, database)\n }\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"TypeORMGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {FEATURES_TYPEORM_CONNECTION_TYPES, GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {CliDockerComposeYaml, Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\nimport {constantCase} from \"change-case\";\n\nexport interface TypeORMGenerateOptions extends GenerateCmdContext {\n typeormDataSource: string;\n datasourceName: string;\n}\n\n@Injectable()\nexport class TypeORMGenerateHook {\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderService: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"TypeORM Datasource\",\n value: \"typeorm:datasource\",\n model: \"{{symbolName}}.datasource\"\n },\n TypeORMGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n const list = FEATURES_TYPEORM_CONNECTION_TYPES.map((item) => {\n return {\n name: item.name,\n value: item.value.type\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"typeormDataSource\",\n message: \"Which database type?\",\n when(state: any) {\n return state.type === \"typeorm:datasource\";\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: TypeORMGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, TypeORMGenerateHook)) {\n return this.generateDataSourceTasks(ctx);\n }\n\n return [];\n }\n\n generateDataSourceTasks(ctx: TypeORMGenerateOptions) {\n const {typeormDataSource, symbolPath, name} = ctx;\n\n if (!typeormDataSource) {\n return [];\n }\n\n const databaseType = FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);\n const database = typeormDataSource.split(\":\").at(-1)!;\n\n if (databaseType?.value?.dependencies) {\n this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});\n }\n\n const symbolName = ctx.symbolName.replace(\"Datasource\", \"DataSource\");\n\n return [\n {\n title: `Generate TypeORM datasource file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(\n \"datasource.hbs\",\n {\n name,\n database,\n symbolName,\n tokenName: constantCase(symbolName)\n },\n {\n templateDir: TEMPLATE_DIR,\n output: `${ctx.symbolPath}.ts`,\n rootDir: this.srcRenderService.rootDir\n }\n )\n },\n {\n title: \"Generate docker-compose configuration\",\n task: () => this.cliDockerComposeYaml.addDatabaseService(name, database)\n }\n ];\n }\n}\n"]}
@@ -6,12 +6,15 @@ const cli_core_1 = require("@tsed/cli-core");
6
6
  const di_1 = require("@tsed/di");
7
7
  const change_case_1 = require("change-case");
8
8
  function getDatabase(ctx) {
9
- var _a;
10
- return ((_a = ctx.features.find(({ type }) => type.includes("typeorm:"))) === null || _a === void 0 ? void 0 : _a.type.split(":")[1]) || "";
9
+ return ctx.features.find(({ type }) => type.includes("typeorm:"))?.type.split(":")[1] || "";
11
10
  }
12
11
  let TypeORMInitHook = class TypeORMInitHook {
12
+ cliService;
13
+ packageJson;
14
+ rootRenderer;
15
+ srcRenderer;
16
+ cliDockerComposeYaml;
13
17
  onExec(ctx) {
14
- var _a;
15
18
  this.addScripts();
16
19
  this.addDependencies(ctx);
17
20
  this.addDevDependencies(ctx);
@@ -23,7 +26,7 @@ let TypeORMInitHook = class TypeORMInitHook {
23
26
  ...ctx,
24
27
  type: "typeorm:dataSource",
25
28
  name: (0, change_case_1.pascalCase)(database),
26
- typeormDataSource: (_a = ctx.features.find(({ type }) => type.startsWith("typeorm:"))) === null || _a === void 0 ? void 0 : _a.type
29
+ typeormDataSource: ctx.features.find(({ type }) => type.startsWith("typeorm:"))?.type
27
30
  });
28
31
  }
29
32
  addScripts() {
@@ -1 +1 @@
1
- {"version":3,"file":"TypeORMInitHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMInitHook.ts"],"names":[],"mappings":";;;;AACA,6CAQwB;AACxB,iCAAoC;AACpC,6CAAuC;AAEvC,SAAS,WAAW,CAAC,GAAmB;;IACtC,OAAO,CAAA,MAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,0CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,KAAI,EAAE,CAAC;AAC5F,CAAC;AAGD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAiB1B,MAAM,CAAC,GAAmB;;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1C,GAAG,GAAG;YACN,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,IAAA,wBAAU,EAAC,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,MAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,0CAAE,IAAI;SACpF,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA/CC;IADC,IAAA,iBAAM,GAAE;sCACa,qBAAU;mDAAC;AAGjC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;oDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACe,8BAAmB;qDAAC;AAG5C;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;oDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACuB,+BAAoB;6DAAC;AAGrD;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;6CAkBd;AAlCU,eAAe;IAD3B,IAAA,eAAU,GAAE;GACA,eAAe,CAiD3B;AAjDY,0CAAe","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {\n CliDockerComposeYaml,\n CliService,\n Inject,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {pascalCase} from \"change-case\";\n\nfunction getDatabase(ctx: InitCmdContext) {\n return ctx.features.find(({type}) => type.includes(\"typeorm:\"))?.type.split(\":\")[1] || \"\";\n}\n\n@Injectable()\nexport class TypeORMInitHook {\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n const database = getDatabase(ctx);\n\n if (!database) {\n return [];\n }\n\n return this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"typeorm:dataSource\",\n name: pascalCase(database),\n typeormDataSource: ctx.features.find(({type}) => type.startsWith(\"typeorm:\"))?.type\n });\n }\n\n addScripts() {\n this.packageJson.addScripts({\n typeorm: \"typeorm-ts-node-commonjs\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
1
+ {"version":3,"file":"TypeORMInitHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMInitHook.ts"],"names":[],"mappings":";;;;AACA,6CAQwB;AACxB,iCAAoC;AACpC,6CAAuC;AAEvC,SAAS,WAAW,CAAC,GAAmB;IACtC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC;AAGD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAEhB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAGhC,YAAY,CAAsB;IAGlC,WAAW,CAAqB;IAGhC,oBAAoB,CAAuB;IAGrD,MAAM,CAAC,GAAmB;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1C,GAAG,GAAG;YACN,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,IAAA,wBAAU,EAAC,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI;SACpF,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA/CC;IADC,IAAA,iBAAM,GAAE;sCACa,qBAAU;mDAAC;AAGjC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;oDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACe,8BAAmB;qDAAC;AAG5C;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;oDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACuB,+BAAoB;6DAAC;AAGrD;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;6CAkBd;AAlCU,eAAe;IAD3B,IAAA,eAAU,GAAE;GACA,eAAe,CAiD3B;AAjDY,0CAAe","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {\n CliDockerComposeYaml,\n CliService,\n Inject,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {pascalCase} from \"change-case\";\n\nfunction getDatabase(ctx: InitCmdContext) {\n return ctx.features.find(({type}) => type.includes(\"typeorm:\"))?.type.split(\":\")[1] || \"\";\n}\n\n@Injectable()\nexport class TypeORMInitHook {\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n const database = getDatabase(ctx);\n\n if (!database) {\n return [];\n }\n\n return this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"typeorm:dataSource\",\n name: pascalCase(database),\n typeormDataSource: ctx.features.find(({type}) => type.startsWith(\"typeorm:\"))?.type\n });\n }\n\n addScripts() {\n this.packageJson.addScripts({\n typeorm: \"typeorm-ts-node-commonjs\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
@@ -4,6 +4,7 @@ import { Inject } from "@tsed/di";
4
4
  import { TypeORMGenerateHook } from "./hooks/TypeORMGenerateHook.js";
5
5
  import { TypeORMInitHook } from "./hooks/TypeORMInitHook.js";
6
6
  let CliPluginTypeORMModule = class CliPluginTypeORMModule {
7
+ packageJson;
7
8
  install() {
8
9
  this.packageJson.addDependencies({
9
10
  typeorm: "latest"
@@ -1 +1 @@
1
- {"version":3,"file":"CliPluginTypeORMModule.js","sourceRoot":"","sources":["../../src/CliPluginTypeORMModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAKxD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAKjC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARC;IADC,MAAM,EAAE;8BACI,kBAAkB;2DAAC;AAGhC;IADC,KAAK,CAAC,0BAA0B,CAAC;;;;qDAKjC;AATU,sBAAsB;IAHlC,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;GACW,sBAAsB,CAUlC;SAVY,sBAAsB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {TypeORMGenerateHook} from \"./hooks/TypeORMGenerateHook\";\nimport {TypeORMInitHook} from \"./hooks/TypeORMInitHook\";\n\n@Module({\n imports: [TypeORMInitHook, TypeORMGenerateHook]\n})\nexport class CliPluginTypeORMModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-typeorm\")\n install() {\n this.packageJson.addDependencies({\n typeorm: \"latest\"\n });\n }\n}\n"]}
1
+ {"version":3,"file":"CliPluginTypeORMModule.js","sourceRoot":"","sources":["../../src/CliPluginTypeORMModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAKxD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAEjC,WAAW,CAAqB;IAGhC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARC;IADC,MAAM,EAAE;8BACI,kBAAkB;2DAAC;AAGhC;IADC,KAAK,CAAC,0BAA0B,CAAC;;;;qDAKjC;AATU,sBAAsB;IAHlC,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;GACW,sBAAsB,CAUlC;SAVY,sBAAsB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {TypeORMGenerateHook} from \"./hooks/TypeORMGenerateHook\";\nimport {TypeORMInitHook} from \"./hooks/TypeORMInitHook\";\n\n@Module({\n imports: [TypeORMInitHook, TypeORMGenerateHook]\n})\nexport class CliPluginTypeORMModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-typeorm\")\n install() {\n this.packageJson.addDependencies({\n typeorm: \"latest\"\n });\n }\n}\n"]}
@@ -6,6 +6,10 @@ import { Injectable } from "@tsed/di";
6
6
  import { TEMPLATE_DIR } from "../utils/templateDir.js";
7
7
  import { constantCase } from "change-case";
8
8
  let TypeORMGenerateHook = TypeORMGenerateHook_1 = class TypeORMGenerateHook {
9
+ providersInfoService;
10
+ projectPackageJson;
11
+ srcRenderService;
12
+ cliDockerComposeYaml;
9
13
  constructor(providersInfoService) {
10
14
  this.providersInfoService = providersInfoService;
11
15
  providersInfoService.add({
@@ -45,15 +49,14 @@ let TypeORMGenerateHook = TypeORMGenerateHook_1 = class TypeORMGenerateHook {
45
49
  return [];
46
50
  }
47
51
  generateDataSourceTasks(ctx) {
48
- var _a;
49
52
  const { typeormDataSource, symbolPath, name } = ctx;
50
53
  if (!typeormDataSource) {
51
54
  return [];
52
55
  }
53
56
  const databaseType = FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);
54
57
  const database = typeormDataSource.split(":").at(-1);
55
- if ((_a = databaseType === null || databaseType === void 0 ? void 0 : databaseType.value) === null || _a === void 0 ? void 0 : _a.dependencies) {
56
- this.projectPackageJson.addDependencies((databaseType === null || databaseType === void 0 ? void 0 : databaseType.value.dependencies) || {});
58
+ if (databaseType?.value?.dependencies) {
59
+ this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});
57
60
  }
58
61
  const symbolName = ctx.symbolName.replace("Datasource", "DataSource");
59
62
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"TypeORMGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {FEATURES_TYPEORM_CONNECTION_TYPES, GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {CliDockerComposeYaml, Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\nimport {constantCase} from \"change-case\";\n\nexport interface TypeORMGenerateOptions extends GenerateCmdContext {\n typeormDataSource: string;\n datasourceName: string;\n}\n\n@Injectable()\nexport class TypeORMGenerateHook {\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderService: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"TypeORM Datasource\",\n value: \"typeorm:datasource\",\n model: \"{{symbolName}}.datasource\"\n },\n TypeORMGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n const list = FEATURES_TYPEORM_CONNECTION_TYPES.map((item) => {\n return {\n name: item.name,\n value: item.value.type\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"typeormDataSource\",\n message: \"Which database type?\",\n when(state: any) {\n return state.type === \"typeorm:datasource\";\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: TypeORMGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, TypeORMGenerateHook)) {\n return this.generateDataSourceTasks(ctx);\n }\n\n return [];\n }\n\n generateDataSourceTasks(ctx: TypeORMGenerateOptions) {\n const {typeormDataSource, symbolPath, name} = ctx;\n\n if (!typeormDataSource) {\n return [];\n }\n\n const databaseType = FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);\n const database = typeormDataSource.split(\":\").at(-1)!;\n\n if (databaseType?.value?.dependencies) {\n this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});\n }\n\n const symbolName = ctx.symbolName.replace(\"Datasource\", \"DataSource\");\n\n return [\n {\n title: `Generate TypeORM datasource file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(\n \"datasource.hbs\",\n {\n name,\n database,\n symbolName,\n tokenName: constantCase(symbolName)\n },\n {\n templateDir: TEMPLATE_DIR,\n output: `${ctx.symbolPath}.ts`,\n rootDir: this.srcRenderService.rootDir\n }\n )\n },\n {\n title: \"Generate docker-compose configuration\",\n task: () => this.cliDockerComposeYaml.addDatabaseService(name, database)\n }\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"TypeORMGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {FEATURES_TYPEORM_CONNECTION_TYPES, GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {CliDockerComposeYaml, Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\nimport {constantCase} from \"change-case\";\n\nexport interface TypeORMGenerateOptions extends GenerateCmdContext {\n typeormDataSource: string;\n datasourceName: string;\n}\n\n@Injectable()\nexport class TypeORMGenerateHook {\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderService: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"TypeORM Datasource\",\n value: \"typeorm:datasource\",\n model: \"{{symbolName}}.datasource\"\n },\n TypeORMGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n const list = FEATURES_TYPEORM_CONNECTION_TYPES.map((item) => {\n return {\n name: item.name,\n value: item.value.type\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"typeormDataSource\",\n message: \"Which database type?\",\n when(state: any) {\n return state.type === \"typeorm:datasource\";\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: TypeORMGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, TypeORMGenerateHook)) {\n return this.generateDataSourceTasks(ctx);\n }\n\n return [];\n }\n\n generateDataSourceTasks(ctx: TypeORMGenerateOptions) {\n const {typeormDataSource, symbolPath, name} = ctx;\n\n if (!typeormDataSource) {\n return [];\n }\n\n const databaseType = FEATURES_TYPEORM_CONNECTION_TYPES.find((item) => item.value.type === typeormDataSource);\n const database = typeormDataSource.split(\":\").at(-1)!;\n\n if (databaseType?.value?.dependencies) {\n this.projectPackageJson.addDependencies(databaseType?.value.dependencies || {});\n }\n\n const symbolName = ctx.symbolName.replace(\"Datasource\", \"DataSource\");\n\n return [\n {\n title: `Generate TypeORM datasource file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(\n \"datasource.hbs\",\n {\n name,\n database,\n symbolName,\n tokenName: constantCase(symbolName)\n },\n {\n templateDir: TEMPLATE_DIR,\n output: `${ctx.symbolPath}.ts`,\n rootDir: this.srcRenderService.rootDir\n }\n )\n },\n {\n title: \"Generate docker-compose configuration\",\n task: () => this.cliDockerComposeYaml.addDatabaseService(name, database)\n }\n ];\n }\n}\n"]}
@@ -3,12 +3,15 @@ import { CliDockerComposeYaml, CliService, Inject, OnExec, ProjectPackageJson, R
3
3
  import { Injectable } from "@tsed/di";
4
4
  import { pascalCase } from "change-case";
5
5
  function getDatabase(ctx) {
6
- var _a;
7
- return ((_a = ctx.features.find(({ type }) => type.includes("typeorm:"))) === null || _a === void 0 ? void 0 : _a.type.split(":")[1]) || "";
6
+ return ctx.features.find(({ type }) => type.includes("typeorm:"))?.type.split(":")[1] || "";
8
7
  }
9
8
  let TypeORMInitHook = class TypeORMInitHook {
9
+ cliService;
10
+ packageJson;
11
+ rootRenderer;
12
+ srcRenderer;
13
+ cliDockerComposeYaml;
10
14
  onExec(ctx) {
11
- var _a;
12
15
  this.addScripts();
13
16
  this.addDependencies(ctx);
14
17
  this.addDevDependencies(ctx);
@@ -20,7 +23,7 @@ let TypeORMInitHook = class TypeORMInitHook {
20
23
  ...ctx,
21
24
  type: "typeorm:dataSource",
22
25
  name: pascalCase(database),
23
- typeormDataSource: (_a = ctx.features.find(({ type }) => type.startsWith("typeorm:"))) === null || _a === void 0 ? void 0 : _a.type
26
+ typeormDataSource: ctx.features.find(({ type }) => type.startsWith("typeorm:"))?.type
24
27
  });
25
28
  }
26
29
  addScripts() {
@@ -1 +1 @@
1
- {"version":3,"file":"TypeORMInitHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMInitHook.ts"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,SAAS,WAAW,CAAC,GAAmB;;IACtC,OAAO,CAAA,MAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,0CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,KAAI,EAAE,CAAC;AAC5F,CAAC;AAGD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAiB1B,MAAM,CAAC,GAAmB;;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1C,GAAG,GAAG;YACN,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,MAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,0CAAE,IAAI;SACpF,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA/CC;IADC,MAAM,EAAE;8BACa,UAAU;mDAAC;AAGjC;IADC,MAAM,EAAE;8BACc,kBAAkB;oDAAC;AAG1C;IADC,MAAM,EAAE;8BACe,mBAAmB;qDAAC;AAG5C;IADC,MAAM,EAAE;8BACc,kBAAkB;oDAAC;AAG1C;IADC,MAAM,EAAE;8BACuB,oBAAoB;6DAAC;AAGrD;IADC,MAAM,CAAC,MAAM,CAAC;;;;6CAkBd;AAlCU,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAiD3B;SAjDY,eAAe","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {\n CliDockerComposeYaml,\n CliService,\n Inject,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {pascalCase} from \"change-case\";\n\nfunction getDatabase(ctx: InitCmdContext) {\n return ctx.features.find(({type}) => type.includes(\"typeorm:\"))?.type.split(\":\")[1] || \"\";\n}\n\n@Injectable()\nexport class TypeORMInitHook {\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n const database = getDatabase(ctx);\n\n if (!database) {\n return [];\n }\n\n return this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"typeorm:dataSource\",\n name: pascalCase(database),\n typeormDataSource: ctx.features.find(({type}) => type.startsWith(\"typeorm:\"))?.type\n });\n }\n\n addScripts() {\n this.packageJson.addScripts({\n typeorm: \"typeorm-ts-node-commonjs\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
1
+ {"version":3,"file":"TypeORMInitHook.js","sourceRoot":"","sources":["../../../src/hooks/TypeORMInitHook.ts"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,SAAS,WAAW,CAAC,GAAmB;IACtC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC;AAGD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAEhB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAGhC,YAAY,CAAsB;IAGlC,WAAW,CAAqB;IAGhC,oBAAoB,CAAuB;IAGrD,MAAM,CAAC,GAAmB;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1C,GAAG,GAAG;YACN,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI;SACpF,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA/CC;IADC,MAAM,EAAE;8BACa,UAAU;mDAAC;AAGjC;IADC,MAAM,EAAE;8BACc,kBAAkB;oDAAC;AAG1C;IADC,MAAM,EAAE;8BACe,mBAAmB;qDAAC;AAG5C;IADC,MAAM,EAAE;8BACc,kBAAkB;oDAAC;AAG1C;IADC,MAAM,EAAE;8BACuB,oBAAoB;6DAAC;AAGrD;IADC,MAAM,CAAC,MAAM,CAAC;;;;6CAkBd;AAlCU,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAiD3B;SAjDY,eAAe","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {\n CliDockerComposeYaml,\n CliService,\n Inject,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {pascalCase} from \"change-case\";\n\nfunction getDatabase(ctx: InitCmdContext) {\n return ctx.features.find(({type}) => type.includes(\"typeorm:\"))?.type.split(\":\")[1] || \"\";\n}\n\n@Injectable()\nexport class TypeORMInitHook {\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected cliDockerComposeYaml: CliDockerComposeYaml;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n const database = getDatabase(ctx);\n\n if (!database) {\n return [];\n }\n\n return this.cliService.getTasks(\"generate\", {\n ...ctx,\n type: \"typeorm:dataSource\",\n name: pascalCase(database),\n typeormDataSource: ctx.features.find(({type}) => type.startsWith(\"typeorm:\"))?.type\n });\n }\n\n addScripts() {\n this.packageJson.addScripts({\n typeorm: \"typeorm-ts-node-commonjs\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/cli-plugin-typeorm",
3
- "version": "3.21.0-rc.3",
3
+ "version": "3.21.0",
4
4
  "description": "Ts.ED CLI plugin. Add TypeORM support",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/cjs/index.js",
@@ -22,8 +22,8 @@
22
22
  "tslib": "2.3.1"
23
23
  },
24
24
  "devDependencies": {
25
- "@tsed/cli": "3.21.0-rc.3",
26
- "@tsed/cli-core": "3.21.0-rc.3"
25
+ "@tsed/cli": "3.21.0",
26
+ "@tsed/cli-core": "3.21.0"
27
27
  },
28
28
  "peerDependencies": {},
29
29
  "repository": "https://github.com/tsedio/tsed-cli",
@@ -32,8 +32,5 @@
32
32
  },
33
33
  "homepage": "https://github.com/tsedio/tsed-cli/tree/master/packages/cli-plugin-typeorm",
34
34
  "author": "Romain Lenzotti",
35
- "license": "MIT",
36
- "publishConfig": {
37
- "tag": "rc"
38
- }
35
+ "license": "MIT"
39
36
  }