@fyuld/snitch 1.6.1 → 2.0.0

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 (194) hide show
  1. package/.snitchconfig.json +25 -135
  2. package/dist/SnitchConfigManager.d.ts +9 -0
  3. package/dist/SnitchConfigManager.d.ts.map +1 -0
  4. package/dist/SnitchConfigManager.js +112 -0
  5. package/dist/SnitchConfigManager.js.map +1 -0
  6. package/dist/commands/dm.d.ts.map +1 -1
  7. package/dist/commands/dm.js.map +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/nocomments.d.ts +2 -0
  11. package/dist/commands/nocomments.d.ts.map +1 -0
  12. package/dist/commands/nocomments.js +59 -0
  13. package/dist/commands/nocomments.js.map +1 -0
  14. package/dist/commands/scan-commands.d.ts +7 -0
  15. package/dist/commands/scan-commands.d.ts.map +1 -0
  16. package/dist/commands/scan-commands.js +28 -0
  17. package/dist/commands/scan-commands.js.map +1 -0
  18. package/dist/commands/scan.d.ts +1 -1
  19. package/dist/commands/scan.d.ts.map +1 -1
  20. package/dist/commands/scan.js +170 -103
  21. package/dist/commands/scan.js.map +1 -1
  22. package/dist/commands/vocab.d.ts.map +1 -1
  23. package/dist/commands/vocab.js.map +1 -1
  24. package/dist/common/fs.d.ts +1 -0
  25. package/dist/common/fs.d.ts.map +1 -0
  26. package/dist/common/fs.js +2 -0
  27. package/dist/common/fs.js.map +1 -0
  28. package/dist/common/index.d.ts +2 -0
  29. package/dist/common/index.d.ts.map +1 -0
  30. package/dist/common/index.js +18 -0
  31. package/dist/common/index.js.map +1 -0
  32. package/dist/common/json.d.ts +21 -0
  33. package/dist/common/json.d.ts.map +1 -0
  34. package/dist/common/json.js +41 -0
  35. package/dist/common/json.js.map +1 -0
  36. package/dist/common/strings.d.ts +8 -0
  37. package/dist/common/strings.d.ts.map +1 -0
  38. package/dist/common/strings.js +15 -0
  39. package/dist/common/strings.js.map +1 -0
  40. package/dist/config/policy-loader.d.ts +4 -0
  41. package/dist/config/policy-loader.d.ts.map +1 -0
  42. package/dist/config/policy-loader.js +21 -0
  43. package/dist/config/policy-loader.js.map +1 -0
  44. package/dist/datamodel/commands.d.ts +25 -0
  45. package/dist/datamodel/commands.d.ts.map +1 -0
  46. package/dist/datamodel/commands.js +31 -0
  47. package/dist/datamodel/commands.js.map +1 -0
  48. package/dist/datamodel/common.d.ts +11 -0
  49. package/dist/datamodel/common.d.ts.map +1 -0
  50. package/dist/datamodel/common.js +3 -0
  51. package/dist/datamodel/common.js.map +1 -0
  52. package/dist/datamodel/errors.d.ts +16 -0
  53. package/dist/datamodel/errors.d.ts.map +1 -0
  54. package/dist/datamodel/errors.js +51 -0
  55. package/dist/datamodel/errors.js.map +1 -0
  56. package/dist/datamodel/index.d.ts +9 -0
  57. package/dist/datamodel/index.d.ts.map +1 -0
  58. package/dist/datamodel/index.js +25 -0
  59. package/dist/datamodel/index.js.map +1 -0
  60. package/dist/datamodel/internal-configs.d.ts +14 -0
  61. package/dist/datamodel/internal-configs.d.ts.map +1 -0
  62. package/dist/datamodel/internal-configs.js +3 -0
  63. package/dist/datamodel/internal-configs.js.map +1 -0
  64. package/dist/datamodel/public-configs.d.ts +27 -0
  65. package/dist/datamodel/public-configs.d.ts.map +1 -0
  66. package/dist/datamodel/public-configs.js +3 -0
  67. package/dist/datamodel/public-configs.js.map +1 -0
  68. package/dist/datamodel/snitch-configuration.d.ts +16 -0
  69. package/dist/datamodel/snitch-configuration.d.ts.map +1 -0
  70. package/dist/datamodel/snitch-configuration.js +32 -0
  71. package/dist/datamodel/snitch-configuration.js.map +1 -0
  72. package/dist/datamodel/typeguards.d.ts +3 -0
  73. package/dist/datamodel/typeguards.d.ts.map +1 -0
  74. package/dist/datamodel/typeguards.js +7 -0
  75. package/dist/datamodel/typeguards.js.map +1 -0
  76. package/dist/datamodel/typescript-specific.d.ts +7 -0
  77. package/dist/datamodel/typescript-specific.d.ts.map +1 -0
  78. package/dist/datamodel/typescript-specific.js +11 -0
  79. package/dist/datamodel/typescript-specific.js.map +1 -0
  80. package/dist/index.d.ts +2 -5
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +10 -11
  83. package/dist/index.js.map +1 -1
  84. package/dist/reporting/violation-reporter.d.ts +4 -0
  85. package/dist/reporting/violation-reporter.d.ts.map +1 -0
  86. package/dist/reporting/violation-reporter.js +45 -0
  87. package/dist/reporting/violation-reporter.js.map +1 -0
  88. package/dist/rules/policies/code-should-have-declarations.d.ts +3 -0
  89. package/dist/rules/policies/code-should-have-declarations.d.ts.map +1 -0
  90. package/dist/rules/policies/code-should-have-declarations.js +15 -0
  91. package/dist/rules/policies/code-should-have-declarations.js.map +1 -0
  92. package/dist/rules/policies/keep-tests-clean.d.ts +3 -0
  93. package/dist/rules/policies/keep-tests-clean.d.ts.map +1 -0
  94. package/dist/rules/policies/keep-tests-clean.js +21 -0
  95. package/dist/rules/policies/keep-tests-clean.js.map +1 -0
  96. package/dist/rules/policies/no-vars.d.ts +3 -0
  97. package/dist/rules/policies/no-vars.d.ts.map +1 -0
  98. package/dist/rules/policies/no-vars.js +19 -0
  99. package/dist/rules/policies/no-vars.js.map +1 -0
  100. package/dist/rules/policy-executor.d.ts +5 -0
  101. package/dist/rules/policy-executor.d.ts.map +1 -0
  102. package/dist/rules/policy-executor.js +10 -0
  103. package/dist/rules/policy-executor.js.map +1 -0
  104. package/dist/rules/policy.d.ts +7 -0
  105. package/dist/rules/policy.d.ts.map +1 -0
  106. package/dist/rules/policy.js +3 -0
  107. package/dist/rules/policy.js.map +1 -0
  108. package/dist/rules/provider-executor.d.ts +5 -0
  109. package/dist/rules/provider-executor.d.ts.map +1 -0
  110. package/dist/rules/provider-executor.js +105 -0
  111. package/dist/rules/provider-executor.js.map +1 -0
  112. package/dist/rules/provider.d.ts +26 -0
  113. package/dist/rules/provider.d.ts.map +1 -0
  114. package/dist/rules/provider.js +3 -0
  115. package/dist/rules/provider.js.map +1 -0
  116. package/dist/rules/providers/filter-by-declaration-type-provider.d.ts +8 -0
  117. package/dist/rules/providers/filter-by-declaration-type-provider.d.ts.map +1 -0
  118. package/dist/rules/providers/filter-by-declaration-type-provider.js +15 -0
  119. package/dist/rules/providers/filter-by-declaration-type-provider.js.map +1 -0
  120. package/dist/rules/providers/filter-by-file-provider.d.ts +8 -0
  121. package/dist/rules/providers/filter-by-file-provider.d.ts.map +1 -0
  122. package/dist/rules/providers/filter-by-file-provider.js +16 -0
  123. package/dist/rules/providers/filter-by-file-provider.js.map +1 -0
  124. package/dist/rules/providers/filter-exclude-function-names-provider.d.ts +8 -0
  125. package/dist/rules/providers/filter-exclude-function-names-provider.d.ts.map +1 -0
  126. package/dist/rules/providers/filter-exclude-function-names-provider.js +15 -0
  127. package/dist/rules/providers/filter-exclude-function-names-provider.js.map +1 -0
  128. package/dist/rules/providers/filter-has-literal-arguments-provider.d.ts +8 -0
  129. package/dist/rules/providers/filter-has-literal-arguments-provider.d.ts.map +1 -0
  130. package/dist/rules/providers/filter-has-literal-arguments-provider.js +26 -0
  131. package/dist/rules/providers/filter-has-literal-arguments-provider.js.map +1 -0
  132. package/dist/rules/providers/identity-provider.d.ts +8 -0
  133. package/dist/rules/providers/identity-provider.d.ts.map +1 -0
  134. package/dist/rules/providers/identity-provider.js +30 -0
  135. package/dist/rules/providers/identity-provider.js.map +1 -0
  136. package/dist/rules/violation-rule.d.ts +7 -0
  137. package/dist/rules/violation-rule.d.ts.map +1 -0
  138. package/dist/rules/violation-rule.js +3 -0
  139. package/dist/rules/violation-rule.js.map +1 -0
  140. package/dist/rules/violation.d.ts +12 -0
  141. package/dist/rules/violation.d.ts.map +1 -0
  142. package/dist/rules/violation.js +3 -0
  143. package/dist/rules/violation.js.map +1 -0
  144. package/dist/snitch.js +97 -44
  145. package/dist/snitch.js.map +1 -1
  146. package/dist/snitch.old.d.ts +3 -0
  147. package/dist/snitch.old.d.ts.map +1 -0
  148. package/dist/snitch.old.js +71 -0
  149. package/dist/snitch.old.js.map +1 -0
  150. package/dist/utils/AstAnalysis.d.ts +28 -0
  151. package/dist/utils/AstAnalysis.d.ts.map +1 -0
  152. package/dist/utils/AstAnalysis.js +117 -0
  153. package/dist/utils/AstAnalysis.js.map +1 -0
  154. package/dist/utils/ast-parser.d.ts +68 -0
  155. package/dist/utils/ast-parser.d.ts.map +1 -0
  156. package/dist/utils/ast-parser.js +364 -0
  157. package/dist/utils/ast-parser.js.map +1 -0
  158. package/dist/utils/fs.d.ts +8 -0
  159. package/dist/utils/fs.d.ts.map +1 -0
  160. package/dist/utils/fs.js +93 -0
  161. package/dist/utils/fs.js.map +1 -0
  162. package/dist/utils/pattern-scanner.d.ts +5 -21
  163. package/dist/utils/pattern-scanner.d.ts.map +1 -1
  164. package/dist/utils/pattern-scanner.js +13 -17
  165. package/dist/utils/pattern-scanner.js.map +1 -1
  166. package/dist/utils/ts-parser.d.ts.map +1 -1
  167. package/dist/utils/ts-parser.js +5 -12
  168. package/dist/utils/ts-parser.js.map +1 -1
  169. package/package.json +13 -6
  170. package/snitchconfig.schema.json +107 -51
  171. package/dist/commands/badimports.d.ts +0 -2
  172. package/dist/commands/badimports.d.ts.map +0 -1
  173. package/dist/commands/badimports.js +0 -8
  174. package/dist/commands/badimports.js.map +0 -1
  175. package/dist/commands/dirtydefaults.d.ts +0 -2
  176. package/dist/commands/dirtydefaults.d.ts.map +0 -1
  177. package/dist/commands/dirtydefaults.js +0 -8
  178. package/dist/commands/dirtydefaults.js.map +0 -1
  179. package/dist/commands/enumerate.d.ts +0 -2
  180. package/dist/commands/enumerate.d.ts.map +0 -1
  181. package/dist/commands/enumerate.js +0 -8
  182. package/dist/commands/enumerate.js.map +0 -1
  183. package/dist/commands/expectmagic.d.ts +0 -2
  184. package/dist/commands/expectmagic.d.ts.map +0 -1
  185. package/dist/commands/expectmagic.js +0 -8
  186. package/dist/commands/expectmagic.js.map +0 -1
  187. package/dist/commands/fixtures.d.ts +0 -2
  188. package/dist/commands/fixtures.d.ts.map +0 -1
  189. package/dist/commands/fixtures.js +0 -8
  190. package/dist/commands/fixtures.js.map +0 -1
  191. package/dist/datamodel.d.ts +0 -18
  192. package/dist/datamodel.d.ts.map +0 -1
  193. package/dist/datamodel.js +0 -23
  194. package/dist/datamodel.js.map +0 -1
@@ -1,108 +1,175 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ // import * as path from 'path'
3
+ // import * as fs from 'fs'
4
+ // import {
5
+ // scanFiles,
6
+ // findViolations,
7
+ // printReport,
8
+ // FILE_FILTERS,
9
+ // } from '../utils/pattern-scanner'
10
+ // import {
11
+ // PublicScanConfig,
12
+ // PublicViolationRule,
13
+ // NoCommentsScanConfig,
14
+ // } from '../datamodel/public-configs'
15
+ // import { InternalScanConfig } from '../datamodel/internal-configs'
16
+ // import { isNoCommentsScanConfig } from '../datamodel/typeguards'
17
+ // import { SnitchConfiguration } from '../datamodel'
18
+ // import { SnitchConfigManager } from '../SnitchConfigManager'
35
19
  Object.defineProperty(exports, "__esModule", { value: true });
36
20
  exports.scanCommand = scanCommand;
37
- const path = __importStar(require("path"));
38
- const fs = __importStar(require("fs"));
39
- const pattern_scanner_1 = require("../utils/pattern-scanner");
40
- async function runScan(scanName, scanDef, absolutePath) {
41
- const fileFilter = pattern_scanner_1.FILE_FILTERS[scanDef.fileFilter];
42
- if (!fileFilter) {
43
- throw new Error(`Invalid file filter: ${scanDef.fileFilter}\nAvailable filters: ${Object.keys(pattern_scanner_1.FILE_FILTERS).join(', ')}`);
44
- }
45
- console.log(`Running scan: ${scanName}`);
46
- console.log(`Scanning directory: ${absolutePath}\n`);
47
- const files = (0, pattern_scanner_1.scanFiles)(absolutePath, fileFilter);
48
- const violations = (0, pattern_scanner_1.findViolations)(files, {
49
- warnings: scanDef.warnings,
50
- });
51
- (0, pattern_scanner_1.printReport)(violations, `${scanName} violations report`);
52
- }
53
- async function executeCommand(commandName, config, absolutePath, visited = new Set()) {
54
- if (visited.has(commandName)) {
55
- throw new Error(`Circular dependency detected: ${commandName}`);
56
- }
57
- visited.add(commandName);
58
- const commandDef = config.commands[commandName];
59
- if (!commandDef) {
60
- throw new Error(`Command '${commandName}' not found in config.\nAvailable commands: ${Object.keys(config.commands).join(', ')}`);
61
- }
62
- if (Array.isArray(commandDef)) {
63
- console.log(`\nExecuting composite command: ${commandName}`);
64
- console.log(`Running commands: ${commandDef.join(', ')}\n`);
65
- for (const subCommand of commandDef) {
66
- await executeCommand(subCommand, config, absolutePath, visited);
67
- }
68
- }
69
- else {
70
- await runScan(commandName, commandDef, absolutePath);
71
- }
72
- }
73
- async function scanCommand(params) {
74
- if (params.length === 0) {
75
- console.error('Error: Command name is required');
76
- console.log('\nUsage: snitch scan <command-name> [directory]');
77
- console.log('\nAvailable commands:');
78
- const configPath = path.resolve('.snitchconfig.json');
79
- if (fs.existsSync(configPath)) {
80
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
81
- for (const [name, cmd] of Object.entries(config.commands)) {
82
- if (Array.isArray(cmd)) {
83
- console.log(` ${name} - [Composite: ${cmd.join(', ')}]`);
84
- }
85
- else {
86
- console.log(` ${name} - ${cmd.description}`);
87
- }
88
- }
89
- }
90
- process.exit(1);
91
- }
92
- const commandName = params[0];
93
- const sourceDirectory = params.length > 1 ? params[1] : '.';
94
- const absolutePath = path.resolve(sourceDirectory);
95
- if (!fs.existsSync(absolutePath)) {
96
- throw new Error(`Directory not found: ${absolutePath}`);
97
- }
98
- if (!fs.statSync(absolutePath).isDirectory()) {
99
- throw new Error(`Not a directory: ${absolutePath}`);
100
- }
101
- const configPath = path.resolve('.snitchconfig.json');
102
- if (!fs.existsSync(configPath)) {
103
- throw new Error(`Config file not found: ${configPath}\nPlease create .snitchconfig.json in your project root.`);
104
- }
105
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
106
- await executeCommand(commandName, config, absolutePath);
21
+ // function translateAsIsConfig(
22
+ // config: PublicScanConfig
23
+ // ): InternalScanConfig {
24
+ // return {
25
+ // description: config.description,
26
+ // fileFilter: config.fileFilter,
27
+ // violations: config.violations.map(
28
+ // (rule: PublicViolationRule) => ({
29
+ // message: rule.message,
30
+ // regexes: rule.regexes || [],
31
+ // recommendation: rule.recommendation,
32
+ // })
33
+ // ),
34
+ // }
35
+ // }
36
+ // function translateNoCommentsConfig(
37
+ // config: NoCommentsScanConfig
38
+ // ): InternalScanConfig {
39
+ // const escapedApologies = config.acceptedApologies.map(
40
+ // (apology) =>
41
+ // apology.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
42
+ // )
43
+ // const negativeApologiesPattern =
44
+ // escapedApologies.join('|')
45
+ // return {
46
+ // description: config.description,
47
+ // fileFilter: config.fileFilter,
48
+ // violations: config.violations.map((rule) => ({
49
+ // message: rule.message,
50
+ // regexes: [
51
+ // `//(?!\\s*(${negativeApologiesPattern})).*`,
52
+ // ],
53
+ // recommendation: rule.recommendation,
54
+ // })),
55
+ // }
56
+ // }
57
+ // function translateConfig(
58
+ // config: PublicScanConfig
59
+ // ): InternalScanConfig {
60
+ // if (isNoCommentsScanConfig(config)) {
61
+ // return translateNoCommentsConfig(config)
62
+ // }
63
+ // return translateAsIsConfig(config)
64
+ // }
65
+ // async function runScan(
66
+ // scanName: string,
67
+ // scanDef: PublicScanConfig,
68
+ // absolutePath: string
69
+ // ): Promise<void> {
70
+ // const translatedConfig = translateConfig(scanDef)
71
+ // const fileFilter =
72
+ // FILE_FILTERS[
73
+ // translatedConfig.fileFilter as keyof typeof FILE_FILTERS
74
+ // ]
75
+ // if (!fileFilter) {
76
+ // throw new Error(
77
+ // `Invalid file filter: ${translatedConfig.fileFilter}\nAvailable filters: ${Object.keys(FILE_FILTERS).join(', ')}`
78
+ // )
79
+ // }
80
+ // console.log(`Running scan: ${scanName}`)
81
+ // console.log(`Scanning directory: ${absolutePath}\n`)
82
+ // const files = scanFiles(absolutePath, fileFilter)
83
+ // const violations = findViolations(files, {
84
+ // violations: translatedConfig.violations,
85
+ // })
86
+ // printReport(violations, `${scanName} violations report`)
87
+ // }
88
+ // async function executeCommand(
89
+ // commandName: string,
90
+ // config: SnitchConfiguration,
91
+ // absolutePath: string,
92
+ // visited: Set<string> = new Set()
93
+ // ): Promise<void> {
94
+ // if (visited.has(commandName)) {
95
+ // throw new Error(
96
+ // `Circular dependency detected: ${commandName}`
97
+ // )
98
+ // }
99
+ // visited.add(commandName)
100
+ // const commandDef = config.commands[commandName]
101
+ // if (!commandDef) {
102
+ // throw new Error(
103
+ // `Command '${commandName}' not found in config.\nAvailable commands: ${Object.keys(config.commands).join(', ')}`
104
+ // )
105
+ // }
106
+ // if (Array.isArray(commandDef)) {
107
+ // console.log(
108
+ // `\nExecuting composite command: ${commandName}`
109
+ // )
110
+ // console.log(
111
+ // `Running commands: ${commandDef.join(', ')}\n`
112
+ // )
113
+ // for (const subCommand of commandDef) {
114
+ // await executeCommand(
115
+ // subCommand,
116
+ // config,
117
+ // absolutePath,
118
+ // visited
119
+ // )
120
+ // }
121
+ // } else {
122
+ // await runScan(commandName, commandDef, absolutePath)
123
+ // }
124
+ // }
125
+ // export async function scanCommand(commandName: string): Promise<void> {
126
+ // if (!commandName) {
127
+ // console.error('Error: Command name is required')
128
+ // console.log(
129
+ // '\nUsage: snitch scan <command-name> [directory]'
130
+ // )
131
+ // console.log('\nAvailable commands:')
132
+ // const configPath = path.resolve('.snitchconfig.json')
133
+ // if (fs.existsSync(configPath)) {
134
+ // const config: SnitchConfig = JSON.parse(
135
+ // fs.readFileSync(configPath, 'utf-8')
136
+ // )
137
+ // for (const [name, cmd] of Object.entries(
138
+ // config.commands
139
+ // )) {
140
+ // if (Array.isArray(cmd)) {
141
+ // console.log(
142
+ // ` ${name} - [Composite: ${cmd.join(', ')}]`
143
+ // )
144
+ // } else {
145
+ // console.log(` ${name} - ${cmd.description}`)
146
+ // }
147
+ // }
148
+ // }
149
+ // process.exit(1)
150
+ // }
151
+ // const configPath = path.resolve('.snitchconfig.json')
152
+ // if (!fs.existsSync(configPath)) {
153
+ // throw new Error(
154
+ // `Config file not found: ${configPath}\nPlease create .snitchconfig.json in your project root.`
155
+ // )
156
+ // }
157
+ // const config: SnitchConfig = JSON.parse(
158
+ // fs.readFileSync(configPath, 'utf-8')
159
+ // )
160
+ // if (!config.sourceDirectory) {
161
+ // throw new Error('sourceDirectory must be defined in .snitchconfig.json')
162
+ // }
163
+ // const absolutePath = path.resolve(config.sourceDirectory)
164
+ // if (!fs.existsSync(absolutePath)) {
165
+ // throw new Error(`Directory not found: ${absolutePath}`)
166
+ // }
167
+ // if (!fs.statSync(absolutePath).isDirectory()) {
168
+ // throw new Error(`Not a directory: ${absolutePath}`)
169
+ // }
170
+ // await executeCommand(commandName, config, absolutePath)
171
+ // }
172
+ async function scanCommand(_commandName) {
173
+ throw new Error('scanCommand temporarily disabled during refactoring');
107
174
  }
108
175
  //# sourceMappingURL=scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vocab.d.ts","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"AAQA,wBAAsB,YAAY,CAChC,eAAe,GAAE,MAAc,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Lf"}
1
+ {"version":3,"file":"vocab.d.ts","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,eAAe,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"vocab.js","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocab.js","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/common/fs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/common/fs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './strings';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./strings"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB"}
@@ -0,0 +1,21 @@
1
+ import { JSONSchemaType as AjvJSONSchemaType } from 'ajv';
2
+ import { ErrorTag, FyuldError } from '@fyuld/errors';
3
+ /**
4
+ * JSON Schema type definition for validation.
5
+ * This is a wrapper around the underlying validation library's schema type.
6
+ */
7
+ export type JsonSchema<T> = AjvJSONSchemaType<T>;
8
+ /**
9
+ * Validates a raw JSON object against a schema.
10
+ * @param raw - The raw JSON object to validate
11
+ * @param schema - The JSON schema to validate against
12
+ * @returns The validated and typed object
13
+ * @throws JsonValidationError if validation fails
14
+ */
15
+ export declare function validateJson<T>(raw: unknown, schema: JsonSchema<T>): T;
16
+ export declare class JsonValidationError extends FyuldError {
17
+ static validationFailed(validationErrors: string[]): JsonValidationError;
18
+ constructor(message: string, causes?: string[], tags?: ErrorTag[]);
19
+ get causes(): string[];
20
+ }
21
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/common/json.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAEhD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CActE;AAED,qBAAa,mBAAoB,SAAQ,UAAU;WACnC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE;gBAI7C,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,EAAE,IAAI,GAAE,QAAQ,EAAO;IAIzE,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACF"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.JsonValidationError = void 0;
7
+ exports.validateJson = validateJson;
8
+ const ajv_1 = __importDefault(require("ajv"));
9
+ const errors_1 = require("@fyuld/errors");
10
+ /**
11
+ * Validates a raw JSON object against a schema.
12
+ * @param raw - The raw JSON object to validate
13
+ * @param schema - The JSON schema to validate against
14
+ * @returns The validated and typed object
15
+ * @throws JsonValidationError if validation fails
16
+ */
17
+ function validateJson(raw, schema) {
18
+ const ajv = new ajv_1.default({ allErrors: true });
19
+ const validate = ajv.compile(schema);
20
+ if (!validate(raw)) {
21
+ if (!validate.errors) {
22
+ throw new Error('Validation failed but no errors were provided');
23
+ }
24
+ const validationErrors = validate.errors.map((err) => `${err.instancePath} ${err.message}`);
25
+ throw JsonValidationError.validationFailed(validationErrors);
26
+ }
27
+ return raw;
28
+ }
29
+ class JsonValidationError extends errors_1.FyuldError {
30
+ static validationFailed(validationErrors) {
31
+ return new JsonValidationError('JSON validation failed', validationErrors, [errors_1.ErrorTag.Validation, errors_1.ErrorTag.Json]);
32
+ }
33
+ constructor(message, causes = [], tags = []) {
34
+ super(message, causes, tags);
35
+ }
36
+ get causes() {
37
+ return this._causes;
38
+ }
39
+ }
40
+ exports.JsonValidationError = JsonValidationError;
41
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/common/json.ts"],"names":[],"mappings":";;;;;;AAgBA,oCAcC;AA9BD,8CAA8D;AAC9D,0CAAoD;AAQpD;;;;;;GAMG;AACH,SAAgB,YAAY,CAAI,GAAY,EAAE,MAAqB;IACjE,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3F,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAa,mBAAoB,SAAQ,mBAAU;IAC1C,MAAM,CAAC,gBAAgB,CAAC,gBAA0B;QACvD,OAAO,IAAI,mBAAmB,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,CAAC,iBAAQ,CAAC,UAAU,EAAE,iBAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAClH,CAAC;IAED,YAAY,OAAe,EAAE,SAAmB,EAAE,EAAE,OAAmB,EAAE;QACvE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAZD,kDAYC"}
@@ -0,0 +1,8 @@
1
+ export declare enum Strings {
2
+ Empty = "",
3
+ Numbers = "0123456789",
4
+ EnglishAlphabetLowercase = "abcdefghijklmnopqrstuvwxyz",
5
+ EnglishAlphabetUppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
6
+ }
7
+ export declare function isNotEmptyString(candidate: any): boolean;
8
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/common/strings.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO;IACjB,KAAK,KAAK;IACV,OAAO,eAAe;IACtB,wBAAwB,+BAA+B;IACvD,wBAAwB,+BAA+B;CACxD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAExD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Strings = void 0;
4
+ exports.isNotEmptyString = isNotEmptyString;
5
+ var Strings;
6
+ (function (Strings) {
7
+ Strings["Empty"] = "";
8
+ Strings["Numbers"] = "0123456789";
9
+ Strings["EnglishAlphabetLowercase"] = "abcdefghijklmnopqrstuvwxyz";
10
+ Strings["EnglishAlphabetUppercase"] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
11
+ })(Strings || (exports.Strings = Strings = {}));
12
+ function isNotEmptyString(candidate) {
13
+ return typeof candidate !== 'string' && candidate.length > 0;
14
+ }
15
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/common/strings.ts"],"names":[],"mappings":";;;AAOA,4CAEC;AATD,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,qBAAU,CAAA;IACV,iCAAsB,CAAA;IACtB,kEAAuD,CAAA;IACvD,kEAAuD,CAAA;AACzD,CAAC,EALW,OAAO,uBAAP,OAAO,QAKlB;AAED,SAAgB,gBAAgB,CAAC,SAAc;IAC7C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Policy } from '../rules/policy';
2
+ import { SnitchConfiguration } from '../datamodel/snitch-configuration';
3
+ export declare function loadPoliciesFromConfig(config: SnitchConfiguration): Policy[];
4
+ //# sourceMappingURL=policy-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-loader.d.ts","sourceRoot":"","sources":["../../src/config/policy-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAgB,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAErF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAY5E"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadPoliciesFromConfig = loadPoliciesFromConfig;
4
+ function loadPoliciesFromConfig(config) {
5
+ if (!config.policies) {
6
+ return [];
7
+ }
8
+ const policies = [];
9
+ for (const [id, policyConfig] of Object.entries(config.policies)) {
10
+ policies.push(convertToPolicyObject(id, policyConfig));
11
+ }
12
+ return policies;
13
+ }
14
+ function convertToPolicyObject(id, config) {
15
+ return {
16
+ id,
17
+ title: config.title,
18
+ violations: config.violations,
19
+ };
20
+ }
21
+ //# sourceMappingURL=policy-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-loader.js","sourceRoot":"","sources":["../../src/config/policy-loader.ts"],"names":[],"mappings":";;AAGA,wDAYC;AAZD,SAAgB,sBAAsB,CAAC,MAA2B;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAU,EAAE,MAAoB;IAC7D,OAAO;QACL,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare enum SnitchApi {
2
+ Init = "init",
3
+ Scan = "scan",
4
+ Dirtydefaults = "dirtydefaults",
5
+ Dm = "dm",
6
+ Expectmagic = "expectmagic",
7
+ Fixtures = "fixtures",
8
+ Enumerate = "enumerate",
9
+ Badimports = "badimports",
10
+ Vocab = "vocab",
11
+ Nocomments = "nocomments"
12
+ }
13
+ export declare enum SnitchInternalInterface {
14
+ Prehook = "prehook",
15
+ Posthook = "posthook"
16
+ }
17
+ export type SnitchInterface = SnitchApi & SnitchInternalInterface;
18
+ export declare enum SnitchPrehookInterface {
19
+ CleanTree = "cleantree",
20
+ BoundedFiles = "boundedfiles"
21
+ }
22
+ export declare enum SnitchPosthookInterface {
23
+ BoundedFiles = "boundedfiles"
24
+ }
25
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/datamodel/commands.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,EAAE,OAAO;IACT,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B;AAED,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,uBAAuB,CAAA;AAEjE,oBAAY,sBAAsB;IAChC,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,oBAAY,uBAAuB;IACjC,YAAY,iBAAiB;CAC9B"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnitchPosthookInterface = exports.SnitchPrehookInterface = exports.SnitchInternalInterface = exports.SnitchApi = void 0;
4
+ var SnitchApi;
5
+ (function (SnitchApi) {
6
+ SnitchApi["Init"] = "init";
7
+ SnitchApi["Scan"] = "scan";
8
+ SnitchApi["Dirtydefaults"] = "dirtydefaults";
9
+ SnitchApi["Dm"] = "dm";
10
+ SnitchApi["Expectmagic"] = "expectmagic";
11
+ SnitchApi["Fixtures"] = "fixtures";
12
+ SnitchApi["Enumerate"] = "enumerate";
13
+ SnitchApi["Badimports"] = "badimports";
14
+ SnitchApi["Vocab"] = "vocab";
15
+ SnitchApi["Nocomments"] = "nocomments";
16
+ })(SnitchApi || (exports.SnitchApi = SnitchApi = {}));
17
+ var SnitchInternalInterface;
18
+ (function (SnitchInternalInterface) {
19
+ SnitchInternalInterface["Prehook"] = "prehook";
20
+ SnitchInternalInterface["Posthook"] = "posthook";
21
+ })(SnitchInternalInterface || (exports.SnitchInternalInterface = SnitchInternalInterface = {}));
22
+ var SnitchPrehookInterface;
23
+ (function (SnitchPrehookInterface) {
24
+ SnitchPrehookInterface["CleanTree"] = "cleantree";
25
+ SnitchPrehookInterface["BoundedFiles"] = "boundedfiles";
26
+ })(SnitchPrehookInterface || (exports.SnitchPrehookInterface = SnitchPrehookInterface = {}));
27
+ var SnitchPosthookInterface;
28
+ (function (SnitchPosthookInterface) {
29
+ SnitchPosthookInterface["BoundedFiles"] = "boundedfiles";
30
+ })(SnitchPosthookInterface || (exports.SnitchPosthookInterface = SnitchPosthookInterface = {}));
31
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/datamodel/commands.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4CAA+B,CAAA;IAC/B,sBAAS,CAAA;IACT,wCAA2B,CAAA;IAC3B,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,4BAAe,CAAA;IACf,sCAAyB,CAAA;AAC3B,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,gDAAqB,CAAA;AACvB,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAID,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;AAC/B,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,wDAA6B,CAAA;AAC/B,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC"}
@@ -0,0 +1,11 @@
1
+ export type Violation = {
2
+ message: string;
3
+ file: string;
4
+ line: number;
5
+ content: string;
6
+ recommendation?: {
7
+ message: string;
8
+ recommendations: string[];
9
+ };
10
+ };
11
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/datamodel/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE;QACf,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,MAAM,EAAE,CAAA;KAC1B,CAAA;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common.js.map