@opensip-cli/checks-universal 0.1.9 → 0.1.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 (206) hide show
  1. package/README.md +4 -2
  2. package/dist/__tests__/all-checks-execute.test.d.ts.map +1 -1
  3. package/dist/__tests__/all-checks-execute.test.js +0 -1
  4. package/dist/__tests__/all-checks-execute.test.js.map +1 -1
  5. package/dist/__tests__/behavior-fixtures-10.test.d.ts.map +1 -1
  6. package/dist/__tests__/behavior-fixtures-10.test.js +0 -1
  7. package/dist/__tests__/behavior-fixtures-10.test.js.map +1 -1
  8. package/dist/__tests__/behavior-fixtures-11.test.d.ts.map +1 -1
  9. package/dist/__tests__/behavior-fixtures-11.test.js +0 -1
  10. package/dist/__tests__/behavior-fixtures-11.test.js.map +1 -1
  11. package/dist/__tests__/behavior-fixtures-12.test.d.ts.map +1 -1
  12. package/dist/__tests__/behavior-fixtures-12.test.js +0 -1
  13. package/dist/__tests__/behavior-fixtures-12.test.js.map +1 -1
  14. package/dist/__tests__/behavior-fixtures-2.test.d.ts.map +1 -1
  15. package/dist/__tests__/behavior-fixtures-2.test.js +0 -1
  16. package/dist/__tests__/behavior-fixtures-2.test.js.map +1 -1
  17. package/dist/__tests__/behavior-fixtures-3.test.d.ts.map +1 -1
  18. package/dist/__tests__/behavior-fixtures-3.test.js +0 -1
  19. package/dist/__tests__/behavior-fixtures-3.test.js.map +1 -1
  20. package/dist/__tests__/behavior-fixtures-4.test.d.ts.map +1 -1
  21. package/dist/__tests__/behavior-fixtures-4.test.js +0 -1
  22. package/dist/__tests__/behavior-fixtures-4.test.js.map +1 -1
  23. package/dist/__tests__/behavior-fixtures-5.test.d.ts.map +1 -1
  24. package/dist/__tests__/behavior-fixtures-5.test.js +0 -1
  25. package/dist/__tests__/behavior-fixtures-5.test.js.map +1 -1
  26. package/dist/__tests__/behavior-fixtures-6.test.d.ts.map +1 -1
  27. package/dist/__tests__/behavior-fixtures-6.test.js +0 -1
  28. package/dist/__tests__/behavior-fixtures-6.test.js.map +1 -1
  29. package/dist/__tests__/behavior-fixtures-7.test.d.ts.map +1 -1
  30. package/dist/__tests__/behavior-fixtures-7.test.js +0 -1
  31. package/dist/__tests__/behavior-fixtures-7.test.js.map +1 -1
  32. package/dist/__tests__/behavior-fixtures-8.test.d.ts.map +1 -1
  33. package/dist/__tests__/behavior-fixtures-8.test.js +2 -3
  34. package/dist/__tests__/behavior-fixtures-8.test.js.map +1 -1
  35. package/dist/__tests__/behavior-fixtures-9.test.d.ts.map +1 -1
  36. package/dist/__tests__/behavior-fixtures-9.test.js +0 -1
  37. package/dist/__tests__/behavior-fixtures-9.test.js.map +1 -1
  38. package/dist/__tests__/behavior-fixtures.test.d.ts.map +1 -1
  39. package/dist/__tests__/behavior-fixtures.test.js +10 -9
  40. package/dist/__tests__/behavior-fixtures.test.js.map +1 -1
  41. package/dist/__tests__/file-length-limit.test.js +12 -1
  42. package/dist/__tests__/file-length-limit.test.js.map +1 -1
  43. package/dist/checks/architecture/__tests__/tool-identity-single-source.test.d.ts +2 -0
  44. package/dist/checks/architecture/__tests__/tool-identity-single-source.test.d.ts.map +1 -0
  45. package/dist/checks/architecture/__tests__/tool-identity-single-source.test.js +61 -0
  46. package/dist/checks/architecture/__tests__/tool-identity-single-source.test.js.map +1 -0
  47. package/dist/checks/architecture/docker-best-practices-analyze.d.ts +7 -0
  48. package/dist/checks/architecture/docker-best-practices-analyze.d.ts.map +1 -0
  49. package/dist/checks/architecture/docker-best-practices-analyze.js +301 -0
  50. package/dist/checks/architecture/docker-best-practices-analyze.js.map +1 -0
  51. package/dist/checks/architecture/docker-best-practices-patterns.d.ts +50 -0
  52. package/dist/checks/architecture/docker-best-practices-patterns.d.ts.map +1 -0
  53. package/dist/checks/architecture/docker-best-practices-patterns.js +51 -0
  54. package/dist/checks/architecture/docker-best-practices-patterns.js.map +1 -0
  55. package/dist/checks/architecture/docker-best-practices.d.ts.map +1 -1
  56. package/dist/checks/architecture/docker-best-practices.js +1 -367
  57. package/dist/checks/architecture/docker-best-practices.js.map +1 -1
  58. package/dist/checks/architecture/docker-ignore-validation.d.ts.map +1 -1
  59. package/dist/checks/architecture/docker-ignore-validation.js +0 -1
  60. package/dist/checks/architecture/docker-ignore-validation.js.map +1 -1
  61. package/dist/checks/architecture/docker-version-sync.d.ts.map +1 -1
  62. package/dist/checks/architecture/docker-version-sync.js +0 -1
  63. package/dist/checks/architecture/docker-version-sync.js.map +1 -1
  64. package/dist/checks/architecture/heavy-import-detection.d.ts.map +1 -1
  65. package/dist/checks/architecture/heavy-import-detection.js +1 -0
  66. package/dist/checks/architecture/heavy-import-detection.js.map +1 -1
  67. package/dist/checks/architecture/index.d.ts +1 -0
  68. package/dist/checks/architecture/index.d.ts.map +1 -1
  69. package/dist/checks/architecture/index.js +1 -0
  70. package/dist/checks/architecture/index.js.map +1 -1
  71. package/dist/checks/architecture/modules/empty-package-detection.d.ts.map +1 -1
  72. package/dist/checks/architecture/modules/empty-package-detection.js +0 -1
  73. package/dist/checks/architecture/modules/empty-package-detection.js.map +1 -1
  74. package/dist/checks/architecture/modules/interface-implementation-consistency-constants.d.ts +16 -0
  75. package/dist/checks/architecture/modules/interface-implementation-consistency-constants.d.ts.map +1 -0
  76. package/dist/checks/architecture/modules/interface-implementation-consistency-constants.js +182 -0
  77. package/dist/checks/architecture/modules/interface-implementation-consistency-constants.js.map +1 -0
  78. package/dist/checks/architecture/modules/interface-implementation-consistency-parse.d.ts +23 -0
  79. package/dist/checks/architecture/modules/interface-implementation-consistency-parse.d.ts.map +1 -0
  80. package/dist/checks/architecture/modules/interface-implementation-consistency-parse.js +235 -0
  81. package/dist/checks/architecture/modules/interface-implementation-consistency-parse.js.map +1 -0
  82. package/dist/checks/architecture/modules/interface-implementation-consistency.d.ts.map +1 -1
  83. package/dist/checks/architecture/modules/interface-implementation-consistency.js +4 -462
  84. package/dist/checks/architecture/modules/interface-implementation-consistency.js.map +1 -1
  85. package/dist/checks/architecture/node-version-consistency.d.ts.map +1 -1
  86. package/dist/checks/architecture/node-version-consistency.js +0 -2
  87. package/dist/checks/architecture/node-version-consistency.js.map +1 -1
  88. package/dist/checks/architecture/stale-build-artifacts.d.ts.map +1 -1
  89. package/dist/checks/architecture/stale-build-artifacts.js +0 -1
  90. package/dist/checks/architecture/stale-build-artifacts.js.map +1 -1
  91. package/dist/checks/architecture/tool-has-manifest.d.ts.map +1 -1
  92. package/dist/checks/architecture/tool-has-manifest.js +0 -1
  93. package/dist/checks/architecture/tool-has-manifest.js.map +1 -1
  94. package/dist/checks/architecture/tool-identity-single-source.d.ts +23 -0
  95. package/dist/checks/architecture/tool-identity-single-source.d.ts.map +1 -0
  96. package/dist/checks/architecture/tool-identity-single-source.js +126 -0
  97. package/dist/checks/architecture/tool-identity-single-source.js.map +1 -0
  98. package/dist/checks/documentation/_public-api-graph.d.ts +3 -26
  99. package/dist/checks/documentation/_public-api-graph.d.ts.map +1 -1
  100. package/dist/checks/documentation/_public-api-graph.js +3 -300
  101. package/dist/checks/documentation/_public-api-graph.js.map +1 -1
  102. package/dist/checks/documentation/directive-audit.d.ts.map +1 -1
  103. package/dist/checks/documentation/directive-audit.js +0 -1
  104. package/dist/checks/documentation/directive-audit.js.map +1 -1
  105. package/dist/checks/file-length-limit.d.ts +7 -0
  106. package/dist/checks/file-length-limit.d.ts.map +1 -1
  107. package/dist/checks/file-length-limit.js +14 -2
  108. package/dist/checks/file-length-limit.js.map +1 -1
  109. package/dist/checks/quality/code-structure/dead-code.d.ts.map +1 -1
  110. package/dist/checks/quality/code-structure/dead-code.js +0 -1
  111. package/dist/checks/quality/code-structure/dead-code.js.map +1 -1
  112. package/dist/checks/quality/dependency-version-consistency.d.ts.map +1 -1
  113. package/dist/checks/quality/dependency-version-consistency.js +0 -2
  114. package/dist/checks/quality/dependency-version-consistency.js.map +1 -1
  115. package/dist/checks/quality/frontend/navigation-typing.d.ts.map +1 -1
  116. package/dist/checks/quality/frontend/navigation-typing.js +0 -1
  117. package/dist/checks/quality/frontend/navigation-typing.js.map +1 -1
  118. package/dist/checks/quality/index.d.ts +1 -0
  119. package/dist/checks/quality/index.d.ts.map +1 -1
  120. package/dist/checks/quality/index.js +1 -0
  121. package/dist/checks/quality/index.js.map +1 -1
  122. package/dist/checks/quality/linting/eslint-justifications.d.ts.map +1 -1
  123. package/dist/checks/quality/linting/eslint-justifications.js +0 -1
  124. package/dist/checks/quality/linting/eslint-justifications.js.map +1 -1
  125. package/dist/checks/quality/no-raw-regex-on-code.d.ts.map +1 -1
  126. package/dist/checks/quality/no-raw-regex-on-code.js +2 -3
  127. package/dist/checks/quality/no-raw-regex-on-code.js.map +1 -1
  128. package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.d.ts +5 -0
  129. package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.d.ts.map +1 -0
  130. package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.js +66 -0
  131. package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.js.map +1 -0
  132. package/dist/checks/quality/patterns/performance-anti-patterns.d.ts +3 -0
  133. package/dist/checks/quality/patterns/performance-anti-patterns.d.ts.map +1 -1
  134. package/dist/checks/quality/patterns/performance-anti-patterns.js +47 -30
  135. package/dist/checks/quality/patterns/performance-anti-patterns.js.map +1 -1
  136. package/dist/checks/quality/yagni-ignore-hygiene.d.ts +10 -0
  137. package/dist/checks/quality/yagni-ignore-hygiene.d.ts.map +1 -0
  138. package/dist/checks/quality/yagni-ignore-hygiene.js +87 -0
  139. package/dist/checks/quality/yagni-ignore-hygiene.js.map +1 -0
  140. package/dist/checks/quality/yagni-ignore-hygiene.test.d.ts +5 -0
  141. package/dist/checks/quality/yagni-ignore-hygiene.test.d.ts.map +1 -0
  142. package/dist/checks/quality/yagni-ignore-hygiene.test.js +37 -0
  143. package/dist/checks/quality/yagni-ignore-hygiene.test.js.map +1 -0
  144. package/dist/checks/resilience/batch-operation-limits.d.ts +13 -0
  145. package/dist/checks/resilience/batch-operation-limits.d.ts.map +1 -0
  146. package/dist/checks/resilience/batch-operation-limits.js +160 -0
  147. package/dist/checks/resilience/batch-operation-limits.js.map +1 -0
  148. package/dist/checks/resilience/batch-operations.d.ts +2 -21
  149. package/dist/checks/resilience/batch-operations.d.ts.map +1 -1
  150. package/dist/checks/resilience/batch-operations.js +2 -420
  151. package/dist/checks/resilience/batch-operations.js.map +1 -1
  152. package/dist/checks/resilience/dangerous-config-defaults.d.ts.map +1 -1
  153. package/dist/checks/resilience/dangerous-config-defaults.js +0 -1
  154. package/dist/checks/resilience/dangerous-config-defaults.js.map +1 -1
  155. package/dist/checks/resilience/exit-code-correctness.d.ts.map +1 -1
  156. package/dist/checks/resilience/exit-code-correctness.js +0 -1
  157. package/dist/checks/resilience/exit-code-correctness.js.map +1 -1
  158. package/dist/checks/resilience/no-process-exit-in-finally.d.ts.map +1 -1
  159. package/dist/checks/resilience/no-process-exit-in-finally.js +0 -1
  160. package/dist/checks/resilience/no-process-exit-in-finally.js.map +1 -1
  161. package/dist/checks/resilience/readline-cleanup.d.ts.map +1 -1
  162. package/dist/checks/resilience/readline-cleanup.js +0 -1
  163. package/dist/checks/resilience/readline-cleanup.js.map +1 -1
  164. package/dist/checks/resilience/reentrancy-guard.d.ts.map +1 -1
  165. package/dist/checks/resilience/reentrancy-guard.js +0 -1
  166. package/dist/checks/resilience/reentrancy-guard.js.map +1 -1
  167. package/dist/checks/resilience/service-patterns.d.ts.map +1 -1
  168. package/dist/checks/resilience/service-patterns.js +0 -1
  169. package/dist/checks/resilience/service-patterns.js.map +1 -1
  170. package/dist/checks/resilience/unbounded-memory.d.ts +13 -0
  171. package/dist/checks/resilience/unbounded-memory.d.ts.map +1 -0
  172. package/dist/checks/resilience/unbounded-memory.js +229 -0
  173. package/dist/checks/resilience/unbounded-memory.js.map +1 -0
  174. package/dist/checks/security/csp-headers.d.ts.map +1 -1
  175. package/dist/checks/security/csp-headers.js +0 -1
  176. package/dist/checks/security/csp-headers.js.map +1 -1
  177. package/dist/checks/security/hasura-production-config.d.ts.map +1 -1
  178. package/dist/checks/security/hasura-production-config.js +0 -1
  179. package/dist/checks/security/hasura-production-config.js.map +1 -1
  180. package/dist/checks/security/jwt-validation.d.ts.map +1 -1
  181. package/dist/checks/security/jwt-validation.js +0 -2
  182. package/dist/checks/security/jwt-validation.js.map +1 -1
  183. package/dist/checks/security/package-supply-chain-policy.d.ts.map +1 -1
  184. package/dist/checks/security/package-supply-chain-policy.js +9 -15
  185. package/dist/checks/security/package-supply-chain-policy.js.map +1 -1
  186. package/dist/checks/security/semgrep-scan.d.ts.map +1 -1
  187. package/dist/checks/security/semgrep-scan.js +0 -1
  188. package/dist/checks/security/semgrep-scan.js.map +1 -1
  189. package/dist/checks/security/use-centralized-crypto.d.ts.map +1 -1
  190. package/dist/checks/security/use-centralized-crypto.js +2 -3
  191. package/dist/checks/security/use-centralized-crypto.js.map +1 -1
  192. package/dist/checks/testing/test-convention-consistency.d.ts.map +1 -1
  193. package/dist/checks/testing/test-convention-consistency.js +0 -1
  194. package/dist/checks/testing/test-convention-consistency.js.map +1 -1
  195. package/dist/checks/testing/test-file-pairing.js +3 -6
  196. package/dist/checks/testing/test-file-pairing.js.map +1 -1
  197. package/dist/display/architecture.d.ts.map +1 -1
  198. package/dist/display/architecture.js +1 -0
  199. package/dist/display/architecture.js.map +1 -1
  200. package/dist/display/quality.d.ts.map +1 -1
  201. package/dist/display/quality.js +1 -0
  202. package/dist/display/quality.js.map +1 -1
  203. package/dist/display/types.d.ts.map +1 -1
  204. package/dist/display/types.js +0 -1
  205. package/dist/display/types.js.map +1 -1
  206. package/package.json +4 -4
@@ -1,5 +1,4 @@
1
1
  // @fitness-ignore-file fitness-check-standards -- Dockerfile check scans non-standard file types that do not map to a fileTypes extension array
2
- // @fitness-ignore-file file-length-limit -- Complex module with tightly coupled logic; refactoring would risk breaking changes
3
2
  /**
4
3
  * @fileoverview Docker best practices fitness check
5
4
  * @invariants
@@ -9,372 +8,7 @@
9
8
  */
10
9
  import * as path from 'node:path';
11
10
  import { defineCheck } from '@opensip-cli/fitness';
12
- // =============================================================================
13
- // PRE-COMPILED REGEX PATTERNS (for safety and performance)
14
- // =============================================================================
15
- // Maximum line length for regex matching to prevent DoS
16
- const MAX_DOCKERFILE_LINE_LENGTH = 2000;
17
- /**
18
- * Safely truncate a line for regex matching.
19
- */
20
- function safeDockerLine(line) {
21
- /* v8 ignore next -- defensive: real Dockerfile lines never exceed 2000 chars */
22
- return line.length > MAX_DOCKERFILE_LINE_LENGTH
23
- ? line.slice(0, MAX_DOCKERFILE_LINE_LENGTH)
24
- : line;
25
- }
26
- // Secret patterns - using word character classes with bounded quantifiers
27
- // Using \w for alphanumeric plus underscore, adding dash separately with explicit bounds
28
- const SECRET_API_KEY_PATTERN = /(?:API_KEY|APIKEY|API_SECRET|SECRET_KEY|AUTH_TOKEN|ACCESS_TOKEN)\s{0,10}=\s{0,10}['"]?[\w-]{16,200}/i;
29
- const SECRET_AWS_PATTERN = /(?:AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY)\s{0,10}=\s{0,10}['"]?[\w/+=]{20,200}/i;
30
- const SECRET_DB_URL_PATTERN = /(?:DATABASE_URL|DB_URL|MONGO_URL|REDIS_URL)\s{0,10}=\s{0,10}['"]?[a-z]{1,20}:\/\/[^:]{1,100}:[^@]{1,100}@/i;
31
- const SECRET_PASSWORD_PATTERN = /(?:PASSWORD|PASSWD|DB_PASSWORD|ADMIN_PASSWORD)\s{0,10}=\s{0,10}['"]?[^\s'"]{8,200}/i;
32
- const SECRET_PRIVATE_KEY_PATTERN = /-----BEGIN\s{1,10}(?:RSA\s{1,10})?PRIVATE\s{1,10}KEY-----/;
33
- const SECRET_JWT_PATTERN = /JWT_SECRET\s{0,10}=\s{0,10}['"]?[\w-]{32,500}/i;
34
- const SECRET_PATTERNS = [
35
- SECRET_API_KEY_PATTERN,
36
- SECRET_AWS_PATTERN,
37
- SECRET_DB_URL_PATTERN,
38
- SECRET_PASSWORD_PATTERN,
39
- SECRET_PRIVATE_KEY_PATTERN,
40
- SECRET_JWT_PATTERN,
41
- ];
42
- // Package manager patterns - pre-compiled with bounded quantifiers
43
- const PNPM_INSTALL_PATTERN = /pnpm\s{1,10}install(?!\s{1,10}--frozen-lockfile)/;
44
- const NPM_INSTALL_PATTERN = /npm\s{1,10}(?:install|ci)(?!\s{1,10}-g)(?!\s{1,10}--global)(?!\s{1,10}--ci)(?!\s{1,10}--frozen-lockfile)/;
45
- const YARN_INSTALL_PATTERN = /yarn\s{1,10}install(?!\s{1,10}--frozen-lockfile)(?!\s{1,10}--immutable)/;
46
- const PACKAGE_MANAGER_PATTERNS = [
47
- { pattern: PNPM_INSTALL_PATTERN, manager: 'pnpm', fix: '--frozen-lockfile' },
48
- { pattern: NPM_INSTALL_PATTERN, manager: 'npm', fix: '--ci or npm ci' },
49
- {
50
- pattern: YARN_INSTALL_PATTERN,
51
- manager: 'yarn',
52
- fix: '--frozen-lockfile or --immutable',
53
- },
54
- ];
55
- // Cache mount patterns - pre-compiled with bounded quantifiers
56
- const PKG_INSTALL_PATTERN = /(?:pnpm|npm|yarn)\s{1,10}install(?!\s{1,10}-g)(?!\s{1,10}--global)/;
57
- // Production dependency patterns - pre-compiled with bounded quantifiers
58
- const PROD_DEPS_FLAG_PATTERN = /(?:--prod\b|--production\b)/;
59
- // Other patterns - pre-compiled with bounded quantifiers
60
- const APT_UPGRADE_PATTERN = /apt-get\s{1,10}upgrade/i;
61
- const COPY_PATTERN = /COPY\s{1,10}(?:--from=\S{1,100}\s{1,10})?(\S{1,500})/i;
62
- const PACKAGE_FILE_COPY_PATTERN = /COPY\s{1,10}[^\n]{0,500}(?:package\.json|pnpm-lock|yarn\.lock|package-lock)/i;
63
- const NODE_MODULES_FROM_STAGE_PATTERN = /COPY\s{1,10}--from=\S{1,100}[^\n]{0,500}node_modules/i;
64
- const FROM_IMAGE_PATTERN = /FROM\s{1,10}(\S{1,200})/i;
65
- const FROM_STAGE_PATTERN = /\bAS\s{1,10}(\w{1,100})/i;
66
- const USER_PATTERN = /USER\s{1,10}(\S{1,100})/i;
67
- const NODE_ENV_PROD_PATTERN = /NODE_ENV\s{0,10}=\s{0,10}production/i;
68
- const RUNNER_STAGE_NAMES = new Set(['runner', 'production', 'prod', 'final', 'runtime']);
69
- // =============================================================================
70
- // ANALYSIS FUNCTIONS
71
- // =============================================================================
72
- function checkForSecrets(line, lineNum, file, filePath) {
73
- const safeLine = safeDockerLine(line);
74
- for (const pattern of SECRET_PATTERNS) {
75
- if (pattern.test(safeLine)) {
76
- return {
77
- file,
78
- filePath,
79
- line: lineNum,
80
- rule: 'no-hardcoded-secrets',
81
- message: 'Hardcoded secret detected in Dockerfile',
82
- severity: 'error',
83
- suggestion: 'Use build arguments, runtime environment variables, or a secrets manager instead',
84
- };
85
- }
86
- }
87
- return null;
88
- }
89
- function checkRunCommand(line, lineNum, file, filePath) {
90
- const violations = [];
91
- let hasFrozenLockfileViolation = false;
92
- const safeLine = safeDockerLine(line);
93
- for (const { pattern, manager, fix } of PACKAGE_MANAGER_PATTERNS) {
94
- if (pattern.test(safeLine)) {
95
- hasFrozenLockfileViolation = true;
96
- violations.push({
97
- file,
98
- filePath,
99
- line: lineNum,
100
- rule: 'frozen-lockfile',
101
- message: `${manager} install without frozen lockfile flag`,
102
- severity: 'error',
103
- suggestion: `Add ${fix} to ensure reproducible builds`,
104
- });
105
- }
106
- }
107
- if (APT_UPGRADE_PATTERN.test(safeLine)) {
108
- violations.push({
109
- file,
110
- filePath,
111
- line: lineNum,
112
- rule: 'no-apt-upgrade',
113
- message: 'apt-get upgrade makes builds non-reproducible',
114
- severity: 'warning',
115
- suggestion: 'Pin specific package versions instead of upgrading all packages',
116
- });
117
- }
118
- return { violations, hasFrozenLockfileViolation };
119
- }
120
- function checkCopyOrder(options) {
121
- const { line, lineNum, file, filePath, lines, lastFromLine, lineIndex } = options;
122
- /* v8 ignore next 4 -- defensive: callers always pass an array */
123
- // Validate array parameter
124
- if (!Array.isArray(lines)) {
125
- return null;
126
- }
127
- const safeLine = safeDockerLine(line);
128
- const copyMatch = COPY_PATTERN.exec(safeLine);
129
- if (copyMatch?.[1] !== '.' && copyMatch?.[1] !== './')
130
- return null;
131
- if (safeLine.includes('--from='))
132
- return null;
133
- const stageLines = lines.slice(lastFromLine, lineIndex);
134
- const hasPackageFileCopy = stageLines.some((l) => PACKAGE_FILE_COPY_PATTERN.test(safeDockerLine(l)));
135
- const hasNodeModulesFromStage = stageLines.some((l) => NODE_MODULES_FROM_STAGE_PATTERN.test(safeDockerLine(l)));
136
- if (!hasPackageFileCopy && !hasNodeModulesFromStage) {
137
- return {
138
- file,
139
- filePath,
140
- line: lineNum,
141
- rule: 'copy-order',
142
- message: 'COPY . before copying dependency files',
143
- severity: 'warning',
144
- suggestion: 'Copy package.json and lockfile first, run install, then copy source for better layer caching',
145
- };
146
- }
147
- return null;
148
- }
149
- function checkCacheMount(line, lineNum, file, filePath) {
150
- const safeLine = safeDockerLine(line);
151
- if (PKG_INSTALL_PATTERN.test(safeLine) && !safeLine.includes('--mount=type=cache')) {
152
- return {
153
- file,
154
- filePath,
155
- line: lineNum,
156
- rule: 'cache-mount',
157
- message: 'Package install without BuildKit cache mount',
158
- severity: 'warning',
159
- suggestion: 'Add --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store to cache the package store across builds',
160
- };
161
- }
162
- return null;
163
- }
164
- /* v8 ignore start -- Dockerfile multi-stage state-machine; many edge-case branches covered by integration */
165
- function processFromLine(line, lineNum, state) {
166
- state.fromCount++;
167
- state.lastFromLine = lineNum;
168
- const safeLine = safeDockerLine(line);
169
- const match = FROM_IMAGE_PATTERN.exec(safeLine);
170
- const baseImage = match?.[1] ?? null;
171
- if (baseImage)
172
- state.baseImages.push(baseImage);
173
- const stageMatch = FROM_STAGE_PATTERN.exec(safeLine);
174
- const stageName = stageMatch?.[1]?.toLowerCase() ?? null;
175
- // Determine if this is the runner stage
176
- if (stageName) {
177
- state.isInRunnerStage = RUNNER_STAGE_NAMES.has(stageName);
178
- }
179
- else if (state.fromCount > 1) {
180
- state.isInRunnerStage = true;
181
- }
182
- if (state.isInRunnerStage) {
183
- state.runnerStageBaseImage = baseImage;
184
- state.runnerFromLine = lineNum;
185
- // Check if runner's base image references a previously defined build stage
186
- if (baseImage) {
187
- const baseImageLower = baseImage.toLowerCase();
188
- state.runnerInheritsBuildStage = state.stageNames.includes(baseImageLower);
189
- }
190
- }
191
- // Record stage name after checks (to avoid self-matching)
192
- if (stageName) {
193
- state.stageNames.push(stageName);
194
- }
195
- }
196
- function addMissingBestPracticeViolations(file, filePath, lineCount, state) {
197
- const violations = [];
198
- const hasMultiStage = state.fromCount >= 2;
199
- if (!hasMultiStage && state.fromCount > 0) {
200
- violations.push({
201
- file,
202
- filePath,
203
- line: 1,
204
- rule: 'multi-stage-build',
205
- message: 'Dockerfile does not use multi-stage build',
206
- severity: 'error',
207
- suggestion: 'Use separate stages for building and running to reduce image size and attack surface',
208
- });
209
- }
210
- if (!state.hasNonRootUser && state.fromCount > 0) {
211
- violations.push({
212
- file,
213
- filePath,
214
- line: lineCount,
215
- rule: 'non-root-user',
216
- message: 'Dockerfile does not specify a non-root user',
217
- severity: 'error',
218
- suggestion: String.raw `Add USER directive with a non-root user: RUN addgroup --system app && adduser --system --ingroup app app\nUSER app`,
219
- });
220
- }
221
- if (!state.hasHealthcheck && state.fromCount > 0) {
222
- violations.push({
223
- file,
224
- filePath,
225
- line: lineCount,
226
- rule: 'healthcheck',
227
- message: 'Dockerfile does not include a HEALTHCHECK instruction',
228
- severity: 'warning',
229
- suggestion: 'Add HEALTHCHECK to help orchestrators verify container health',
230
- });
231
- }
232
- // Check NODE_ENV only if runner stage uses Node.js
233
- const runnerUsesNode = state.runnerStageBaseImage?.includes('node') ?? false;
234
- if (runnerUsesNode && !state.hasNodeEnvProduction) {
235
- violations.push({
236
- file,
237
- filePath,
238
- line: lineCount,
239
- rule: 'node-env-production',
240
- message: 'NODE_ENV=production not set in runtime stage',
241
- severity: 'warning',
242
- suggestion: 'Add ENV NODE_ENV=production in the runner stage for Node.js optimizations',
243
- });
244
- }
245
- // Check if runner copies node_modules without production-only dependency resolution
246
- if (state.runnerCopiesNodeModules && !state.hasProductionDepsFlag) {
247
- violations.push({
248
- file,
249
- filePath,
250
- line: state.runnerNodeModulesLine,
251
- rule: 'production-dependencies',
252
- message: 'Runtime image copies node_modules without production-only dependency resolution',
253
- severity: 'error',
254
- suggestion: 'Use "pnpm deploy --prod" to create a production bundle, or add --prod to install command to exclude devDependencies from the runtime image',
255
- });
256
- }
257
- // Check if runner stage inherits from a build stage (includes build tools)
258
- if (state.runnerInheritsBuildStage) {
259
- violations.push({
260
- file,
261
- filePath,
262
- line: state.runnerFromLine,
263
- rule: 'no-build-tools-in-runner',
264
- message: 'Runtime stage inherits from a build stage that may include build tools (pnpm, corepack, etc.)',
265
- severity: 'warning',
266
- suggestion: 'Use a clean base image (e.g., node:20-alpine) for the runtime stage instead of inheriting from a build stage',
267
- });
268
- }
269
- return violations;
270
- }
271
- /* v8 ignore stop */
272
- function analyzeDockerfile(content, filePath, file) {
273
- const lines = content.split('\n');
274
- const violations = [];
275
- const state = {
276
- hasNonRootUser: false,
277
- hasHealthcheck: false,
278
- hasFrozenLockfile: true,
279
- hasNodeEnvProduction: false,
280
- hasProductionDepsFlag: false,
281
- baseImages: [],
282
- fromCount: 0,
283
- isInRunnerStage: false,
284
- runnerStageBaseImage: null,
285
- lastFromLine: 0,
286
- stageNames: [],
287
- runnerCopiesNodeModules: false,
288
- runnerNodeModulesLine: 0,
289
- runnerInheritsBuildStage: false,
290
- runnerFromLine: 0,
291
- };
292
- for (let i = 0; i < lines.length; i++) {
293
- processDockerfileLine({
294
- line: lines[i],
295
- index: i,
296
- lines,
297
- state,
298
- violations,
299
- file,
300
- filePath,
301
- });
302
- }
303
- // Add violations for missing best practices
304
- violations.push(...addMissingBestPracticeViolations(file, filePath, lines.length, state));
305
- return violations;
306
- }
307
- function processUserLine(trimmedLine, state) {
308
- const safeLine = safeDockerLine(trimmedLine);
309
- const userMatch = USER_PATTERN.exec(safeLine);
310
- if (userMatch?.[1] && userMatch[1] !== 'root') {
311
- state.hasNonRootUser = true;
312
- }
313
- }
314
- function processRunLine(options) {
315
- const { trimmedLine, lineNum, file, filePath, state, violations } = options;
316
- const runResult = checkRunCommand(trimmedLine, lineNum, file, filePath);
317
- violations.push(...runResult.violations);
318
- if (runResult.hasFrozenLockfileViolation)
319
- state.hasFrozenLockfile = false;
320
- const cacheMountViolation = checkCacheMount(trimmedLine, lineNum, file, filePath);
321
- if (cacheMountViolation)
322
- violations.push(cacheMountViolation);
323
- if (PROD_DEPS_FLAG_PATTERN.test(safeDockerLine(trimmedLine))) {
324
- state.hasProductionDepsFlag = true;
325
- }
326
- }
327
- function processCopyLine(options) {
328
- const { trimmedLine, lineNum, index, lines, file, filePath, state, violations } = options;
329
- const copyViolation = checkCopyOrder({
330
- line: trimmedLine,
331
- lineNum,
332
- file,
333
- filePath,
334
- lines,
335
- lastFromLine: state.lastFromLine,
336
- lineIndex: index,
337
- });
338
- if (copyViolation)
339
- violations.push(copyViolation);
340
- if (state.isInRunnerStage && NODE_MODULES_FROM_STAGE_PATTERN.test(safeDockerLine(trimmedLine))) {
341
- state.runnerCopiesNodeModules = true;
342
- state.runnerNodeModulesLine = lineNum;
343
- }
344
- }
345
- function processDockerfileLine(options) {
346
- const { line, index, lines, state, violations, file, filePath } = options;
347
- /* v8 ignore next -- defensive: lines.entries() never yields undefined */
348
- const trimmedLine = line?.trim() ?? '';
349
- if (!trimmedLine || trimmedLine.startsWith('#'))
350
- return;
351
- const upperLine = trimmedLine.toUpperCase();
352
- const lineNum = index + 1;
353
- if (upperLine.startsWith('FROM ')) {
354
- processFromLine(trimmedLine, lineNum, state);
355
- }
356
- if (upperLine.startsWith('USER ')) {
357
- processUserLine(trimmedLine, state);
358
- }
359
- if (upperLine.startsWith('HEALTHCHECK ')) {
360
- state.hasHealthcheck = true;
361
- }
362
- if (NODE_ENV_PROD_PATTERN.test(safeDockerLine(trimmedLine))) {
363
- state.hasNodeEnvProduction = true;
364
- }
365
- const secretViolation = checkForSecrets(trimmedLine, lineNum, file, filePath);
366
- if (secretViolation)
367
- violations.push(secretViolation);
368
- if (upperLine.startsWith('RUN ')) {
369
- processRunLine({ trimmedLine, lineNum, file, filePath, state, violations });
370
- }
371
- if (upperLine.startsWith('COPY ')) {
372
- processCopyLine({ trimmedLine, lineNum, index, lines, file, filePath, state, violations });
373
- }
374
- }
375
- // =============================================================================
376
- // CHECK DEFINITION
377
- // =============================================================================
11
+ import { analyzeDockerfile } from './docker-best-practices-analyze.js';
378
12
  /**
379
13
  * Check: architecture/docker-best-practices
380
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"docker-best-practices.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-best-practices.ts"],"names":[],"mappings":"AAAA,gJAAgJ;AAChJ,+HAA+H;AAC/H;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAkCxE,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,wDAAwD;AACxD,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,gFAAgF;IAChF,OAAO,IAAI,CAAC,MAAM,GAAG,0BAA0B;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,0EAA0E;AAC1E,yFAAyF;AACzF,MAAM,sBAAsB,GAC1B,sGAAsG,CAAC;AACzG,MAAM,kBAAkB,GACtB,mFAAmF,CAAC;AACtF,MAAM,qBAAqB,GACzB,4GAA4G,CAAC;AAC/G,MAAM,uBAAuB,GAC3B,qFAAqF,CAAC;AACxF,MAAM,0BAA0B,GAAG,2DAA2D,CAAC;AAC/F,MAAM,kBAAkB,GAAG,gDAAgD,CAAC;AAE5E,MAAM,eAAe,GAAG;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,qBAAqB;IACrB,uBAAuB;IACvB,0BAA0B;IAC1B,kBAAkB;CACnB,CAAC;AAEF,mEAAmE;AACnE,MAAM,oBAAoB,GAAG,kDAAkD,CAAC;AAChF,MAAM,mBAAmB,GACvB,0GAA0G,CAAC;AAC7G,MAAM,oBAAoB,GACxB,yEAAyE,CAAC;AAQ5E,MAAM,wBAAwB,GAA4B;IACxD,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE;IAC5E,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE;IACvE;QACE,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,kCAAkC;KACxC;CACF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,oEAAoE,CAAC;AAEjG,yEAAyE;AACzE,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAE7D,yDAAyD;AACzD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,MAAM,YAAY,GAAG,uDAAuD,CAAC;AAC7E,MAAM,yBAAyB,GAC7B,8EAA8E,CAAC;AACjF,MAAM,+BAA+B,GAAG,uDAAuD,CAAC;AAChG,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAErE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzF,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,SAAS,eAAe,CACtB,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI;gBACJ,QAAQ;gBACR,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yCAAyC;gBAClD,QAAQ,EAAE,OAAO;gBACjB,UAAU,EACR,kFAAkF;aACrF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,QAAgB;IAEhB,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEtC,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,wBAAwB,EAAE,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,0BAA0B,GAAG,IAAI,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,QAAQ;gBACR,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,GAAG,OAAO,uCAAuC;gBAC1D,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,OAAO,GAAG,gCAAgC;aACvD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,+CAA+C;YACxD,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,iEAAiE;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC;AACpD,CAAC;AAYD,SAAS,cAAc,CAAC,OAA8B;IACpD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAElF,iEAAiE;IACjE,2BAA2B;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;IAEF,MAAM,uBAAuB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;IAEF,IAAI,CAAC,kBAAkB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACpD,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,wCAAwC;YACjD,QAAQ,EAAE,SAAS;YACnB,UAAU,EACR,8FAA8F;SACjG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnF,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,8CAA8C;YACvD,QAAQ,EAAE,SAAS;YACnB,UAAU,EACR,8GAA8G;SACjH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6GAA6G;AAC7G,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe,EAAE,KAAoB;IAC1E,KAAK,CAAC,SAAS,EAAE,CAAC;IAClB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;IAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,IAAI,SAAS;QAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;IAEzD,wCAAwC;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACvC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;QAE/B,2EAA2E;QAC3E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,KAAoB;IAEpB,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,2CAA2C;YACpD,QAAQ,EAAE,OAAO;YACjB,UAAU,EACR,sFAAsF;SACzF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,6CAA6C;YACtD,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAA,oHAAoH;SAC3I,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,uDAAuD;YAChE,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,+DAA+D;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC7E,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,8CAA8C;YACvD,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,2EAA2E;SACxF,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAClE,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,qBAAqB;YACjC,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,iFAAiF;YAC1F,QAAQ,EAAE,OAAO;YACjB,UAAU,EACR,4IAA4I;SAC/I,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,cAAc;YAC1B,IAAI,EAAE,0BAA0B;YAChC,OAAO,EACL,+FAA+F;YACjG,QAAQ,EAAE,SAAS;YACnB,UAAU,EACR,8GAA8G;SACjH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,oBAAoB;AAEpB,SAAS,iBAAiB,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAY;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,MAAM,KAAK,GAAkB;QAC3B,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,KAAK;QAC5B,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,IAAI;QAC1B,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,EAAE;QACd,uBAAuB,EAAE,KAAK;QAC9B,qBAAqB,EAAE,CAAC;QACxB,wBAAwB,EAAE,KAAK;QAC/B,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,qBAAqB,CAAC;YACpB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,EAAE,CAAC;YACR,KAAK;YACL,KAAK;YACL,UAAU;YACV,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,UAAU,CAAC,IAAI,CAAC,GAAG,gCAAgC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1F,OAAO,UAAU,CAAC;AACpB,CAAC;AAYD,SAAS,eAAe,CAAC,WAAmB,EAAE,KAAoB;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC9C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC;AACH,CAAC;AAWD,SAAS,cAAc,CAAC,OAA8B;IACpD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxE,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,SAAS,CAAC,0BAA0B;QAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAE1E,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClF,IAAI,mBAAmB;QAAE,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE9D,IAAI,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACrC,CAAC;AACH,CAAC;AAaD,SAAS,eAAe,CAAC,OAA+B;IACtD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC1F,MAAM,aAAa,GAAG,cAAc,CAAC;QACnC,IAAI,EAAE,WAAW;QACjB,OAAO;QACP,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,IAAI,aAAa;QAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAElD,IAAI,KAAK,CAAC,eAAe,IAAI,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/F,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACrC,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAqC;IAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC1E,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAExD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;IAE1B,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9E,IAAI,eAAe;QAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEtD,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1E,aAAa,EAAE,KAAK;IAEpB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,oEAAoE;IACjF,eAAe,EAAE;;;;;;;;;;;;mEAYgD;IACjE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC;IAE9D,OAAO,CAAC,OAAe,EAAE,QAAgB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE9D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,0CAA0C;YAC9E,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"docker-best-practices.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-best-practices.ts"],"names":[],"mappings":"AAAA,gJAAgJ;AAChJ;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1E,aAAa,EAAE,KAAK;IAEpB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,oEAAoE;IACjF,eAAe,EAAE;;;;;;;;;;;;mEAYgD;IACjE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC;IAE9D,OAAO,CAAC,OAAe,EAAE,QAAgB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE9D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,0CAA0C;YAC9E,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docker-ignore-validation.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/docker-ignore-validation.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAsCH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sCA+EjC,CAAC"}
1
+ {"version":3,"file":"docker-ignore-validation.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/docker-ignore-validation.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAsCH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sCA+EjC,CAAC"}
@@ -1,4 +1,3 @@
1
- // @fitness-ignore-file batch-operation-limits -- iterates bounded collections (config entries, registry items, or small analysis results)
2
1
  // @fitness-ignore-file fitness-check-standards -- Uses fs for .dockerignore reading, not source file content
3
2
  /**
4
3
  * @fileoverview Docker .dockerignore validation fitness check
@@ -1 +1 @@
1
- {"version":3,"file":"docker-ignore-validation.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-ignore-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-ignore-validation.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-ignore-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"docker-version-sync.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/docker-version-sync.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AA8LH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,sCAkD5B,CAAC"}
1
+ {"version":3,"file":"docker-version-sync.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/docker-version-sync.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AA8LH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,sCAiD5B,CAAC"}
@@ -173,7 +173,6 @@ export const dockerVersionSync = defineCheck({
173
173
  ? extractPnpmVersion(rootPkg.packageManager)
174
174
  : null;
175
175
  for (const filePath of files.paths) {
176
- // @fitness-ignore-next-line performance-anti-patterns -- sequential file reading to control memory; FileAccessor is lazy
177
176
  const content = await files.read(filePath);
178
177
  const lines = content.split('\n');
179
178
  const relPath = path.relative(process.cwd(), filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"docker-version-sync.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-version-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-version-sync.js","sourceRoot":"","sources":["../../../src/checks/architecture/docker-version-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"heavy-import-detection.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/heavy-import-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyCH,eAAO,MAAM,oBAAoB,sCA2D/B,CAAC"}
1
+ {"version":3,"file":"heavy-import-detection.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/heavy-import-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyCH,eAAO,MAAM,oBAAoB,sCA4D/B,CAAC"}
@@ -37,6 +37,7 @@ const NAMED_IMPORT_PATTERN = /import\s+\{([^}]+)\}\s+from\s+['"]([^'"]+)['"]/;
37
37
  export const heavyImportDetection = defineCheck({
38
38
  id: 'ebd495d1-ae48-478d-a1cc-4823a18cada6',
39
39
  slug: 'heavy-import-detection',
40
+ contentFilter: 'strip-strings',
40
41
  scope: { languages: ['typescript', 'javascript'], concerns: ['backend', 'frontend'] },
41
42
  confidence: 'high',
42
43
  description: 'Detects heavy/deprecated library imports and excessive named imports that bloat bundle size',
@@ -1 +1 @@
1
- {"version":3,"file":"heavy-import-detection.js","sourceRoot":"","sources":["../../../src/checks/architecture/heavy-import-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heavy-import-detection.js","sourceRoot":"","sources":["../../../src/checks/architecture/heavy-import-detection.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export * from './node-version-consistency.js';
11
11
  export * from './project-readme-existence.js';
12
12
  export * from './stale-build-artifacts.js';
13
13
  export * from './tool-has-manifest.js';
14
+ export * from './tool-identity-single-source.js';
14
15
  export * from './vitest-config-extends-base.js';
15
16
  export * from './vitest-config-required-with-tests.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC"}
@@ -11,6 +11,7 @@ export * from './node-version-consistency.js';
11
11
  export * from './project-readme-existence.js';
12
12
  export * from './stale-build-artifacts.js';
13
13
  export * from './tool-has-manifest.js';
14
+ export * from './tool-identity-single-source.js';
14
15
  export * from './vitest-config-extends-base.js';
15
16
  export * from './vitest-config-required-with-tests.js';
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/architecture/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/architecture/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"empty-package-detection.d.ts","sourceRoot":"","sources":["../../../../src/checks/architecture/modules/empty-package-detection.ts"],"names":[],"mappings":"AAGA;;GAEG;AA+RH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sCAkDhC,CAAC"}
1
+ {"version":3,"file":"empty-package-detection.d.ts","sourceRoot":"","sources":["../../../../src/checks/architecture/modules/empty-package-detection.ts"],"names":[],"mappings":"AAEA;;GAEG;AA+RH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sCAkDhC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  // @fitness-ignore-file fitness-check-standards -- Uses fs for directory listing/stat operations, not file content reading
2
- // @fitness-ignore-file file-length-limit -- Complex module with tightly coupled logic; refactoring would risk breaking changes
3
2
  // @fitness-ignore-file unbounded-memory -- reads workspace package.json / barrel index files; bounded by standard package metadata size
4
3
  /**
5
4
  * @fileoverview Empty Package Detection check
@@ -1 +1 @@
1
- {"version":3,"file":"empty-package-detection.js","sourceRoot":"","sources":["../../../../src/checks/architecture/modules/empty-package-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"empty-package-detection.js","sourceRoot":"","sources":["../../../../src/checks/architecture/modules/empty-package-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Regex patterns and allowlists for interface-implementation-consistency. */
2
+ export declare const INTERFACE_PATTERN: RegExp;
3
+ export declare const INTERFACE_EXTENDS_CONTINUATION: RegExp;
4
+ export declare const CLASS_PATTERN: RegExp;
5
+ export declare const METHOD_IN_INTERFACE_PATTERN: RegExp;
6
+ export declare const METHOD_IN_CLASS_PATTERN: RegExp;
7
+ export declare const STATIC_MODIFIER_PATTERN: RegExp;
8
+ export declare const VISIBILITY_MODIFIER_PATTERN: RegExp;
9
+ export declare const ASYNC_STATIC_METHOD_PATTERN: RegExp;
10
+ export declare const TYPE_ANNOTATION_PATTERN: RegExp;
11
+ export declare const METHOD_BODY_PATTERN: RegExp;
12
+ export declare const CLASS_LEVEL_METHOD_PATTERN: RegExp;
13
+ export declare function isJsKeyword(name: string): boolean;
14
+ export declare function isAllowedExtraMethod(methodName: string): boolean;
15
+ export declare const TEST_DOUBLE_CLASS_NAME_PATTERN: RegExp;
16
+ //# sourceMappingURL=interface-implementation-consistency-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-implementation-consistency-constants.d.ts","sourceRoot":"","sources":["../../../../src/checks/architecture/modules/interface-implementation-consistency-constants.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,eAAO,MAAM,iBAAiB,QACsD,CAAC;AAGrF,eAAO,MAAM,8BAA8B,QAA+C,CAAC;AAE3F,eAAO,MAAM,aAAa,QAE8E,CAAC;AAEzG,eAAO,MAAM,2BAA2B,QAA+B,CAAC;AAExE,eAAO,MAAM,uBAAuB,QACsD,CAAC;AAE3F,eAAO,MAAM,uBAAuB,QAC+C,CAAC;AAEpF,eAAO,MAAM,2BAA2B,QAA4B,CAAC;AACrE,eAAO,MAAM,2BAA2B,QAAuD,CAAC;AAChG,eAAO,MAAM,uBAAuB,QAAuB,CAAC;AAC5D,eAAO,MAAM,mBAAmB,QAAgB,CAAC;AACjD,eAAO,MAAM,0BAA0B,QAAgC,CAAC;AA2CxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AA0HD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,eAAO,MAAM,8BAA8B,QAA+B,CAAC"}