@ghentcdh/create-crouton 0.0.1-alpha.46 → 0.0.1-alpha.48
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.
- package/dist/index.js +52 -6
- package/dist/index.js.map +1 -1
- package/dist/templates/nx/workspace/apps/frontend/package.json.tmpl +1 -0
- package/dist/templates/nx/workspace/apps/frontend/src/App.vue.tmpl +3 -0
- package/dist/templates/nx/workspace/apps/frontend/src/main.ts.tmpl +16 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -18824,14 +18824,23 @@ var ResponseSchema = external_exports.object({
|
|
|
18824
18824
|
var DataSourceShape = zod_default.object({
|
|
18825
18825
|
/** Datasource name (folder + `name` in data-source.json). */
|
|
18826
18826
|
name: zod_default.string(),
|
|
18827
|
-
/**
|
|
18828
|
-
|
|
18827
|
+
/**
|
|
18828
|
+
* Env var holding the connection URL. Required for Prisma adapters; optional
|
|
18829
|
+
* for custom adapters whose connection config may differ (secrets file, SDK
|
|
18830
|
+
* key, etc.).
|
|
18831
|
+
*/
|
|
18832
|
+
urlEnv: zod_default.string().optional(),
|
|
18829
18833
|
/** Import path for this datasource's generated Zod types (for resource `schema.ts`). */
|
|
18830
18834
|
generatedTypesImport: zod_default.string().optional(),
|
|
18831
18835
|
/** Datasource type tag. Default `postgres`. */
|
|
18832
18836
|
type: zod_default.string().default("postgres"),
|
|
18833
18837
|
/** Mark this as the default datasource. Default `false`. */
|
|
18834
18838
|
default: zod_default.boolean().default(false),
|
|
18839
|
+
/**
|
|
18840
|
+
* Adapter kind. `"prisma"` (default) expects `index.ts` to default-export a
|
|
18841
|
+
* `PrismaClient`; `"custom"` expects it to default-export a `DataSourceAdapter`.
|
|
18842
|
+
*/
|
|
18843
|
+
adapter: zod_default.enum(["prisma", "custom"]).default("prisma"),
|
|
18835
18844
|
/** Prisma schema path, relative to project root. Default `prisma/<name>/schema.prisma`. */
|
|
18836
18845
|
prismaSchema: zod_default.string().optional(),
|
|
18837
18846
|
/** Prisma config path, relative to project root. Default `prisma/<name>/prisma.config.ts`. */
|
|
@@ -19622,14 +19631,51 @@ var relImport = (fromDir, toDir) => {
|
|
|
19622
19631
|
};
|
|
19623
19632
|
var buildDatasourceFiles = (opts) => {
|
|
19624
19633
|
const name = opts.name;
|
|
19625
|
-
const type = opts.type ?? "postgres";
|
|
19626
19634
|
const isDefault = opts.default === true;
|
|
19635
|
+
const adapter = opts.adapter ?? "prisma";
|
|
19636
|
+
const dsDir = posix.join(opts.dataSourcesDir, name);
|
|
19637
|
+
if (adapter === "custom") {
|
|
19638
|
+
const dataSourceJson2 = {
|
|
19639
|
+
adapter: "custom",
|
|
19640
|
+
name,
|
|
19641
|
+
...opts.urlEnv ? { urlEnv: opts.urlEnv } : {},
|
|
19642
|
+
...isDefault ? { default: true } : {}
|
|
19643
|
+
};
|
|
19644
|
+
const indexTs2 = `import type { DataSourceAdapter } from '@ghentcdh/crouton-api';
|
|
19645
|
+
|
|
19646
|
+
const adapter: DataSourceAdapter = {
|
|
19647
|
+
kind: 'custom',
|
|
19648
|
+
|
|
19649
|
+
supports(_model: string): boolean {
|
|
19650
|
+
return true;
|
|
19651
|
+
},
|
|
19652
|
+
|
|
19653
|
+
async disconnect(): Promise<void> {
|
|
19654
|
+
// clean up connections
|
|
19655
|
+
},
|
|
19656
|
+
};
|
|
19657
|
+
|
|
19658
|
+
export default adapter;
|
|
19659
|
+
`;
|
|
19660
|
+
const notes2 = [];
|
|
19661
|
+
if (opts.urlEnv) notes2.push(`Add ${opts.urlEnv} to your .env (and .env.example).`);
|
|
19662
|
+
notes2.push(`Implement your DataSourceAdapter in ${posix.join(dsDir, "index.ts")}.`);
|
|
19663
|
+
return {
|
|
19664
|
+
files: [
|
|
19665
|
+
{ path: posix.join(dsDir, "data-source.json"), contents: `${JSON.stringify(dataSourceJson2, null, 2)}
|
|
19666
|
+
` },
|
|
19667
|
+
{ path: posix.join(dsDir, "index.ts"), contents: indexTs2 }
|
|
19668
|
+
],
|
|
19669
|
+
resolved: { name, urlEnv: opts.urlEnv, adapter: "custom", default: isDefault },
|
|
19670
|
+
notes: notes2
|
|
19671
|
+
};
|
|
19672
|
+
}
|
|
19673
|
+
const type = opts.type ?? "postgres";
|
|
19627
19674
|
const provider = PRISMA_PROVIDERS[type.toLowerCase()] ?? "postgresql";
|
|
19628
19675
|
const prismaSchema = opts.prismaSchema ?? `prisma/${name}/schema.prisma`;
|
|
19629
19676
|
const prismaConfig = opts.prismaConfig ?? defaultPrismaConfig(name);
|
|
19630
19677
|
const zodOutput = opts.zodOutput ?? `generated/${name}/src`;
|
|
19631
19678
|
const clientOutput = opts.clientOutput ?? `generated/${name}/client`;
|
|
19632
|
-
const dsDir = posix.join(opts.dataSourcesDir, name);
|
|
19633
19679
|
const schemaDir = dirname4(prismaSchema);
|
|
19634
19680
|
const migrationsDir = posix.join(schemaDir, "migrations");
|
|
19635
19681
|
const dataSourceJson = {
|
|
@@ -19710,7 +19756,7 @@ export default defineConfig({
|
|
|
19710
19756
|
];
|
|
19711
19757
|
return {
|
|
19712
19758
|
files,
|
|
19713
|
-
resolved: { name, type, default: isDefault, urlEnv: opts.urlEnv, generatedTypesImport: opts.generatedTypesImport, prismaSchema, prismaConfig, zodOutput, clientOutput },
|
|
19759
|
+
resolved: { name, type, adapter: "prisma", default: isDefault, urlEnv: opts.urlEnv, generatedTypesImport: opts.generatedTypesImport, prismaSchema, prismaConfig, zodOutput, clientOutput },
|
|
19714
19760
|
notes
|
|
19715
19761
|
};
|
|
19716
19762
|
};
|
|
@@ -19843,7 +19889,7 @@ var runCreate = async (name, opts) => {
|
|
|
19843
19889
|
const tokens = {
|
|
19844
19890
|
name,
|
|
19845
19891
|
Name: toTitle(name),
|
|
19846
|
-
version: true ? "0.0.1-alpha.
|
|
19892
|
+
version: true ? "0.0.1-alpha.48" : "latest",
|
|
19847
19893
|
year: String((/* @__PURE__ */ new Date()).getFullYear()),
|
|
19848
19894
|
pmRun: pm === "npm" ? "npm run" : pm,
|
|
19849
19895
|
urlEnv: "DATABASE_URL",
|