@specferret/core 0.5.0 → 0.6.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-contract.d.ts","sourceRoot":"","sources":["../../src/extractor/typescript-contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-contract.d.ts","sourceRoot":"","sources":["../../src/extractor/typescript-contract.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmEzF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Extractor layer — turns a .contract.ts file into an ExtractionResult.
|
|
2
2
|
// Uses Bun's native import() — no ts-morph, no AST, no compile step.
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
5
4
|
import { isContract } from '../contract.js';
|
|
6
5
|
import { hashSchema } from './hash.js';
|
|
7
6
|
import { mapToContractStatus } from './frontmatter.js';
|
|
@@ -28,8 +27,7 @@ export async function extractFromContractFile(filePath) {
|
|
|
28
27
|
for (const [exportName, exportValue] of Object.entries(mod)) {
|
|
29
28
|
if (!isContract(exportValue))
|
|
30
29
|
continue;
|
|
31
|
-
|
|
32
|
-
const shape = zodToJsonSchema(z.object(exportValue.output), { $refStrategy: 'none' });
|
|
30
|
+
const shape = z.toJSONSchema(z.object(exportValue.output), { reused: 'inline' });
|
|
33
31
|
const shape_hash = hashSchema(shape);
|
|
34
32
|
// Pass 2: resolve consumes → import IDs
|
|
35
33
|
const imports = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-contract.js","sourceRoot":"","sources":["../../src/extractor/typescript-contract.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,qEAAqE;AAErE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"typescript-contract.js","sourceRoot":"","sources":["../../src/extractor/typescript-contract.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@specferret/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "SpecFerret core engine — spec drift detection.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,8 +29,7 @@
|
|
|
29
29
|
"gray-matter": "^4.0.3",
|
|
30
30
|
"tree-sitter": "^0.22.4",
|
|
31
31
|
"tree-sitter-typescript": "^0.23.2",
|
|
32
|
-
"zod": "^4.0.0"
|
|
33
|
-
"zod-to-json-schema": "^3.25.2"
|
|
32
|
+
"zod": "^4.0.0"
|
|
34
33
|
},
|
|
35
34
|
"devDependencies": {
|
|
36
35
|
"@types/bun": "^1.3.11",
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// Uses Bun's native import() — no ts-morph, no AST, no compile step.
|
|
3
3
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
6
5
|
import { isContract } from '../contract.js';
|
|
7
6
|
import { hashSchema } from './hash.js';
|
|
8
7
|
import { mapToContractStatus } from './frontmatter.js';
|
|
@@ -35,8 +34,7 @@ export async function extractFromContractFile(filePath: string): Promise<Extract
|
|
|
35
34
|
for (const [exportName, exportValue] of Object.entries(mod)) {
|
|
36
35
|
if (!isContract(exportValue)) continue;
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
const shape = zodToJsonSchema(z.object(exportValue.output) as any, { $refStrategy: 'none' });
|
|
37
|
+
const shape = z.toJSONSchema(z.object(exportValue.output as any), { reused: 'inline' });
|
|
40
38
|
const shape_hash = hashSchema(shape);
|
|
41
39
|
|
|
42
40
|
// Pass 2: resolve consumes → import IDs
|