joist-graphql-codegen 2.3.0-next.99 → 2.4.0-next.1

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.
@@ -70,6 +70,7 @@ function newEntityMetadata(name, opts = {}) {
70
70
  rawFieldType: "number"
71
71
  }),
72
72
  primitives: [],
73
+ ignoredColumns: [],
73
74
  enums: [],
74
75
  pgEnums: [],
75
76
  manyToOnes: [],
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.cjs","names":["keyBy","makeEntity","snakeCase","imp","pascalCase","getImportExtension"],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,EAAE,WAAW,UAAA;AAEnB,SAAgB,MAAM,OAAmC;CACvD,OAAO;EACL,QAAQ,OAAO,aAAa,CAAC,CAAC,MAAM;EACpC,MAAM,OAAO,aAAa,MAAM;EAChC,MAAM,OAAO,UAAU,YAAY;GACjC,MAAM,YAAY;EACpB;CACF;AACF;AAEA,SAAgB,UAAU,KAA2D;CACnF,MAAM,WAAW,MAAM,QAAQ,GAAG,IAAI,MAAO,IAAI,YAAY,CAAC;CAC9D,MAAM,kBAAA,GAAiBA,YAAAA,MAAAA,CAAM,UAAU,MAAM;CAE7C,KAAK,MAAM,UAAU,UACnB,IAAI,OAAO,eAAe;EACxB,MAAM,WAAW,eAAe,OAAO;EACvC,OAAO,WAAW;EAClB,SAAS,SAAS,KAAK,MAAM;CAC/B;CAEF,OAAO;EACL;EACA,OAAO,CAAC;EACR,SAAS,CAAC;EACV,YAAY,CAAC;EACb,aAAa,CAAC;EACd,aAAa;EACb;CACF;AACF;AAEA,SAAgB,kBAAkB,WAAmB,OAAgC,CAAC,GAAmB;CACvG,OAAO;EACL,MAAM;EACN,cAAA,GAAaC,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,YAAY;EACZ,WAAW;EACX,cAAc;EACd,SAAS;EACT,SAAS;EACT,WAAW;EACX,QAAQ;EACR,eAAe;EACf,eAAe,KAAK,WAAW;EAC/B,aAAa,KAAA;EACb,WAAW,KAAA;EACX,aAAa,KAAA;EACb,SAAS;EACT,kBAAkB;EAClB,GAAG;CACL;AACF;AAEA,SAAgB,kBAAkB,MAAc,OAAkC,CAAC,GAAqB;CACtG,OAAO;EACL;EACA,SAAA,GAAQD,cAAAA,WAAAA,CAAW,IAAI;EACvB,YAAY,kBAAkB,MAAM;GAAE,YAAY;GAAO,WAAW;GAAU,cAAc;EAAS,CAAC;EACtG,YAAY,CAAC;EACb,OAAO,CAAC;EACR,SAAS,CAAC;EACV,YAAY,CAAC;EACb,YAAY,CAAC;EACb,iBAAiB,CAAC;EAClB,aAAa,CAAC;EACd,kBAAkB,CAAC;EACnB,iBAAiB,CAAC;EAClB,WAAW,CAAC;EACZ,cAAc,CAAC;EACf,YAAA,GAAWC,YAAAA,UAAAA,CAAU,OAAO,IAAI,CAAC;EACjC,SAAS;EACT,WAAW,KAAA;EACX,WAAW,KAAA;EACX,WAAW,KAAA;EACX,eAAe,KAAA;EACf,UAAU,KAAA;EACV,UAAU,CAAC;EACX,iBAAiB,KAAA;EACjB,UAAU;EACV,oBAAoB;EACpB,IAAI,iBAAiB;GACnB,OAAO,CAAC;EACV;EACA,IAAI,2BAA2B;GAC7B,OAAO,CAAC;EACV;EACA,GAAG;CACL;AACF;AAEA,SAAgB,aAAa,WAAmB,OAA2B,CAAC,GAAc;CACxF,MAAM,WAAW,KAAK,YAAY;CAClC,MAAM,YAAA,GAAWC,QAAAA,IAAAA,CAAI,GAAG,SAAS,YAAY;CAC7C,MAAM,kBAAA,GAAiBA,QAAAA,IAAAA,CAAI,GAAG,OAAO,QAAQ,EAAE,YAAY;CAC3D,MAAM,mBAAA,GAAkBA,QAAAA,IAAAA,CAAI,GAAG,SAAS,mBAAmB;CAC3D,OAAO;EACL,MAAM;EACN,cAAA,GAAaF,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,YAAY;EACZ,eAAe;EACf,eAAe,KAAK,WAAW;EAC/B,SAAS;EACT;EACA;EACA;EACA;EACA,SAAS;EACT,UAAU,CAAC;EACX,SAAS;EACT,kBAAkB;EAClB,GAAG;CACL;AACF;AAEA,SAAgB,kBACd,WACA,aACA,OAAgC,CAAC,GACjB;CAChB,OAAO;EACL,MAAM;EACN,cAAA,GAAaD,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,eAAe,KAAK,WAAW;EAC/B,SAAS;EACT,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,gBAAgB,QAAQ;EACxB,cAAA,GAAaD,cAAAA,WAAAA,CAAW,WAAW;EACnC,yBAAyB;EACzB,gBAAgB;EAChB,UAAU;EACV,GAAG;CACL;AACF;;AAGA,SAAgB,oBACd,WACA,YACA,OAAkC,CAAC,GACjB;CAClB,OAAO;EACL,MAAM;EACN;EACA,WAAW,IAAA,GAAGG,YAAAA,WAAAA,CAAW,SAAS,EAAE;EACpC,SAAS;EACT,kBAAkB;EAClB,YAAY,WAAW,KAAK,eAAe;GACzC,YAAY,IAAA,GAAGF,YAAAA,UAAAA,CAAU,SAAS,EAAE,IAAA,GAAGA,YAAAA,UAAAA,CAAU,SAAS,EAAE;GAC5D,cAAA,GAAaD,cAAAA,WAAAA,CAAW,QAAQ;GAChC,gBAAgB;GAChB,cAAA,GAAaA,cAAAA,WAAAA,CAAW,SAAS;GACjC,yBAAyB;GACzB,gBAAgB;GAChB,SAAS;EACX,EAAE;EACF,GAAG;CACL;AACF;;;;;AAMA,SAAgB,kBAAkB,MAAmB,QAAwB;CAC3E,MAAM,SAASI,cAAAA,mBAAmB,MAAM;CACxC,IAAI,OAAO,KAAK,aAAa,UAC3B,OAAO,KAAK;CAEd,OAAO,KAAK,SAAS,SAAS;EAC5B,MAAM,KAAK;EACX,kBAAkB,UAAU;CAC9B,CAAC;AACH"}
1
+ {"version":3,"file":"testUtils.cjs","names":["keyBy","makeEntity","snakeCase","imp","pascalCase","getImportExtension"],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAqCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
1
+ {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAqCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
1
+ {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
@@ -67,6 +67,7 @@ function newEntityMetadata(name, opts = {}) {
67
67
  rawFieldType: "number"
68
68
  }),
69
69
  primitives: [],
70
+ ignoredColumns: [],
70
71
  enums: [],
71
72
  pgEnums: [],
72
73
  manyToOnes: [],
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","names":[],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","names":[],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-graphql-codegen",
3
- "version": "2.3.0-next.99",
3
+ "version": "2.4.0-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -39,8 +39,8 @@
39
39
  "build"
40
40
  ],
41
41
  "peerDependencies": {
42
- "joist-codegen": "2.3.0-next.99",
43
- "joist-utils": "2.3.0-next.99",
42
+ "joist-codegen": "2.4.0-next.1",
43
+ "joist-utils": "2.4.0-next.1",
44
44
  "pg-types": "^4.1.0"
45
45
  },
46
46
  "dependencies": {