@trebired/code-discipline 2.2.0 → 3.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.
- package/CHANGELOG.md +19 -0
- package/README.md +77 -4
- package/dist/checks/fix-folderization.d.ts.map +1 -1
- package/dist/checks/fix-folderization.js +3 -1
- package/dist/checks/fix-folderization.js.map +1 -1
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +97 -60
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rule-slugs.d.ts +4 -3
- package/dist/checks/rule-slugs.d.ts.map +1 -1
- package/dist/checks/rule-slugs.js +15 -8
- package/dist/checks/rule-slugs.js.map +1 -1
- package/dist/checks/rules/comments/ranges.d.ts +10 -0
- package/dist/checks/rules/comments/ranges.d.ts.map +1 -0
- package/dist/checks/rules/comments/ranges.js +210 -0
- package/dist/checks/rules/comments/ranges.js.map +1 -0
- package/dist/checks/rules/comments/stripping.d.ts +12 -0
- package/dist/checks/rules/comments/stripping.d.ts.map +1 -0
- package/dist/checks/rules/comments/stripping.js +81 -0
- package/dist/checks/rules/comments/stripping.js.map +1 -0
- package/dist/checks/rules/dry/candidates.d.ts +8 -0
- package/dist/checks/rules/dry/candidates.d.ts.map +1 -0
- package/dist/checks/rules/dry/candidates.js +98 -0
- package/dist/checks/rules/dry/candidates.js.map +1 -0
- package/dist/checks/rules/dry/fingerprint.d.ts +15 -0
- package/dist/checks/rules/dry/fingerprint.d.ts.map +1 -0
- package/dist/checks/rules/dry/fingerprint.js +80 -0
- package/dist/checks/rules/dry/fingerprint.js.map +1 -0
- package/dist/checks/rules/dry/fix.d.ts +5 -0
- package/dist/checks/rules/dry/fix.d.ts.map +1 -0
- package/dist/checks/rules/dry/fix.js +252 -0
- package/dist/checks/rules/dry/fix.js.map +1 -0
- package/dist/checks/rules/dry/helpers.d.ts +5 -0
- package/dist/checks/rules/dry/helpers.d.ts.map +1 -0
- package/dist/checks/rules/dry/helpers.js +99 -0
- package/dist/checks/rules/dry/helpers.js.map +1 -0
- package/dist/checks/rules/dry/index.d.ts +7 -0
- package/dist/checks/rules/dry/index.d.ts.map +1 -0
- package/dist/checks/rules/dry/index.js +14 -0
- package/dist/checks/rules/dry/index.js.map +1 -0
- package/dist/checks/rules/dry/model.d.ts +37 -0
- package/dist/checks/rules/dry/model.d.ts.map +1 -0
- package/dist/checks/rules/dry/model.js +16 -0
- package/dist/checks/rules/dry/model.js.map +1 -0
- package/dist/checks/rules/dry/serialize/bindings.d.ts +8 -0
- package/dist/checks/rules/dry/serialize/bindings.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/bindings.js +62 -0
- package/dist/checks/rules/dry/serialize/bindings.js.map +1 -0
- package/dist/checks/rules/dry/serialize/context.d.ts +18 -0
- package/dist/checks/rules/dry/serialize/context.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/context.js +103 -0
- package/dist/checks/rules/dry/serialize/context.js.map +1 -0
- package/dist/checks/rules/dry/serialize/expressions.d.ts +10 -0
- package/dist/checks/rules/dry/serialize/expressions.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/expressions.js +161 -0
- package/dist/checks/rules/dry/serialize/expressions.js.map +1 -0
- package/dist/checks/rules/dry/serialize/node.d.ts +5 -0
- package/dist/checks/rules/dry/serialize/node.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/node.js +43 -0
- package/dist/checks/rules/dry/serialize/node.js.map +1 -0
- package/dist/checks/rules/dry/serialize/statements.d.ts +7 -0
- package/dist/checks/rules/dry/serialize/statements.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/statements.js +99 -0
- package/dist/checks/rules/dry/serialize/statements.js.map +1 -0
- package/dist/checks/rules/evasion-guards/functions.d.ts +14 -0
- package/dist/checks/rules/evasion-guards/functions.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/functions.js +83 -0
- package/dist/checks/rules/evasion-guards/functions.js.map +1 -0
- package/dist/checks/rules/evasion-guards/index.d.ts +6 -0
- package/dist/checks/rules/evasion-guards/index.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/index.js +126 -0
- package/dist/checks/rules/evasion-guards/index.js.map +1 -0
- package/dist/checks/rules/evasion-guards/runtime.d.ts +6 -0
- package/dist/checks/rules/evasion-guards/runtime.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/runtime.js +51 -0
- package/dist/checks/rules/evasion-guards/runtime.js.map +1 -0
- package/dist/checks/rules/evasion-guards/strip.d.ts +11 -0
- package/dist/checks/rules/evasion-guards/strip.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/strip.js +89 -0
- package/dist/checks/rules/evasion-guards/strip.js.map +1 -0
- package/dist/checks/rules/folderize/compound-files.d.ts +6 -0
- package/dist/checks/rules/folderize/compound-files.d.ts.map +1 -0
- package/dist/checks/rules/{folderize-compound-files.js → folderize/compound-files.js} +10 -2
- package/dist/checks/rules/folderize/compound-files.js.map +1 -0
- package/dist/checks/rules/{folderize-plan.d.ts → folderize/plan.d.ts} +3 -3
- package/dist/checks/rules/folderize/plan.d.ts.map +1 -0
- package/dist/checks/rules/{folderize-plan.js → folderize/plan.js} +2 -2
- package/dist/checks/rules/folderize/plan.js.map +1 -0
- package/dist/checks/rules/max/file-lines.d.ts +6 -0
- package/dist/checks/rules/max/file-lines.d.ts.map +1 -0
- package/dist/checks/rules/{max-file-lines.js → max/file-lines.js} +9 -1
- package/dist/checks/rules/max/file-lines.js.map +1 -0
- package/dist/checks/rules/max/function-lines.d.ts +6 -0
- package/dist/checks/rules/max/function-lines.d.ts.map +1 -0
- package/dist/checks/rules/{max-function-lines.js → max/function-lines.js} +79 -61
- package/dist/checks/rules/max/function-lines.js.map +1 -0
- package/dist/checks/rules/remove-comments.d.ts +7 -0
- package/dist/checks/rules/remove-comments.d.ts.map +1 -0
- package/dist/checks/rules/remove-comments.js +67 -0
- package/dist/checks/rules/remove-comments.js.map +1 -0
- package/dist/checks/types.d.ts +30 -2
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +123 -36
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +68 -62
- package/dist/config/index.js.map +1 -1
- package/dist/config/{normalize-check-options.d.ts → normalize/check-options.d.ts} +2 -2
- package/dist/config/normalize/check-options.d.ts.map +1 -0
- package/dist/config/{normalize-check-options.js → normalize/check-options.js} +7 -5
- package/dist/config/normalize/check-options.js.map +1 -0
- package/dist/config/normalize/rule-options.d.ts +31 -0
- package/dist/config/normalize/rule-options.d.ts.map +1 -0
- package/dist/config/{normalize-rule-options.js → normalize/rule-options.js} +51 -4
- package/dist/config/normalize/rule-options.js.map +1 -0
- package/dist/config/{normalize-source-options.d.ts → normalize/source-options.d.ts} +2 -2
- package/dist/config/normalize/source-options.d.ts.map +1 -0
- package/dist/config/{normalize-source-options.js → normalize/source-options.js} +5 -5
- package/dist/config/normalize/source-options.js.map +1 -0
- package/dist/config/{normalize-sync-imports-options.d.ts → normalize/sync-imports-options.d.ts} +2 -2
- package/dist/config/normalize/sync-imports-options.d.ts.map +1 -0
- package/dist/config/{normalize-sync-imports-options.js → normalize/sync-imports-options.js} +5 -5
- package/dist/config/normalize/sync-imports-options.js.map +1 -0
- package/dist/imports/check-sync-imports.js +1 -1
- package/dist/imports/check-sync-imports.js.map +1 -1
- package/dist/imports/scan.d.ts.map +1 -1
- package/dist/imports/scan.js +10 -0
- package/dist/imports/scan.js.map +1 -1
- package/dist/imports/sync-imports.d.ts.map +1 -1
- package/dist/imports/sync-imports.js +59 -47
- package/dist/imports/sync-imports.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/native/native.d.ts +18 -0
- package/dist/native/native.d.ts.map +1 -0
- package/dist/native/native.js +78 -0
- package/dist/native/native.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -0
- package/dist/run.js.map +1 -1
- package/dist/runtime/gate-command.d.ts +13 -0
- package/dist/runtime/gate-command.d.ts.map +1 -0
- package/dist/runtime/gate-command.js +51 -0
- package/dist/runtime/gate-command.js.map +1 -0
- package/dist/runtime/{runtime-imports-sync.d.ts → imports-sync.d.ts} +1 -1
- package/dist/runtime/imports-sync.d.ts.map +1 -0
- package/dist/runtime/{runtime-imports-sync.js → imports-sync.js} +33 -21
- package/dist/runtime/imports-sync.js.map +1 -0
- package/dist/shared/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.map +1 -1
- package/dist/shared/languages.d.ts +2 -1
- package/dist/shared/languages.d.ts.map +1 -1
- package/dist/shared/languages.js +4 -1
- package/dist/shared/languages.js.map +1 -1
- package/dist/shared/logging.d.ts.map +1 -1
- package/dist/shared/logging.js +28 -13
- package/dist/shared/logging.js.map +1 -1
- package/dist/shared/utils.d.ts +4 -4
- package/dist/shared/utils.d.ts.map +1 -1
- package/dist/shared/utils.js +4 -4
- package/dist/shared/utils.js.map +1 -1
- package/native/darwin-arm64.node +0 -0
- package/native/darwin-x64.node +0 -0
- package/native/linux-arm64-gnu.node +0 -0
- package/native/linux-x64-gnu.node +0 -0
- package/package.json +11 -4
- package/dist/checks/rules/dry.d.ts +0 -7
- package/dist/checks/rules/dry.d.ts.map +0 -1
- package/dist/checks/rules/dry.js +0 -905
- package/dist/checks/rules/dry.js.map +0 -1
- package/dist/checks/rules/folderize-compound-files.d.ts +0 -6
- package/dist/checks/rules/folderize-compound-files.d.ts.map +0 -1
- package/dist/checks/rules/folderize-compound-files.js.map +0 -1
- package/dist/checks/rules/folderize-plan.d.ts.map +0 -1
- package/dist/checks/rules/folderize-plan.js.map +0 -1
- package/dist/checks/rules/max-file-lines.d.ts +0 -6
- package/dist/checks/rules/max-file-lines.d.ts.map +0 -1
- package/dist/checks/rules/max-file-lines.js.map +0 -1
- package/dist/checks/rules/max-function-lines.d.ts +0 -6
- package/dist/checks/rules/max-function-lines.d.ts.map +0 -1
- package/dist/checks/rules/max-function-lines.js.map +0 -1
- package/dist/config/normalize-check-options.d.ts.map +0 -1
- package/dist/config/normalize-check-options.js.map +0 -1
- package/dist/config/normalize-rule-options.d.ts +0 -29
- package/dist/config/normalize-rule-options.d.ts.map +0 -1
- package/dist/config/normalize-rule-options.js.map +0 -1
- package/dist/config/normalize-source-options.d.ts.map +0 -1
- package/dist/config/normalize-source-options.js.map +0 -1
- package/dist/config/normalize-sync-imports-options.d.ts.map +0 -1
- package/dist/config/normalize-sync-imports-options.js.map +0 -1
- package/dist/runtime/runtime-imports-sync.d.ts.map +0 -1
- package/dist/runtime/runtime-imports-sync.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@trebired/code-discipline` will be documented here.
|
|
4
4
|
|
|
5
|
+
## 3.0.0
|
|
6
|
+
|
|
7
|
+
- Added top-level `evasionGuards` checks for packed files, packed lines, packed JavaScript/TypeScript functions, and runtime code hiding through string execution.
|
|
8
|
+
- Added the check-only `evasion-guards` selector so opt-in anti-evasion scans can be targeted from the CLI/runtime.
|
|
9
|
+
- Added a TTY loading animation for long CLI check/fix/gate scans.
|
|
10
|
+
- Changed `remove-comments` fixes to remove comment-only lines during the same per-file rewrite.
|
|
11
|
+
- Added the Rust native backend with TypeScript fallback and native acceleration for source scanning, `max-file-lines`, common `max-function-lines` paths, `folderize-compound-files` checks, `remove-comments`, and `evasion-guards`.
|
|
12
|
+
- Fixed runtime/CLI forwarding for top-level `evasionGuards`.
|
|
13
|
+
- Enforced code-discipline on its own codebase: the package is now a self devDependency, `bun run test` runs through `code-discipline gate`, and the source and test tree were refactored until `check` reports zero violations.
|
|
14
|
+
- Fixed Bun and Node config loading for TypeScript config modules: transpiled modules are now written to `node_modules/.cache/code-discipline` instead of `data:` URLs, so relative `.js` specifiers resolving to `.ts` sources, bare package imports, and import cycles keep a real filesystem base.
|
|
15
|
+
- Fixed native build scripts after folderization and exported the native `stripComments` binding so the Rust backend matches the TypeScript native bridge.
|
|
16
|
+
- Fixed CLI error handling so failures inside `check`, `fix`, and `gate` are reported on stderr with exit code 1 instead of escaping as unhandled rejections.
|
|
17
|
+
|
|
18
|
+
## 2.3.0
|
|
19
|
+
|
|
20
|
+
- Added the package-owned `code-discipline gate -- <command> [args...]` startup wrapper so apps can refuse startup on discipline violations without importing the package into their own source code.
|
|
21
|
+
- Added the fixable `removeComments` / `remove-comments` rule so `check` can report comment-bearing files and `fix` can strip comments across the currently supported JavaScript, TypeScript, Go, and Rust source families.
|
|
22
|
+
- Extended fix summaries with removed-comment counts so comment-stripping runs are visible in CLI output and runtime results.
|
|
23
|
+
|
|
5
24
|
## 2.2.0
|
|
6
25
|
|
|
7
26
|
- Added mixed-language source-tree support so repositories can include Go and Rust files alongside JavaScript and TypeScript without breaking scan-based discipline runs.
|
package/README.md
CHANGED
|
@@ -7,6 +7,8 @@ Configurable repository discipline checks and rule-driven fixes for Bun and Node
|
|
|
7
7
|
- code shape rules such as max lines per file or function
|
|
8
8
|
- structural rules such as folderizing compound files
|
|
9
9
|
- sync rules such as keeping source imports, `tsconfig.json`, and optional `package.json#imports` aligned
|
|
10
|
+
- source cleanup rules such as removing comments across supported languages
|
|
11
|
+
- native acceleration with a TypeScript fallback for large codebases
|
|
10
12
|
- DRY enforcement against registered canonical helper functions
|
|
11
13
|
|
|
12
14
|
It is not a formatter, linter replacement, or build system.
|
|
@@ -29,9 +31,23 @@ code-discipline check
|
|
|
29
31
|
code-discipline check save
|
|
30
32
|
code-discipline check max-function-lines dry
|
|
31
33
|
code-discipline fix
|
|
32
|
-
code-discipline fix sync-imports dry
|
|
34
|
+
code-discipline fix sync-imports dry remove-comments
|
|
35
|
+
code-discipline gate -- bun run dev
|
|
33
36
|
```
|
|
34
37
|
|
|
38
|
+
## Native Backend
|
|
39
|
+
|
|
40
|
+
`@trebired/code-discipline` can use a Rust native backend when a matching binary is available, with the TypeScript implementation as the fallback. This follows the same native-fast-path shape as `@trebired/logger`: package users keep the same CLI/API, while hot scanning and rewrite paths can move into Rust.
|
|
41
|
+
|
|
42
|
+
The current native backend accelerates source scanning, `max-file-lines`, common `max-function-lines` paths, `folderize-compound-files` checks, `remove-comments`, and `evasion-guards`. If no binary is present, the package automatically uses the TypeScript fallback.
|
|
43
|
+
|
|
44
|
+
Useful native controls:
|
|
45
|
+
|
|
46
|
+
- `bun run build:native` builds the host native addon into `native/<platform>.node`
|
|
47
|
+
- `bun run build:native:matrix` builds the release target matrix
|
|
48
|
+
- `TB_CODE_DISCIPLINE_DISABLE_NATIVE=1` forces the TypeScript fallback
|
|
49
|
+
- `TB_CODE_DISCIPLINE_NATIVE_BINARY=/path/to/addon.node` loads a specific native addon
|
|
50
|
+
|
|
35
51
|
Top-level `sync` is gone.
|
|
36
52
|
|
|
37
53
|
`sync-imports` is now just another fixable rule, so targeted sync work is done through:
|
|
@@ -54,11 +70,15 @@ Typical `package.json` scripts can stay simple:
|
|
|
54
70
|
{
|
|
55
71
|
"scripts": {
|
|
56
72
|
"discipline:check": "code-discipline check",
|
|
57
|
-
"discipline:fix": "code-discipline fix"
|
|
73
|
+
"discipline:fix": "code-discipline fix",
|
|
74
|
+
"start:app": "node dist/server.js",
|
|
75
|
+
"start": "code-discipline gate -- npm run start:app"
|
|
58
76
|
}
|
|
59
77
|
}
|
|
60
78
|
```
|
|
61
79
|
|
|
80
|
+
`gate` runs the same repo config discovery as `check`. If violations are found, it exits non-zero and does not launch the child command. If the repo is clean, it starts the child command and forwards its exit status.
|
|
81
|
+
|
|
62
82
|
## Config
|
|
63
83
|
|
|
64
84
|
The CLI auto-discovers a top-level config module in this order:
|
|
@@ -82,6 +102,8 @@ Legacy config filenames are no longer auto-discovered, but they still work when
|
|
|
82
102
|
|
|
83
103
|
Rules are enabled by presence. If a rule object exists under `rules`, it runs.
|
|
84
104
|
|
|
105
|
+
`evasionGuards` is a top-level opt-in system because it checks suspicious compliance patterns across rules instead of being a normal style rule.
|
|
106
|
+
|
|
85
107
|
Example `tb.code-discipline.ts`:
|
|
86
108
|
|
|
87
109
|
```ts
|
|
@@ -98,6 +120,7 @@ export default defineCodeDisciplineConfig({
|
|
|
98
120
|
normalize: "relative-dot-prefix",
|
|
99
121
|
restoreAfterRun: true,
|
|
100
122
|
},
|
|
123
|
+
evasionGuards: true,
|
|
101
124
|
lifecycle: {
|
|
102
125
|
async beforeRun(context) {
|
|
103
126
|
context.state.started = true;
|
|
@@ -113,6 +136,7 @@ export default defineCodeDisciplineConfig({
|
|
|
113
136
|
folderizeCompoundFiles: {
|
|
114
137
|
separators: ["_", "-"],
|
|
115
138
|
},
|
|
139
|
+
removeComments: {},
|
|
116
140
|
syncImports: {
|
|
117
141
|
alias: {
|
|
118
142
|
prefix: "#",
|
|
@@ -175,7 +199,7 @@ export default defineCodeDisciplineConfig({
|
|
|
175
199
|
|
|
176
200
|
```sh
|
|
177
201
|
code-discipline check max-file-lines max-function-lines
|
|
178
|
-
code-discipline fix sync-imports dry
|
|
202
|
+
code-discipline fix sync-imports dry remove-comments
|
|
179
203
|
```
|
|
180
204
|
|
|
181
205
|
Rules use kebab-case public slugs:
|
|
@@ -184,9 +208,11 @@ Rules use kebab-case public slugs:
|
|
|
184
208
|
- `max-function-lines`
|
|
185
209
|
- `folderize-compound-files`
|
|
186
210
|
- `sync-imports`
|
|
211
|
+
- `remove-comments`
|
|
187
212
|
- `dry`
|
|
213
|
+
- `evasion-guards`
|
|
188
214
|
|
|
189
|
-
`fix` only accepts fixable rules. Trying to run `code-discipline fix max-function-lines` fails clearly.
|
|
215
|
+
`fix` only accepts fixable rules. Trying to run `code-discipline fix max-function-lines` or `code-discipline fix evasion-guards` fails clearly.
|
|
190
216
|
|
|
191
217
|
## Runtime API
|
|
192
218
|
|
|
@@ -249,6 +275,35 @@ Reports files whose total line count exceeds `max`.
|
|
|
249
275
|
|
|
250
276
|
Reports function-like declarations whose total span exceeds `max`.
|
|
251
277
|
|
|
278
|
+
### `evasionGuards`
|
|
279
|
+
|
|
280
|
+
Reports suspicious attempts to satisfy discipline rules without actually improving the code. This is mainly for AI agents because they commonly produce this type of shady slop: compressing long files or large functions into one-line/few-line code so max-line checks stop complaining.
|
|
281
|
+
|
|
282
|
+
Enable it at the top level:
|
|
283
|
+
|
|
284
|
+
```ts
|
|
285
|
+
export default defineCodeDisciplineConfig({
|
|
286
|
+
evasionGuards: true,
|
|
287
|
+
rules: {
|
|
288
|
+
maxFileLines: {
|
|
289
|
+
max: 500,
|
|
290
|
+
},
|
|
291
|
+
maxFunctionLines: {
|
|
292
|
+
max: 80,
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
});
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
It detects:
|
|
299
|
+
|
|
300
|
+
- packed files with very few physical lines but lots of code structure
|
|
301
|
+
- packed lines with excessive statement or structural density
|
|
302
|
+
- packed JavaScript/TypeScript functions that dodge line-count limits
|
|
303
|
+
- runtime code hiding through string execution such as `eval`, `new Function`, or `setTimeout("code")`
|
|
304
|
+
|
|
305
|
+
`evasionGuards` is check-only and disabled unless explicitly configured.
|
|
306
|
+
|
|
252
307
|
### `folderizeCompoundFiles`
|
|
253
308
|
|
|
254
309
|
Detects flat compound names such as `user_route.ts` and can move them into structural folders such as `user/route.ts`.
|
|
@@ -284,6 +339,24 @@ Example targeted CLI usage:
|
|
|
284
339
|
code-discipline fix sync-imports
|
|
285
340
|
```
|
|
286
341
|
|
|
342
|
+
### `removeComments`
|
|
343
|
+
|
|
344
|
+
Reports files that still contain removable comments and strips them when you run `code-discipline fix`.
|
|
345
|
+
|
|
346
|
+
The rule supports the same language families this package currently scans for discipline work:
|
|
347
|
+
|
|
348
|
+
- JavaScript and TypeScript
|
|
349
|
+
- Go
|
|
350
|
+
- Rust
|
|
351
|
+
|
|
352
|
+
It keeps string, regex, rune, char, byte-string, and raw-string content intact while removing actual source comments. When a removed comment occupied the whole line, that empty line is removed in the same file rewrite.
|
|
353
|
+
|
|
354
|
+
Example targeted CLI usage:
|
|
355
|
+
|
|
356
|
+
```sh
|
|
357
|
+
code-discipline fix remove-comments
|
|
358
|
+
```
|
|
359
|
+
|
|
287
360
|
### `dry`
|
|
288
361
|
|
|
289
362
|
Registers canonical helper functions and reports exact normalized duplicates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-folderization.d.ts","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAQ7E,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,oCAAoC,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,CASzB;AAED,iBAAS,aAAa,CACpB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAqBjE;AAuKD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"fix-folderization.d.ts","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAQ7E,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,oCAAoC,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,CASzB;AAED,iBAAS,aAAa,CACpB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAqBjE;AAuKD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA0DlC;AAED,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { isRelativeImportSpecifier } from "../imports/resolve.js";
|
|
|
5
5
|
import { supportsFolderizationFix } from "../shared/languages.js";
|
|
6
6
|
import { FileConflictError, FixFailureError, RewriteFailureError } from "../shared/errors.js";
|
|
7
7
|
import { ensureDotExtension, pathExists, stripKnownExtension, toPosixPath } from "../shared/utils.js";
|
|
8
|
-
import { planFolderizeCompoundFiles } from "./rules/folderize
|
|
8
|
+
import { planFolderizeCompoundFiles } from "./rules/folderize/plan.js";
|
|
9
9
|
function createFolderizationViolation(filePath, suggestedPath, options, details) {
|
|
10
10
|
return {
|
|
11
11
|
rule: "folderize-compound-files",
|
|
@@ -168,6 +168,7 @@ async function fixFolderization(sourceFiles, options, logger) {
|
|
|
168
168
|
moved_files: 0,
|
|
169
169
|
rewritten_files: 0,
|
|
170
170
|
rewritten_imports: 0,
|
|
171
|
+
removed_comments: 0,
|
|
171
172
|
ruleResults: {},
|
|
172
173
|
violations: [],
|
|
173
174
|
};
|
|
@@ -192,6 +193,7 @@ async function fixFolderization(sourceFiles, options, logger) {
|
|
|
192
193
|
moved_files: movedFiles,
|
|
193
194
|
rewritten_files: rewriteState.rewrittenFiles,
|
|
194
195
|
rewritten_imports: rewriteState.rewrittenImports,
|
|
196
|
+
removed_comments: 0,
|
|
195
197
|
ruleResults: {},
|
|
196
198
|
violations: [],
|
|
197
199
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,wBAAwB,EACxB,uBAAuB,EAGvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAYpB,iBAAe,0BAA0B,CACvC,OAAO,EAAE,oCAAoC,EAC7C,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,oCAAoC,GAAG,SAAqC;;;;;;;;;;;;;;;;;;;GA+CnF;AAmLD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqBpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/checks/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { normalizeCheckCodeDisciplineOptions } from "../config/normalize
|
|
2
|
+
import { normalizeCheckCodeDisciplineOptions } from "../config/normalize/check-options.js";
|
|
3
3
|
import { collectSyncImportViolations } from "../imports/check-sync-imports.js";
|
|
4
4
|
import { scanSourceFiles } from "../imports/scan.js";
|
|
5
5
|
import { syncImports } from "../imports/sync-imports.js";
|
|
@@ -9,10 +9,12 @@ import { resolveLogger } from "../shared/logging.js";
|
|
|
9
9
|
import { ensureDotExtension, normalizeRelativePath, uniqueStrings } from "../shared/utils.js";
|
|
10
10
|
import { shouldRunRule } from "./rule-slugs.js";
|
|
11
11
|
import { fixFolderization } from "./fix-folderization.js";
|
|
12
|
-
import { runFolderizeCompoundFilesRule } from "./rules/folderize
|
|
13
|
-
import { collectDryViolations, fixDryRule } from "./rules/dry.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
12
|
+
import { runFolderizeCompoundFilesRule } from "./rules/folderize/compound-files.js";
|
|
13
|
+
import { collectDryViolations, fixDryRule } from "./rules/dry/index.js";
|
|
14
|
+
import { runEvasionGuardsRule } from "./rules/evasion-guards/index.js";
|
|
15
|
+
import { runMaxFileLinesRule } from "./rules/max/file-lines.js";
|
|
16
|
+
import { runMaxFunctionLinesRule } from "./rules/max/function-lines.js";
|
|
17
|
+
import { collectRemoveCommentsViolations, fixRemoveCommentsRule } from "./rules/remove-comments.js";
|
|
16
18
|
async function buildNormalizedSyncOptions(options, fix, rule = options.rules.syncImports) {
|
|
17
19
|
if (!rule)
|
|
18
20
|
return null;
|
|
@@ -101,6 +103,12 @@ async function collectViolations(options) {
|
|
|
101
103
|
violations.push(...await collectSyncImportViolations(sourceFiles, normalizedSyncOptions));
|
|
102
104
|
}
|
|
103
105
|
}
|
|
106
|
+
if (options.rules.removeComments && shouldRunRule("remove-comments", options.onlyRules)) {
|
|
107
|
+
violations.push(...await collectRemoveCommentsViolations(sourceFiles));
|
|
108
|
+
}
|
|
109
|
+
if (options.evasionGuards && shouldRunRule("evasion-guards", options.onlyRules)) {
|
|
110
|
+
violations.push(...await runEvasionGuardsRule(sourceFiles, options));
|
|
111
|
+
}
|
|
104
112
|
return sortViolations(violations);
|
|
105
113
|
}
|
|
106
114
|
function mapFixRuleResult(result) {
|
|
@@ -111,6 +119,7 @@ function mapFixRuleResult(result) {
|
|
|
111
119
|
moved_files: result.moved_files,
|
|
112
120
|
rewritten_files: result.rewritten_files,
|
|
113
121
|
rewritten_imports: result.rewritten_imports,
|
|
122
|
+
removed_comments: result.removed_comments,
|
|
114
123
|
removed_duplicates: result.removed_duplicates,
|
|
115
124
|
added_imports: result.added_imports,
|
|
116
125
|
};
|
|
@@ -118,6 +127,75 @@ function mapFixRuleResult(result) {
|
|
|
118
127
|
function shouldRunFixRule(rule, options) {
|
|
119
128
|
return shouldRunRule(rule, options.onlyRules);
|
|
120
129
|
}
|
|
130
|
+
async function applyFolderizeFix(state, normalized, logger) {
|
|
131
|
+
if (!normalized.rules.folderizeCompoundFiles || !shouldRunFixRule("folderize-compound-files", normalized))
|
|
132
|
+
return;
|
|
133
|
+
const result = await fixFolderization(state.sourceFiles, normalized, logger);
|
|
134
|
+
state.ruleResults["folderize-compound-files"] = mapFixRuleResult(result);
|
|
135
|
+
state.violations.push(...result.violations);
|
|
136
|
+
state.movedFiles += result.moved_files;
|
|
137
|
+
state.rewrittenFiles += result.rewritten_files;
|
|
138
|
+
state.rewrittenImports += result.rewritten_imports;
|
|
139
|
+
if (result.moved_files > 0 || result.rewritten_files > 0) {
|
|
140
|
+
state.sourceFiles = await scanSourceFiles(normalized);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async function applyDryFix(state, normalized) {
|
|
144
|
+
if (!normalized.rules.dry || !shouldRunFixRule("dry", normalized))
|
|
145
|
+
return;
|
|
146
|
+
const result = await fixDryRule(state.sourceFiles, normalized);
|
|
147
|
+
state.ruleResults.dry = mapFixRuleResult(result);
|
|
148
|
+
state.violations.push(...result.violations);
|
|
149
|
+
state.rewrittenFiles += result.rewritten_files ?? 0;
|
|
150
|
+
if ((result.rewritten_files ?? 0) > 0) {
|
|
151
|
+
state.sourceFiles = await scanSourceFiles(normalized);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
async function applySyncImportsFix(state, normalized) {
|
|
155
|
+
if (!normalized.rules.syncImports || !shouldRunFixRule("sync-imports", normalized))
|
|
156
|
+
return;
|
|
157
|
+
const syncOptions = await buildNormalizedSyncOptions(normalized, true);
|
|
158
|
+
if (!syncOptions)
|
|
159
|
+
return;
|
|
160
|
+
const result = await syncImports(syncOptions);
|
|
161
|
+
state.ruleResults["sync-imports"] = mapFixRuleResult(result);
|
|
162
|
+
state.violations.push(...result.violations);
|
|
163
|
+
state.rewrittenFiles += result.rewritten_files;
|
|
164
|
+
state.rewrittenImports += result.rewritten_imports;
|
|
165
|
+
}
|
|
166
|
+
async function applyRemoveCommentsFix(state, normalized) {
|
|
167
|
+
if (!normalized.rules.removeComments || !shouldRunFixRule("remove-comments", normalized))
|
|
168
|
+
return;
|
|
169
|
+
const result = await fixRemoveCommentsRule(state.sourceFiles, normalized);
|
|
170
|
+
state.ruleResults["remove-comments"] = mapFixRuleResult(result);
|
|
171
|
+
state.violations.push(...result.violations);
|
|
172
|
+
state.rewrittenFiles += result.rewritten_files ?? 0;
|
|
173
|
+
state.removedComments += result.removed_comments ?? 0;
|
|
174
|
+
}
|
|
175
|
+
function createFixResult(state) {
|
|
176
|
+
return {
|
|
177
|
+
...summarizeViolations(sortViolations(state.violations)),
|
|
178
|
+
moved_files: state.movedFiles,
|
|
179
|
+
rewritten_files: state.rewrittenFiles,
|
|
180
|
+
rewritten_imports: state.rewrittenImports,
|
|
181
|
+
removed_comments: state.removedComments,
|
|
182
|
+
ruleResults: state.ruleResults,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
function logFixResult(result, logger) {
|
|
186
|
+
if (!result.ok || result.violations.length > 0) {
|
|
187
|
+
logSummary("fix", result, logger);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
logger.flush("success", "discipline-fix-ok", "fix completed", {
|
|
191
|
+
violationCount: result.violationCount,
|
|
192
|
+
movedFiles: result.moved_files,
|
|
193
|
+
rewrittenFiles: result.rewritten_files,
|
|
194
|
+
rewrittenImports: result.rewritten_imports,
|
|
195
|
+
removedComments: result.removed_comments,
|
|
196
|
+
ruleResults: result.ruleResults,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
121
199
|
async function checkCodeDiscipline(options) {
|
|
122
200
|
const normalized = await normalizeCheckCodeDisciplineOptions(options, "check");
|
|
123
201
|
const logger = resolveLogger(normalized.logging);
|
|
@@ -129,62 +207,21 @@ async function checkCodeDiscipline(options) {
|
|
|
129
207
|
async function fixCodeDiscipline(options) {
|
|
130
208
|
const normalized = await normalizeCheckCodeDisciplineOptions(options, "fix");
|
|
131
209
|
const logger = resolveLogger(normalized.logging);
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
ruleResults["folderize-compound-files"] = mapFixRuleResult(folderizeResult);
|
|
141
|
-
violations.push(...folderizeResult.violations);
|
|
142
|
-
movedFiles += folderizeResult.moved_files;
|
|
143
|
-
rewrittenFiles += folderizeResult.rewritten_files;
|
|
144
|
-
rewrittenImports += folderizeResult.rewritten_imports;
|
|
145
|
-
if (folderizeResult.moved_files > 0 || folderizeResult.rewritten_files > 0) {
|
|
146
|
-
sourceFiles = await scanSourceFiles(normalized);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
if (normalized.rules.dry && shouldRunFixRule("dry", normalized)) {
|
|
150
|
-
const dryResult = await fixDryRule(sourceFiles, normalized);
|
|
151
|
-
ruleResults.dry = mapFixRuleResult(dryResult);
|
|
152
|
-
violations.push(...dryResult.violations);
|
|
153
|
-
rewrittenFiles += dryResult.rewritten_files ?? 0;
|
|
154
|
-
if ((dryResult.rewritten_files ?? 0) > 0) {
|
|
155
|
-
sourceFiles = await scanSourceFiles(normalized);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (normalized.rules.syncImports && shouldRunFixRule("sync-imports", normalized)) {
|
|
159
|
-
const syncOptions = await buildNormalizedSyncOptions(normalized, true);
|
|
160
|
-
if (syncOptions) {
|
|
161
|
-
const syncResult = await syncImports(syncOptions);
|
|
162
|
-
ruleResults["sync-imports"] = mapFixRuleResult(syncResult);
|
|
163
|
-
violations.push(...syncResult.violations);
|
|
164
|
-
rewrittenFiles += syncResult.rewritten_files;
|
|
165
|
-
rewrittenImports += syncResult.rewritten_imports;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
const summary = summarizeViolations(sortViolations(violations));
|
|
169
|
-
const result = {
|
|
170
|
-
...summary,
|
|
171
|
-
moved_files: movedFiles,
|
|
172
|
-
rewritten_files: rewrittenFiles,
|
|
173
|
-
rewritten_imports: rewrittenImports,
|
|
174
|
-
ruleResults,
|
|
210
|
+
const state = {
|
|
211
|
+
movedFiles: 0,
|
|
212
|
+
removedComments: 0,
|
|
213
|
+
rewrittenFiles: 0,
|
|
214
|
+
rewrittenImports: 0,
|
|
215
|
+
ruleResults: {},
|
|
216
|
+
sourceFiles: await scanSourceFiles(normalized),
|
|
217
|
+
violations: [],
|
|
175
218
|
};
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
movedFiles: result.moved_files,
|
|
183
|
-
rewrittenFiles: result.rewritten_files,
|
|
184
|
-
rewrittenImports: result.rewritten_imports,
|
|
185
|
-
ruleResults: result.ruleResults,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
219
|
+
await applyFolderizeFix(state, normalized, logger);
|
|
220
|
+
await applyDryFix(state, normalized);
|
|
221
|
+
await applySyncImportsFix(state, normalized);
|
|
222
|
+
await applyRemoveCommentsFix(state, normalized);
|
|
223
|
+
const result = createFixResult(state);
|
|
224
|
+
logFixResult(result, logger);
|
|
188
225
|
return result;
|
|
189
226
|
}
|
|
190
227
|
export { buildNormalizedSyncOptions, checkCodeDiscipline, fixCodeDiscipline };
|
package/dist/checks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodeDisciplineMode, CodeDisciplineRuleSlug, CodeDisciplineRules, FixableRuleSlug } from "./types.js";
|
|
1
|
+
import type { CodeDisciplineMode, CodeDisciplineRuleSlug, CodeDisciplineRules, EvasionGuardsOptions, FixableRuleSlug } from "./types.js";
|
|
2
2
|
declare const ALL_RULE_SLUGS: CodeDisciplineRuleSlug[];
|
|
3
3
|
declare const FIXABLE_RULE_SLUGS: FixableRuleSlug[];
|
|
4
4
|
declare const RULE_SLUG_BY_CONFIG_KEY: {
|
|
@@ -6,10 +6,11 @@ declare const RULE_SLUG_BY_CONFIG_KEY: {
|
|
|
6
6
|
readonly folderizeCompoundFiles: "folderize-compound-files";
|
|
7
7
|
readonly maxFileLines: "max-file-lines";
|
|
8
8
|
readonly maxFunctionLines: "max-function-lines";
|
|
9
|
+
readonly removeComments: "remove-comments";
|
|
9
10
|
readonly syncImports: "sync-imports";
|
|
10
11
|
};
|
|
11
|
-
declare function resolveEnabledRuleSlugs(rules: CodeDisciplineRules | undefined): Set<CodeDisciplineRuleSlug>;
|
|
12
|
-
declare function normalizeOnlyRules(mode: CodeDisciplineMode, onlyRules: readonly string[] | undefined, rules: CodeDisciplineRules | undefined): CodeDisciplineRuleSlug[] | FixableRuleSlug[] | undefined;
|
|
12
|
+
declare function resolveEnabledRuleSlugs(rules: CodeDisciplineRules | undefined, evasionGuards?: EvasionGuardsOptions): Set<CodeDisciplineRuleSlug>;
|
|
13
|
+
declare function normalizeOnlyRules(mode: CodeDisciplineMode, onlyRules: readonly string[] | undefined, rules: CodeDisciplineRules | undefined, evasionGuards?: EvasionGuardsOptions): CodeDisciplineRuleSlug[] | FixableRuleSlug[] | undefined;
|
|
13
14
|
declare function shouldRunRule(rule: CodeDisciplineRuleSlug, onlyRules: readonly string[] | undefined): boolean;
|
|
14
15
|
export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledRuleSlugs, shouldRunRule, };
|
|
15
16
|
//# sourceMappingURL=rule-slugs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-slugs.d.ts","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"rule-slugs.d.ts","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAQ3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EAKxC,CAAC;AAEF,QAAA,MAAM,uBAAuB;;;;;;;CAOnB,CAAC;AAEX,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,aAAa,CAAC,EAAE,oBAAoB,GACnC,GAAG,CAAC,sBAAsB,CAAC,CAgB7B;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,aAAa,CAAC,EAAE,oBAAoB,GACnC,sBAAsB,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAgC1D;AAED,iBAAS,aAAa,CACpB,IAAI,EAAE,sBAAsB,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACvC,OAAO,CAET;AAED,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GACd,CAAC"}
|
|
@@ -4,11 +4,14 @@ const ALL_RULE_SLUGS = [
|
|
|
4
4
|
"max-function-lines",
|
|
5
5
|
"folderize-compound-files",
|
|
6
6
|
"sync-imports",
|
|
7
|
+
"remove-comments",
|
|
7
8
|
"dry",
|
|
9
|
+
"evasion-guards",
|
|
8
10
|
];
|
|
9
11
|
const FIXABLE_RULE_SLUGS = [
|
|
10
12
|
"folderize-compound-files",
|
|
11
13
|
"sync-imports",
|
|
14
|
+
"remove-comments",
|
|
12
15
|
"dry",
|
|
13
16
|
];
|
|
14
17
|
const RULE_SLUG_BY_CONFIG_KEY = {
|
|
@@ -16,24 +19,28 @@ const RULE_SLUG_BY_CONFIG_KEY = {
|
|
|
16
19
|
folderizeCompoundFiles: "folderize-compound-files",
|
|
17
20
|
maxFileLines: "max-file-lines",
|
|
18
21
|
maxFunctionLines: "max-function-lines",
|
|
22
|
+
removeComments: "remove-comments",
|
|
19
23
|
syncImports: "sync-imports",
|
|
20
24
|
};
|
|
21
|
-
function resolveEnabledRuleSlugs(rules) {
|
|
25
|
+
function resolveEnabledRuleSlugs(rules, evasionGuards) {
|
|
22
26
|
const enabled = new Set();
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
if (rules) {
|
|
28
|
+
for (const [key, slug] of Object.entries(RULE_SLUG_BY_CONFIG_KEY)) {
|
|
29
|
+
if (rules[key]) {
|
|
30
|
+
enabled.add(slug);
|
|
31
|
+
}
|
|
28
32
|
}
|
|
29
33
|
}
|
|
34
|
+
if (evasionGuards) {
|
|
35
|
+
enabled.add("evasion-guards");
|
|
36
|
+
}
|
|
30
37
|
return enabled;
|
|
31
38
|
}
|
|
32
|
-
function normalizeOnlyRules(mode, onlyRules, rules) {
|
|
39
|
+
function normalizeOnlyRules(mode, onlyRules, rules, evasionGuards) {
|
|
33
40
|
if (!onlyRules || onlyRules.length === 0)
|
|
34
41
|
return undefined;
|
|
35
42
|
const allowedRules = new Set(mode === "fix" ? FIXABLE_RULE_SLUGS : ALL_RULE_SLUGS);
|
|
36
|
-
const enabledRules = resolveEnabledRuleSlugs(rules);
|
|
43
|
+
const enabledRules = resolveEnabledRuleSlugs(rules, evasionGuards);
|
|
37
44
|
const normalized = [];
|
|
38
45
|
for (const rule of onlyRules) {
|
|
39
46
|
if (!allowedRules.has(rule)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type CommentKind = "line" | "block";
|
|
2
|
+
type CommentRange = {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
kind: CommentKind;
|
|
6
|
+
};
|
|
7
|
+
declare function collectCommentRanges(text: string, extension: string): CommentRange[];
|
|
8
|
+
export { collectCommentRanges };
|
|
9
|
+
export type { CommentRange };
|
|
10
|
+
//# sourceMappingURL=ranges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/comments/ranges.ts"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AA4OF,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAK7E;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,CAAC"}
|