@aiready/consistency 0.21.23 → 0.21.25
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 +15 -15
- package/.turbo/turbo-format-check.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +171 -161
- package/.turbo/turbo-type-check.log +1 -1
- package/package.json +3 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/consistency@0.21.
|
|
3
|
+
> @aiready/consistency@0.21.24 build /Users/pengcao/projects/aiready/packages/consistency
|
|
4
4
|
> tsup src/index.ts src/cli.ts --format cjs,esm --dts
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
CLI Building entry: src/cli.ts, src/index.ts
|
|
7
|
+
CLI Using tsconfig: tsconfig.json
|
|
8
|
+
CLI tsup v8.5.1
|
|
9
|
+
CLI Target: es2020
|
|
10
|
+
CJS Build start
|
|
11
|
+
ESM Build start
|
|
12
|
+
ESM dist/index.mjs 3.29 KB
|
|
13
|
+
ESM dist/chunk-72LXOO4N.mjs 32.33 KB
|
|
14
|
+
ESM dist/cli.mjs 8.85 KB
|
|
15
|
+
ESM ⚡️ Build success in 205ms
|
|
16
|
+
CJS dist/cli.js 42.76 KB
|
|
17
|
+
CJS dist/index.js 37.22 KB
|
|
18
|
+
CJS ⚡️ Build success in 205ms
|
|
19
19
|
DTS Build start
|
|
20
|
-
DTS ⚡️ Build success in
|
|
20
|
+
DTS ⚡️ Build success in 9972ms
|
|
21
21
|
DTS dist/cli.d.ts 20.00 B
|
|
22
22
|
DTS dist/index.d.ts 3.96 KB
|
|
23
23
|
DTS dist/cli.d.mts 20.00 B
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/consistency@0.21.
|
|
3
|
+
> @aiready/consistency@0.21.24 format-check /Users/pengcao/projects/aiready/packages/consistency
|
|
4
4
|
> prettier --check . --ignore-path ../../.prettierignore
|
|
5
5
|
|
|
6
6
|
Checking formatting...
|
package/.turbo/turbo-lint.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,177 +1,187 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @aiready/consistency@0.21.
|
|
3
|
+
> @aiready/consistency@0.21.24 test /Users/pengcao/projects/aiready/packages/consistency
|
|
4
4
|
> vitest run
|
|
5
5
|
|
|
6
6
|
[?25l
|
|
7
|
-
|
|
7
|
+
RUN v4.1.4 /Users/pengcao/projects/aiready/packages/consistency
|
|
8
8
|
|
|
9
9
|
[?2026h
|
|
10
|
-
|
|
10
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
Test Files 0 passed (9)
|
|
13
|
+
Tests 0 passed (0)
|
|
14
|
+
Start at 09:20:51
|
|
15
|
+
Duration 1.07s
|
|
16
16
|
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
[
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
[
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
[
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
[
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
17
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
18
|
+
❯ src/__tests__/scope-tracker.test.ts [queued]
|
|
19
|
+
|
|
20
|
+
Test Files 0 passed (9)
|
|
21
|
+
Tests 0 passed (0)
|
|
22
|
+
Start at 09:20:51
|
|
23
|
+
Duration 1.28s
|
|
24
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
25
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
26
|
+
❯ src/__tests__/naming-dotted.test.ts [queued]
|
|
27
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
28
|
+
❯ src/__tests__/scope-tracker.test.ts [queued]
|
|
29
|
+
|
|
30
|
+
Test Files 0 passed (9)
|
|
31
|
+
Tests 0 passed (0)
|
|
32
|
+
Start at 09:20:51
|
|
33
|
+
Duration 1.41s
|
|
34
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
35
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
36
|
+
❯ src/__tests__/language-filter.test.ts [queued]
|
|
37
|
+
❯ src/__tests__/naming-dotted.test.ts [queued]
|
|
38
|
+
❯ src/__tests__/naming.test.ts [queued]
|
|
39
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
40
|
+
❯ src/__tests__/scope-tracker.test.ts 0/11
|
|
41
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
42
|
+
|
|
43
|
+
Test Files 0 passed (9)
|
|
44
|
+
Tests 0 passed (11)
|
|
45
|
+
Start at 09:20:51
|
|
46
|
+
Duration 1.51s
|
|
47
|
+
[?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[1A[K[1A[K ✓ src/__tests__/scope-tracker.test.ts (11 tests) 4ms
|
|
48
|
+
|
|
49
|
+
❯ src/__tests__/analyzer.test.ts [queued]
|
|
50
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
51
|
+
❯ src/__tests__/language-filter.test.ts [queued]
|
|
52
|
+
❯ src/__tests__/naming-constants.test.ts [queued]
|
|
53
|
+
❯ src/__tests__/naming-dotted.test.ts [queued]
|
|
54
|
+
❯ src/__tests__/naming.test.ts [queued]
|
|
55
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
56
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
57
|
+
|
|
58
|
+
Test Files 1 passed (9)
|
|
59
|
+
Tests 11 passed (11)
|
|
60
|
+
Start at 09:20:51
|
|
61
|
+
Duration 1.96s
|
|
62
|
+
[?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[1A[K[1A[K[1A[K
|
|
63
|
+
❯ src/__tests__/analyzer.test.ts [queued]
|
|
64
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
65
|
+
❯ src/__tests__/language-filter.test.ts [queued]
|
|
66
|
+
❯ src/__tests__/naming-constants.test.ts 0/14
|
|
67
|
+
❯ src/__tests__/naming-dotted.test.ts [queued]
|
|
68
|
+
❯ src/__tests__/naming.test.ts [queued]
|
|
69
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
70
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
71
|
+
|
|
72
|
+
Test Files 1 passed (9)
|
|
73
|
+
Tests 11 passed (25)
|
|
74
|
+
Start at 09:20:51
|
|
75
|
+
Duration 2.56s
|
|
76
|
+
[?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[1A[K[1A[K[1A[K ✓ src/__tests__/naming-constants.test.ts (14 tests) 6ms
|
|
77
|
+
|
|
78
|
+
❯ src/__tests__/analyzer.test.ts [queued]
|
|
79
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
80
|
+
❯ src/__tests__/language-filter.test.ts [queued]
|
|
81
|
+
❯ src/__tests__/naming-dotted.test.ts [queued]
|
|
82
|
+
❯ src/__tests__/naming.test.ts [queued]
|
|
83
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
84
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
85
|
+
|
|
86
|
+
Test Files 2 passed (9)
|
|
87
|
+
Tests 25 passed (25)
|
|
88
|
+
Start at 09:20:51
|
|
89
|
+
Duration 3.07s
|
|
82
90
|
[?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[1A[K[1A[K
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
[?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[1A[K[1A[K
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
[
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
[2m Duration [22m3.87s
|
|
124
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
125
|
-
|
|
126
|
-
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m 2/22[22m
|
|
127
|
-
[1m[33m ❯ [39m[22msrc/__tests__/naming-dotted.test.ts[2m 0/2[22m
|
|
128
|
-
|
|
129
|
-
[2m Test Files [22m[1m[32m7 passed[39m[22m[90m (9)[39m
|
|
130
|
-
[2m Tests [22m[1m[32m46 passed[39m[22m[90m (68)[39m
|
|
131
|
-
[2m Start at [22m20:46:41
|
|
132
|
-
[2m Duration [22m4.07s
|
|
133
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
134
|
-
|
|
135
|
-
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m 13/22[22m
|
|
136
|
-
[1m[33m ❯ [39m[22msrc/__tests__/naming-dotted.test.ts[2m 0/2[22m
|
|
137
|
-
|
|
138
|
-
[2m Test Files [22m[1m[32m7 passed[39m[22m[90m (9)[39m
|
|
139
|
-
[2m Tests [22m[1m[32m57 passed[39m[22m[90m (68)[39m
|
|
140
|
-
[2m Start at [22m20:46:41
|
|
141
|
-
[2m Duration [22m4.17s
|
|
142
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
143
|
-
|
|
144
|
-
[1m[33m ❯ [39m[22msrc/__tests__/analyzer.test.ts[2m 20/22[22m
|
|
145
|
-
[1m[33m ❯ [39m[22msrc/__tests__/naming-dotted.test.ts[2m 0/2[22m
|
|
146
|
-
|
|
147
|
-
[2m Test Files [22m[1m[32m7 passed[39m[22m[90m (9)[39m
|
|
148
|
-
[2m Tests [22m[1m[32m64 passed[39m[22m[90m (68)[39m
|
|
149
|
-
[2m Start at [22m20:46:41
|
|
150
|
-
[2m Duration [22m4.27s
|
|
151
|
-
[?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__/analyzer.test.ts [2m([22m[2m22 tests[22m[2m)[22m[33m 902[2mms[22m[39m
|
|
152
|
-
[33m[2m✓[22m[39m should analyze naming issues [33m 543[2mms[22m[39m
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
[1m[33m ❯ [39m[22msrc/__tests__/naming-dotted.test.ts[2m 0/2[22m
|
|
156
|
-
|
|
157
|
-
[2m Test Files [22m[1m[32m8 passed[39m[22m[90m (9)[39m
|
|
158
|
-
[2m Tests [22m[1m[32m66 passed[39m[22m[90m (68)[39m
|
|
159
|
-
[2m Start at [22m20:46:41
|
|
160
|
-
[2m Duration [22m4.98s
|
|
91
|
+
❯ src/__tests__/analyzer.test.ts [queued]
|
|
92
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
93
|
+
❯ src/__tests__/language-filter.test.ts [queued]
|
|
94
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
95
|
+
❯ src/__tests__/naming.test.ts [queued]
|
|
96
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
97
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
98
|
+
|
|
99
|
+
Test Files 2 passed (9)
|
|
100
|
+
Tests 25 passed (27)
|
|
101
|
+
Start at 09:20:51
|
|
102
|
+
Duration 3.78s
|
|
103
|
+
[?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[1A[K[1A[K ✓ src/__tests__/language-filter.test.ts (3 tests) 5ms
|
|
104
|
+
|
|
105
|
+
❯ src/__tests__/analyzer.test.ts [queued]
|
|
106
|
+
❯ src/__tests__/contract.test.ts [queued]
|
|
107
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
108
|
+
❯ src/__tests__/naming.test.ts 1/5
|
|
109
|
+
❯ src/__tests__/provider.test.ts [queued]
|
|
110
|
+
❯ src/__tests__/scoring.test.ts [queued]
|
|
111
|
+
|
|
112
|
+
Test Files 3 passed (9)
|
|
113
|
+
Tests 29 passed (35)
|
|
114
|
+
Start at 09:20:51
|
|
115
|
+
Duration 3.88s
|
|
116
|
+
[?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[1A[K ✓ src/__tests__/naming.test.ts (5 tests) 6ms
|
|
117
|
+
stdout | src/__tests__/contract.test.ts > Consistency Spoke Contract Validation > should produce output matching the SpokeOutput contract
|
|
118
|
+
Consistency: Skipping unparseable file file1.ts: ENOENT: no such file or directory, open 'file1.ts'
|
|
119
|
+
|
|
120
|
+
✓ src/__tests__/contract.test.ts (1 test) 14ms
|
|
121
|
+
✓ src/__tests__/provider.test.ts (2 tests) 3ms
|
|
122
|
+
✓ src/__tests__/scoring.test.ts (8 tests) 5ms
|
|
123
|
+
|
|
124
|
+
❯ src/__tests__/analyzer.test.ts 0/22
|
|
125
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
126
|
+
|
|
127
|
+
Test Files 7 passed (9)
|
|
128
|
+
Tests 44 passed (68)
|
|
129
|
+
Start at 09:20:51
|
|
130
|
+
Duration 4.09s
|
|
161
131
|
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
132
|
+
❯ src/__tests__/analyzer.test.ts 1/22
|
|
133
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
162
134
|
|
|
163
|
-
|
|
135
|
+
Test Files 7 passed (9)
|
|
136
|
+
Tests 45 passed (68)
|
|
137
|
+
Start at 09:20:51
|
|
138
|
+
Duration 4.39s
|
|
139
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
140
|
+
❯ src/__tests__/analyzer.test.ts 2/22
|
|
141
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
164
142
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
170
|
-
|
|
143
|
+
Test Files 7 passed (9)
|
|
144
|
+
Tests 46 passed (68)
|
|
145
|
+
Start at 09:20:51
|
|
146
|
+
Duration 4.60s
|
|
147
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
148
|
+
❯ src/__tests__/analyzer.test.ts 3/22
|
|
149
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
171
150
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
151
|
+
Test Files 7 passed (9)
|
|
152
|
+
Tests 47 passed (68)
|
|
153
|
+
Start at 09:20:51
|
|
154
|
+
Duration 4.70s
|
|
155
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
156
|
+
❯ src/__tests__/analyzer.test.ts 20/22
|
|
157
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
158
|
+
|
|
159
|
+
Test Files 7 passed (9)
|
|
160
|
+
Tests 64 passed (68)
|
|
161
|
+
Start at 09:20:51
|
|
162
|
+
Duration 4.80s
|
|
163
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K ✓ src/__tests__/analyzer.test.ts (22 tests) 784ms
|
|
164
|
+
✓ should analyze naming issues 429ms
|
|
165
|
+
|
|
166
|
+
❯ src/__tests__/naming-dotted.test.ts 0/2
|
|
167
|
+
|
|
168
|
+
Test Files 8 passed (9)
|
|
169
|
+
Tests 66 passed (68)
|
|
170
|
+
Start at 09:20:51
|
|
171
|
+
Duration 5.10s
|
|
172
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
173
|
+
❯ src/__tests__/naming-dotted.test.ts 1/2
|
|
174
|
+
|
|
175
|
+
Test Files 8 passed (9)
|
|
176
|
+
Tests 67 passed (68)
|
|
177
|
+
Start at 09:20:51
|
|
178
|
+
Duration 5.91s
|
|
179
|
+
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K ✓ src/__tests__/naming-dotted.test.ts (2 tests) 2100ms
|
|
180
|
+
✓ should NOT flag dotted identifiers in Python imports 2096ms
|
|
181
|
+
|
|
182
|
+
Test Files 9 passed (9)
|
|
183
|
+
Tests 68 passed (68)
|
|
184
|
+
Start at 09:20:51
|
|
185
|
+
Duration 5.94s (transform 5.95s, setup 0ms, import 18.62s, tests 2.93s, environment 1ms)
|
|
176
186
|
|
|
177
187
|
[?25h
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiready/consistency",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.25",
|
|
4
4
|
"description": "Detects consistency issues in naming, patterns, and architecture that confuse AI models",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@typescript-eslint/typescript-estree": "^8.58.0",
|
|
44
44
|
"chalk": "^5.6.2",
|
|
45
45
|
"commander": "^14.0.3",
|
|
46
|
-
"@aiready/core": "0.
|
|
46
|
+
"@aiready/core": "0.29.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^24.12.2",
|
|
50
50
|
"tsup": "^8.5.1",
|
|
51
51
|
"typescript": "^6.0.2",
|
|
52
|
-
"vitest": "^4.1.
|
|
52
|
+
"vitest": "^4.1.4"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18.0.0"
|