pecunia-cli 0.2.1 → 0.2.2

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/api.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as generateKyselySchema, n as generateSchema, o as generateDrizzleSchema, r as generatePrismaSchema, t as adapters } from "./generators-DXOqBlgH.mjs";
1
+ import { a as generateKyselySchema, n as generateSchema, o as generateDrizzleSchema, r as generatePrismaSchema, t as adapters } from "./generators-DMu0BKgN.mjs";
2
2
 
3
3
  export { adapters, generateDrizzleSchema, generateKyselySchema, generatePrismaSchema, generateSchema };
@@ -491,6 +491,12 @@ const generateDrizzleSchema = async ({ options, file, adapter }) => {
491
491
  };
492
492
  const referenceMap = /* @__PURE__ */ new Map();
493
493
  for (const ref of references) referenceMap.set(ref.fieldName, ref);
494
+ const hasCircularRef = references.some((ref) => {
495
+ const referencedTableKey = modelKeyToTableKey.get(ref.originalModel);
496
+ if (!referencedTableKey) return false;
497
+ const reverseKey = `${referencedTableKey}->${tableDef.tableKey}`;
498
+ return referenceGraph.has(reverseKey);
499
+ });
494
500
  const fieldDefinitions = Object.keys(fields).filter((field) => field !== "id").map((field) => {
495
501
  const attr = fields[field];
496
502
  const fieldName = attr.fieldName || field;
@@ -518,10 +524,11 @@ const generateDrizzleSchema = async ({ options, file, adapter }) => {
518
524
  const fieldDef = `${fieldName}: ${type}${isRequired ? ".notNull()" : ""}${attr.unique ? ".unique()" : ""}${referenceChain}`;
519
525
  return comment ? `${comment}\n ${fieldDef}` : fieldDef;
520
526
  });
527
+ const typeAssertion = hasCircularRef ? " as any" : "";
521
528
  const schema = `export const ${modelName} = ${databaseType}Table("${convertToSnakeCase(modelName, adapter.options?.camelCase)}", {
522
529
  id: ${id},
523
530
  ${fieldDefinitions.join(",\n ")}
524
- }${assignIndexes(indexes)});`;
531
+ }${assignIndexes(indexes)})${typeAssertion};`;
525
532
  code += `\n${schema}\n`;
526
533
  }
527
534
  let relationsString = "";
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as getPackageInfo, n as generateSchema } from "./generators-DXOqBlgH.mjs";
2
+ import { i as getPackageInfo, n as generateSchema } from "./generators-DMu0BKgN.mjs";
3
3
  import { Command } from "commander";
4
4
  import fs, { existsSync, readFileSync } from "node:fs";
5
5
  import fs$1 from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pecunia-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "module": "dist/index.mjs",
6
6
  "main": "./dist/index.mjs",