@aiready/change-amplification 0.14.16 → 0.14.18
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 +42 -28
- package/.turbo/turbo-type-check.log +1 -1
- package/package.json +13 -12
- package/src/__tests__/contract.test.ts +41 -0
- package/tsconfig.json +2 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/change-amplification@0.14.
|
|
3
|
+
> @aiready/change-amplification@0.14.17 build /Users/pengcao/projects/aiready/packages/change-amplification
|
|
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
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[32mCJS[39m [1mdist/index.js [22m[32m7.53 KB[39m
|
|
13
13
|
[32mCJS[39m [1mdist/cli.js [22m[32m8.99 KB[39m
|
|
14
|
-
[32mCJS[39m ⚡️ Build success in
|
|
15
|
-
[32mESM[39m [1mdist/chunk-KUIEB4UN.mjs [22m[32m5.32 KB[39m
|
|
16
|
-
[32mESM[39m [1mdist/cli.mjs [22m[32m2.41 KB[39m
|
|
14
|
+
[32mCJS[39m ⚡️ Build success in 81ms
|
|
17
15
|
[32mESM[39m [1mdist/index.mjs [22m[32m916.00 B[39m
|
|
18
|
-
[32mESM[39m
|
|
16
|
+
[32mESM[39m [1mdist/cli.mjs [22m[32m2.41 KB[39m
|
|
17
|
+
[32mESM[39m [1mdist/chunk-KUIEB4UN.mjs [22m[32m5.32 KB[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 86ms
|
|
19
19
|
DTS Build start
|
|
20
|
-
DTS ⚡️ Build success in
|
|
20
|
+
DTS ⚡️ Build success in 3352ms
|
|
21
21
|
DTS dist/cli.d.ts 266.00 B
|
|
22
22
|
DTS dist/index.d.ts 937.00 B
|
|
23
23
|
DTS dist/cli.d.mts 266.00 B
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/change-amplification@0.14.
|
|
3
|
+
> @aiready/change-amplification@0.14.16 format-check /Users/pengcao/projects/aiready/packages/change-amplification
|
|
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__/cli.test.ts[2K[1Gsrc/__tests__/dummy.test.ts[2K[1Gsrc/__tests__/provider.test.ts[2K[1Gsrc/__tests__/scoring.test.ts[2K[1Gsrc/analyzer.ts[2K[1Gsrc/cli.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__/cli.test.ts[2K[1Gsrc/__tests__/contract.test.ts[2K[1Gsrc/__tests__/dummy.test.ts[2K[1Gsrc/__tests__/provider.test.ts[2K[1Gsrc/__tests__/scoring.test.ts[2K[1Gsrc/analyzer.ts[2K[1Gsrc/cli.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,62 +1,76 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/change-amplification@0.14.
|
|
3
|
+
> @aiready/change-amplification@0.14.17 test /Users/pengcao/projects/aiready/packages/change-amplification
|
|
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/change-amplification[39m
|
|
8
8
|
|
|
9
9
|
[?2026h
|
|
10
|
-
[1m[33m ❯ [39m[22msrc/__tests__/
|
|
10
|
+
[1m[33m ❯ [39m[22msrc/__tests__/dummy.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 (6)[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:25:10
|
|
15
|
+
[2m Duration [22m341ms
|
|
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
18
|
[1m[33m ❯ [39m[22msrc/__tests__/cli.test.ts[2m [queued][22m
|
|
19
|
-
[1m[33m ❯ [39m[22msrc/__tests__/
|
|
20
|
-
[1m[33m ❯ [39m[22msrc/__tests__/
|
|
19
|
+
[1m[33m ❯ [39m[22msrc/__tests__/contract.test.ts[2m [queued][22m
|
|
20
|
+
[1m[33m ❯ [39m[22msrc/__tests__/dummy.test.ts[2m 1/1[22m
|
|
21
21
|
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m [queued][22m
|
|
22
22
|
|
|
23
|
-
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (
|
|
24
|
-
[2m Tests [22m[1m[
|
|
25
|
-
[2m Start at [
|
|
26
|
-
[2m Duration [
|
|
27
|
-
[?2026l[?2026h[K[1A[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__/dummy.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m
|
|
23
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (6)[39m
|
|
24
|
+
[2m Tests [22m[1m[32m1 passed[39m[22m[90m (1)[39m
|
|
25
|
+
[2m Start at [22m19:25:10
|
|
26
|
+
[2m Duration [22m442ms
|
|
27
|
+
[?2026l[?2026h[K[1A[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__/dummy.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
28
28
|
|
|
29
29
|
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m [queued][22m
|
|
30
30
|
[1m[33m ❯ [39m[22msrc/__tests__/cli.test.ts[2m [queued][22m
|
|
31
|
+
[1m[33m ❯ [39m[22msrc/__tests__/contract.test.ts[2m [queued][22m
|
|
31
32
|
[1m[33m ❯ [39m[22msrc/__tests__/provider.test.ts[2m [queued][22m
|
|
32
33
|
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m [queued][22m
|
|
33
34
|
|
|
34
|
-
[2m Test Files [22m[1m[32m1 passed[39m[22m[90m (
|
|
35
|
+
[2m Test Files [22m[1m[32m1 passed[39m[22m[90m (6)[39m
|
|
35
36
|
[2m Tests [22m[1m[32m1 passed[39m[22m[90m (1)[39m
|
|
36
|
-
[2m Start at [
|
|
37
|
-
[2m Duration [
|
|
38
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
37
|
+
[2m Start at [22m19:25:10
|
|
38
|
+
[2m Duration [22m994ms
|
|
39
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
39
40
|
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m [queued][22m
|
|
40
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cli.test.ts[2m
|
|
41
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cli.test.ts[2m [queued][22m
|
|
42
|
+
[1m[33m ❯ [39m[22msrc/__tests__/contract.test.ts[2m [queued][22m
|
|
41
43
|
[1m[33m ❯ [39m[22msrc/__tests__/provider.test.ts[2m [queued][22m
|
|
42
44
|
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m [queued][22m
|
|
43
45
|
|
|
44
|
-
[2m Test Files [22m[1m[32m1 passed[39m[22m[90m (
|
|
46
|
+
[2m Test Files [22m[1m[32m1 passed[39m[22m[90m (6)[39m
|
|
47
|
+
[2m Tests [22m[1m[32m1 passed[39m[22m[90m (1)[39m
|
|
48
|
+
[2m Start at [22m19:25:10
|
|
49
|
+
[2m Duration [22m2.00s
|
|
50
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
51
|
+
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m [queued][22m
|
|
52
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cli.test.ts[2m [queued][22m
|
|
53
|
+
[1m[33m ❯ [39m[22msrc/__tests__/contract.test.ts[2m [queued][22m
|
|
54
|
+
[1m[33m ❯ [39m[22msrc/__tests__/provider.test.ts[2m 0/2[22m
|
|
55
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scoring.test.ts[2m [queued][22m
|
|
56
|
+
|
|
57
|
+
[2m Test Files [22m[1m[32m1 passed[39m[22m[90m (6)[39m
|
|
45
58
|
[2m Tests [22m[1m[32m1 passed[39m[22m[90m (3)[39m
|
|
46
|
-
[2m Start at [
|
|
47
|
-
[2m Duration [
|
|
48
|
-
[?2026l[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__/cli.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
59
|
+
[2m Start at [22m19:25:10
|
|
60
|
+
[2m Duration [22m2.21s
|
|
61
|
+
[?2026l[K[1A[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__/cli.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
62
|
+
[32m✓[39m src/__tests__/provider.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
49
63
|
[90mstdout[2m | src/__tests__/analyzer.test.ts[2m > [22m[2manalyzeChangeAmplification reproduction[2m > [22m[2mshould see how it gets to 0
|
|
50
64
|
[22m[39mResulting score for highly coupled: [33m27[39m
|
|
51
65
|
Rating: explosive
|
|
52
66
|
|
|
53
|
-
[32m✓[39m src/__tests__/analyzer.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
54
|
-
[32m✓[39m src/__tests__/provider.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
67
|
+
[32m✓[39m src/__tests__/analyzer.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
55
68
|
[32m✓[39m src/__tests__/scoring.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
69
|
+
[32m✓[39m src/__tests__/contract.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
56
70
|
|
|
57
|
-
[2m Test Files [22m [1m[
|
|
58
|
-
[2m Tests [22m [1m[
|
|
59
|
-
[2m Start at [22m
|
|
60
|
-
[2m Duration [22m
|
|
71
|
+
[2m Test Files [22m [1m[32m6 passed[39m[22m[90m (6)[39m
|
|
72
|
+
[2m Tests [22m [1m[32m10 passed[39m[22m[90m (10)[39m
|
|
73
|
+
[2m Start at [22m 19:25:10
|
|
74
|
+
[2m Duration [22m 2.33s[2m (transform 2.30s, setup 0ms, import 9.20s, tests 28ms, environment 0ms)[22m
|
|
61
75
|
|
|
62
76
|
[?25h
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiready/change-amplification",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.18",
|
|
4
4
|
"description": "AI-Readiness: Change Amplification 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
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"@aiready/core": "0.24.
|
|
9
|
+
"@typescript-eslint/typescript-estree": "^8.58.0",
|
|
10
|
+
"chalk": "^5.6.2",
|
|
11
|
+
"commander": "^14.0.3",
|
|
12
|
+
"glob": "^13.0.6",
|
|
13
|
+
"@aiready/core": "0.24.21"
|
|
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
|
".": {
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"type-check": "tsc --noEmit",
|
|
45
45
|
"format-check": "prettier --check . --ignore-path ../../.prettierignore",
|
|
46
46
|
"format": "prettier --write . --ignore-path ../../.prettierignore",
|
|
47
|
-
"lint:fix": "eslint . --fix"
|
|
47
|
+
"lint:fix": "eslint . --fix",
|
|
48
|
+
"test:coverage": "vitest run --coverage"
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { CHANGE_AMPLIFICATION_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 'import { x } from "./module"; export const y = x + 1;';
|
|
14
|
+
return '';
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
describe('Change Amplification Contract Validation', () => {
|
|
20
|
+
it('should produce output matching the SpokeOutput contract', async () => {
|
|
21
|
+
const options = {
|
|
22
|
+
rootDir: './test',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const output = await CHANGE_AMPLIFICATION_PROVIDER.analyze(options);
|
|
26
|
+
|
|
27
|
+
// 1. Structural Validation
|
|
28
|
+
const validation = validateSpokeOutput('change-amplification', output);
|
|
29
|
+
if (!validation.valid) {
|
|
30
|
+
console.error('Contract Validation Errors:', validation.errors);
|
|
31
|
+
}
|
|
32
|
+
expect(validation.valid).toBe(true);
|
|
33
|
+
|
|
34
|
+
// 2. Scoring Validation
|
|
35
|
+
const score = CHANGE_AMPLIFICATION_PROVIDER.score(output, options);
|
|
36
|
+
expect(score).toBeDefined();
|
|
37
|
+
expect(typeof score.score).toBe('number');
|
|
38
|
+
expect(score.score).toBeGreaterThanOrEqual(0);
|
|
39
|
+
expect(score.score).toBeLessThanOrEqual(100);
|
|
40
|
+
});
|
|
41
|
+
});
|