joist-graphql-codegen 2.3.0-next.61 → 2.3.0-next.63
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/build/testUtils.cjs
CHANGED
|
@@ -41,6 +41,7 @@ function newPrimitiveField(fieldName, opts = {}) {
|
|
|
41
41
|
kind: "primitive",
|
|
42
42
|
fieldName,
|
|
43
43
|
columnName: (0, change_case.snakeCase)(fieldName),
|
|
44
|
+
columnGenerated: false,
|
|
44
45
|
columnType: "varchar",
|
|
45
46
|
fieldType: "string",
|
|
46
47
|
rawFieldType: "string",
|
|
@@ -49,6 +50,7 @@ function newPrimitiveField(fieldName, opts = {}) {
|
|
|
49
50
|
protected: false,
|
|
50
51
|
unique: false,
|
|
51
52
|
columnDefault: null,
|
|
53
|
+
columnNotNull: opts.notNull ?? true,
|
|
52
54
|
superstruct: void 0,
|
|
53
55
|
zodSchema: void 0,
|
|
54
56
|
customSerde: void 0,
|
|
@@ -106,8 +108,10 @@ function newEnumField(fieldName, opts = {}) {
|
|
|
106
108
|
kind: "enum",
|
|
107
109
|
fieldName,
|
|
108
110
|
columnName: (0, change_case.snakeCase)(fieldName),
|
|
111
|
+
columnGenerated: false,
|
|
109
112
|
columnType: "int",
|
|
110
113
|
columnDefault: null,
|
|
114
|
+
columnNotNull: opts.notNull ?? true,
|
|
111
115
|
derived: false,
|
|
112
116
|
enumName,
|
|
113
117
|
enumType,
|
|
@@ -125,6 +129,8 @@ function newManyToOneField(fieldName, otherEntity, opts = {}) {
|
|
|
125
129
|
kind: "m2o",
|
|
126
130
|
fieldName,
|
|
127
131
|
columnName: (0, change_case.snakeCase)(fieldName),
|
|
132
|
+
columnGenerated: false,
|
|
133
|
+
columnNotNull: opts.notNull ?? true,
|
|
128
134
|
derived: false,
|
|
129
135
|
notNull: true,
|
|
130
136
|
hasConfigDefault: false,
|
package/build/testUtils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.cjs","names":["keyBy","snakeCase","makeEntity","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 fieldName,\n columnName: snakeCase(fieldName),\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 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 fieldName,\n columnName: snakeCase(fieldName),\n columnType: \"int\",\n columnDefault: null,\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 fieldName,\n columnName: snakeCase(fieldName),\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 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.cjs","names":["keyBy","snakeCase","makeEntity","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 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 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 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 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;
|
|
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;iBAwB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAqCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA0BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAqBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAuBa,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;
|
|
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;iBAwB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAqCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA0BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAqBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAuBa,kBAAkB,MAAM,aAAa,QAAQ"}
|
package/build/testUtils.js
CHANGED
|
@@ -38,6 +38,7 @@ function newPrimitiveField(fieldName, opts = {}) {
|
|
|
38
38
|
kind: "primitive",
|
|
39
39
|
fieldName,
|
|
40
40
|
columnName: snakeCase(fieldName),
|
|
41
|
+
columnGenerated: false,
|
|
41
42
|
columnType: "varchar",
|
|
42
43
|
fieldType: "string",
|
|
43
44
|
rawFieldType: "string",
|
|
@@ -46,6 +47,7 @@ function newPrimitiveField(fieldName, opts = {}) {
|
|
|
46
47
|
protected: false,
|
|
47
48
|
unique: false,
|
|
48
49
|
columnDefault: null,
|
|
50
|
+
columnNotNull: opts.notNull ?? true,
|
|
49
51
|
superstruct: void 0,
|
|
50
52
|
zodSchema: void 0,
|
|
51
53
|
customSerde: void 0,
|
|
@@ -103,8 +105,10 @@ function newEnumField(fieldName, opts = {}) {
|
|
|
103
105
|
kind: "enum",
|
|
104
106
|
fieldName,
|
|
105
107
|
columnName: snakeCase(fieldName),
|
|
108
|
+
columnGenerated: false,
|
|
106
109
|
columnType: "int",
|
|
107
110
|
columnDefault: null,
|
|
111
|
+
columnNotNull: opts.notNull ?? true,
|
|
108
112
|
derived: false,
|
|
109
113
|
enumName,
|
|
110
114
|
enumType,
|
|
@@ -122,6 +126,8 @@ function newManyToOneField(fieldName, otherEntity, opts = {}) {
|
|
|
122
126
|
kind: "m2o",
|
|
123
127
|
fieldName,
|
|
124
128
|
columnName: snakeCase(fieldName),
|
|
129
|
+
columnGenerated: false,
|
|
130
|
+
columnNotNull: opts.notNull ?? true,
|
|
125
131
|
derived: false,
|
|
126
132
|
notNull: true,
|
|
127
133
|
hasConfigDefault: false,
|
package/build/testUtils.js.map
CHANGED
|
@@ -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 fieldName,\n columnName: snakeCase(fieldName),\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 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 fieldName,\n columnName: snakeCase(fieldName),\n columnType: \"int\",\n columnDefault: null,\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 fieldName,\n columnName: snakeCase(fieldName),\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 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;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,iBAAiB,MAAM,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;EACA,YAAY,UAAU,SAAS;EAC/B,YAAY;EACZ,WAAW;EACX,cAAc;EACd,SAAS;EACT,SAAS;EACT,WAAW;EACX,QAAQ;EACR,eAAe;EACf,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,QAAQ,WAAW,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,WAAW,UAAU,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,WAAW,IAAI,GAAG,SAAS,YAAY;CAC7C,MAAM,iBAAiB,IAAI,GAAG,OAAO,QAAQ,EAAE,YAAY;CAC3D,MAAM,kBAAkB,IAAI,GAAG,SAAS,mBAAmB;CAC3D,OAAO;EACL,MAAM;EACN;EACA,YAAY,UAAU,SAAS;EAC/B,YAAY;EACZ,eAAe;EACf,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;EACA,YAAY,UAAU,SAAS;EAC/B,SAAS;EACT,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,gBAAgB,QAAQ;EACxB,aAAa,WAAW,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,GAAG,WAAW,SAAS,EAAE;EACpC,SAAS;EACT,kBAAkB;EAClB,YAAY,WAAW,KAAK,eAAe;GACzC,YAAY,GAAG,UAAU,SAAS,EAAE,GAAG,UAAU,SAAS,EAAE;GAC5D,gBAAgB;GAChB,aAAa,WAAW,SAAS;GACjC,yBAAyB;GACzB,gBAAgB;GAChB,SAAS;EACX,EAAE;EACF,GAAG;CACL;AACF;;;;;AAMA,SAAgB,kBAAkB,MAAmB,QAAwB;CAC3E,MAAM,SAAS,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.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 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 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 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 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;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,iBAAiB,MAAM,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;EACA,YAAY,UAAU,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,QAAQ,WAAW,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,WAAW,UAAU,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,WAAW,IAAI,GAAG,SAAS,YAAY;CAC7C,MAAM,iBAAiB,IAAI,GAAG,OAAO,QAAQ,EAAE,YAAY;CAC3D,MAAM,kBAAkB,IAAI,GAAG,SAAS,mBAAmB;CAC3D,OAAO;EACL,MAAM;EACN;EACA,YAAY,UAAU,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;EACA,YAAY,UAAU,SAAS;EAC/B,iBAAiB;EACjB,eAAe,KAAK,WAAW;EAC/B,SAAS;EACT,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,gBAAgB,QAAQ;EACxB,aAAa,WAAW,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,GAAG,WAAW,SAAS,EAAE;EACpC,SAAS;EACT,kBAAkB;EAClB,YAAY,WAAW,KAAK,eAAe;GACzC,YAAY,GAAG,UAAU,SAAS,EAAE,GAAG,UAAU,SAAS,EAAE;GAC5D,gBAAgB;GAChB,aAAa,WAAW,SAAS;GACjC,yBAAyB;GACzB,gBAAgB;GAChB,SAAS;EACX,EAAE;EACF,GAAG;CACL;AACF;;;;;AAMA,SAAgB,kBAAkB,MAAmB,QAAwB;CAC3E,MAAM,SAAS,mBAAmB,MAAM;CACxC,IAAI,OAAO,KAAK,aAAa,UAC3B,OAAO,KAAK;CAEd,OAAO,KAAK,SAAS,SAAS;EAC5B,MAAM,KAAK;EACX,kBAAkB,UAAU;CAC9B,CAAC;AACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-graphql-codegen",
|
|
3
|
-
"version": "2.3.0-next.
|
|
3
|
+
"version": "2.3.0-next.63",
|
|
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.
|
|
43
|
-
"joist-utils": "2.3.0-next.
|
|
42
|
+
"joist-codegen": "2.3.0-next.63",
|
|
43
|
+
"joist-utils": "2.3.0-next.63",
|
|
44
44
|
"pg-types": "^4.1.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|