joist-codegen 2.3.0-next.11 → 2.3.0-next.13

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.
Files changed (117) hide show
  1. package/build/EntityDbMetadata.d.ts +0 -1
  2. package/build/assignTags.d.ts +0 -1
  3. package/build/codemods/Codemod.d.ts +0 -1
  4. package/build/codemods/JscodeshiftMod.d.ts +0 -1
  5. package/build/codemods/codemod_0001-rename_has_async_property.d.ts +0 -1
  6. package/build/codemods/codemod_0002-rename_async_query_fields.d.ts +0 -1
  7. package/build/codemods/codemod_0003-rename_find_paginated.d.ts +0 -1
  8. package/build/codemods/index.d.ts +0 -1
  9. package/build/config.d.ts +0 -1
  10. package/build/docs/cache.d.ts +0 -1
  11. package/build/docs/generate-metadata-docs.d.ts +0 -1
  12. package/build/docs/index.d.ts +0 -1
  13. package/build/docs/markdown.d.ts +0 -1
  14. package/build/docs/parsing.d.ts +0 -1
  15. package/build/findEntityScopes.d.ts +0 -1
  16. package/build/foreignKeyOrdering.d.ts +0 -1
  17. package/build/generate.d.ts +0 -1
  18. package/build/generateEntitiesFile.d.ts +0 -1
  19. package/build/generateEntityCodegenFile.d.ts +0 -1
  20. package/build/generateEntityFile.d.ts +0 -1
  21. package/build/generateEntityTestFile.d.ts +0 -1
  22. package/build/generateEnumFile.d.ts +0 -1
  23. package/build/generateFactoriesFiles.d.ts +0 -1
  24. package/build/generateFlushFunction.d.ts +0 -1
  25. package/build/generateMetadataFile.d.ts +0 -1
  26. package/build/generatePgEnumFile.d.ts +0 -1
  27. package/build/index.d.ts +1 -1
  28. package/build/index.js +1 -0
  29. package/build/index.js.map +1 -1
  30. package/build/inheritance.d.ts +0 -1
  31. package/build/keywords.d.ts +0 -1
  32. package/build/loadMetadata.d.ts +0 -1
  33. package/build/logger.d.ts +0 -1
  34. package/build/scanEntityFiles.d.ts +0 -1
  35. package/build/sortForeignKeys.d.ts +0 -1
  36. package/build/symbols.d.ts +0 -1
  37. package/build/tsdoc.d.ts +0 -1
  38. package/build/utils.d.ts +0 -1
  39. package/build/write-json-schema.d.ts +0 -1
  40. package/package.json +2 -2
  41. package/build/EntityDbMetadata.d.ts.map +0 -1
  42. package/build/EntityDbMetadata.test.d.ts +0 -2
  43. package/build/EntityDbMetadata.test.d.ts.map +0 -1
  44. package/build/EntityDbMetadata.test.js +0 -211
  45. package/build/EntityDbMetadata.test.js.map +0 -1
  46. package/build/assignTags.d.ts.map +0 -1
  47. package/build/codemods/Codemod.d.ts.map +0 -1
  48. package/build/codemods/JscodeshiftMod.d.ts.map +0 -1
  49. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.d.ts +0 -2
  50. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.d.ts.map +0 -1
  51. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.js +0 -9
  52. package/build/codemods/__tests__/codemod_0001-rename_has_async_property.test.js.map +0 -1
  53. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.d.ts +0 -2
  54. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.d.ts.map +0 -1
  55. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.js +0 -9
  56. package/build/codemods/__tests__/codemod_0002-rename_async_query_fields.test.js.map +0 -1
  57. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.d.ts +0 -2
  58. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.d.ts.map +0 -1
  59. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.js +0 -9
  60. package/build/codemods/__tests__/codemod_0003-rename_find_paginated.test.js.map +0 -1
  61. package/build/codemods/codemod_0001-rename_has_async_property.d.ts.map +0 -1
  62. package/build/codemods/codemod_0002-rename_async_query_fields.d.ts.map +0 -1
  63. package/build/codemods/codemod_0003-rename_find_paginated.d.ts.map +0 -1
  64. package/build/codemods/index.d.ts.map +0 -1
  65. package/build/codemods/index.test.d.ts +0 -2
  66. package/build/codemods/index.test.d.ts.map +0 -1
  67. package/build/codemods/index.test.js +0 -24
  68. package/build/codemods/index.test.js.map +0 -1
  69. package/build/config.d.ts.map +0 -1
  70. package/build/config.test.d.ts +0 -2
  71. package/build/config.test.d.ts.map +0 -1
  72. package/build/config.test.js +0 -78
  73. package/build/config.test.js.map +0 -1
  74. package/build/docs/cache.d.ts.map +0 -1
  75. package/build/docs/cache.test.d.ts +0 -2
  76. package/build/docs/cache.test.d.ts.map +0 -1
  77. package/build/docs/cache.test.js +0 -47
  78. package/build/docs/cache.test.js.map +0 -1
  79. package/build/docs/generate-metadata-docs.d.ts.map +0 -1
  80. package/build/docs/index.d.ts.map +0 -1
  81. package/build/docs/index.test.d.ts +0 -2
  82. package/build/docs/index.test.d.ts.map +0 -1
  83. package/build/docs/index.test.js +0 -100
  84. package/build/docs/index.test.js.map +0 -1
  85. package/build/docs/markdown.d.ts.map +0 -1
  86. package/build/docs/markdown.test.d.ts +0 -2
  87. package/build/docs/markdown.test.d.ts.map +0 -1
  88. package/build/docs/markdown.test.js +0 -280
  89. package/build/docs/markdown.test.js.map +0 -1
  90. package/build/docs/parsing.d.ts.map +0 -1
  91. package/build/docs/parsing.test.d.ts +0 -2
  92. package/build/docs/parsing.test.d.ts.map +0 -1
  93. package/build/docs/parsing.test.js +0 -190
  94. package/build/docs/parsing.test.js.map +0 -1
  95. package/build/findEntityScopes.d.ts.map +0 -1
  96. package/build/foreignKeyOrdering.d.ts.map +0 -1
  97. package/build/generate.d.ts.map +0 -1
  98. package/build/generateEntitiesFile.d.ts.map +0 -1
  99. package/build/generateEntityCodegenFile.d.ts.map +0 -1
  100. package/build/generateEntityFile.d.ts.map +0 -1
  101. package/build/generateEntityTestFile.d.ts.map +0 -1
  102. package/build/generateEnumFile.d.ts.map +0 -1
  103. package/build/generateFactoriesFiles.d.ts.map +0 -1
  104. package/build/generateFlushFunction.d.ts.map +0 -1
  105. package/build/generateMetadataFile.d.ts.map +0 -1
  106. package/build/generatePgEnumFile.d.ts.map +0 -1
  107. package/build/index.d.ts.map +0 -1
  108. package/build/inheritance.d.ts.map +0 -1
  109. package/build/keywords.d.ts.map +0 -1
  110. package/build/loadMetadata.d.ts.map +0 -1
  111. package/build/logger.d.ts.map +0 -1
  112. package/build/scanEntityFiles.d.ts.map +0 -1
  113. package/build/sortForeignKeys.d.ts.map +0 -1
  114. package/build/symbols.d.ts.map +0 -1
  115. package/build/tsdoc.d.ts.map +0 -1
  116. package/build/utils.d.ts.map +0 -1
  117. package/build/write-json-schema.d.ts.map +0 -1
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const testUtils_1 = require("jscodeshift/src/testUtils");
4
- describe("codemod_0003-rename_find_paginated", () => {
5
- (0, testUtils_1.defineTest)(__dirname, "codemod_0003-rename_find_paginated", null, "codemod_0003-rename_find_paginated", {
6
- parser: "ts",
7
- });
8
- });
9
- //# sourceMappingURL=codemod_0003-rename_find_paginated.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codemod_0003-rename_find_paginated.test.js","sourceRoot":"","sources":["../../../src/codemods/__tests__/codemod_0003-rename_find_paginated.test.ts"],"names":[],"mappings":";;AAAA,yDAAuD;AAEvD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAA,sBAAU,EAAC,SAAS,EAAE,oCAAoC,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACtG,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codemod_0001-rename_has_async_property.d.ts","sourceRoot":"","sources":["../../src/codemods/codemod_0001-rename_has_async_property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,sCAAsC,gBAIlD,CAAC;AAWF,+FAA+F;AAC/F,QAAA,MAAM,SAAS,EAAE,SAYhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codemod_0002-rename_async_query_fields.d.ts","sourceRoot":"","sources":["../../src/codemods/codemod_0002-rename_async_query_fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,sCAAsC,gBAIlD,CAAC;AAeF,yFAAyF;AACzF,QAAA,MAAM,SAAS,EAAE,SA6BhB,CAAC;AAWF,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codemod_0003-rename_find_paginated.d.ts","sourceRoot":"","sources":["../../src/codemods/codemod_0003-rename_find_paginated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,kCAAkC,gBAI9C,CAAC;AAOF,yFAAyF;AACzF,QAAA,MAAM,SAAS,EAAE,SAgBhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codemods/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,oEAAoE;AACpE,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCtE;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CAExE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/codemods/index.test.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- describe("codemods", () => {
5
- it("returns the latest codemod version", () => {
6
- expect((0, _1.getLatestCodemodVersion)()).toEqual(3);
7
- });
8
- it("finds codemods after the stored codemod version", () => {
9
- expect((0, _1.findApplicableCodemods)(0)).toMatchObject([
10
- { codemodVersion: 1, name: "codemod_0001-rename_has_async_property" },
11
- { codemodVersion: 2, name: "codemod_0002-rename_async_query_fields" },
12
- { codemodVersion: 3, name: "codemod_0003-rename_find_paginated" },
13
- ]);
14
- expect((0, _1.findApplicableCodemods)(1)).toMatchObject([
15
- { codemodVersion: 2, name: "codemod_0002-rename_async_query_fields" },
16
- { codemodVersion: 3, name: "codemod_0003-rename_find_paginated" },
17
- ]);
18
- expect((0, _1.findApplicableCodemods)(2)).toMatchObject([
19
- { codemodVersion: 3, name: "codemod_0003-rename_find_paginated" },
20
- ]);
21
- expect((0, _1.findApplicableCodemods)(3)).toEqual([]);
22
- });
23
- });
24
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/codemods/index.test.ts"],"names":[],"mappings":";;AAAA,wBAAoE;AAEpE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,IAAA,0BAAuB,GAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,IAAA,yBAAsB,EAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9C,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE;YACrE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE;YACrE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE;SAClE,CAAC,CAAC;QACH,MAAM,CAAC,IAAA,yBAAsB,EAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9C,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE;YACrE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE;SAClE,CAAC,CAAC;QACH,MAAM,CAAC,IAAA,yBAAsB,EAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9C,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE;SAClE,CAAC,CAAC;QACH,MAAM,CAAC,IAAA,yBAAsB,EAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const promises_1 = require("fs/promises");
7
- const os_1 = require("os");
8
- const path_1 = __importDefault(require("path"));
9
- const config_1 = require("./config");
10
- const EntityDbMetadata_1 = require("./EntityDbMetadata");
11
- describe("config", () => {
12
- it("defaults existing configs to codemod version 0", () => {
13
- expect(config_1.config.parse({}).codemodVersion).toEqual(0);
14
- });
15
- it("loads and rewrites legacy configs without the deprecated version key", async () => {
16
- const originalCwd = process.cwd();
17
- const dir = await (0, promises_1.mkdtemp)(path_1.default.join((0, os_1.tmpdir)(), "joist-config-"));
18
- try {
19
- process.chdir(dir);
20
- await (0, promises_1.writeFile)("joist-config.json", JSON.stringify({ version: "2.0.3" }));
21
- const loaded = await (0, config_1.loadConfig)();
22
- expect(loaded.codemodVersion).toEqual(0);
23
- await (0, config_1.writeConfig)(loaded);
24
- const written = JSON.parse((await (0, promises_1.readFile)("joist-config.json")).toString());
25
- expect(written).toMatchObject({ codemodVersion: 0 });
26
- expect("version" in written).toEqual(false);
27
- expect("paginationStyle" in written).toEqual(false);
28
- }
29
- finally {
30
- process.chdir(originalCwd);
31
- await (0, promises_1.rm)(dir, { recursive: true, force: true });
32
- }
33
- });
34
- it("writes limit pagination as an explicit override", async () => {
35
- const originalCwd = process.cwd();
36
- const dir = await (0, promises_1.mkdtemp)(path_1.default.join((0, os_1.tmpdir)(), "joist-config-"));
37
- try {
38
- process.chdir(dir);
39
- await (0, config_1.writeConfig)(config_1.config.parse({ paginationStyle: "limit" }));
40
- const written = JSON.parse((await (0, promises_1.readFile)("joist-config.json")).toString());
41
- expect(written).toMatchObject({ paginationStyle: "limit" });
42
- }
43
- finally {
44
- process.chdir(originalCwd);
45
- await (0, promises_1.rm)(dir, { recursive: true, force: true });
46
- }
47
- });
48
- describe("isFieldIgnored", () => {
49
- // A little hack to test the case of `ignore: false`, since it is actually defined as `ignore?: true`
50
- const falseAsTrue = false;
51
- it.each([
52
- ["does not ignore when no config is provided", newAuthorConfig()],
53
- ["does not ignore when FieldConfig for fieldName is not specified", newAuthorConfig({})],
54
- ["does not ignore when FieldConfig.fieldName has ignore unset", newAuthorConfig({ fieldName: {} })],
55
- [
56
- "does not ignore when FieldConfig.fieldName has ignore: false",
57
- newAuthorConfig({ fieldName: { ignore: falseAsTrue } }),
58
- ],
59
- ])("%s", (_message, config) => {
60
- expect((0, config_1.isFieldIgnored)(config, (0, EntityDbMetadata_1.makeEntity)("Author"), "fieldName", true)).toEqual(false);
61
- });
62
- it("indicates the field is ignored when the field is not required and configured with ignore: true", () => {
63
- expect((0, config_1.isFieldIgnored)(newAuthorConfig({ shouldIgnore: { ignore: true } }), (0, EntityDbMetadata_1.makeEntity)("Author"), "shouldIgnore", false)).toEqual(true);
64
- });
65
- it("indicates the field is ignored when the field is required but has a default value and configured with ignore: true", () => {
66
- expect((0, config_1.isFieldIgnored)(newAuthorConfig({ shouldIgnore: { ignore: true } }), (0, EntityDbMetadata_1.makeEntity)("Author"), "shouldIgnore", true, true)).toEqual(true);
67
- });
68
- it("fails if the ignored key is not nullable", async () => {
69
- await expect(async () => (0, config_1.isFieldIgnored)(newAuthorConfig({ shouldNotIgnore: { ignore: true } }), (0, EntityDbMetadata_1.makeEntity)("Author"), "shouldNotIgnore", true)).rejects.toThrow("notNull field Author.shouldNotIgnore cannot be ignored. Alter the column to be optional or have a default value prior to ignoring it.");
70
- });
71
- });
72
- });
73
- function newAuthorConfig(fields) {
74
- return config_1.config.parse({
75
- entities: { Author: { tag: "a", fields } },
76
- });
77
- }
78
- //# sourceMappingURL=config.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/docs/cache.ts"],"names":[],"mappings":"AAoBA,4GAA4G;AAC5G,qBAAa,SAAS;;IAIpB,OAAO;WAKM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAavC,uFAAuF;IACvF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAKzE,mEAAmE;IACnE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAED,qEAAqE;AACrE,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cache.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.test.d.ts","sourceRoot":"","sources":["../../src/docs/cache.test.ts"],"names":[],"mappings":""}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
4
- const os_1 = require("os");
5
- const cache_1 = require("./cache");
6
- describe("DocsCache", () => {
7
- it("returns not up-to-date for unknown entities", async () => {
8
- const cache = await cache_1.DocsCache.load();
9
- expect(cache.isUpToDate("Unknown", 100, 200)).toBe(false);
10
- });
11
- it("returns up-to-date when mtimes match", async () => {
12
- const cache = await cache_1.DocsCache.load();
13
- cache.update("Author", 100, 200);
14
- expect(cache.isUpToDate("Author", 100, 200)).toBe(true);
15
- });
16
- it("returns not up-to-date when ts mtime changed", async () => {
17
- const cache = await cache_1.DocsCache.load();
18
- cache.update("Author", 100, 200);
19
- expect(cache.isUpToDate("Author", 101, 200)).toBe(false);
20
- });
21
- it("returns not up-to-date when md mtime changed", async () => {
22
- const cache = await cache_1.DocsCache.load();
23
- cache.update("Author", 100, 200);
24
- expect(cache.isUpToDate("Author", 100, 201)).toBe(false);
25
- });
26
- it("round-trips through save/load", async () => {
27
- const cache = await cache_1.DocsCache.load();
28
- cache.update("Author", 100, 200);
29
- cache.update("Book", 300, -1);
30
- await cache.save();
31
- const reloaded = await cache_1.DocsCache.load();
32
- expect(reloaded.isUpToDate("Author", 100, 200)).toBe(true);
33
- expect(reloaded.isUpToDate("Book", 300, -1)).toBe(true);
34
- expect(reloaded.isUpToDate("Unknown", 0, 0)).toBe(false);
35
- });
36
- });
37
- describe("getMtime", () => {
38
- it("returns mtimeMs for an existing file", async () => {
39
- const mtime = await (0, cache_1.getMtime)(__filename);
40
- expect(mtime).toBeGreaterThan(0);
41
- });
42
- it("returns -1 for a missing file", async () => {
43
- const mtime = await (0, cache_1.getMtime)((0, path_1.join)((0, os_1.tmpdir)(), "nonexistent-joist-test-file.ts"));
44
- expect(mtime).toBe(-1);
45
- });
46
- });
47
- //# sourceMappingURL=cache.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../../src/docs/cache.test.ts"],"names":[],"mappings":";;AACA,+BAA4B;AAC5B,2BAA4B;AAC5B,mCAA8C;AAE9C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,KAAK,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,QAAQ,GAAG,MAAM,iBAAS,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,gCAAgC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-metadata-docs.d.ts","sourceRoot":"","sources":["../../src/docs/generate-metadata-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,sEAAsE;AACtE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BvG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docs/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCxF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/docs/index.test.ts"],"names":[],"mappings":""}
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs_1 = require("fs");
4
- const os_1 = require("os");
5
- const path_1 = require("path");
6
- const index_1 = require("./index");
7
- let testDir;
8
- beforeEach(async () => {
9
- testDir = await fs_1.promises.mkdtemp((0, path_1.join)((0, os_1.tmpdir)(), "joist-docs-test-"));
10
- });
11
- afterEach(async () => {
12
- await fs_1.promises.rm(testDir, { recursive: true, force: true });
13
- });
14
- describe("syncDocs", () => {
15
- it("syncs markdown overview into ts file with @generated tag", async () => {
16
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), "export class Author extends AuthorCodegen {}", "utf-8");
17
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), "## Overview\nThe Author entity.\n", "utf-8");
18
- await (0, index_1.syncDocs)(testDir, ["Author"]);
19
- const result = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
20
- expect(result).toContain("The Author entity.");
21
- expect(result).toContain("@generated Author.md");
22
- });
23
- it("syncs field docs into ts file", async () => {
24
- const ts = ["export class Author extends AuthorCodegen {", ' readonly firstName: string = "";', "}"].join("\n");
25
- const md = ["## Overview", "", "## Fields", "", "### firstName", "", "The first name.", ""].join("\n");
26
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), ts, "utf-8");
27
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), md, "utf-8");
28
- await (0, index_1.syncDocs)(testDir, ["Author"]);
29
- const result = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
30
- expect(result).toContain("The first name.");
31
- expect(result).toContain("@generated Author.md");
32
- });
33
- it("backfills md from ts jsdoc when md does not exist", async () => {
34
- const ts = ["/** The Author entity. */", "export class Author extends AuthorCodegen {}"].join("\n");
35
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), ts, "utf-8");
36
- await (0, index_1.syncDocs)(testDir, ["Author"]);
37
- const md = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.md"), "utf-8");
38
- expect(md).toContain("The Author entity.");
39
- });
40
- it("skips entities on second run when files are unchanged", async () => {
41
- const bare = "export class Author extends AuthorCodegen {}";
42
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), bare, "utf-8");
43
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), "## Overview\nThe Author entity.\n", "utf-8");
44
- // First run — processes, writes JSDoc into .ts, and caches the resulting mtimes
45
- await (0, index_1.syncDocs)(testDir, ["Author"]);
46
- const firstResult = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
47
- expect(firstResult).toContain("The Author entity.");
48
- // Snapshot the post-run mtimes (these are what the cache recorded)
49
- const tsPath = (0, path_1.join)(testDir, "Author.ts");
50
- const mdPath = (0, path_1.join)(testDir, "Author.md");
51
- const tsStat = await fs_1.promises.stat(tsPath);
52
- const mdStat = await fs_1.promises.stat(mdPath);
53
- // Revert .ts to the bare version (no JSDoc) but restore the post-run mtime
54
- // so the cache thinks nothing changed. If syncDocs re-processes, the overview
55
- // would be re-injected; if it correctly skips, the bare content survives.
56
- await fs_1.promises.writeFile(tsPath, bare, "utf-8");
57
- await fs_1.promises.utimes(tsPath, tsStat.atimeMs / 1000, tsStat.mtimeMs / 1000);
58
- await fs_1.promises.utimes(mdPath, mdStat.atimeMs / 1000, mdStat.mtimeMs / 1000);
59
- // Second run — should skip because mtimes haven't changed
60
- await (0, index_1.syncDocs)(testDir, ["Author"]);
61
- const secondResult = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
62
- // If the cache correctly skipped, the bare content is still there (no JSDoc injected)
63
- expect(secondResult).toBe(bare);
64
- });
65
- it("re-processes entity when md file changes", async () => {
66
- const ts = ["export class Author extends AuthorCodegen {", ' readonly firstName: string = "";', "}"].join("\n");
67
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), ts, "utf-8");
68
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), "## Overview\nVersion one.\n", "utf-8");
69
- await (0, index_1.syncDocs)(testDir, ["Author"]);
70
- const first = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
71
- expect(first).toContain("Version one.");
72
- // Wait a tick to ensure mtime differs
73
- await new Promise((r) => setTimeout(r, 50));
74
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), "## Overview\nVersion two.\n", "utf-8");
75
- await (0, index_1.syncDocs)(testDir, ["Author"]);
76
- const second = await fs_1.promises.readFile((0, path_1.join)(testDir, "Author.ts"), "utf-8");
77
- expect(second).toContain("Version two.");
78
- expect(second).not.toContain("Version one.");
79
- });
80
- it("handles entities with no md file", async () => {
81
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.ts"), "export class Author extends AuthorCodegen {}", "utf-8");
82
- // Should not throw
83
- await (0, index_1.syncDocs)(testDir, ["Author"]);
84
- // No md created since there's no jsdoc to backfill
85
- const files = await fs_1.promises.readdir(testDir);
86
- expect(files).toMatchObject(["Author.ts"]);
87
- });
88
- it("skips entities with no ts file", async () => {
89
- await fs_1.promises.writeFile((0, path_1.join)(testDir, "Author.md"), "## Overview\nThe Author entity.\n", "utf-8");
90
- await (0, index_1.syncDocs)(testDir, ["Author"]);
91
- const files = await fs_1.promises.readdir(testDir);
92
- expect(files).toMatchObject(["Author.md"]);
93
- });
94
- it("skips entities with no ts or md file", async () => {
95
- await (0, index_1.syncDocs)(testDir, ["Author"]);
96
- const files = await fs_1.promises.readdir(testDir);
97
- expect(files).toMatchObject([]);
98
- });
99
- });
100
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/docs/index.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/docs/markdown.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,iFAAiF;AACjF,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAO5F;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CA8C/D;AAED,8FAA8F;AAC9F,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAWD;;;;;;;GAOG;AACH,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA6EpH;AAED,eAAO,MAAM,OAAO;;CAA2B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=markdown.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.test.d.ts","sourceRoot":"","sources":["../../src/docs/markdown.test.ts"],"names":[],"mappings":""}