@ghentcdh/create-crouton 0.0.1-alpha.44 → 0.0.1-alpha.47
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 +60 -8
- 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`. */
|
|
@@ -19538,11 +19547,17 @@ var ViewColumnConfigSchema = external_exports.object({
|
|
|
19538
19547
|
fieldInput: FieldInputSchema.optional()
|
|
19539
19548
|
});
|
|
19540
19549
|
var ViewConfigSchema = external_exports.object({
|
|
19541
|
-
|
|
19542
|
-
|
|
19550
|
+
// TODO why we have both?
|
|
19551
|
+
json_schema: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
|
|
19552
|
+
ui_schema: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
|
|
19553
|
+
// TODO why we have both?
|
|
19554
|
+
ui: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
|
|
19555
|
+
data: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
|
|
19543
19556
|
columns: external_exports.array(ViewColumnConfigSchema),
|
|
19544
19557
|
defaultSort: external_exports.string().optional()
|
|
19545
19558
|
});
|
|
19559
|
+
var viewDefList = ["table", "view", "form"];
|
|
19560
|
+
var ViewDefEnum = external_exports.enum(viewDefList);
|
|
19546
19561
|
|
|
19547
19562
|
// ../crouton-core/src/lib/i18n/Translations.schema.ts
|
|
19548
19563
|
var NestedStringRecord = external_exports.lazy(
|
|
@@ -19616,14 +19631,51 @@ var relImport = (fromDir, toDir) => {
|
|
|
19616
19631
|
};
|
|
19617
19632
|
var buildDatasourceFiles = (opts) => {
|
|
19618
19633
|
const name = opts.name;
|
|
19619
|
-
const type = opts.type ?? "postgres";
|
|
19620
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";
|
|
19621
19674
|
const provider = PRISMA_PROVIDERS[type.toLowerCase()] ?? "postgresql";
|
|
19622
19675
|
const prismaSchema = opts.prismaSchema ?? `prisma/${name}/schema.prisma`;
|
|
19623
19676
|
const prismaConfig = opts.prismaConfig ?? defaultPrismaConfig(name);
|
|
19624
19677
|
const zodOutput = opts.zodOutput ?? `generated/${name}/src`;
|
|
19625
19678
|
const clientOutput = opts.clientOutput ?? `generated/${name}/client`;
|
|
19626
|
-
const dsDir = posix.join(opts.dataSourcesDir, name);
|
|
19627
19679
|
const schemaDir = dirname4(prismaSchema);
|
|
19628
19680
|
const migrationsDir = posix.join(schemaDir, "migrations");
|
|
19629
19681
|
const dataSourceJson = {
|
|
@@ -19704,7 +19756,7 @@ export default defineConfig({
|
|
|
19704
19756
|
];
|
|
19705
19757
|
return {
|
|
19706
19758
|
files,
|
|
19707
|
-
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 },
|
|
19708
19760
|
notes
|
|
19709
19761
|
};
|
|
19710
19762
|
};
|
|
@@ -19837,7 +19889,7 @@ var runCreate = async (name, opts) => {
|
|
|
19837
19889
|
const tokens = {
|
|
19838
19890
|
name,
|
|
19839
19891
|
Name: toTitle(name),
|
|
19840
|
-
version: true ? "0.0.1-alpha.
|
|
19892
|
+
version: true ? "0.0.1-alpha.47" : "latest",
|
|
19841
19893
|
year: String((/* @__PURE__ */ new Date()).getFullYear()),
|
|
19842
19894
|
pmRun: pm === "npm" ? "npm run" : pm,
|
|
19843
19895
|
urlEnv: "DATABASE_URL",
|