@aiready/doc-drift 0.14.16 → 0.14.17
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/.turbo/turbo-build.log +6 -6
- package/.turbo/turbo-format-check.log +2 -2
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +23 -29
- package/.turbo/turbo-type-check.log +1 -1
- package/package.json +13 -12
- package/src/__tests__/contract.test.ts +48 -0
- package/tsconfig.json +2 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/doc-drift@0.14.
|
|
3
|
+
> @aiready/doc-drift@0.14.16 build /Users/pengcao/projects/aiready/packages/doc-drift
|
|
4
4
|
> tsup src/index.ts src/cli.ts --format cjs,esm --dts
|
|
5
5
|
|
|
6
6
|
[34mCLI[39m Building entry: src/cli.ts, src/index.ts
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
[34mCLI[39m Target: es2020
|
|
10
10
|
[34mCJS[39m Build start
|
|
11
11
|
[34mESM[39m Build start
|
|
12
|
-
[32mCJS[39m [1mdist/index.js [22m[32m9.11 KB[39m
|
|
13
12
|
[32mCJS[39m [1mdist/cli.js [22m[32m9.79 KB[39m
|
|
14
|
-
[32mCJS[39m
|
|
15
|
-
[
|
|
13
|
+
[32mCJS[39m [1mdist/index.js [22m[32m9.11 KB[39m
|
|
14
|
+
[32mCJS[39m ⚡️ Build success in 90ms
|
|
16
15
|
[32mESM[39m [1mdist/index.mjs [22m[32m989.00 B[39m
|
|
16
|
+
[32mESM[39m [1mdist/cli.mjs [22m[32m1.07 KB[39m
|
|
17
17
|
[32mESM[39m [1mdist/chunk-IQBAXGOK.mjs [22m[32m7.48 KB[39m
|
|
18
|
-
[32mESM[39m ⚡️ Build success in
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 90ms
|
|
19
19
|
DTS Build start
|
|
20
|
-
DTS ⚡️ Build success in
|
|
20
|
+
DTS ⚡️ Build success in 2827ms
|
|
21
21
|
DTS dist/cli.d.ts 108.00 B
|
|
22
22
|
DTS dist/index.d.ts 2.09 KB
|
|
23
23
|
DTS dist/cli.d.mts 108.00 B
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/doc-drift@0.14.
|
|
3
|
+
> @aiready/doc-drift@0.14.16 format-check /Users/pengcao/projects/aiready/packages/doc-drift
|
|
4
4
|
> prettier --check . --ignore-path ../../.prettierignore
|
|
5
5
|
|
|
6
6
|
Checking formatting...
|
|
7
|
-
package.json[2K[1GREADME.md[2K[1Gsrc/__tests__/analyzer.test.ts[2K[1Gsrc/__tests__/provider.test.ts[2K[1Gsrc/__tests__/scoring.test.ts[2K[1Gsrc/analyzer.ts[2K[1Gsrc/cli.ts[2K[1Gsrc/constants.ts[2K[1Gsrc/heuristics.ts[2K[1Gsrc/index.ts[2K[1Gsrc/provider.ts[2K[1Gsrc/scoring.ts[2K[1Gsrc/types.ts[2K[1Gtsconfig.json[2K[1GAll matched files use Prettier code style!
|
|
7
|
+
package.json[2K[1GREADME.md[2K[1Gsrc/__tests__/analyzer.test.ts[2K[1Gsrc/__tests__/contract.test.ts[2K[1Gsrc/__tests__/provider.test.ts[2K[1Gsrc/__tests__/scoring.test.ts[2K[1Gsrc/analyzer.ts[2K[1Gsrc/cli.ts[2K[1Gsrc/constants.ts[2K[1Gsrc/heuristics.ts[2K[1Gsrc/index.ts[2K[1Gsrc/provider.ts[2K[1Gsrc/scoring.ts[2K[1Gsrc/types.ts[2K[1Gtsconfig.json[2K[1GAll matched files use Prettier code style!
|
package/.turbo/turbo-lint.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,51 +1,45 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/doc-drift@0.14.
|
|
3
|
+
> @aiready/doc-drift@0.14.16 test /Users/pengcao/projects/aiready/packages/doc-drift
|
|
4
4
|
> vitest run
|
|
5
5
|
|
|
6
6
|
[?25l
|
|
7
|
-
[1m[46m RUN [49m[22m [36mv4.
|
|
7
|
+
[1m[46m RUN [49m[22m [36mv4.1.2 [39m[90m/Users/pengcao/projects/aiready/packages/doc-drift[39m
|
|
8
8
|
|
|
9
9
|
[?2026h
|
|
10
|
-
[1m[33m ❯ [39m[22msrc/__tests__/
|
|
10
|
+
[1m[33m ❯ [39m[22msrc/__tests__/provider.test.ts[2m [queued][22m
|
|
11
11
|
|
|
12
|
-
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (
|
|
12
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (4)[39m
|
|
13
13
|
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
14
|
-
[2m Start at [
|
|
15
|
-
[2m Duration [
|
|
14
|
+
[2m Start at [22m19:19:02
|
|
15
|
+
[2m Duration [22m239ms
|
|
16
16
|
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
17
17
|
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m [queued][22m
|
|
18
|
+
[1m[33m ❯ [39m[22msrc/__tests__/contract.test.ts[2m [queued][22m
|
|
18
19
|
[1m[33m ❯ [39m[22msrc/__tests__/provider.test.ts[2m [queued][22m
|
|
19
20
|
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m [queued][22m
|
|
20
21
|
|
|
21
|
-
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (
|
|
22
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (4)[39m
|
|
22
23
|
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
23
|
-
[2m Start at [
|
|
24
|
-
[2m Duration [
|
|
25
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
26
|
-
[
|
|
27
|
-
[
|
|
28
|
-
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m 0/2[22m
|
|
24
|
+
[2m Start at [22m19:19:02
|
|
25
|
+
[2m Duration [22m959ms
|
|
26
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/contract.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 11[2mms[22m[39m
|
|
27
|
+
[32m✓[39m src/__tests__/scoring.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
28
|
+
[32m✓[39m src/__tests__/provider.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
29
29
|
|
|
30
|
-
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (3)[39m
|
|
31
|
-
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (2)[39m
|
|
32
|
-
[2m Start at [22m23:35:29
|
|
33
|
-
[2m Duration [22m1.31s
|
|
34
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/scoring.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
35
|
-
[32m✓[39m src/__tests__/provider.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
36
30
|
|
|
37
31
|
|
|
38
|
-
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m
|
|
32
|
+
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m 0/1[22m
|
|
39
33
|
|
|
40
|
-
[2m Test Files [22m[1m[
|
|
41
|
-
[2m Tests [22m[1m[32m5 passed[39m[22m[90m (
|
|
42
|
-
[2m Start at [
|
|
43
|
-
[2m Duration [22m1.
|
|
44
|
-
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/analyzer.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m
|
|
34
|
+
[2m Test Files [22m[1m[32m3 passed[39m[22m[90m (4)[39m
|
|
35
|
+
[2m Tests [22m[1m[32m5 passed[39m[22m[90m (6)[39m
|
|
36
|
+
[2m Start at [22m19:19:02
|
|
37
|
+
[2m Duration [22m1.06s
|
|
38
|
+
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/analyzer.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 69[2mms[22m[39m
|
|
45
39
|
|
|
46
|
-
[2m Test Files [22m [1m[
|
|
47
|
-
[2m Tests [22m [1m[
|
|
48
|
-
[2m Start at [22m
|
|
49
|
-
[2m Duration [22m 1.
|
|
40
|
+
[2m Test Files [22m [1m[32m4 passed[39m[22m[90m (4)[39m
|
|
41
|
+
[2m Tests [22m [1m[32m6 passed[39m[22m[90m (6)[39m
|
|
42
|
+
[2m Start at [22m 19:19:02
|
|
43
|
+
[2m Duration [22m 1.22s[2m (transform 631ms, setup 0ms, import 2.89s, tests 85ms, environment 0ms)[22m
|
|
50
44
|
|
|
51
45
|
[?25h
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiready/doc-drift",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.17",
|
|
4
4
|
"description": "AI-Readiness: Documentation Drift Detection",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@typescript-eslint/typescript-estree": "^8.
|
|
10
|
-
"commander": "^14.0.
|
|
11
|
-
"glob": "^13.0.
|
|
12
|
-
"picocolors": "^1.
|
|
13
|
-
"@aiready/core": "0.24.
|
|
9
|
+
"@typescript-eslint/typescript-estree": "^8.58.0",
|
|
10
|
+
"commander": "^14.0.3",
|
|
11
|
+
"glob": "^13.0.6",
|
|
12
|
+
"picocolors": "^1.1.1",
|
|
13
|
+
"@aiready/core": "0.24.20"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@types/node": "^24.
|
|
17
|
-
"@typescript-eslint/types": "^8.
|
|
18
|
-
"tsup": "^8.
|
|
19
|
-
"typescript": "^
|
|
20
|
-
"vitest": "^4.
|
|
16
|
+
"@types/node": "^24.12.2",
|
|
17
|
+
"@typescript-eslint/types": "^8.58.0",
|
|
18
|
+
"tsup": "^8.5.1",
|
|
19
|
+
"typescript": "^6.0.2",
|
|
20
|
+
"vitest": "^4.1.2"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"type-check": "tsc --noEmit",
|
|
36
36
|
"format-check": "prettier --check . --ignore-path ../../.prettierignore",
|
|
37
37
|
"format": "prettier --write . --ignore-path ../../.prettierignore",
|
|
38
|
-
"lint:fix": "eslint . --fix"
|
|
38
|
+
"lint:fix": "eslint . --fix",
|
|
39
|
+
"test:coverage": "vitest run --coverage"
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { DOC_DRIFT_PROVIDER } from '../provider';
|
|
3
|
+
import { validateSpokeOutput } from '@aiready/core';
|
|
4
|
+
|
|
5
|
+
// Mock core functions to avoid actual FS access
|
|
6
|
+
vi.mock('@aiready/core', async (importOriginal) => {
|
|
7
|
+
const actual = await importOriginal<typeof import('@aiready/core')>();
|
|
8
|
+
return {
|
|
9
|
+
...actual,
|
|
10
|
+
scanFiles: vi.fn().mockResolvedValue(['file1.ts']),
|
|
11
|
+
readFileContent: vi.fn().mockImplementation((file) => {
|
|
12
|
+
if (file === 'file1.ts') {
|
|
13
|
+
return `
|
|
14
|
+
/**
|
|
15
|
+
* Test function
|
|
16
|
+
* @param a Some param
|
|
17
|
+
*/
|
|
18
|
+
export function test(a: number) { return a; }
|
|
19
|
+
`;
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
describe('Doc Drift Contract Validation', () => {
|
|
27
|
+
it('should produce output matching the SpokeOutput contract', async () => {
|
|
28
|
+
const options = {
|
|
29
|
+
rootDir: './test',
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const output = await DOC_DRIFT_PROVIDER.analyze(options);
|
|
33
|
+
|
|
34
|
+
// 1. Structural Validation
|
|
35
|
+
const validation = validateSpokeOutput('doc-drift', output);
|
|
36
|
+
if (!validation.valid) {
|
|
37
|
+
console.error('Contract Validation Errors:', validation.errors);
|
|
38
|
+
}
|
|
39
|
+
expect(validation.valid).toBe(true);
|
|
40
|
+
|
|
41
|
+
// 2. Scoring Validation
|
|
42
|
+
const score = DOC_DRIFT_PROVIDER.score(output, options);
|
|
43
|
+
expect(score).toBeDefined();
|
|
44
|
+
expect(typeof score.score).toBe('number');
|
|
45
|
+
expect(score.score).toBeGreaterThanOrEqual(0);
|
|
46
|
+
expect(score.score).toBeLessThanOrEqual(100);
|
|
47
|
+
});
|
|
48
|
+
});
|