@tsed/cli-plugin-prisma 3.22.1 → 3.22.4

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.
@@ -39,6 +39,18 @@ let PrismaInitHook = class PrismaInitHook {
39
39
  addDevDependencies(ctx) {
40
40
  this.packageJson.addDevDependencies({}, ctx);
41
41
  }
42
+ $onFinish() {
43
+ return new Promise((resolve) => {
44
+ this.packageJson.runScript("prisma:generate").subscribe({
45
+ complete() {
46
+ resolve([]);
47
+ },
48
+ error: () => {
49
+ resolve([]);
50
+ }
51
+ });
52
+ });
53
+ }
42
54
  };
43
55
  tslib_1.__decorate([
44
56
  (0, cli_core_1.Inject)(),
@@ -1 +1 @@
1
- {"version":3,"file":"PrismaInitHook.js","sourceRoot":"","sources":["../../../src/hooks/PrismaInitHook.ts"],"names":[],"mappings":";;;;AACA,6CAA8E;AAC9E,iCAAoC;AACpC,qDAAgD;AAGhD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAEf,SAAS,CAAY;IAGrB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAG1C,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;aAClC;YACD;gBACE,KAAK,EAAE,0CAA0C;gBACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,gBAAgB,EAAE,oCAAoC;YACtD,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,QAAQ;SAC3B,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA9CC;IADC,IAAA,iBAAM,GAAE;sCACY,qBAAS;iDAAC;AAG/B;IADC,IAAA,iBAAM,GAAE;sCACa,qBAAU;kDAAC;AAGjC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;mDAAC;AAG1C;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;4CAgBd;AA1BU,cAAc;IAD1B,IAAA,eAAU,GAAE;GACA,cAAc,CAgD1B;AAhDY,wCAAc","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {CliService, Inject, OnExec, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {CliPrisma} from \"../services/CliPrisma\";\n\n@Injectable()\nexport class PrismaInitHook {\n @Inject()\n protected cliPrisma: CliPrisma;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @OnExec(\"init\")\n async onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n return [\n {\n title: \"Generate Prisma schema\",\n task: () => this.cliPrisma.init()\n },\n {\n title: \"Add Ts.ED configuration to Prisma schema\",\n task: () => this.cliPrisma.patchPrismaSchema()\n }\n ];\n }\n\n addScripts() {\n this.packageJson.addScripts({\n \"prisma:migrate\": \"npx prisma migrate dev --name init\",\n \"prisma:generate\": \"npx prisma generate\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/prisma\": \"latest\",\n \"@prisma/client\": \"latest\"\n },\n ctx\n );\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
1
+ {"version":3,"file":"PrismaInitHook.js","sourceRoot":"","sources":["../../../src/hooks/PrismaInitHook.ts"],"names":[],"mappings":";;;;AACA,6CAA8E;AAC9E,iCAAoC;AACpC,qDAAgD;AAGhD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAEf,SAAS,CAAY;IAGrB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAG1C,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;aAClC;YACD;gBACE,KAAK,EAAE,0CAA0C;gBACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,gBAAgB,EAAE,oCAAoC;YACtD,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,QAAQ;SAC3B,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC;gBACtD,QAAQ;oBACN,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3DC;IADC,IAAA,iBAAM,GAAE;sCACY,qBAAS;iDAAC;AAG/B;IADC,IAAA,iBAAM,GAAE;sCACa,qBAAU;kDAAC;AAGjC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;mDAAC;AAG1C;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;4CAgBd;AA1BU,cAAc;IAD1B,IAAA,eAAU,GAAE;GACA,cAAc,CA6D1B;AA7DY,wCAAc","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {CliService, Inject, OnExec, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {CliPrisma} from \"../services/CliPrisma\";\n\n@Injectable()\nexport class PrismaInitHook {\n @Inject()\n protected cliPrisma: CliPrisma;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @OnExec(\"init\")\n async onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n return [\n {\n title: \"Generate Prisma schema\",\n task: () => this.cliPrisma.init()\n },\n {\n title: \"Add Ts.ED configuration to Prisma schema\",\n task: () => this.cliPrisma.patchPrismaSchema()\n }\n ];\n }\n\n addScripts() {\n this.packageJson.addScripts({\n \"prisma:migrate\": \"npx prisma migrate dev --name init\",\n \"prisma:generate\": \"npx prisma generate\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/prisma\": \"latest\",\n \"@prisma/client\": \"latest\"\n },\n ctx\n );\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n\n $onFinish() {\n return new Promise((resolve) => {\n this.packageJson.runScript(\"prisma:generate\").subscribe({\n complete() {\n resolve([]);\n },\n error: () => {\n resolve([]);\n }\n });\n });\n }\n}\n"]}
@@ -23,6 +23,12 @@ let CliPrisma = class CliPrisma {
23
23
  let content = await this.cliFs.readFile(schemaPath, "utf8");
24
24
  if (!content.includes("generator tsed")) {
25
25
  content += "\ngenerator tsed {\n" + ' provider = "tsed-prisma"\n' + "}\n";
26
+ content +=
27
+ "\nmodel User {\n" +
28
+ " id Int @default(autoincrement()) @id\n" +
29
+ " email String @unique\n" +
30
+ " name String?\n" +
31
+ "}\n";
26
32
  return this.cliFs.writeFile(schemaPath, content, { encoding: "utf8" });
27
33
  }
28
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CliPrisma.js","sourceRoot":"","sources":["../../../src/services/CliPrisma.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAC3E,iCAAoC;AAGpC,IAAa,SAAS,GAAtB,MAAa,SAAS;IAEV,QAAQ,CAAW;IAGnB,KAAK,CAAQ;IAGb,kBAAkB,CAAqB;IAEjD,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAe,EAAE;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,GAAG,OAAO;YACV,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACvC,OAAO,IAAI,sBAAsB,GAAG,8BAA8B,GAAG,KAAK,CAAC;gBAE3E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;aACtE;SACF;IACH,CAAC;CACF,CAAA;AAhCC;IADC,IAAA,iBAAM,GAAE;sCACW,mBAAQ;2CAAC;AAG7B;IADC,IAAA,iBAAM,GAAE;sCACQ,gBAAK;wCAAC;AAGvB;IADC,IAAA,iBAAM,GAAE;sCACqB,6BAAkB;qDAAC;AARtC,SAAS;IADrB,IAAA,eAAU,GAAE;GACA,SAAS,CAkCrB;AAlCY,8BAAS","sourcesContent":["import {CliExeca, CliFs, Inject, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\n\n@Injectable()\nexport class CliPrisma {\n @Inject()\n protected cliExeca: CliExeca;\n\n @Inject()\n protected cliFs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n run(command: string, args: string[] = [], options: any = {}) {\n return this.cliExeca.run(\"npx\", [\"prisma\", command, ...args], {\n ...options,\n cwd: this.projectPackageJson.dir\n });\n }\n\n init() {\n return this.run(\"init\");\n }\n\n async patchPrismaSchema() {\n const schemaPath = this.cliFs.join(this.projectPackageJson.dir, \"prisma\", \"schema.prisma\");\n\n if (this.cliFs.exists(schemaPath)) {\n let content = await this.cliFs.readFile(schemaPath, \"utf8\");\n\n if (!content.includes(\"generator tsed\")) {\n content += \"\\ngenerator tsed {\\n\" + ' provider = \"tsed-prisma\"\\n' + \"}\\n\";\n\n return this.cliFs.writeFile(schemaPath, content, {encoding: \"utf8\"});\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"CliPrisma.js","sourceRoot":"","sources":["../../../src/services/CliPrisma.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAC3E,iCAAoC;AAGpC,IAAa,SAAS,GAAtB,MAAa,SAAS;IAEV,QAAQ,CAAW;IAGnB,KAAK,CAAQ;IAGb,kBAAkB,CAAqB;IAEjD,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAe,EAAE;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,GAAG,OAAO;YACV,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACvC,OAAO,IAAI,sBAAsB,GAAG,8BAA8B,GAAG,KAAK,CAAC;gBAC3E,OAAO;oBACL,kBAAkB;wBAClB,iDAAiD;wBACjD,2BAA2B;wBAC3B,mBAAmB;wBACnB,KAAK,CAAC;gBAER,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;aACtE;SACF;IACH,CAAC;CACF,CAAA;AAtCC;IADC,IAAA,iBAAM,GAAE;sCACW,mBAAQ;2CAAC;AAG7B;IADC,IAAA,iBAAM,GAAE;sCACQ,gBAAK;wCAAC;AAGvB;IADC,IAAA,iBAAM,GAAE;sCACqB,6BAAkB;qDAAC;AARtC,SAAS;IADrB,IAAA,eAAU,GAAE;GACA,SAAS,CAwCrB;AAxCY,8BAAS","sourcesContent":["import {CliExeca, CliFs, Inject, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\n\n@Injectable()\nexport class CliPrisma {\n @Inject()\n protected cliExeca: CliExeca;\n\n @Inject()\n protected cliFs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n run(command: string, args: string[] = [], options: any = {}) {\n return this.cliExeca.run(\"npx\", [\"prisma\", command, ...args], {\n ...options,\n cwd: this.projectPackageJson.dir\n });\n }\n\n init() {\n return this.run(\"init\");\n }\n\n async patchPrismaSchema() {\n const schemaPath = this.cliFs.join(this.projectPackageJson.dir, \"prisma\", \"schema.prisma\");\n\n if (this.cliFs.exists(schemaPath)) {\n let content = await this.cliFs.readFile(schemaPath, \"utf8\");\n\n if (!content.includes(\"generator tsed\")) {\n content += \"\\ngenerator tsed {\\n\" + ' provider = \"tsed-prisma\"\\n' + \"}\\n\";\n content +=\n \"\\nmodel User {\\n\" +\n \" id Int @default(autoincrement()) @id\\n\" +\n \" email String @unique\\n\" +\n \" name String?\\n\" +\n \"}\\n\";\n\n return this.cliFs.writeFile(schemaPath, content, {encoding: \"utf8\"});\n }\n }\n }\n}\n"]}
@@ -36,6 +36,18 @@ let PrismaInitHook = class PrismaInitHook {
36
36
  addDevDependencies(ctx) {
37
37
  this.packageJson.addDevDependencies({}, ctx);
38
38
  }
39
+ $onFinish() {
40
+ return new Promise((resolve) => {
41
+ this.packageJson.runScript("prisma:generate").subscribe({
42
+ complete() {
43
+ resolve([]);
44
+ },
45
+ error: () => {
46
+ resolve([]);
47
+ }
48
+ });
49
+ });
50
+ }
39
51
  };
40
52
  __decorate([
41
53
  Inject(),
@@ -1 +1 @@
1
- {"version":3,"file":"PrismaInitHook.js","sourceRoot":"","sources":["../../../src/hooks/PrismaInitHook.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGhD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAEf,SAAS,CAAY;IAGrB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAG1C,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;aAClC;YACD;gBACE,KAAK,EAAE,0CAA0C;gBACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,gBAAgB,EAAE,oCAAoC;YACtD,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,QAAQ;SAC3B,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA9CC;IADC,MAAM,EAAE;8BACY,SAAS;iDAAC;AAG/B;IADC,MAAM,EAAE;8BACa,UAAU;kDAAC;AAGjC;IADC,MAAM,EAAE;8BACc,kBAAkB;mDAAC;AAG1C;IADC,MAAM,CAAC,MAAM,CAAC;;;;4CAgBd;AA1BU,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAgD1B;SAhDY,cAAc","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {CliService, Inject, OnExec, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {CliPrisma} from \"../services/CliPrisma\";\n\n@Injectable()\nexport class PrismaInitHook {\n @Inject()\n protected cliPrisma: CliPrisma;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @OnExec(\"init\")\n async onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n return [\n {\n title: \"Generate Prisma schema\",\n task: () => this.cliPrisma.init()\n },\n {\n title: \"Add Ts.ED configuration to Prisma schema\",\n task: () => this.cliPrisma.patchPrismaSchema()\n }\n ];\n }\n\n addScripts() {\n this.packageJson.addScripts({\n \"prisma:migrate\": \"npx prisma migrate dev --name init\",\n \"prisma:generate\": \"npx prisma generate\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/prisma\": \"latest\",\n \"@prisma/client\": \"latest\"\n },\n ctx\n );\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n}\n"]}
1
+ {"version":3,"file":"PrismaInitHook.js","sourceRoot":"","sources":["../../../src/hooks/PrismaInitHook.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGhD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAEf,SAAS,CAAY;IAGrB,UAAU,CAAa;IAGvB,WAAW,CAAqB;IAG1C,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO;YACL;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;aAClC;YACD;gBACE,KAAK,EAAE,0CAA0C;gBACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,gBAAgB,EAAE,oCAAoC;YACtD,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B;YACE,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,QAAQ;SAC3B,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC;gBACtD,QAAQ;oBACN,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3DC;IADC,MAAM,EAAE;8BACY,SAAS;iDAAC;AAG/B;IADC,MAAM,EAAE;8BACa,UAAU;kDAAC;AAGjC;IADC,MAAM,EAAE;8BACc,kBAAkB;mDAAC;AAG1C;IADC,MAAM,CAAC,MAAM,CAAC;;;;4CAgBd;AA1BU,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CA6D1B;SA7DY,cAAc","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {CliService, Inject, OnExec, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {CliPrisma} from \"../services/CliPrisma\";\n\n@Injectable()\nexport class PrismaInitHook {\n @Inject()\n protected cliPrisma: CliPrisma;\n\n @Inject()\n protected cliService: CliService;\n\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @OnExec(\"init\")\n async onExec(ctx: InitCmdContext) {\n this.addScripts();\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n\n return [\n {\n title: \"Generate Prisma schema\",\n task: () => this.cliPrisma.init()\n },\n {\n title: \"Add Ts.ED configuration to Prisma schema\",\n task: () => this.cliPrisma.patchPrismaSchema()\n }\n ];\n }\n\n addScripts() {\n this.packageJson.addScripts({\n \"prisma:migrate\": \"npx prisma migrate dev --name init\",\n \"prisma:generate\": \"npx prisma generate\"\n });\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies(\n {\n \"@tsed/prisma\": \"latest\",\n \"@prisma/client\": \"latest\"\n },\n ctx\n );\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies({}, ctx);\n }\n\n $onFinish() {\n return new Promise((resolve) => {\n this.packageJson.runScript(\"prisma:generate\").subscribe({\n complete() {\n resolve([]);\n },\n error: () => {\n resolve([]);\n }\n });\n });\n }\n}\n"]}
@@ -20,6 +20,12 @@ let CliPrisma = class CliPrisma {
20
20
  let content = await this.cliFs.readFile(schemaPath, "utf8");
21
21
  if (!content.includes("generator tsed")) {
22
22
  content += "\ngenerator tsed {\n" + ' provider = "tsed-prisma"\n' + "}\n";
23
+ content +=
24
+ "\nmodel User {\n" +
25
+ " id Int @default(autoincrement()) @id\n" +
26
+ " email String @unique\n" +
27
+ " name String?\n" +
28
+ "}\n";
23
29
  return this.cliFs.writeFile(schemaPath, content, { encoding: "utf8" });
24
30
  }
25
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CliPrisma.js","sourceRoot":"","sources":["../../../src/services/CliPrisma.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,IAAa,SAAS,GAAtB,MAAa,SAAS;IAEV,QAAQ,CAAW;IAGnB,KAAK,CAAQ;IAGb,kBAAkB,CAAqB;IAEjD,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAe,EAAE;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,GAAG,OAAO;YACV,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACvC,OAAO,IAAI,sBAAsB,GAAG,8BAA8B,GAAG,KAAK,CAAC;gBAE3E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;aACtE;SACF;IACH,CAAC;CACF,CAAA;AAhCC;IADC,MAAM,EAAE;8BACW,QAAQ;2CAAC;AAG7B;IADC,MAAM,EAAE;8BACQ,KAAK;wCAAC;AAGvB;IADC,MAAM,EAAE;8BACqB,kBAAkB;qDAAC;AARtC,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAkCrB;SAlCY,SAAS","sourcesContent":["import {CliExeca, CliFs, Inject, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\n\n@Injectable()\nexport class CliPrisma {\n @Inject()\n protected cliExeca: CliExeca;\n\n @Inject()\n protected cliFs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n run(command: string, args: string[] = [], options: any = {}) {\n return this.cliExeca.run(\"npx\", [\"prisma\", command, ...args], {\n ...options,\n cwd: this.projectPackageJson.dir\n });\n }\n\n init() {\n return this.run(\"init\");\n }\n\n async patchPrismaSchema() {\n const schemaPath = this.cliFs.join(this.projectPackageJson.dir, \"prisma\", \"schema.prisma\");\n\n if (this.cliFs.exists(schemaPath)) {\n let content = await this.cliFs.readFile(schemaPath, \"utf8\");\n\n if (!content.includes(\"generator tsed\")) {\n content += \"\\ngenerator tsed {\\n\" + ' provider = \"tsed-prisma\"\\n' + \"}\\n\";\n\n return this.cliFs.writeFile(schemaPath, content, {encoding: \"utf8\"});\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"CliPrisma.js","sourceRoot":"","sources":["../../../src/services/CliPrisma.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,IAAa,SAAS,GAAtB,MAAa,SAAS;IAEV,QAAQ,CAAW;IAGnB,KAAK,CAAQ;IAGb,kBAAkB,CAAqB;IAEjD,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAe,EAAE;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,GAAG,OAAO;YACV,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACvC,OAAO,IAAI,sBAAsB,GAAG,8BAA8B,GAAG,KAAK,CAAC;gBAC3E,OAAO;oBACL,kBAAkB;wBAClB,iDAAiD;wBACjD,2BAA2B;wBAC3B,mBAAmB;wBACnB,KAAK,CAAC;gBAER,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;aACtE;SACF;IACH,CAAC;CACF,CAAA;AAtCC;IADC,MAAM,EAAE;8BACW,QAAQ;2CAAC;AAG7B;IADC,MAAM,EAAE;8BACQ,KAAK;wCAAC;AAGvB;IADC,MAAM,EAAE;8BACqB,kBAAkB;qDAAC;AARtC,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAwCrB;SAxCY,SAAS","sourcesContent":["import {CliExeca, CliFs, Inject, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\n\n@Injectable()\nexport class CliPrisma {\n @Inject()\n protected cliExeca: CliExeca;\n\n @Inject()\n protected cliFs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n run(command: string, args: string[] = [], options: any = {}) {\n return this.cliExeca.run(\"npx\", [\"prisma\", command, ...args], {\n ...options,\n cwd: this.projectPackageJson.dir\n });\n }\n\n init() {\n return this.run(\"init\");\n }\n\n async patchPrismaSchema() {\n const schemaPath = this.cliFs.join(this.projectPackageJson.dir, \"prisma\", \"schema.prisma\");\n\n if (this.cliFs.exists(schemaPath)) {\n let content = await this.cliFs.readFile(schemaPath, \"utf8\");\n\n if (!content.includes(\"generator tsed\")) {\n content += \"\\ngenerator tsed {\\n\" + ' provider = \"tsed-prisma\"\\n' + \"}\\n\";\n content +=\n \"\\nmodel User {\\n\" +\n \" id Int @default(autoincrement()) @id\\n\" +\n \" email String @unique\\n\" +\n \" name String?\\n\" +\n \"}\\n\";\n\n return this.cliFs.writeFile(schemaPath, content, {encoding: \"utf8\"});\n }\n }\n }\n}\n"]}
@@ -15,4 +15,5 @@ export declare class PrismaInitHook {
15
15
  addScripts(): void;
16
16
  addDependencies(ctx: InitCmdContext): void;
17
17
  addDevDependencies(ctx: InitCmdContext): void;
18
+ $onFinish(): Promise<unknown>;
18
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/cli-plugin-prisma",
3
- "version": "3.22.1",
3
+ "version": "3.22.4",
4
4
  "description": "Ts.ED CLI plugin. Add Prisma project initialisation 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.22.1",
26
- "@tsed/cli-core": "3.22.1"
25
+ "@tsed/cli": "3.22.4",
26
+ "@tsed/cli-core": "3.22.4"
27
27
  },
28
28
  "peerDependencies": {},
29
29
  "repository": "https://github.com/tsedio/tsed-cli",