@powerlines/plugin-prisma 0.4.2 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"pathSerializer.gen.d.cts","names":[],"sources":["../../../src/api/core/pathSerializer.gen.ts"],"sourcesContent":[],"mappings":";UAEU,4BACA,2BACN,kBAAkB;UAEZ,yBAAA,CAFY;EADZ,aAAA,CAAA,EAAA,OAAA;EACN,IAAA,EAAA,MAAA;;AAEM,UAKO,iBALkB,CAAA,CAAA,CAAA,CAAA;EAKlB;AAQjB;AACA;EACK,OAAA,EAAA,OAAW;EACJ,KAAA,EANH,CAMG;AAAoC;AAGtC,KANE,UAAA,GAMF,MAAwB,GAAA,gBAAQ,GAAA,eAAyB;AAItD,KATD,mBAAA,GAAsB,UASW,GATE,WASF;AAa7C,KArBK,WAAA,GAqBQ,OAAA,GAAA,QAWZ,GAAA,QAX8C;AAalC,KAjCD,WAAA,GAiCC,MAWZ,GAAA,YAX6C;AAa9C,KA7CK,oBAAA,GAAuB,WAuF3B,GAvFyC,WAuFzC;UArFS,uBAAA,SAAgC,yBA2CN,CAAA;EAAA,KAAA,EAAA,MAAA;;AAAA,cAvCvB,qBAuCuB,EAAA,CAAA,KAAA,EAvCS,mBAuCT,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AAAA,cA1BvB,uBA0BuB,EAAA,CAAA,KAAA,EA1BW,mBA0BX,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA;AAMhB,cAnBP,sBAmBO,EAAA,CAAA,KAAA,EAnB0B,oBAmB1B,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AAAjB,cANU,mBAMV,EAAA,CAAA;EAAA,aAAA;EAAA,OAAA;EAAA,IAAA;EAAA,KAAA;EAAA;AAsCH,CAtCG,EAAA,gBAAA,CAAiB,mBAAjB,CAAA,GAAA;EAAgB,KAAA,EAAA,OAAA,EAAA;AAsCnB,CAAA,EAAA,GAAa,MAAA;AAA2B,cAA3B,uBAA2B,EAAA,CAAA;EAAA,aAAA;EAAA,IAAA;EAAA;AAAA,CAAA,EAIrC,uBAJqC,EAAA,GAAA,MAAA;AAAA,cAkB3B,oBAlB2B,EAAA,CAAA;EAAA,aAAA;EAAA,OAAA;EAAA,IAAA;EAAA,KAAA;EAAA,KAAA;EAAA;CAAA,EAyBrC,gBAzBqC,CAyBpB,oBAzBoB,CAAA,GAAA;EAAA,KAAA,EA0B/B,MA1B+B,CAAA,MAAA,EAAA,OAAA,CAAA,GA0BL,IA1BK;EAIrC,SAAA,CAAA,EAAA,OAAA;CAAuB,EAAA,GAAA,MAAA;AAcW,oCAAA,GAAA,EAAA;AAAA,6BAAA,GAAA,EAAA;AAAA,sCAAA,GAAA,EAAA;AAAA,8BAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"pathSerializer.gen.d.cts","names":[],"sources":["../../../src/api/core/pathSerializer.gen.ts"],"sourcesContent":[],"mappings":";UAEU,4BACA,2BACN,kBAAkB;UAEZ,yBAAA,CAFY;EADZ,aAAA,CAAA,EAAA,OAAA;EACN,IAAA,EAAA,MAAA;;AAEM,UAKO,iBALkB,CAAA,CAAA,CAAA,CAAA;EAKlB;AAQjB;AACA;EACK,OAAA,EAAA,OAAW;EACJ,KAAA,EANH,CAMG;AAAoC;AAGtC,KANE,UAAA,GAMF,MAAwB,GAAA,gBAAQ,GAAA,eAAA;AAI7B,KATD,mBAAA,GAAsB,UASW,GATE,WASF;AAa7C,KArBK,WAAA,GAqBQ,OAAA,GAAA,QAWZ,GAAA,QAX8C;AAalC,KAjCD,WAAA,GAiCC,MAWZ,GAAA,YAX6C;AAa9C,KA7CK,oBAAA,GAAuB,WAuF3B,GAvFyC,WAuFzC;UArFS,uBAAA,SAAgC,yBA2CN,CAAA;EAAA,KAAA,EAAA,MAAA;;AAAA,cAvCvB,qBAuCuB,EAAA,CAAA,KAAA,EAvCS,mBAuCT,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AAAA,cA1BvB,uBA0BuB,EAAA,CAAA,KAAA,EA1BW,mBA0BX,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA;AAMhB,cAnBP,sBAmBO,EAAA,CAAA,KAAA,EAnB0B,oBAmB1B,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AAAjB,cANU,mBAMV,EAAA,CAAA;EAAA,aAAA;EAAA,OAAA;EAAA,IAAA;EAAA,KAAA;EAAA;AAsCH,CAtCG,EAAA,gBAAA,CAAiB,mBAAjB,CAAA,GAAA;EAAgB,KAAA,EAAA,OAAA,EAAA;AAsCnB,CAAA,EAAA,GAAa,MAAA;AAA2B,cAA3B,uBAA2B,EAAA,CAAA;EAAA,aAAA;EAAA,IAAA;EAAA;AAAA,CAAA,EAIrC,uBAJqC,EAAA,GAAA,MAAA;AAAA,cAkB3B,oBAlB2B,EAAA,CAAA;EAAA,aAAA;EAAA,OAAA;EAAA,IAAA;EAAA,KAAA;EAAA,KAAA;EAAA;CAAA,EAyBrC,gBAzBqC,CAyBpB,oBAzBoB,CAAA,GAAA;EAAA,KAAA,EA0B/B,MA1B+B,CAAA,MAAA,EAAA,OAAA,CAAA,GA0BL,IA1BK;EAIrC,SAAA,CAAA,EAAA,OAAA;CAAuB,EAAA,GAAA,MAAA;AAcW,oCAAA,GAAA,EAAA;AAAA,6BAAA,GAAA,EAAA;AAAA,sCAAA,GAAA,EAAA;AAAA,8BAAA,GAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeySerializer.gen.d.cts","names":[],"sources":["../../../src/api/core/queryKeySerializer.gen.ts"],"sourcesContent":[],"mappings":";;AAKA;AAWA;AAoBa,KA/BD,SAAA,GA+BC,IAUZ,GAAA,MAAA,GAVqD,MAAA,GAAA,OAAS,GA1B3D,SA0B2D,EAAA,GAAA;EAoDlD,CAAA,GAAA,EAAA,MAAA,CAAA,EA7EQ,SA6ER;;;;;cAxEA;;;;cAoBA,0CAAyC;;;;cAoDzC,4CAEV"}
1
+ {"version":3,"file":"queryKeySerializer.gen.d.cts","names":[],"sources":["../../../src/api/core/queryKeySerializer.gen.ts"],"sourcesContent":[],"mappings":";;AAKA;AAWA;AAoBa,KA/BD,SAAA,GA+BC,IAUZ,GAAA,MAAA,GAVqD,MAAA,GAAS,OAAA,GA1B3D,SA0B2D,EAAA,GAAA;EAoDlD,CAAA,GAAA,EAAA,MAAA,CAAA,EA7EQ,SA6ER;;;;;cAxEA;;;;cAoBA,0CAAyC;;;;cAoDzC,4CAEV"}
package/dist/index.cjs CHANGED
@@ -111,6 +111,7 @@ const plugin = (options = {}) => {
111
111
  })
112
112
  };
113
113
  }
114
+ return null;
114
115
  }
115
116
  };
116
117
  };
package/dist/index.mjs CHANGED
@@ -107,6 +107,7 @@ const plugin = (options = {}) => {
107
107
  })
108
108
  };
109
109
  }
110
+ return null;
110
111
  }
111
112
  };
112
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport * as prismaPostgres from \"@pulumi/prisma-postgres\";\nimport { execute, executePackage } from \"@stryke/cli/execute\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { constantCase } from \"@stryke/string-format/constant-case\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport defu from \"defu\";\nimport { Plugin } from \"powerlines\";\nimport { getConfigPath, replacePathTokens } from \"powerlines/plugin-utils\";\nimport { getSchema } from \"./helpers/get-schema\";\nimport { PrismaSchemaCreator } from \"./helpers/schema-creator\";\nimport {\n PrismaPluginContext,\n PrismaPluginOptions,\n PrismaPluginUserConfig\n} from \"./types/plugin\";\n\nexport type * from \"./types\";\n\ndeclare module \"powerlines\" {\n interface Config {\n prisma?: PrismaPluginOptions;\n }\n}\n\n/**\n * A Powerlines plugin to integrate Prisma for code generation.\n *\n * @param options - The plugin options.\n * @returns A Powerlines plugin instance.\n */\nexport const plugin = <\n TContext extends PrismaPluginContext = PrismaPluginContext\n>(\n options: PrismaPluginOptions = {}\n): Plugin<TContext> => {\n return {\n name: \"prisma\",\n config() {\n return {\n prisma: defu(options, {\n schema: joinPaths(this.config.root, \"prisma\", \"schema.prisma\"),\n configFile:\n options.configFile || getConfigPath(this, \"prisma.config\"),\n outputPath: joinPaths(\"{builtinPath}\", \"prisma\"),\n prismaPostgres: options?.prismaPostgres\n ? {\n projectId: this.config.name,\n region: \"us-east-1\"\n }\n : undefined\n })\n } as Partial<PrismaPluginUserConfig>;\n },\n async configResolved() {\n this.dependencies[\"@prisma/ppg\"] = \"latest\";\n\n this.config.prisma.configFile = replacePathTokens(\n this,\n this.config.prisma.configFile\n );\n\n if (!this.config.prisma.schema) {\n throw new Error(\n `Prisma schema path is not defined. Please specify a valid path in the plugin configuration.`\n );\n }\n\n this.config.prisma.schema = replacePathTokens(\n this,\n this.config.prisma.schema\n );\n\n if (!this.config.prisma.outputPath) {\n throw new Error(\n `Prisma generated path is not defined. Please specify a valid path in the plugin configuration.`\n );\n }\n\n this.config.prisma.outputPath = replacePathTokens(\n this,\n this.config.prisma.outputPath\n );\n\n this.prisma ??= {} as TContext[\"prisma\"];\n if (!existsSync(this.config.prisma.schema)) {\n this.prisma.schema ??= {\n generators: [],\n datasources: [],\n warnings: []\n };\n } else {\n this.prisma.schema = await getSchema({\n datamodel: this.config.prisma.schema\n });\n }\n\n const generator = this.prisma.schema.generators.find(\n gen => gen.provider.value === \"prisma-client\"\n );\n if (!generator) {\n this.prisma.schema.generators.push({\n name: \"prisma-client\",\n provider: {\n value: \"prisma-client\",\n fromEnvVar: null\n },\n output: {\n value: this.config.prisma.outputPath,\n fromEnvVar: null\n },\n config: {},\n binaryTargets: [],\n previewFeatures: [],\n sourceFilePath: this.config.prisma.schema\n });\n } else {\n generator.output ??= {\n value: this.config.prisma.outputPath,\n fromEnvVar: null\n };\n }\n\n this.prisma.builder = new PrismaSchemaCreator(this);\n },\n async prepare() {\n // Write the schema file before invoking Prisma - Generate\n await this.prisma.builder.write();\n\n const args = [\"generate\", \"--schema\", this.config.prisma.schema];\n if (!this.config.prisma.prismaPath) {\n args.unshift(this.config.root);\n\n const result = await executePackage(\n \"prisma\",\n args,\n joinPaths(this.workspaceConfig.workspaceRoot, this.config.root)\n );\n if (result.failed) {\n throw new Error(\n `Prisma process exited with code ${result.exitCode}.`\n );\n }\n } else {\n args.unshift(this.config.prisma.prismaPath);\n\n const result = await execute(args.join(\" \"), this.config.root);\n if (result.failed) {\n throw new Error(\n `Prisma process exited with code ${result.exitCode}.`\n );\n }\n }\n },\n async deployPulumi() {\n if (this.config.prisma.prismaPostgres) {\n let serviceToken = process.env.PRISMA_SERVICE_TOKEN;\n if (!serviceToken) {\n serviceToken = options.serviceToken;\n if (serviceToken) {\n this.warn(\n \"If possible, please use the `PRISMA_SERVICE_TOKEN` environment variable instead of using the `serviceToken` option directly. The `serviceToken` option will work; however, this is a less secure method of configuration.\"\n );\n } else {\n throw new Error(\n \"Unable to determine the Prisma service token. Please set the `PRISMA_SERVICE_TOKEN` environment variable.\"\n );\n }\n }\n\n await this.pulumi.workspace.installPlugin(\n \"registry.terraform.io/prisma/prisma-postgres\",\n \"v0.2.0\"\n );\n\n const project = new prismaPostgres.Project(\"project\", {\n name: `${\n this.config.prisma.prismaPostgres?.projectId || this.config.name\n }`\n });\n const database = new prismaPostgres.Database(\"database\", {\n projectId: project.id,\n name: `${\n this.config.prisma.prismaPostgres?.databaseName ||\n `${kebabCase(this.config.name)}.${\n this.config.mode\n }.${this.config.prisma.prismaPostgres?.region}`\n }`,\n region: `${this.config.prisma.prismaPostgres?.region}`\n });\n\n return {\n project,\n database,\n connection: new prismaPostgres.Connection(\"connection\", {\n databaseId: database.id,\n name: `${constantCase(this.config.name)}_API_KEY`\n })\n };\n }\n }\n };\n};\n\nexport default plugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport * as prismaPostgres from \"@pulumi/prisma-postgres\";\nimport { execute, executePackage } from \"@stryke/cli/execute\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { constantCase } from \"@stryke/string-format/constant-case\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport defu from \"defu\";\nimport { Plugin } from \"powerlines\";\nimport { getConfigPath, replacePathTokens } from \"powerlines/plugin-utils\";\nimport { getSchema } from \"./helpers/get-schema\";\nimport { PrismaSchemaCreator } from \"./helpers/schema-creator\";\nimport {\n PrismaPluginContext,\n PrismaPluginOptions,\n PrismaPluginUserConfig\n} from \"./types/plugin\";\n\nexport type * from \"./types\";\n\ndeclare module \"powerlines\" {\n interface Config {\n prisma?: PrismaPluginOptions;\n }\n}\n\n/**\n * A Powerlines plugin to integrate Prisma for code generation.\n *\n * @param options - The plugin options.\n * @returns A Powerlines plugin instance.\n */\nexport const plugin = <\n TContext extends PrismaPluginContext = PrismaPluginContext\n>(\n options: PrismaPluginOptions = {}\n): Plugin<TContext> => {\n return {\n name: \"prisma\",\n config() {\n return {\n prisma: defu(options, {\n schema: joinPaths(this.config.root, \"prisma\", \"schema.prisma\"),\n configFile:\n options.configFile || getConfigPath(this, \"prisma.config\"),\n outputPath: joinPaths(\"{builtinPath}\", \"prisma\"),\n prismaPostgres: options?.prismaPostgres\n ? {\n projectId: this.config.name,\n region: \"us-east-1\"\n }\n : undefined\n })\n } as Partial<PrismaPluginUserConfig>;\n },\n async configResolved() {\n this.dependencies[\"@prisma/ppg\"] = \"latest\";\n\n this.config.prisma.configFile = replacePathTokens(\n this,\n this.config.prisma.configFile\n );\n\n if (!this.config.prisma.schema) {\n throw new Error(\n `Prisma schema path is not defined. Please specify a valid path in the plugin configuration.`\n );\n }\n\n this.config.prisma.schema = replacePathTokens(\n this,\n this.config.prisma.schema\n );\n\n if (!this.config.prisma.outputPath) {\n throw new Error(\n `Prisma generated path is not defined. Please specify a valid path in the plugin configuration.`\n );\n }\n\n this.config.prisma.outputPath = replacePathTokens(\n this,\n this.config.prisma.outputPath\n );\n\n this.prisma ??= {} as TContext[\"prisma\"];\n if (!existsSync(this.config.prisma.schema)) {\n this.prisma.schema ??= {\n generators: [],\n datasources: [],\n warnings: []\n };\n } else {\n this.prisma.schema = await getSchema({\n datamodel: this.config.prisma.schema\n });\n }\n\n const generator = this.prisma.schema.generators.find(\n gen => gen.provider.value === \"prisma-client\"\n );\n if (!generator) {\n this.prisma.schema.generators.push({\n name: \"prisma-client\",\n provider: {\n value: \"prisma-client\",\n fromEnvVar: null\n },\n output: {\n value: this.config.prisma.outputPath,\n fromEnvVar: null\n },\n config: {},\n binaryTargets: [],\n previewFeatures: [],\n sourceFilePath: this.config.prisma.schema\n });\n } else {\n generator.output ??= {\n value: this.config.prisma.outputPath,\n fromEnvVar: null\n };\n }\n\n this.prisma.builder = new PrismaSchemaCreator(this);\n },\n async prepare() {\n // Write the schema file before invoking Prisma - Generate\n await this.prisma.builder.write();\n\n const args = [\"generate\", \"--schema\", this.config.prisma.schema];\n if (!this.config.prisma.prismaPath) {\n args.unshift(this.config.root);\n\n const result = await executePackage(\n \"prisma\",\n args,\n joinPaths(this.workspaceConfig.workspaceRoot, this.config.root)\n );\n if (result.failed) {\n throw new Error(\n `Prisma process exited with code ${result.exitCode}.`\n );\n }\n } else {\n args.unshift(this.config.prisma.prismaPath);\n\n const result = await execute(args.join(\" \"), this.config.root);\n if (result.failed) {\n throw new Error(\n `Prisma process exited with code ${result.exitCode}.`\n );\n }\n }\n },\n async deployPulumi() {\n if (this.config.prisma.prismaPostgres) {\n let serviceToken = process.env.PRISMA_SERVICE_TOKEN;\n if (!serviceToken) {\n serviceToken = options.serviceToken;\n if (serviceToken) {\n this.warn(\n \"If possible, please use the `PRISMA_SERVICE_TOKEN` environment variable instead of using the `serviceToken` option directly. The `serviceToken` option will work; however, this is a less secure method of configuration.\"\n );\n } else {\n throw new Error(\n \"Unable to determine the Prisma service token. Please set the `PRISMA_SERVICE_TOKEN` environment variable.\"\n );\n }\n }\n\n await this.pulumi.workspace.installPlugin(\n \"registry.terraform.io/prisma/prisma-postgres\",\n \"v0.2.0\"\n );\n\n const project = new prismaPostgres.Project(\"project\", {\n name: `${\n this.config.prisma.prismaPostgres?.projectId || this.config.name\n }`\n });\n const database = new prismaPostgres.Database(\"database\", {\n projectId: project.id,\n name: `${\n this.config.prisma.prismaPostgres?.databaseName ||\n `${kebabCase(this.config.name)}.${\n this.config.mode\n }.${this.config.prisma.prismaPostgres?.region}`\n }`,\n region: `${this.config.prisma.prismaPostgres?.region}`\n });\n\n return {\n project,\n database,\n connection: new prismaPostgres.Connection(\"connection\", {\n databaseId: database.id,\n name: `${constantCase(this.config.name)}_API_KEY`\n })\n };\n }\n\n return null;\n }\n };\n};\n\nexport default plugin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.d.cts","names":[],"sources":["../../src/types/prisma.ts"],"sourcesContent":[],"mappings":";KAkBY,eAAA,GAAkB;AAAlB,KACA,eAAA,GADe,MAAG,GAAK,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AACvB,KAEA,aAAA,GAFe,OAAA,GAAA,SAAA,GAAA,QAAA,GAAA,YAAA,GAAA,UAAA,GAAA,iBAAA,GAAA,WAAA,GAAA,aAAA;AAEf,KAUA,mBAAA,GAAsB,OAVT,CAWvB,aAXuB,EAAA,UAAA,GAAA,iBAAA,CAAA;AAUb,UAKK,QAAA,CALc;EAKd,UAAA,EAAQ,IAAA,GAAA,MAAA;EAKR,KAAA,EAAA,IAAA,GAAU,MAAA;;AAIT,UAJD,UAAA,CAIC;EACX,IAAA,EAAA,MAAA;EACO,QAAA,EAJF,aAIE;EAAQ,cAAA,EAFJ,mBAEI;EAKL,GAAA,EANV,QAMU;EAKA,SAAA,CAAA,EAVH,QAUW;EAKR,OAAA,EAAA,MAAQ,EAAA,GAAA,EAAA;EAKR,cAAA,EAAA,MAAA;AAMjB;AAEU,UAvBO,iBAAA,CAuBP;EAEE,MAAA,EAxBF,YAwBE;EAaK,MAAA,EApCP,wBAoCO,EAAA;;AAEI,UAnCJ,QAAA,CAmCI;EAIJ,UAAA,EAAA,IAAY,GAAA,MAAA;EAMnB,KAAA,EAAA,IAAA,GAAA,MAAA;AAKV;UA7CiB,QAAA;;;;UAKA,qBAAA;;;;;UAMA,eAAA;;UAEP;;YAEE;;;;;;;;;;;;;iBAaK;;aAEJ;;;UAII,YAAA;eACF;cACD;;;UAIJ,wBAAA;;;;UAKO,gBAAA;aACJ"}
1
+ {"version":3,"file":"prisma.d.cts","names":[],"sources":["../../src/types/prisma.ts"],"sourcesContent":[],"mappings":";KAkBY,eAAA,GAAkB;AAAlB,KACA,eAAA,GADe,MAAG,GAAA,CAAK,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AACvB,KAEA,aAAA,GAFe,OAAA,GAAA,SAAA,GAAA,QAAA,GAAA,YAAA,GAAA,UAAA,GAAA,iBAAA,GAAA,WAAA,GAAA,aAAA;AAEf,KAUA,mBAAA,GAAsB,OAVT,CAWvB,aAXuB,EAAA,UAAA,GAAA,iBAAA,CAAA;AAUb,UAKK,QAAA,CALc;EAKd,UAAA,EAAQ,IAAA,GAAA,MAAA;EAKR,KAAA,EAAA,IAAA,GAAU,MAAA;;AAIT,UAJD,UAAA,CAIC;EACX,IAAA,EAAA,MAAA;EACO,QAAA,EAJF,aAIE;EAAQ,cAAA,EAFJ,mBAEI;EAKL,GAAA,EANV,QAMU;EAKA,SAAA,CAAA,EAVH,QAUW;EAKR,OAAA,EAAA,MAAQ,EAAA,GAAA,EAAA;EAKR,cAAA,EAAA,MAAA;AAMjB;AAEU,UAvBO,iBAAA,CAuBP;EAEE,MAAA,EAxBF,YAwBE;EAaK,MAAA,EApCP,wBAoCO,EAAA;;AAEI,UAnCJ,QAAA,CAmCI;EAIJ,UAAA,EAAA,IAAY,GAAA,MAAA;EAMnB,KAAA,EAAA,IAAA,GAAA,MAAA;AAKV;UA7CiB,QAAA;;;;UAKA,qBAAA;;;;;UAMA,eAAA;;UAEP;;YAEE;;;;;;;;;;;;;iBAaK;;aAEJ;;;UAII,YAAA;eACF;cACD;;;UAIJ,wBAAA;;;;UAKO,gBAAA;aACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-prisma",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "private": false,
5
5
  "description": "A Powerlines plugin to generate project code and a Prisma client from a Prisma schema (PSL).",
6
6
  "keywords": ["prisma", "powerlines", "storm-software", "powerlines-plugin"],
@@ -370,7 +370,7 @@
370
370
  "typings": "dist/index.d.mts",
371
371
  "files": ["dist/**/*"],
372
372
  "dependencies": {
373
- "@powerlines/plugin-pulumi": "^0.5.1",
373
+ "@powerlines/plugin-pulumi": "^0.5.3",
374
374
  "@prisma/get-platform": "^6.19.2",
375
375
  "@prisma/prisma-schema-wasm": "6.19.0-26.2ba551f319ab1df4bc874a89965d8b3641056773",
376
376
  "@stryke/cli": "^0.13.25",
@@ -381,15 +381,15 @@
381
381
  "defu": "^6.1.4",
382
382
  "fp-ts": "^2.16.11",
383
383
  "jiti": "^2.6.1",
384
- "powerlines": "^0.40.7",
384
+ "powerlines": "^0.40.9",
385
385
  "prisma-util": "^2.1.1",
386
386
  "ts-pattern": "^5.9.0"
387
387
  },
388
388
  "devDependencies": {
389
389
  "@pulumi/pulumi": "^3.225.1",
390
- "@powerlines/plugin-plugin": "^0.12.271",
390
+ "@powerlines/plugin-plugin": "^0.12.273",
391
391
  "@types/node": "^25.3.5"
392
392
  },
393
393
  "publishConfig": { "access": "public" },
394
- "gitHead": "943a105cc17b0a264efa829df02fc89898746492"
394
+ "gitHead": "9c5feb5eb4e7faa0e0f6ff39b53687433b73eef7"
395
395
  }