joist-codegen 1.28.8 → 1.29.0

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.
@@ -1,11 +1,5 @@
1
- import { Code } from "ts-poet";
1
+ import { CodegenFile } from "ts-poet";
2
2
  import { Config, DbMetadata } from "./index";
3
3
  export declare type DPrintOptions = Record<string, unknown>;
4
- export interface CodeGenFile {
5
- name: string;
6
- contents: Code | string;
7
- overwrite: boolean;
8
- dprintOverrides?: DPrintOptions;
9
- }
10
4
  /** Generates our `${Entity}` and `${Entity}Codegen` files based on the `db` schema. */
11
- export declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodeGenFile[]>;
5
+ export declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
package/build/generate.js CHANGED
@@ -18,7 +18,12 @@ async function generateFiles(config, dbMeta) {
18
18
  .map((meta) => {
19
19
  const entityName = meta.entity.name;
20
20
  return [
21
- { name: `${entityName}Codegen.ts`, contents: (0, generateEntityCodegenFile_1.generateEntityCodegenFile)(config, meta), overwrite: true },
21
+ {
22
+ name: `${entityName}Codegen.ts`,
23
+ contents: (0, generateEntityCodegenFile_1.generateEntityCodegenFile)(config, meta),
24
+ overwrite: true,
25
+ hash: true,
26
+ },
22
27
  { name: `${entityName}.ts`, contents: (0, generateInitialEntityFile_1.generateInitialEntityFile)(meta), overwrite: false },
23
28
  ];
24
29
  })
@@ -31,6 +36,7 @@ async function generateFiles(config, dbMeta) {
31
36
  name: `${enumName}.ts`,
32
37
  contents: (0, generateEnumFile_1.generateEnumFile)(config, enumData, enumName),
33
38
  overwrite: true,
39
+ hash: true,
34
40
  },
35
41
  ];
36
42
  })
@@ -42,6 +48,7 @@ async function generateFiles(config, dbMeta) {
42
48
  name: `${enumData.name}.ts`,
43
49
  contents: (0, generatePgEnumFile_1.generatePgEnumFile)(config, enumData),
44
50
  overwrite: true,
51
+ hash: true,
45
52
  },
46
53
  ];
47
54
  })
@@ -63,7 +70,8 @@ async function generateFiles(config, dbMeta) {
63
70
  ${symbols_1.configureMetadata}(allMetadata);
64
71
  `,
65
72
  overwrite: true,
66
- dprintOverrides: { lineWidth: 400 },
73
+ hash: true,
74
+ toStringOpts: { dprintOptions: { lineWidth: 400 } },
67
75
  };
68
76
  const enumsTables = Object.values(enums)
69
77
  .map(({ table }) => table)
@@ -72,9 +80,7 @@ async function generateFiles(config, dbMeta) {
72
80
  name: "./entities.ts",
73
81
  contents: (0, generateEntitiesFile_1.generateEntitiesFile)(config, entities, enumsTables, Object.values(pgEnums)),
74
82
  overwrite: true,
75
- // For some reason `deno: true` turns off organize imports, which we don't want
76
- // because this is our order-sensitive barrel file.
77
- dprintOverrides: { deno: true },
83
+ toStringOpts: { dprintOptions: { "module.sortExportDeclarations": "maintain" } },
78
84
  };
79
85
  const factoriesFiles = (0, generateFactoriesFiles_1.generateFactoriesFiles)(entities);
80
86
  const indexFile = {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
+ import { CodegenFile } from "ts-poet";
1
2
  import { EntityDbMetadata } from "./EntityDbMetadata";
2
- import { CodeGenFile } from "./generate";
3
- export declare function generateFactoriesFiles(entities: EntityDbMetadata[]): CodeGenFile[];
3
+ export declare function generateFactoriesFiles(entities: EntityDbMetadata[]): CodegenFile[];
@@ -23,6 +23,7 @@ function generateFactoriesFiles(entities) {
23
23
  name: "./factories.ts",
24
24
  contents: (0, ts_poet_1.code) `${entities.map(({ entity }) => (0, ts_poet_1.code) `export * from "./${entity.name}.factories";`)}`,
25
25
  overwrite: true,
26
+ hash: true,
26
27
  };
27
28
  return [...entityFiles, factoriesFile];
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateFactoriesFiles.js","sourceRoot":"","sources":["../src/generateFactoriesFiles.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,qCAAoC;AAGpC,uCAAkE;AAElE,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,sBAAsB,CAAC,QAA4B;IACjE,yDAAyD;IACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,cAAI,EAAA;2BACE,IAAI;cACjB,aAAa;gBACX,qBAAW,IAAI,MAAM,CAAC,IAAI;WAC/B,iBAAO,IAAI,MAAM,CAAC,IAAI;iBAChB,yBAAe,QAAQ,MAAM,CAAC,IAAI;QAC3C,CAAC;QACL,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAA,cAAI,EAAA,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAA,cAAI,EAAA,oBAAoB,MAAM,CAAC,IAAI,cAAc,CAAC,EAAE;QAClG,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,OAAO,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC;AAtBD,wDAsBC"}
1
+ {"version":3,"file":"generateFactoriesFiles.js","sourceRoot":"","sources":["../src/generateFactoriesFiles.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,qCAAiD;AAEjD,uCAAkE;AAElE,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,sBAAsB,CAAC,QAA4B;IACjE,yDAAyD;IACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,cAAI,EAAA;2BACE,IAAI;cACjB,aAAa;gBACX,qBAAW,IAAI,MAAM,CAAC,IAAI;WAC/B,iBAAO,IAAI,MAAM,CAAC,IAAI;iBAChB,yBAAe,QAAQ,MAAM,CAAC,IAAI;QAC3C,CAAC;QACL,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAA,cAAI,EAAA,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAA,cAAI,EAAA,oBAAoB,MAAM,CAAC,IAAI,cAAc,CAAC,EAAE;QAClG,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,OAAO,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC;AAvBD,wDAuBC"}
package/build/index.d.ts CHANGED
@@ -1,12 +1,8 @@
1
- import { Code } from "ts-poet";
2
1
  import { Config } from "./config";
3
2
  import { DbMetadata, EntityDbMetadata } from "./EntityDbMetadata";
4
- import { DPrintOptions } from "./generate";
5
3
  import { mapSimpleDbTypeToTypescriptType } from "./utils";
6
4
  export { DbMetadata, EnumField, makeEntity, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField, PrimitiveField, PrimitiveTypescriptType, } from "./EntityDbMetadata";
7
- export { CodeGenFile } from "./generate";
8
5
  export { EnumMetadata, EnumRow, EnumTableData, PgEnumData, PgEnumMetadata } from "./loadMetadata";
9
6
  export { Config, EntityDbMetadata, mapSimpleDbTypeToTypescriptType };
10
7
  /** Uses entities and enums from the `db` schema and saves them into our entities directory. */
11
8
  export declare function generateAndSaveFiles(config: Config, dbMeta: DbMetadata): Promise<void>;
12
- export declare function contentToString(content: Code | string, fileName: string, dprintOptions?: DPrintOptions): Promise<string>;
package/build/index.js CHANGED
@@ -3,12 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.contentToString = exports.generateAndSaveFiles = exports.mapSimpleDbTypeToTypescriptType = exports.EntityDbMetadata = exports.makeEntity = void 0;
7
- const fs_1 = require("fs");
6
+ exports.generateAndSaveFiles = exports.mapSimpleDbTypeToTypescriptType = exports.EntityDbMetadata = exports.makeEntity = void 0;
8
7
  const joist_utils_1 = require("joist-utils");
9
- const path_1 = require("path");
10
8
  const pg_1 = require("pg");
11
9
  const pg_structure_1 = __importDefault(require("pg-structure"));
10
+ const ts_poet_1 = require("ts-poet");
12
11
  const assignTags_1 = require("./assignTags");
13
12
  const config_1 = require("./config");
14
13
  const EntityDbMetadata_1 = require("./EntityDbMetadata");
@@ -23,20 +22,11 @@ Object.defineProperty(exports, "makeEntity", { enumerable: true, get: function (
23
22
  /** Uses entities and enums from the `db` schema and saves them into our entities directory. */
24
23
  async function generateAndSaveFiles(config, dbMeta) {
25
24
  const files = await (0, generate_1.generateFiles)(config, dbMeta);
26
- for await (const file of files) {
27
- const path = `${config.entitiesDirectory}/${file.name}`;
28
- // We might be writing to a non-entities directory i.e. for the graphql plugin, so check this for each file
29
- await fs_1.promises.mkdir((0, path_1.dirname)(path), { recursive: true });
30
- if (file.overwrite) {
31
- await fs_1.promises.writeFile(path, await contentToString(file.contents, file.name, file.dprintOverrides));
32
- }
33
- else {
34
- const exists = await (0, utils_1.trueIfResolved)(fs_1.promises.access(path));
35
- if (!exists) {
36
- await fs_1.promises.writeFile(path, await contentToString(file.contents, file.name, file.dprintOverrides));
37
- }
38
- }
39
- }
25
+ await (0, ts_poet_1.saveFiles)({
26
+ toolName: "joist-codegen",
27
+ directory: config.entitiesDirectory,
28
+ files,
29
+ });
40
30
  }
41
31
  exports.generateAndSaveFiles = generateAndSaveFiles;
42
32
  if (require.main === module) {
@@ -71,13 +61,6 @@ if (require.main === module) {
71
61
  process.exit(1);
72
62
  });
73
63
  }
74
- async function contentToString(content, fileName, dprintOptions = {}) {
75
- if (typeof content === "string") {
76
- return content;
77
- }
78
- return await content.toStringWithImports({ path: fileName, dprintOptions });
79
- }
80
- exports.contentToString = contentToString;
81
64
  function maybeSetDatabaseUrl(config) {
82
65
  if (!process.env.DATABASE_URL && config.databaseUrl) {
83
66
  process.env.DATABASE_URL = config.databaseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-codegen",
3
- "version": "1.28.8",
3
+ "version": "1.29.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,12 +21,12 @@
21
21
  "@types/pluralize": "0.0.29",
22
22
  "change-case": "^4.1.2",
23
23
  "is-plain-object": "^5.0.0",
24
- "joist-utils": "1.28.8",
24
+ "joist-utils": "1.29.0",
25
25
  "knex": "^2.1.0",
26
26
  "pg": "^8.7.3",
27
27
  "pg-structure": "^7.13.0",
28
28
  "pluralize": "^8.0.0",
29
- "ts-poet": "^5.2.0"
29
+ "ts-poet": "^6.1.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@swc/jest": "^0.2.22",