@trebired/code-discipline 3.1.2 → 3.2.1
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 +13 -0
- package/README.md +57 -7
- package/dist/checks/index.d.ts +2 -22
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +56 -65
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rule-slugs.d.ts +1 -0
- package/dist/checks/rule-slugs.d.ts.map +1 -1
- package/dist/checks/rule-slugs.js +2 -0
- package/dist/checks/rule-slugs.js.map +1 -1
- package/dist/checks/rules/banned-patterns.d.ts +6 -0
- package/dist/checks/rules/banned-patterns.d.ts.map +1 -0
- package/dist/checks/rules/banned-patterns.js +46 -0
- package/dist/checks/rules/banned-patterns.js.map +1 -0
- package/dist/checks/rules/comments/ranges.d.ts.map +1 -1
- package/dist/checks/rules/comments/ranges.js +3 -1
- package/dist/checks/rules/comments/ranges.js.map +1 -1
- package/dist/checks/rules/comments/stripping.d.ts +6 -3
- package/dist/checks/rules/comments/stripping.d.ts.map +1 -1
- package/dist/checks/rules/comments/stripping.js +16 -5
- package/dist/checks/rules/comments/stripping.js.map +1 -1
- package/dist/checks/rules/max/code-lines.d.ts +6 -0
- package/dist/checks/rules/max/code-lines.d.ts.map +1 -0
- package/dist/checks/rules/max/code-lines.js +38 -0
- package/dist/checks/rules/max/code-lines.js.map +1 -0
- package/dist/checks/rules/max/file-lines.d.ts.map +1 -1
- package/dist/checks/rules/max/file-lines.js +30 -17
- package/dist/checks/rules/max/file-lines.js.map +1 -1
- package/dist/checks/rules/max/function-lines.d.ts.map +1 -1
- package/dist/checks/rules/max/function-lines.js +39 -15
- package/dist/checks/rules/max/function-lines.js.map +1 -1
- package/dist/checks/rules/remove-comments.d.ts +2 -2
- package/dist/checks/rules/remove-comments.d.ts.map +1 -1
- package/dist/checks/rules/remove-comments.js +16 -6
- package/dist/checks/rules/remove-comments.js.map +1 -1
- package/dist/checks/sync-options.d.ts +24 -0
- package/dist/checks/sync-options.d.ts.map +1 -0
- package/dist/checks/sync-options.js +53 -0
- package/dist/checks/sync-options.js.map +1 -0
- package/dist/checks/types.d.ts +41 -5
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/progress.d.ts.map +1 -1
- package/dist/cli/progress.js +2 -4
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +14 -4
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/normalize/check-options.d.ts.map +1 -1
- package/dist/config/normalize/check-options.js +2 -1
- package/dist/config/normalize/check-options.js.map +1 -1
- package/dist/config/normalize/rule-options.d.ts +12 -5
- package/dist/config/normalize/rule-options.d.ts.map +1 -1
- package/dist/config/normalize/rule-options.js +67 -19
- package/dist/config/normalize/rule-options.js.map +1 -1
- package/dist/config/normalize/source-options.d.ts +1 -2
- package/dist/config/normalize/source-options.d.ts.map +1 -1
- package/dist/config/normalize/source-options.js +33 -12
- package/dist/config/normalize/source-options.js.map +1 -1
- package/dist/imports/scan.d.ts.map +1 -1
- package/dist/imports/scan.js +11 -7
- package/dist/imports/scan.js.map +1 -1
- package/dist/imports/types.d.ts +1 -2
- package/dist/imports/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/native/native.d.ts +1 -1
- package/dist/native/native.d.ts.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -4
- package/dist/run.js.map +1 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +2 -2
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/discipline-types.d.ts +4 -2
- 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 +6 -2
- package/dist/shared/languages.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 +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@trebired/code-discipline` will be documented here.
|
|
4
4
|
|
|
5
|
+
## 3.2.1
|
|
6
|
+
|
|
7
|
+
- Added `removeComments.exclude` so comment checks and fixes can preserve comments containing configured plain-text substrings such as `@ts-nocheck`, without hardcoding comment syntax.
|
|
8
|
+
- Kept the exclusion behavior aligned across the TypeScript fallback and Rust native backend.
|
|
9
|
+
|
|
10
|
+
## 3.2.0
|
|
11
|
+
|
|
12
|
+
- Added the new check-only `bannedPatterns` / `banned-patterns` rule with case-insensitive substring matching and per-pattern `allowedFiles`.
|
|
13
|
+
- Restored rule-level severity configuration with `severity: "warning" | "fail"`, defaulting to `fail`, while keeping blank/comment-only max-line overflow as a non-blocking warning.
|
|
14
|
+
- Changed source scanning to include every built-in supported extension by default and replaced additive `sourceExtensions` config with `excludeSourceExtensions`.
|
|
15
|
+
- Added SCSS support to source scanning and comment-aware line counting paths.
|
|
16
|
+
- Further reduced scan overhead in both the TypeScript fallback and Rust native backend.
|
|
17
|
+
|
|
5
18
|
## 3.1.2
|
|
6
19
|
|
|
7
20
|
- Added `@trebired/result`-backed internal outcome typing for touched check and reporting paths so package-owned backend communication can share the same result surface used across Trebired packages.
|
package/README.md
CHANGED
|
@@ -102,6 +102,8 @@ Legacy config filenames are no longer auto-discovered, but they still work when
|
|
|
102
102
|
|
|
103
103
|
Rules are enabled by presence. If a rule object exists under `rules`, it runs.
|
|
104
104
|
|
|
105
|
+
Rule severity is optional and now supports only `severity: "warning" | "fail"`. If omitted, the default is `fail`.
|
|
106
|
+
|
|
105
107
|
`evasionGuards` is a top-level opt-in system because it checks suspicious compliance patterns across rules instead of being a normal style rule.
|
|
106
108
|
|
|
107
109
|
Example `tb.code-discipline.ts`:
|
|
@@ -111,7 +113,7 @@ import { defineCodeDisciplineConfig } from "@trebired/code-discipline";
|
|
|
111
113
|
|
|
112
114
|
export default defineCodeDisciplineConfig({
|
|
113
115
|
sourceRoot: "src",
|
|
114
|
-
|
|
116
|
+
excludeSourceExtensions: [".scss"],
|
|
115
117
|
excludeDirs: {
|
|
116
118
|
dirs: ["coverage"],
|
|
117
119
|
gitignore: true,
|
|
@@ -129,14 +131,18 @@ export default defineCodeDisciplineConfig({
|
|
|
129
131
|
rules: {
|
|
130
132
|
maxFileLines: {
|
|
131
133
|
max: 500,
|
|
134
|
+
severity: "warning",
|
|
132
135
|
},
|
|
133
136
|
maxFunctionLines: {
|
|
134
137
|
max: 80,
|
|
138
|
+
severity: "warning",
|
|
135
139
|
},
|
|
136
140
|
folderizeCompoundFiles: {
|
|
137
141
|
separators: ["_", "-"],
|
|
138
142
|
},
|
|
139
|
-
removeComments: {
|
|
143
|
+
removeComments: {
|
|
144
|
+
exclude: ["@ts-nocheck"],
|
|
145
|
+
},
|
|
140
146
|
syncImports: {
|
|
141
147
|
alias: {
|
|
142
148
|
prefix: "#",
|
|
@@ -160,13 +166,13 @@ export default defineCodeDisciplineConfig({
|
|
|
160
166
|
});
|
|
161
167
|
```
|
|
162
168
|
|
|
163
|
-
Source scanning
|
|
169
|
+
Source scanning covers every built-in supported source family by default:
|
|
164
170
|
|
|
165
|
-
-
|
|
171
|
+
- exclude specific extensions with `excludeSourceExtensions`
|
|
166
172
|
- built-in excluded directories are always included
|
|
167
173
|
- root `.gitignore` directory entries are included only when `excludeDirs.gitignore: true`
|
|
168
174
|
|
|
169
|
-
So you
|
|
175
|
+
So you get the full supported scan set automatically and only opt out when needed.
|
|
170
176
|
|
|
171
177
|
Example scan configuration:
|
|
172
178
|
|
|
@@ -174,8 +180,8 @@ Example scan configuration:
|
|
|
174
180
|
export default defineCodeDisciplineConfig({
|
|
175
181
|
sourceRoot: "src",
|
|
176
182
|
|
|
177
|
-
//
|
|
178
|
-
|
|
183
|
+
// Skip specific built-in file types when needed.
|
|
184
|
+
excludeSourceExtensions: [".scss"],
|
|
179
185
|
|
|
180
186
|
// Add extra ignored directories on top of the built-in set.
|
|
181
187
|
excludeDirs: {
|
|
@@ -204,6 +210,7 @@ code-discipline fix sync-imports dry remove-comments
|
|
|
204
210
|
|
|
205
211
|
Rules use kebab-case public slugs:
|
|
206
212
|
|
|
213
|
+
- `banned-patterns`
|
|
207
214
|
- `max-file-lines`
|
|
208
215
|
- `max-function-lines`
|
|
209
216
|
- `folderize-compound-files`
|
|
@@ -246,6 +253,15 @@ import { createCodeDiscipline } from "@trebired/code-discipline";
|
|
|
246
253
|
const discipline = createCodeDiscipline({
|
|
247
254
|
sourceRoot: "src",
|
|
248
255
|
rules: {
|
|
256
|
+
bannedPatterns: {
|
|
257
|
+
patterns: [
|
|
258
|
+
"test",
|
|
259
|
+
{
|
|
260
|
+
value: "mock",
|
|
261
|
+
allowedFiles: ["src/testing/mock-registry.ts"],
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
},
|
|
249
265
|
maxFunctionLines: {
|
|
250
266
|
max: 80,
|
|
251
267
|
},
|
|
@@ -267,6 +283,29 @@ Every violation is treated uniformly now. Results expose `ok`, `violationCount`,
|
|
|
267
283
|
|
|
268
284
|
## Rules
|
|
269
285
|
|
|
286
|
+
### `bannedPatterns`
|
|
287
|
+
|
|
288
|
+
Reports case-insensitive substring matches found in source files.
|
|
289
|
+
|
|
290
|
+
- `"test"` matches `test`, `Test`, `contest`, and `"Test runner"`
|
|
291
|
+
- matching is content-based, not whole-word-only
|
|
292
|
+
- `allowedFiles` lets specific project-relative files bypass a specific banned pattern
|
|
293
|
+
- `severity` defaults to `"fail"`
|
|
294
|
+
|
|
295
|
+
Example:
|
|
296
|
+
|
|
297
|
+
```ts
|
|
298
|
+
bannedPatterns: {
|
|
299
|
+
patterns: [
|
|
300
|
+
"test",
|
|
301
|
+
{
|
|
302
|
+
value: "mock",
|
|
303
|
+
allowedFiles: ["src/testing/mock-registry.ts"],
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
270
309
|
### `maxFileLines`
|
|
271
310
|
|
|
272
311
|
Reports files whose total line count exceeds `max`.
|
|
@@ -348,9 +387,20 @@ The rule supports the same language families this package currently scans for di
|
|
|
348
387
|
- JavaScript and TypeScript
|
|
349
388
|
- Go
|
|
350
389
|
- Rust
|
|
390
|
+
- SCSS
|
|
351
391
|
|
|
352
392
|
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
393
|
|
|
394
|
+
You can preserve specific comments by matching plain substrings inside the comment text itself, without hardcoding any comment syntax:
|
|
395
|
+
|
|
396
|
+
```ts
|
|
397
|
+
removeComments: {
|
|
398
|
+
exclude: ["@ts-nocheck"],
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
In that example, any comment containing `@ts-nocheck` is ignored by both `check` and `fix`.
|
|
403
|
+
|
|
354
404
|
Example targeted CLI usage:
|
|
355
405
|
|
|
356
406
|
```sh
|
package/dist/checks/index.d.ts
CHANGED
|
@@ -1,25 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
configPath: string;
|
|
4
|
-
projectRoot: string;
|
|
5
|
-
sourceRoot: string;
|
|
6
|
-
sourceRootRelative: string;
|
|
7
|
-
sourceExtensions: string[];
|
|
8
|
-
excludeDirs: string[];
|
|
9
|
-
excludeGitignoreDirs: boolean;
|
|
10
|
-
gitignorePath: string;
|
|
11
|
-
scanObserver: import("../imports/types.js").SourceScanObserver;
|
|
12
|
-
tsconfigPath: string;
|
|
13
|
-
fix: boolean;
|
|
14
|
-
alias: {
|
|
15
|
-
prefix: string;
|
|
16
|
-
strategy: import("../index.js").AliasStrategyFn | "random" | "relative-path-hash" | "relative-path-slug";
|
|
17
|
-
randomLength: number;
|
|
18
|
-
};
|
|
19
|
-
allowRelative: string[] | import("../index.js").AllowRelativeFn;
|
|
20
|
-
packageJsonImports: import("../index.js").PackageJsonImportsSyncOptions;
|
|
21
|
-
logging: import("../index.js").LoggingOptions;
|
|
22
|
-
}>;
|
|
1
|
+
import { buildNormalizedSyncOptions } from "./sync-options.js";
|
|
2
|
+
import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, FixCodeDisciplineOptions, FixCodeDisciplineResult } from "./types.js";
|
|
23
3
|
declare function checkCodeDiscipline(options: CheckCodeDisciplineOptions): Promise<CheckCodeDisciplineResult>;
|
|
24
4
|
declare function fixCodeDiscipline(options: FixCodeDisciplineOptions): Promise<FixCodeDisciplineResult>;
|
|
25
5
|
export { buildNormalizedSyncOptions, checkCodeDiscipline, fixCodeDiscipline };
|
|
@@ -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":"AAkBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EAIxB,MAAM,YAAY,CAAC;AAyQpB,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,81 +1,65 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
1
|
import { result as createResult } from "@trebired/result";
|
|
3
2
|
import { normalizeCheckCodeDisciplineOptions } from "../config/normalize/check-options.js";
|
|
4
3
|
import { collectSyncImportViolations } from "../imports/check-sync-imports.js";
|
|
5
4
|
import { scanSourceFiles } from "../imports/scan.js";
|
|
6
5
|
import { syncImports } from "../imports/sync-imports.js";
|
|
7
|
-
import { DEFAULT_EXCLUDE_DIRS, DEFAULT_SOURCE_EXTENSIONS } from "../shared/constants.js";
|
|
8
|
-
import { readGitignoreExcludedDirs } from "../shared/gitignore.js";
|
|
9
6
|
import { resolveLogger } from "../shared/logging.js";
|
|
10
|
-
import { ensureDotExtension, normalizeRelativePath, uniqueStrings } from "../shared/utils.js";
|
|
11
7
|
import { shouldRunRule } from "./rule-slugs.js";
|
|
12
8
|
import { fixFolderization } from "./fix-folderization.js";
|
|
13
9
|
import { runFolderizeCompoundFilesRule } from "./rules/folderize/compound-files.js";
|
|
10
|
+
import { collectBannedPatternViolations } from "./rules/banned-patterns.js";
|
|
14
11
|
import { collectDryViolations, fixDryRule } from "./rules/dry/index.js";
|
|
15
12
|
import { runEvasionGuardsRule } from "./rules/evasion-guards/index.js";
|
|
16
13
|
import { runMaxFileLinesRule } from "./rules/max/file-lines.js";
|
|
17
14
|
import { runMaxFunctionLinesRule } from "./rules/max/function-lines.js";
|
|
18
15
|
import { collectRemoveCommentsViolations, fixRemoveCommentsRule } from "./rules/remove-comments.js";
|
|
19
|
-
|
|
20
|
-
if (!rule)
|
|
21
|
-
return null;
|
|
22
|
-
const sourceRootInput = rule.sourceRoot ?? options.sourceRoot;
|
|
23
|
-
const sourceRoot = path.isAbsolute(sourceRootInput)
|
|
24
|
-
? path.resolve(sourceRootInput)
|
|
25
|
-
: path.resolve(options.projectRoot, sourceRootInput);
|
|
26
|
-
const sourceRootRelative = normalizeRelativePath(path.relative(options.projectRoot, sourceRoot));
|
|
27
|
-
const sourceExtensions = rule.sourceExtensions
|
|
28
|
-
? uniqueStrings([
|
|
29
|
-
...(rule.includeDefaultSourceExtensions === false ? [] : DEFAULT_SOURCE_EXTENSIONS),
|
|
30
|
-
...rule.sourceExtensions.map(ensureDotExtension),
|
|
31
|
-
])
|
|
32
|
-
: options.sourceExtensions;
|
|
33
|
-
const gitignorePath = rule.gitignorePath ?? options.gitignorePath;
|
|
34
|
-
const gitignoreDirs = rule.excludeDirs?.gitignore === true
|
|
35
|
-
? await readGitignoreExcludedDirs(options.projectRoot, gitignorePath)
|
|
36
|
-
: [];
|
|
37
|
-
const excludeDirs = rule.excludeDirs
|
|
38
|
-
? uniqueStrings([
|
|
39
|
-
...DEFAULT_EXCLUDE_DIRS,
|
|
40
|
-
...(rule.excludeDirs.dirs ?? []),
|
|
41
|
-
...gitignoreDirs,
|
|
42
|
-
])
|
|
43
|
-
: options.excludeDirs;
|
|
44
|
-
return {
|
|
45
|
-
configPath: options.configPath,
|
|
46
|
-
projectRoot: options.projectRoot,
|
|
47
|
-
sourceRoot,
|
|
48
|
-
sourceRootRelative,
|
|
49
|
-
sourceExtensions,
|
|
50
|
-
excludeDirs,
|
|
51
|
-
excludeGitignoreDirs: rule.excludeDirs?.gitignore ?? options.excludeGitignoreDirs,
|
|
52
|
-
gitignorePath,
|
|
53
|
-
scanObserver: options.scanObserver,
|
|
54
|
-
tsconfigPath: rule.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
|
|
55
|
-
fix,
|
|
56
|
-
alias: {
|
|
57
|
-
prefix: rule.alias?.prefix ?? "#",
|
|
58
|
-
strategy: rule.alias?.strategy ?? "random",
|
|
59
|
-
randomLength: rule.alias?.randomLength ?? 12,
|
|
60
|
-
},
|
|
61
|
-
allowRelative: rule.allowRelative ?? ["./"],
|
|
62
|
-
packageJsonImports: rule.packageJsonImports,
|
|
63
|
-
logging: rule.logging ?? options.logging,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
16
|
+
import { buildNormalizedSyncOptions } from "./sync-options.js";
|
|
66
17
|
function sortViolations(violations) {
|
|
67
18
|
return [...violations].sort((left, right) => left.filePath.localeCompare(right.filePath) || left.rule.localeCompare(right.rule));
|
|
68
19
|
}
|
|
20
|
+
function resolveConfiguredSeverity(violation, options) {
|
|
21
|
+
switch (violation.rule) {
|
|
22
|
+
case "banned-patterns":
|
|
23
|
+
return options.rules.bannedPatterns?.severity ?? "fail";
|
|
24
|
+
case "max-file-lines":
|
|
25
|
+
return options.rules.maxFileLines?.severity ?? "fail";
|
|
26
|
+
case "max-function-lines":
|
|
27
|
+
return options.rules.maxFunctionLines?.severity ?? "fail";
|
|
28
|
+
case "folderize-compound-files":
|
|
29
|
+
return options.rules.folderizeCompoundFiles?.severity ?? "fail";
|
|
30
|
+
case "sync-imports":
|
|
31
|
+
return options.rules.syncImports?.severity ?? "fail";
|
|
32
|
+
case "remove-comments":
|
|
33
|
+
return options.rules.removeComments?.severity ?? "fail";
|
|
34
|
+
case "dry":
|
|
35
|
+
return options.rules.dry?.severity ?? "fail";
|
|
36
|
+
case "evasion-guards":
|
|
37
|
+
return options.evasionGuards?.severity ?? "fail";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function applyConfiguredSeverity(violations, options) {
|
|
41
|
+
return violations.map((violation) => {
|
|
42
|
+
const severity = violation.severity ?? resolveConfiguredSeverity(violation, options);
|
|
43
|
+
return {
|
|
44
|
+
...violation,
|
|
45
|
+
severity: severity === "warning" ? "warning" : undefined,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function isBlockingViolation(violation) {
|
|
50
|
+
return violation.severity !== "warning";
|
|
51
|
+
}
|
|
69
52
|
function summarizeViolations(violations) {
|
|
70
53
|
return {
|
|
71
|
-
ok: violations.
|
|
54
|
+
ok: violations.every((violation) => !isBlockingViolation(violation)),
|
|
72
55
|
violationCount: violations.length,
|
|
73
56
|
violations,
|
|
74
57
|
};
|
|
75
58
|
}
|
|
76
59
|
function logSummary(label, result, logger) {
|
|
60
|
+
const blockingCount = result.violations.filter(isBlockingViolation).length;
|
|
77
61
|
if (result.violationCount > 0) {
|
|
78
|
-
logger.flush("warn", `discipline-${label}-violations`, `${label} found ${result.violationCount}
|
|
62
|
+
logger.flush("warn", `discipline-${label}-violations`, `${label} found ${blockingCount} blocking violation(s) and ${result.violationCount - blockingCount} warning(s)`, {
|
|
79
63
|
violationCount: result.violationCount,
|
|
80
64
|
});
|
|
81
65
|
return;
|
|
@@ -90,8 +74,8 @@ function attachDisciplineResult(phase, output) {
|
|
|
90
74
|
};
|
|
91
75
|
return {
|
|
92
76
|
...output,
|
|
93
|
-
result: output.
|
|
94
|
-
? createResult.error(409, `discipline-${phase}-violations`, `${phase} found ${output.
|
|
77
|
+
result: output.violations.some(isBlockingViolation)
|
|
78
|
+
? createResult.error(409, `discipline-${phase}-violations`, `${phase} found ${output.violations.filter(isBlockingViolation).length} violation(s).`, {
|
|
95
79
|
data: {
|
|
96
80
|
violationCount: output.violationCount,
|
|
97
81
|
},
|
|
@@ -108,6 +92,9 @@ function attachDisciplineResult(phase, output) {
|
|
|
108
92
|
async function collectViolations(options) {
|
|
109
93
|
const sourceFiles = await scanSourceFiles(options);
|
|
110
94
|
const violations = [];
|
|
95
|
+
if (options.rules.bannedPatterns && shouldRunRule("banned-patterns", options.onlyRules)) {
|
|
96
|
+
violations.push(...await collectBannedPatternViolations(sourceFiles, options));
|
|
97
|
+
}
|
|
111
98
|
if (options.rules.maxFileLines && shouldRunRule("max-file-lines", options.onlyRules)) {
|
|
112
99
|
violations.push(...await runMaxFileLinesRule(sourceFiles, options));
|
|
113
100
|
}
|
|
@@ -127,12 +114,12 @@ async function collectViolations(options) {
|
|
|
127
114
|
}
|
|
128
115
|
}
|
|
129
116
|
if (options.rules.removeComments && shouldRunRule("remove-comments", options.onlyRules)) {
|
|
130
|
-
violations.push(...await collectRemoveCommentsViolations(sourceFiles));
|
|
117
|
+
violations.push(...await collectRemoveCommentsViolations(sourceFiles, options));
|
|
131
118
|
}
|
|
132
119
|
if (options.evasionGuards && shouldRunRule("evasion-guards", options.onlyRules)) {
|
|
133
120
|
violations.push(...await runEvasionGuardsRule(sourceFiles, options));
|
|
134
121
|
}
|
|
135
|
-
return sortViolations(violations);
|
|
122
|
+
return sortViolations(applyConfiguredSeverity(violations, options));
|
|
136
123
|
}
|
|
137
124
|
function mapFixRuleResult(result) {
|
|
138
125
|
return {
|
|
@@ -154,8 +141,9 @@ async function applyFolderizeFix(state, normalized, logger) {
|
|
|
154
141
|
if (!normalized.rules.folderizeCompoundFiles || !shouldRunFixRule("folderize-compound-files", normalized))
|
|
155
142
|
return;
|
|
156
143
|
const result = await fixFolderization(state.sourceFiles, normalized, logger);
|
|
157
|
-
|
|
158
|
-
state.
|
|
144
|
+
const violations = applyConfiguredSeverity(result.violations, normalized);
|
|
145
|
+
state.ruleResults["folderize-compound-files"] = mapFixRuleResult({ ...result, violations });
|
|
146
|
+
state.violations.push(...violations);
|
|
159
147
|
state.movedFiles += result.moved_files;
|
|
160
148
|
state.rewrittenFiles += result.rewritten_files;
|
|
161
149
|
state.rewrittenImports += result.rewritten_imports;
|
|
@@ -167,8 +155,9 @@ async function applyDryFix(state, normalized) {
|
|
|
167
155
|
if (!normalized.rules.dry || !shouldRunFixRule("dry", normalized))
|
|
168
156
|
return;
|
|
169
157
|
const result = await fixDryRule(state.sourceFiles, normalized);
|
|
170
|
-
|
|
171
|
-
state.
|
|
158
|
+
const violations = applyConfiguredSeverity(result.violations, normalized);
|
|
159
|
+
state.ruleResults.dry = mapFixRuleResult({ ...result, violations });
|
|
160
|
+
state.violations.push(...violations);
|
|
172
161
|
state.rewrittenFiles += result.rewritten_files ?? 0;
|
|
173
162
|
if ((result.rewritten_files ?? 0) > 0) {
|
|
174
163
|
state.sourceFiles = await scanSourceFiles(normalized);
|
|
@@ -181,8 +170,9 @@ async function applySyncImportsFix(state, normalized) {
|
|
|
181
170
|
if (!syncOptions)
|
|
182
171
|
return;
|
|
183
172
|
const result = await syncImports(syncOptions);
|
|
184
|
-
|
|
185
|
-
state.
|
|
173
|
+
const violations = applyConfiguredSeverity(result.violations, normalized);
|
|
174
|
+
state.ruleResults["sync-imports"] = mapFixRuleResult({ ...result, violations });
|
|
175
|
+
state.violations.push(...violations);
|
|
186
176
|
state.rewrittenFiles += result.rewritten_files;
|
|
187
177
|
state.rewrittenImports += result.rewritten_imports;
|
|
188
178
|
}
|
|
@@ -190,8 +180,9 @@ async function applyRemoveCommentsFix(state, normalized) {
|
|
|
190
180
|
if (!normalized.rules.removeComments || !shouldRunFixRule("remove-comments", normalized))
|
|
191
181
|
return;
|
|
192
182
|
const result = await fixRemoveCommentsRule(state.sourceFiles, normalized);
|
|
193
|
-
|
|
194
|
-
state.
|
|
183
|
+
const violations = applyConfiguredSeverity(result.violations, normalized);
|
|
184
|
+
state.ruleResults["remove-comments"] = mapFixRuleResult({ ...result, violations });
|
|
185
|
+
state.violations.push(...violations);
|
|
195
186
|
state.rewrittenFiles += result.rewritten_files ?? 0;
|
|
196
187
|
state.removedComments += result.removed_comments ?? 0;
|
|
197
188
|
}
|
package/dist/checks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { CodeDisciplineMode, CodeDisciplineRuleSlug, CodeDisciplineRules, E
|
|
|
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: {
|
|
5
|
+
readonly bannedPatterns: "banned-patterns";
|
|
5
6
|
readonly dry: "dry";
|
|
6
7
|
readonly folderizeCompoundFiles: "folderize-compound-files";
|
|
7
8
|
readonly maxFileLines: "max-file-lines";
|
|
@@ -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,oBAAoB,EACpB,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,EAS3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EAKxC,CAAC;AAEF,QAAA,MAAM,uBAAuB;;;;;;;;CAQnB,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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InvalidCodeDisciplineConfigError } from "../shared/errors.js";
|
|
2
2
|
const ALL_RULE_SLUGS = [
|
|
3
|
+
"banned-patterns",
|
|
3
4
|
"max-file-lines",
|
|
4
5
|
"max-function-lines",
|
|
5
6
|
"folderize-compound-files",
|
|
@@ -15,6 +16,7 @@ const FIXABLE_RULE_SLUGS = [
|
|
|
15
16
|
"dry",
|
|
16
17
|
];
|
|
17
18
|
const RULE_SLUG_BY_CONFIG_KEY = {
|
|
19
|
+
bannedPatterns: "banned-patterns",
|
|
18
20
|
dry: "dry",
|
|
19
21
|
folderizeCompoundFiles: "folderize-compound-files",
|
|
20
22
|
maxFileLines: "max-file-lines",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ScannedSourceFile } from "../../imports/types.js";
|
|
2
|
+
import type { NormalizedCheckCodeDisciplineOptions } from "../types.js";
|
|
3
|
+
import type { CodeDisciplineViolation } from "../../shared/discipline-types.js";
|
|
4
|
+
declare function collectBannedPatternViolations(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): Promise<CodeDisciplineViolation[]>;
|
|
5
|
+
export { collectBannedPatternViolations };
|
|
6
|
+
//# sourceMappingURL=banned-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banned-patterns.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/banned-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAkBhF,iBAAe,8BAA8B,CAC3C,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA8BpC;AAED,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
function countOccurrences(text, pattern) {
|
|
3
|
+
if (!pattern)
|
|
4
|
+
return 0;
|
|
5
|
+
let count = 0;
|
|
6
|
+
let index = 0;
|
|
7
|
+
while (index <= text.length - pattern.length) {
|
|
8
|
+
const matchIndex = text.indexOf(pattern, index);
|
|
9
|
+
if (matchIndex < 0)
|
|
10
|
+
break;
|
|
11
|
+
count += 1;
|
|
12
|
+
index = matchIndex + 1;
|
|
13
|
+
}
|
|
14
|
+
return count;
|
|
15
|
+
}
|
|
16
|
+
async function collectBannedPatternViolations(sourceFiles, options) {
|
|
17
|
+
const rule = options.rules.bannedPatterns;
|
|
18
|
+
if (!rule)
|
|
19
|
+
return [];
|
|
20
|
+
const violations = [];
|
|
21
|
+
for (const file of sourceFiles) {
|
|
22
|
+
const text = await fs.readFile(file.absolutePath, "utf8");
|
|
23
|
+
const normalizedText = text.toLowerCase();
|
|
24
|
+
for (const pattern of rule.patterns) {
|
|
25
|
+
if (pattern.allowedFiles.includes(file.relativeFromProjectRoot))
|
|
26
|
+
continue;
|
|
27
|
+
if (!normalizedText.includes(pattern.normalizedValue))
|
|
28
|
+
continue;
|
|
29
|
+
const occurrences = countOccurrences(normalizedText, pattern.normalizedValue);
|
|
30
|
+
violations.push({
|
|
31
|
+
rule: "banned-patterns",
|
|
32
|
+
fix: false,
|
|
33
|
+
filePath: file.relativeFromProjectRoot,
|
|
34
|
+
message: `file contains banned pattern "${pattern.value}"${occurrences > 1 ? ` ${occurrences} times` : ""}`,
|
|
35
|
+
details: {
|
|
36
|
+
pattern: pattern.value,
|
|
37
|
+
occurrences,
|
|
38
|
+
allowedFiles: pattern.allowedFiles,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return violations;
|
|
44
|
+
}
|
|
45
|
+
export { collectBannedPatternViolations };
|
|
46
|
+
//# sourceMappingURL=banned-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banned-patterns.js","sourceRoot":"","sources":["../../../src/checks/rules/banned-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMlC,SAAS,gBAAgB,CAAC,IAAY,EAAE,OAAe;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAEvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,CAAC;YAAE,MAAM;QAC1B,KAAK,IAAI,CAAC,CAAC;QACX,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,WAAgC,EAChC,OAA6C;IAE7C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,UAAU,GAA8B,EAAE,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC;gBAAE,SAAS;YAC1E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;gBAAE,SAAS;YAEhE,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9E,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,KAAK;gBACV,QAAQ,EAAE,IAAI,CAAC,uBAAuB;gBACtC,OAAO,EAAE,iCAAiC,OAAO,CAAC,KAAK,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3G,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,KAAK;oBACtB,WAAW;oBACX,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
|
|
@@ -1 +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,
|
|
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,CAM7E;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
-
import { isGoExtension, isRustExtension, isTypeScriptFamilyExtension } from "../../../shared/languages.js";
|
|
2
|
+
import { isGoExtension, isRustExtension, isScssExtension, isTypeScriptFamilyExtension } from "../../../shared/languages.js";
|
|
3
3
|
function collectTypeScriptCommentRanges(text, extension) {
|
|
4
4
|
const languageVariant = extension === ".jsx" || extension === ".tsx"
|
|
5
5
|
? ts.LanguageVariant.JSX
|
|
@@ -204,6 +204,8 @@ function collectCommentRanges(text, extension) {
|
|
|
204
204
|
return collectGoCommentRanges(text);
|
|
205
205
|
if (isRustExtension(extension))
|
|
206
206
|
return collectRustCommentRanges(text);
|
|
207
|
+
if (isScssExtension(extension))
|
|
208
|
+
return collectGoCommentRanges(text);
|
|
207
209
|
return [];
|
|
208
210
|
}
|
|
209
211
|
export { collectCommentRanges };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../../../src/checks/rules/comments/ranges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../../../src/checks/rules/comments/ranges.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,11 @@ type CommentStripResult = {
|
|
|
5
5
|
lineComments: number;
|
|
6
6
|
blockComments: number;
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
type CommentStripOptions = {
|
|
9
|
+
exclude?: string[];
|
|
10
|
+
};
|
|
11
|
+
declare function stripCommentsJs(text: string, extension: string, options?: CommentStripOptions): CommentStripResult;
|
|
12
|
+
declare function stripComments(text: string, extension: string, options?: CommentStripOptions): CommentStripResult;
|
|
10
13
|
export { stripComments, stripCommentsJs };
|
|
11
|
-
export type { CommentStripResult };
|
|
14
|
+
export type { CommentStripOptions, CommentStripResult };
|
|
12
15
|
//# sourceMappingURL=stripping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripping.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/comments/stripping.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"stripping.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/comments/stripping.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAiEF,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CA4B/G;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CAW7G;AAED,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
|