@aiready/consistency 0.21.8 → 0.21.11

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 (136) hide show
  1. package/.turbo/turbo-build.log +23 -24
  2. package/.turbo/turbo-format-check.log +1 -1
  3. package/.turbo/turbo-lint.log +1 -1
  4. package/.turbo/turbo-test.log +18 -19
  5. package/.turbo/turbo-type-check.log +1 -1
  6. package/dist/index.d.mts +3 -3
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.js +4 -4
  9. package/dist/index.mjs +3 -3
  10. package/package.json +2 -2
  11. package/src/__tests__/provider.test.ts +6 -34
  12. package/src/index.ts +3 -3
  13. package/src/provider.ts +2 -2
  14. package/dist/__tests__/analyzer.test.d.ts +0 -2
  15. package/dist/__tests__/analyzer.test.d.ts.map +0 -1
  16. package/dist/__tests__/analyzer.test.js +0 -157
  17. package/dist/__tests__/analyzer.test.js.map +0 -1
  18. package/dist/__tests__/language-filter.test.d.ts +0 -2
  19. package/dist/__tests__/language-filter.test.d.ts.map +0 -1
  20. package/dist/__tests__/language-filter.test.js +0 -46
  21. package/dist/__tests__/language-filter.test.js.map +0 -1
  22. package/dist/__tests__/scoring.test.d.ts +0 -2
  23. package/dist/__tests__/scoring.test.d.ts.map +0 -1
  24. package/dist/__tests__/scoring.test.js +0 -118
  25. package/dist/__tests__/scoring.test.js.map +0 -1
  26. package/dist/analyzer.d.ts +0 -7
  27. package/dist/analyzer.d.ts.map +0 -1
  28. package/dist/analyzer.js +0 -160
  29. package/dist/analyzer.js.map +0 -1
  30. package/dist/analyzers/naming-ast.d.ts +0 -7
  31. package/dist/analyzers/naming-ast.d.ts.map +0 -1
  32. package/dist/analyzers/naming-ast.js +0 -253
  33. package/dist/analyzers/naming-ast.js.map +0 -1
  34. package/dist/analyzers/naming-constants.d.ts +0 -21
  35. package/dist/analyzers/naming-constants.d.ts.map +0 -1
  36. package/dist/analyzers/naming-constants.js +0 -96
  37. package/dist/analyzers/naming-constants.js.map +0 -1
  38. package/dist/analyzers/naming-python.d.ts +0 -16
  39. package/dist/analyzers/naming-python.d.ts.map +0 -1
  40. package/dist/analyzers/naming-python.js +0 -165
  41. package/dist/analyzers/naming-python.js.map +0 -1
  42. package/dist/analyzers/naming.d.ts +0 -6
  43. package/dist/analyzers/naming.d.ts.map +0 -1
  44. package/dist/analyzers/naming.js +0 -234
  45. package/dist/analyzers/naming.js.map +0 -1
  46. package/dist/analyzers/patterns.d.ts +0 -10
  47. package/dist/analyzers/patterns.d.ts.map +0 -1
  48. package/dist/analyzers/patterns.js +0 -197
  49. package/dist/analyzers/patterns.js.map +0 -1
  50. package/dist/chunk-2BTBNG6X.mjs +0 -814
  51. package/dist/chunk-3ZB6FFRL.mjs +0 -661
  52. package/dist/chunk-5UFRGXSB.mjs +0 -783
  53. package/dist/chunk-66M3TIO7.mjs +0 -837
  54. package/dist/chunk-6BM5MV3S.mjs +0 -719
  55. package/dist/chunk-6H3JHDP7.mjs +0 -832
  56. package/dist/chunk-7PHHJOGC.mjs +0 -1374
  57. package/dist/chunk-AASFXGUR.mjs +0 -1622
  58. package/dist/chunk-AR7DIZLP.mjs +0 -827
  59. package/dist/chunk-BDDMOIU2.mjs +0 -385
  60. package/dist/chunk-BMILMNKJ.mjs +0 -1633
  61. package/dist/chunk-BYY6MD5T.mjs +0 -729
  62. package/dist/chunk-CA4Q5JBK.mjs +0 -1143
  63. package/dist/chunk-CF4LU7KE.mjs +0 -384
  64. package/dist/chunk-CJINEUIH.mjs +0 -1369
  65. package/dist/chunk-CLWNLHDB.mjs +0 -909
  66. package/dist/chunk-CZUJTDNH.mjs +0 -848
  67. package/dist/chunk-DNGW3WQK.mjs +0 -810
  68. package/dist/chunk-DSI3TEO2.mjs +0 -662
  69. package/dist/chunk-EIQ5K6OO.mjs +0 -1579
  70. package/dist/chunk-FEJODRK5.mjs +0 -783
  71. package/dist/chunk-FK56AZ43.mjs +0 -817
  72. package/dist/chunk-H6S7WKSQ.mjs +0 -729
  73. package/dist/chunk-HAOJLJNB.mjs +0 -1290
  74. package/dist/chunk-HJCP36VW.mjs +0 -821
  75. package/dist/chunk-HPG7P6PD.mjs +0 -1372
  76. package/dist/chunk-IVRBV7SE.mjs +0 -1295
  77. package/dist/chunk-IXBC6GVT.mjs +0 -832
  78. package/dist/chunk-J5IFYDVU.mjs +0 -1579
  79. package/dist/chunk-KWQVBF7K.mjs +0 -831
  80. package/dist/chunk-LD3CHHU2.mjs +0 -1297
  81. package/dist/chunk-LMOXGPCM.mjs +0 -722
  82. package/dist/chunk-LSXZH6X6.mjs +0 -810
  83. package/dist/chunk-LUAREV6A.mjs +0 -508
  84. package/dist/chunk-MAPVFXBP.mjs +0 -708
  85. package/dist/chunk-MM2PLUCH.mjs +0 -1376
  86. package/dist/chunk-NPWCJZUG.mjs +0 -708
  87. package/dist/chunk-ON73WHHU.mjs +0 -1310
  88. package/dist/chunk-P6NVKUBB.mjs +0 -831
  89. package/dist/chunk-Q3KTWDSL.mjs +0 -808
  90. package/dist/chunk-Q5XMWG33.mjs +0 -661
  91. package/dist/chunk-QOIPVP6P.mjs +0 -1607
  92. package/dist/chunk-RMEQWG52.mjs +0 -1633
  93. package/dist/chunk-S6BZVTWN.mjs +0 -731
  94. package/dist/chunk-TE6JYZD3.mjs +0 -810
  95. package/dist/chunk-TLVLM3M5.mjs +0 -771
  96. package/dist/chunk-TXHPUU7A.mjs +0 -863
  97. package/dist/chunk-UMBBTNQN.mjs +0 -787
  98. package/dist/chunk-V2UPXL7L.mjs +0 -842
  99. package/dist/chunk-VODCPPET.mjs +0 -1292
  100. package/dist/chunk-W6UGMKRV.mjs +0 -1310
  101. package/dist/chunk-WGH4TGZ3.mjs +0 -1288
  102. package/dist/chunk-WTBDNCEN.mjs +0 -1352
  103. package/dist/chunk-XVW5DKJQ.mjs +0 -1619
  104. package/dist/chunk-YCDCIOJN.mjs +0 -842
  105. package/dist/chunk-YEHXYHGY.mjs +0 -1497
  106. package/dist/chunk-YHHXE2JX.mjs +0 -912
  107. package/dist/chunk-ZB6UK276.mjs +0 -662
  108. package/dist/chunk-ZG3KFSD3.mjs +0 -1142
  109. package/dist/cli.d.ts.map +0 -1
  110. package/dist/cli.js.map +0 -1
  111. package/dist/index.d.ts.map +0 -1
  112. package/dist/index.js.map +0 -1
  113. package/dist/scoring.d.ts +0 -12
  114. package/dist/scoring.d.ts.map +0 -1
  115. package/dist/scoring.js +0 -110
  116. package/dist/scoring.js.map +0 -1
  117. package/dist/types.d.ts +0 -53
  118. package/dist/types.d.ts.map +0 -1
  119. package/dist/types.js +0 -2
  120. package/dist/types.js.map +0 -1
  121. package/dist/utils/ast-parser.d.ts +0 -46
  122. package/dist/utils/ast-parser.d.ts.map +0 -1
  123. package/dist/utils/ast-parser.js +0 -157
  124. package/dist/utils/ast-parser.js.map +0 -1
  125. package/dist/utils/config-loader.d.ts +0 -19
  126. package/dist/utils/config-loader.d.ts.map +0 -1
  127. package/dist/utils/config-loader.js +0 -31
  128. package/dist/utils/config-loader.js.map +0 -1
  129. package/dist/utils/context-detector.d.ts +0 -40
  130. package/dist/utils/context-detector.d.ts.map +0 -1
  131. package/dist/utils/context-detector.js +0 -225
  132. package/dist/utils/context-detector.js.map +0 -1
  133. package/dist/utils/scope-tracker.d.ts +0 -87
  134. package/dist/utils/scope-tracker.d.ts.map +0 -1
  135. package/dist/utils/scope-tracker.js +0 -161
  136. package/dist/utils/scope-tracker.js.map +0 -1
@@ -1,24 +1,23 @@
1
-
2
- 
3
- > @aiready/consistency@0.21.8 build /Users/pengcao/projects/aiready/packages/consistency
4
- > tsup src/index.ts src/cli.ts --format cjs,esm --dts
5
-
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
- CJS dist/cli.js 41.09 KB
13
- CJS dist/index.js 35.50 KB
14
- CJS ⚡️ Build success in 90ms
15
- ESM dist/cli.mjs 8.85 KB
16
- ESM dist/chunk-7DKVZNY7.mjs 30.66 KB
17
- ESM dist/index.mjs 3.26 KB
18
- ESM ⚡️ Build success in 90ms
19
- DTS Build start
20
- DTS ⚡️ Build success in 2961ms
21
- DTS dist/cli.d.ts 20.00 B
22
- DTS dist/index.d.ts 3.94 KB
23
- DTS dist/cli.d.mts 20.00 B
24
- DTS dist/index.d.mts 3.94 KB
1
+
2
+ > @aiready/consistency@0.21.9 build /Users/pengcao/projects/aiready/packages/consistency
3
+ > tsup src/index.ts src/cli.ts --format cjs,esm --dts
4
+
5
+ CLI Building entry: src/cli.ts, src/index.ts
6
+ CLI Using tsconfig: tsconfig.json
7
+ CLI tsup v8.5.1
8
+ CLI Target: es2020
9
+ CJS Build start
10
+ ESM Build start
11
+ CJS dist/cli.js 41.09 KB
12
+ CJS dist/index.js 35.54 KB
13
+ CJS ⚡️ Build success in 94ms
14
+ ESM dist/index.mjs 3.29 KB
15
+ ESM dist/cli.mjs 8.85 KB
16
+ ESM dist/chunk-7DKVZNY7.mjs 30.66 KB
17
+ ESM ⚡️ Build success in 95ms
18
+ DTS Build start
19
+ DTS ⚡️ Build success in 2064ms
20
+ DTS dist/cli.d.ts 20.00 B
21
+ DTS dist/index.d.ts 3.96 KB
22
+ DTS dist/cli.d.mts 20.00 B
23
+ DTS dist/index.d.mts 3.96 KB
@@ -1,6 +1,6 @@
1
1
 
2
2
  
3
- > @aiready/consistency@0.21.8 format-check /Users/pengcao/projects/aiready/packages/consistency
3
+ > @aiready/consistency@0.21.9 format-check /Users/pengcao/projects/aiready/packages/consistency
4
4
  > prettier --check . --ignore-path ../../.prettierignore
5
5
 
6
6
  Checking formatting...
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @aiready/consistency@0.21.8 lint /Users/pengcao/projects/aiready/packages/consistency
3
+ > @aiready/consistency@0.21.9 lint /Users/pengcao/projects/aiready/packages/consistency
4
4
  > eslint src
5
5
 
@@ -1,35 +1,34 @@
1
1
 
2
2
  
3
- > @aiready/consistency@0.21.7 test /Users/pengcao/projects/aiready/packages/consistency
3
+ > @aiready/consistency@0.21.8 test /Users/pengcao/projects/aiready/packages/consistency
4
4
  > vitest run
5
5
 
6
6
  [?25l
7
7
   RUN  v4.0.18 /Users/pengcao/projects/aiready/packages/consistency
8
8
 
9
- ✓ src/__tests__/naming-constants.test.ts (14 tests) 10ms
10
- ✓ src/__tests__/scope-tracker.test.ts (11 tests) 24ms
11
- ✓ dist/__tests__/scoring.test.js (8 tests) 12ms
12
- ✓ src/__tests__/provider.test.ts (2 tests) 8ms
9
+ ✓ src/__tests__/naming-constants.test.ts (14 tests) 5ms
10
+ ✓ src/__tests__/scope-tracker.test.ts (11 tests) 3ms
11
+ ✓ dist/__tests__/scoring.test.js (8 tests) 11ms
12
+ Sourcemap for "/Users/pengcao/projects/aiready/packages/consistency/dist/analyzers/naming-python.js" points to missing source files
13
+ ✓ src/__tests__/scoring.test.ts (8 tests) 46ms
13
14
  ✓ src/__tests__/naming.test.ts (5 tests) 5ms
14
- ✓ src/__tests__/language-filter.test.ts (3 tests) 2ms
15
+ ✓ dist/__tests__/language-filter.test.js (3 tests) 3ms
15
16
  stdout | src/__tests__/contract.test.ts > Consistency Spoke Contract Validation > should produce output matching the SpokeOutput contract
16
17
  Consistency: Skipping unparseable file file1.ts: ENOENT: no such file or directory, open 'file1.ts'
17
18
 
18
- ✓ src/__tests__/contract.test.ts (1 test) 96ms
19
- ✓ src/__tests__/scoring.test.ts (8 tests) 3ms
20
- Sourcemap for "/Users/pengcao/projects/aiready/packages/consistency/dist/analyzers/naming-python.js" points to missing source files
21
- ✓ dist/__tests__/language-filter.test.js (3 tests) 3ms
22
- ✓ src/__tests__/analyzer.test.ts (21 tests) 1001ms
23
- ✓ should analyze naming issues  500ms
24
- ✓ should detect minimum severity filtering  342ms
25
- ✓ dist/__tests__/analyzer.test.js (18 tests) 860ms
26
- ✓ should detect minimum severity filtering  438ms
27
- ✓ src/__tests__/naming-dotted.test.ts (2 tests) 2739ms
28
- ✓ should NOT flag dotted identifiers in Python imports  2735ms
19
+ ✓ src/__tests__/contract.test.ts (1 test) 4ms
20
+ ✓ src/__tests__/provider.test.ts (2 tests) 3ms
21
+ ✓ src/__tests__/language-filter.test.ts (3 tests) 3ms
22
+ ✓ dist/__tests__/analyzer.test.js (18 tests) 681ms
23
+ ✓ should generate relevant recommendations  348ms
24
+ ✓ src/__tests__/analyzer.test.ts (21 tests) 924ms
25
+ ✓ should analyze naming issues  344ms
26
+ ✓ src/__tests__/naming-dotted.test.ts (2 tests) 2374ms
27
+ ✓ should NOT flag dotted identifiers in Python imports  2371ms
29
28
 
30
29
   Test Files  12 passed (12)
31
30
   Tests  96 passed (96)
32
-  Start at  00:08:32
33
-  Duration  6.21s (transform 7.94s, setup 0ms, import 28.04s, tests 4.76s, environment 1ms)
31
+  Start at  00:14:06
32
+  Duration  4.93s (transform 4.78s, setup 0ms, import 18.96s, tests 4.06s, environment 1ms)
34
33
 
35
34
  [?25h
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @aiready/consistency@0.21.8 type-check /Users/pengcao/projects/aiready/packages/consistency
3
+ > @aiready/consistency@0.21.9 type-check /Users/pengcao/projects/aiready/packages/consistency
4
4
  > tsc --noEmit
5
5
 
package/dist/index.d.mts CHANGED
@@ -2,9 +2,9 @@ import * as _aiready_core from '@aiready/core';
2
2
  import { Severity, Issue, IssueType, ScanOptions, AnalysisResult, CostConfig, ToolScoringOutput } from '@aiready/core';
3
3
 
4
4
  /**
5
- * Consistency Tool Provider
5
+ * Naming Consistency Tool Provider
6
6
  */
7
- declare const ConsistencyProvider: _aiready_core.ToolProvider;
7
+ declare const NAMING_CONSISTENCY_PROVIDER: _aiready_core.ToolProvider;
8
8
 
9
9
  interface ConsistencyOptions extends ScanOptions {
10
10
  /** Check naming conventions and quality */
@@ -112,4 +112,4 @@ declare function calculateConsistencyScore(issues: ConsistencyIssue[], totalFile
112
112
 
113
113
  declare function generateSummary(report: any): any;
114
114
 
115
- export { type ArchitectureIssue, type ConsistencyIssue, type ConsistencyOptions, ConsistencyProvider, type ConsistencyReport, type NamingIssue, type PatternIssue, analyzeConsistency, analyzeNaming, analyzeNamingAST, analyzePatterns, calculateConsistencyScore, detectNamingConventions, generateSummary };
115
+ export { type ArchitectureIssue, type ConsistencyIssue, type ConsistencyOptions, type ConsistencyReport, NAMING_CONSISTENCY_PROVIDER, type NamingIssue, type PatternIssue, analyzeConsistency, analyzeNaming, analyzeNamingAST, analyzePatterns, calculateConsistencyScore, detectNamingConventions, generateSummary };
package/dist/index.d.ts CHANGED
@@ -2,9 +2,9 @@ import * as _aiready_core from '@aiready/core';
2
2
  import { Severity, Issue, IssueType, ScanOptions, AnalysisResult, CostConfig, ToolScoringOutput } from '@aiready/core';
3
3
 
4
4
  /**
5
- * Consistency Tool Provider
5
+ * Naming Consistency Tool Provider
6
6
  */
7
- declare const ConsistencyProvider: _aiready_core.ToolProvider;
7
+ declare const NAMING_CONSISTENCY_PROVIDER: _aiready_core.ToolProvider;
8
8
 
9
9
  interface ConsistencyOptions extends ScanOptions {
10
10
  /** Check naming conventions and quality */
@@ -112,4 +112,4 @@ declare function calculateConsistencyScore(issues: ConsistencyIssue[], totalFile
112
112
 
113
113
  declare function generateSummary(report: any): any;
114
114
 
115
- export { type ArchitectureIssue, type ConsistencyIssue, type ConsistencyOptions, ConsistencyProvider, type ConsistencyReport, type NamingIssue, type PatternIssue, analyzeConsistency, analyzeNaming, analyzeNamingAST, analyzePatterns, calculateConsistencyScore, detectNamingConventions, generateSummary };
115
+ export { type ArchitectureIssue, type ConsistencyIssue, type ConsistencyOptions, type ConsistencyReport, NAMING_CONSISTENCY_PROVIDER, type NamingIssue, type PatternIssue, analyzeConsistency, analyzeNaming, analyzeNamingAST, analyzePatterns, calculateConsistencyScore, detectNamingConventions, generateSummary };
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- ConsistencyProvider: () => ConsistencyProvider,
23
+ NAMING_CONSISTENCY_PROVIDER: () => NAMING_CONSISTENCY_PROVIDER,
24
24
  analyzeConsistency: () => analyzeConsistency,
25
25
  analyzeNaming: () => analyzeNaming,
26
26
  analyzeNamingAST: () => analyzeNamingAST,
@@ -1166,7 +1166,7 @@ function transformToIssue(i) {
1166
1166
  }
1167
1167
 
1168
1168
  // src/provider.ts
1169
- var ConsistencyProvider = (0, import_core7.createProvider)({
1169
+ var NAMING_CONSISTENCY_PROVIDER = (0, import_core7.createProvider)({
1170
1170
  id: import_core7.ToolName.NamingConsistency,
1171
1171
  alias: ["consistency", "naming", "standards"],
1172
1172
  version: "0.16.5",
@@ -1257,13 +1257,13 @@ async function analyzeNaming(filePaths) {
1257
1257
  }
1258
1258
 
1259
1259
  // src/index.ts
1260
- import_core9.ToolRegistry.register(ConsistencyProvider);
1260
+ import_core9.ToolRegistry.register(NAMING_CONSISTENCY_PROVIDER);
1261
1261
  function generateSummary(report) {
1262
1262
  return report.summary;
1263
1263
  }
1264
1264
  // Annotate the CommonJS export names for ESM import in node:
1265
1265
  0 && (module.exports = {
1266
- ConsistencyProvider,
1266
+ NAMING_CONSISTENCY_PROVIDER,
1267
1267
  analyzeConsistency,
1268
1268
  analyzeNaming,
1269
1269
  analyzeNamingAST,
package/dist/index.mjs CHANGED
@@ -13,7 +13,7 @@ import { ToolRegistry } from "@aiready/core";
13
13
 
14
14
  // src/provider.ts
15
15
  import { createProvider, ToolName } from "@aiready/core";
16
- var ConsistencyProvider = createProvider({
16
+ var NAMING_CONSISTENCY_PROVIDER = createProvider({
17
17
  id: ToolName.NamingConsistency,
18
18
  alias: ["consistency", "naming", "standards"],
19
19
  version: "0.16.5",
@@ -104,12 +104,12 @@ async function analyzeNaming(filePaths) {
104
104
  }
105
105
 
106
106
  // src/index.ts
107
- ToolRegistry.register(ConsistencyProvider);
107
+ ToolRegistry.register(NAMING_CONSISTENCY_PROVIDER);
108
108
  function generateSummary(report) {
109
109
  return report.summary;
110
110
  }
111
111
  export {
112
- ConsistencyProvider,
112
+ NAMING_CONSISTENCY_PROVIDER,
113
113
  analyzeConsistency,
114
114
  analyzeNaming,
115
115
  analyzeNamingAST,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiready/consistency",
3
- "version": "0.21.8",
3
+ "version": "0.21.11",
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,7 +43,7 @@
43
43
  "@typescript-eslint/typescript-estree": "^8.53.0",
44
44
  "chalk": "^5.3.0",
45
45
  "commander": "^14.0.0",
46
- "@aiready/core": "0.24.8"
46
+ "@aiready/core": "0.24.12"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^24.0.0",
@@ -1,40 +1,12 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { ConsistencyProvider } from '../provider';
3
- import * as analyzer from '../analyzer';
4
-
5
- vi.mock('../analyzer', () => ({
6
- analyzeConsistency: vi.fn(),
7
- }));
1
+ import { describe, it, expect } from 'vitest';
2
+ import { NAMING_CONSISTENCY_PROVIDER } from '../provider';
8
3
 
9
4
  describe('Consistency Provider', () => {
10
- it('should analyze and return SpokeOutput', async () => {
11
- vi.mocked(analyzer.analyzeConsistency).mockResolvedValue({
12
- summary: {
13
- totalIssues: 0,
14
- namingIssues: 0,
15
- patternIssues: 0,
16
- architectureIssues: 0,
17
- filesAnalyzed: 1,
18
- },
19
- results: [],
20
- recommendations: [],
21
- });
22
-
23
- const output = await ConsistencyProvider.analyze({ rootDir: '.' });
24
-
25
- expect(output.summary.filesAnalyzed).toBe(1);
26
- expect(output.metadata!.toolName).toBe('naming-consistency');
5
+ it('should have correct ID', () => {
6
+ expect(NAMING_CONSISTENCY_PROVIDER.id).toBe('naming-consistency');
27
7
  });
28
8
 
29
- it('should score an output', () => {
30
- const mockOutput = {
31
- summary: { filesAnalyzed: 10 } as any,
32
- results: [{ fileName: 'f1.ts', issues: [] }],
33
- };
34
-
35
- const scoring = ConsistencyProvider.score(mockOutput as any, {
36
- rootDir: '.',
37
- });
38
- expect(scoring.score).toBeDefined();
9
+ it('should have alias', () => {
10
+ expect(NAMING_CONSISTENCY_PROVIDER.alias).toContain('consistency');
39
11
  });
40
12
  });
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ToolRegistry } from '@aiready/core';
2
- import { ConsistencyProvider } from './provider';
2
+ import { NAMING_CONSISTENCY_PROVIDER } from './provider';
3
3
 
4
4
  // Register with global registry
5
- ToolRegistry.register(ConsistencyProvider);
5
+ ToolRegistry.register(NAMING_CONSISTENCY_PROVIDER);
6
6
 
7
7
  export { analyzeConsistency } from './analyzer';
8
8
  export function generateSummary(report: any) {
@@ -13,7 +13,7 @@ export { analyzeNaming } from './analyzers/naming'; // Legacy regex version
13
13
  export { detectNamingConventions } from './analyzers/naming-constants';
14
14
  export { analyzePatterns } from './analyzers/patterns';
15
15
  export { calculateConsistencyScore } from './scoring';
16
- export { ConsistencyProvider };
16
+ export { NAMING_CONSISTENCY_PROVIDER };
17
17
  export type {
18
18
  ConsistencyOptions,
19
19
  ConsistencyReport,
package/src/provider.ts CHANGED
@@ -4,9 +4,9 @@ import { calculateConsistencyScore } from './scoring';
4
4
  import { ConsistencyOptions, ConsistencyIssue } from './types';
5
5
 
6
6
  /**
7
- * Consistency Tool Provider
7
+ * Naming Consistency Tool Provider
8
8
  */
9
- export const ConsistencyProvider = createProvider({
9
+ export const NAMING_CONSISTENCY_PROVIDER = createProvider({
10
10
  id: ToolName.NamingConsistency,
11
11
  alias: ['consistency', 'naming', 'standards'],
12
12
  version: '0.16.5',
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=analyzer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/analyzer.test.ts"],"names":[],"mappings":""}
@@ -1,157 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { analyzeConsistency } from '../analyzer';
3
- import { analyzePatterns } from '../analyzers/patterns';
4
- describe('analyzeConsistency', () => {
5
- it('should analyze naming issues', async () => {
6
- const report = await analyzeConsistency({
7
- rootDir: './src',
8
- checkNaming: true,
9
- checkPatterns: false,
10
- });
11
- expect(report).toHaveProperty('summary');
12
- expect(report).toHaveProperty('results');
13
- expect(report).toHaveProperty('recommendations');
14
- expect(report.summary).toHaveProperty('namingIssues');
15
- });
16
- it('should detect minimum severity filtering', async () => {
17
- const report = await analyzeConsistency({
18
- rootDir: './src',
19
- minSeverity: 'major',
20
- });
21
- // All issues should be major or critical
22
- for (const result of report.results) {
23
- for (const issue of result.issues) {
24
- expect(['major', 'critical']).toContain(issue.severity);
25
- }
26
- }
27
- });
28
- });
29
- describe('analyzeNaming', () => {
30
- it('should detect single letter variables', () => {
31
- const testCode = `
32
- const x = 10;
33
- const y = 20;
34
- const result = x + y;
35
- `;
36
- // In a real test, we'd create temp files or mock file reading
37
- // For now, this is a placeholder structure
38
- expect(true).toBe(true);
39
- });
40
- it('should NOT flag acceptable abbreviations', () => {
41
- // These should all be acceptable and NOT flagged
42
- const acceptableAbbreviations = [
43
- 'env', 'req', 'res', 'ctx', 'err', 'api', 'url', 'id',
44
- 'max', 'min', 'now', 'utm', 'has', 'is', 'can',
45
- 'db', 'fs', 'os', 'ui', 'tmp', 'src', 'dst',
46
- // New additions from Phase 1
47
- 'img', 'txt', 'doc', 'md', 'ts', 'js', 'ddb', 's3',
48
- 'fcp', 'lcp', 'fps', 'po', 'dto', 'e2e', 'a11y', 'i18n'
49
- ];
50
- // These abbreviations should not trigger warnings
51
- expect(acceptableAbbreviations.length).toBeGreaterThan(0);
52
- });
53
- it('should NOT flag common short English words', () => {
54
- // Full words, not abbreviations - should be accepted
55
- const commonWords = [
56
- 'day', 'key', 'net', 'to', 'go', 'for', 'not', 'new', 'old',
57
- 'top', 'end', 'run', 'try', 'use', 'get', 'set', 'add', 'put'
58
- ];
59
- // These are full words and should not be flagged as abbreviations
60
- expect(commonWords.length).toBeGreaterThan(0);
61
- });
62
- it('should detect snake_case in TypeScript files', () => {
63
- const testCode = `
64
- const user_name = 'John';
65
- const user_id = 123;
66
- `;
67
- // Test would check for convention-mix issues
68
- expect(true).toBe(true);
69
- });
70
- it('should detect unclear boolean names', () => {
71
- const testCode = `
72
- const enabled: boolean = true;
73
- const active: boolean = false;
74
- `;
75
- // Should suggest prefixes like isEnabled, isActive
76
- expect(true).toBe(true);
77
- });
78
- it('should allow common abbreviations', () => {
79
- const testCode = `
80
- const id = '123';
81
- const url = 'https://example.com';
82
- const api = new ApiClient();
83
- `;
84
- // Should not flag these as issues
85
- expect(true).toBe(true);
86
- });
87
- it('should NOT flag multi-line arrow function parameters (Phase 3)', () => {
88
- // Multi-line arrow functions should not trigger single-letter warnings
89
- const multiLineArrowCode = `
90
- items.map(
91
- s => s.value
92
- )
93
-
94
- items.filter(
95
- item =>
96
- item.valid
97
- )
98
- `;
99
- // 's' and 'item' should not be flagged as poor naming
100
- expect(true).toBe(true);
101
- });
102
- it('should NOT flag short-lived comparison variables (Phase 3)', () => {
103
- // Variables used only within 3-5 lines for comparisons
104
- const shortLivedCode = `
105
- const a = obj1;
106
- const b = obj2;
107
- return compare(a, b);
108
- `;
109
- // 'a' and 'b' should not be flagged as they're short-lived
110
- expect(true).toBe(true);
111
- });
112
- });
113
- describe('analyzePatterns', () => {
114
- it('should detect mixed error handling', async () => {
115
- // Test would analyze files with different error handling approaches
116
- const issues = await analyzePatterns([]);
117
- expect(Array.isArray(issues)).toBe(true);
118
- });
119
- it('should detect mixed async patterns', async () => {
120
- // Test would check for async/await vs promises vs callbacks
121
- const issues = await analyzePatterns([]);
122
- expect(Array.isArray(issues)).toBe(true);
123
- });
124
- it('should detect mixed import styles', async () => {
125
- // Test would check for ES modules vs CommonJS
126
- const issues = await analyzePatterns([]);
127
- expect(Array.isArray(issues)).toBe(true);
128
- });
129
- });
130
- describe('consistency scoring', () => {
131
- it('should calculate consistency score correctly', () => {
132
- // Lower issues = higher score
133
- expect(true).toBe(true);
134
- });
135
- it('should weight critical issues more than info', () => {
136
- // Critical issues should reduce score more
137
- expect(true).toBe(true);
138
- });
139
- });
140
- describe('recommendations', () => {
141
- it('should generate relevant recommendations', async () => {
142
- const report = await analyzeConsistency({
143
- rootDir: './src',
144
- });
145
- expect(Array.isArray(report.recommendations)).toBe(true);
146
- expect(report.recommendations.length).toBeGreaterThan(0);
147
- });
148
- it('should suggest standardizing error handling', () => {
149
- // When mixed error handling detected
150
- expect(true).toBe(true);
151
- });
152
- it('should suggest using async/await consistently', () => {
153
- // When mixed async patterns detected
154
- expect(true).toBe(true);
155
- });
156
- });
157
- //# sourceMappingURL=analyzer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.test.js","sourceRoot":"","sources":["../../src/__tests__/analyzer.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=language-filter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-filter.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/language-filter.test.ts"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { analyzeNamingAST } from '../analyzers/naming-ast';
3
- describe('Language File Filtering', () => {
4
- beforeEach(() => {
5
- // Suppress console warnings during tests
6
- vi.spyOn(console, 'warn').mockImplementation(() => { });
7
- });
8
- it('should only process JS/TS files', async () => {
9
- const mixedFiles = [
10
- '/path/to/file.ts',
11
- '/path/to/file.tsx',
12
- '/path/to/file.js',
13
- '/path/to/file.jsx',
14
- '/path/to/file.py', // Should be filtered out
15
- '/path/to/file.java', // Should be filtered out
16
- '/path/to/file.rb', // Should be filtered out
17
- '/path/to/file.go', // Should be filtered out
18
- ];
19
- // This test verifies that the function doesn't crash on non-JS/TS files
20
- // In reality, it will try to read these files if they exist, but parseFile will return null
21
- // and they'll be skipped. The filtering happens before parseFile is called.
22
- await expect(analyzeNamingAST(mixedFiles)).resolves.not.toThrow();
23
- });
24
- it('should filter out Python files before parsing', async () => {
25
- const files = [
26
- '/path/to/script.py',
27
- '/path/to/another.py',
28
- ];
29
- // Should not attempt to parse Python files
30
- const result = await analyzeNamingAST(files);
31
- expect(result).toEqual([]);
32
- });
33
- it('should accept all JS/TS file extensions', async () => {
34
- const jstsFiles = [
35
- 'test.js',
36
- 'test.jsx',
37
- 'test.ts',
38
- 'test.tsx',
39
- 'TEST.JS', // Test case-insensitive
40
- 'TEST.TS',
41
- ];
42
- // These should all pass the filter (though they won't parse if they don't exist)
43
- await expect(analyzeNamingAST(jstsFiles)).resolves.not.toThrow();
44
- });
45
- });
46
- //# sourceMappingURL=language-filter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-filter.test.js","sourceRoot":"","sources":["../../src/__tests__/language-filter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,UAAU,CAAC,GAAG,EAAE;QACd,yCAAyC;QACzC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,UAAU,GAAG;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB,EAAM,yBAAyB;YACjD,oBAAoB,EAAI,yBAAyB;YACjD,kBAAkB,EAAM,yBAAyB;YACjD,kBAAkB,EAAM,yBAAyB;SAClD,CAAC;QAEF,wEAAwE;QACxE,4FAA4F;QAC5F,4EAA4E;QAC5E,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG;YACZ,oBAAoB;YACpB,qBAAqB;SACtB,CAAC;QAEF,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG;YAChB,SAAS;YACT,UAAU;YACV,SAAS;YACT,UAAU;YACV,SAAS,EAAG,wBAAwB;YACpC,SAAS;SACV,CAAC;QAEF,iFAAiF;QACjF,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=scoring.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scoring.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/scoring.test.ts"],"names":[],"mappings":""}