@trebired/code-discipline 1.1.0 → 1.3.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 +14 -0
- package/README.md +62 -87
- package/dist/checks/fix-folderization.d.ts +4 -3
- package/dist/checks/fix-folderization.d.ts.map +1 -1
- package/dist/checks/fix-folderization.js +16 -12
- package/dist/checks/fix-folderization.js.map +1 -1
- package/dist/checks/index.d.ts +1 -2
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +52 -39
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rules/folderize-compound-files.d.ts +2 -1
- package/dist/checks/rules/folderize-compound-files.d.ts.map +1 -1
- package/dist/checks/rules/folderize-compound-files.js +3 -1
- package/dist/checks/rules/folderize-compound-files.js.map +1 -1
- package/dist/checks/rules/folderize-plan.js +1 -1
- package/dist/checks/rules/folderize-plan.js.map +1 -1
- package/dist/checks/rules/max-file-lines.d.ts +2 -1
- package/dist/checks/rules/max-file-lines.d.ts.map +1 -1
- package/dist/checks/rules/max-file-lines.js +3 -3
- package/dist/checks/rules/max-file-lines.js.map +1 -1
- package/dist/checks/types.d.ts +17 -38
- 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 +12 -7
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +14 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/normalize-rule-options.d.ts +5 -8
- package/dist/config/normalize-rule-options.d.ts.map +1 -1
- package/dist/config/normalize-rule-options.js +24 -23
- package/dist/config/normalize-rule-options.js.map +1 -1
- package/dist/config/normalize-sync-imports-options.d.ts.map +1 -1
- package/dist/config/normalize-sync-imports-options.js +13 -4
- package/dist/config/normalize-sync-imports-options.js.map +1 -1
- package/dist/imports/aliases.d.ts +4 -4
- package/dist/imports/aliases.d.ts.map +1 -1
- package/dist/imports/aliases.js.map +1 -1
- package/dist/imports/check-sync-imports.d.ts +3 -3
- package/dist/imports/check-sync-imports.d.ts.map +1 -1
- package/dist/imports/check-sync-imports.js +2 -4
- package/dist/imports/check-sync-imports.js.map +1 -1
- package/dist/imports/rewrite.d.ts +2 -2
- package/dist/imports/rewrite.d.ts.map +1 -1
- package/dist/imports/rewrite.js.map +1 -1
- package/dist/imports/sync-imports.d.ts.map +1 -1
- package/dist/imports/sync-imports.js +32 -37
- package/dist/imports/sync-imports.js.map +1 -1
- package/dist/imports/types.d.ts +6 -4
- package/dist/imports/types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/shared/constants.d.ts +3 -4
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +3 -4
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/discipline-types.d.ts +19 -0
- package/dist/shared/discipline-types.d.ts.map +1 -0
- package/dist/shared/discipline-types.js +2 -0
- package/dist/shared/discipline-types.js.map +1 -0
- package/dist/shared/logging-types.d.ts +13 -7
- package/dist/shared/logging-types.d.ts.map +1 -1
- package/dist/shared/logging.d.ts +2 -2
- package/dist/shared/logging.d.ts.map +1 -1
- package/dist/shared/logging.js +134 -32
- package/dist/shared/logging.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@trebired/code-discipline` will be documented here.
|
|
4
4
|
|
|
5
|
+
## 1.3.0
|
|
6
|
+
|
|
7
|
+
- Replaced rule-level `stop` with severity-based discipline results using `severity: "error" | "warning"`.
|
|
8
|
+
- Removed legacy `stop` and per-rule `enabled` config support; rule presence now enables the rule.
|
|
9
|
+
- Removed JSON config auto-discovery and changed the CLI to require an explicit `--config` module path.
|
|
10
|
+
- Changed `syncImports()` to return severity-aware `errors`, `warnings`, and `violations` alongside its operational mutation summary.
|
|
11
|
+
|
|
12
|
+
## 1.2.0
|
|
13
|
+
|
|
14
|
+
- Changed package logging to emit `@trebired/code-discipline initialized` on startup through the `code-discipline.initialize` group.
|
|
15
|
+
- Changed `syncImports()`, `checkCodeDiscipline()`, and `fixCodeDiscipline()` to emit one final aggregated report instead of spamming per-step runtime logs.
|
|
16
|
+
- Added buffered diagnostic summaries to final logging metadata so unresolved rewrites, tsconfig retry events, and other internal steps are preserved in one report payload.
|
|
17
|
+
- Renamed the public logging type surface to package-wide `CodeDiscipline...` names while keeping compatibility aliases for the older sync-import-focused type exports.
|
|
18
|
+
|
|
5
19
|
## 1.1.0
|
|
6
20
|
|
|
7
21
|
- Routed the package's default/common logger adaptation path through `@trebired/logger-adapter`.
|
package/README.md
CHANGED
|
@@ -19,16 +19,16 @@ Some repository rules are not really single-file lint rules. They are about the
|
|
|
19
19
|
- files growing too large
|
|
20
20
|
- compound filenames that want to become folders
|
|
21
21
|
- alias drift between `tsconfig.json` and source imports
|
|
22
|
-
-
|
|
22
|
+
- returning structured policy results that a caller can interpret
|
|
23
23
|
|
|
24
24
|
That is the lane of this package.
|
|
25
25
|
|
|
26
26
|
## Commands
|
|
27
27
|
|
|
28
28
|
```sh
|
|
29
|
-
code-discipline check
|
|
30
|
-
code-discipline sync
|
|
31
|
-
code-discipline fix
|
|
29
|
+
code-discipline check --config ./discipline.config.mjs
|
|
30
|
+
code-discipline sync --config ./discipline.config.mjs
|
|
31
|
+
code-discipline fix --config ./discipline.config.mjs
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Command responsibilities stay clean:
|
|
@@ -41,73 +41,43 @@ Both `sync` and `fix` are gated by rule config. They do not mutate anything unle
|
|
|
41
41
|
|
|
42
42
|
## Config
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Rules are enabled by presence. If a rule object exists under `rules`, it runs. If the rule is omitted, it is disabled.
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
enabled
|
|
48
|
-
= whether the rule runs
|
|
49
|
-
|
|
50
|
-
stop
|
|
51
|
-
= whether violations fail the result / exit non-zero
|
|
46
|
+
`severity` is discipline metadata, not a logger level and not process control. The library never calls `process.exit()` from core APIs. Callers decide what to do with `ok`, `errors`, and `warnings`.
|
|
52
47
|
|
|
53
|
-
|
|
54
|
-
= whether explicit mutation commands may change files
|
|
55
|
-
```
|
|
48
|
+
Example config module:
|
|
56
49
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"dist",
|
|
71
|
-
".vite"
|
|
72
|
-
],
|
|
73
|
-
"rules": {
|
|
74
|
-
"maxFileLines": {
|
|
75
|
-
"enabled": true,
|
|
76
|
-
"stop": true,
|
|
77
|
-
"max": 500
|
|
50
|
+
```js
|
|
51
|
+
export default {
|
|
52
|
+
sourceRoot: "src",
|
|
53
|
+
sourceExtensions: [".ts", ".tsx", ".js", ".jsx"],
|
|
54
|
+
excludeDirs: ["node_modules", "dist", ".vite"],
|
|
55
|
+
logging: {
|
|
56
|
+
enabled: true,
|
|
57
|
+
quiet: false,
|
|
58
|
+
},
|
|
59
|
+
rules: {
|
|
60
|
+
maxFileLines: {
|
|
61
|
+
severity: "warning",
|
|
62
|
+
max: 500,
|
|
78
63
|
},
|
|
79
|
-
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
"
|
|
83
|
-
"separators": [
|
|
84
|
-
"_",
|
|
85
|
-
"-"
|
|
86
|
-
]
|
|
64
|
+
folderizeCompoundFiles: {
|
|
65
|
+
severity: "error",
|
|
66
|
+
fix: true,
|
|
67
|
+
separators: ["_", "-"],
|
|
87
68
|
},
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"strategy": "relative-path-slug"
|
|
69
|
+
syncImports: {
|
|
70
|
+
severity: "error",
|
|
71
|
+
fix: true,
|
|
72
|
+
alias: {
|
|
73
|
+
strategy: "relative-path-slug",
|
|
94
74
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
75
|
+
allowRelative: ["./"],
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
};
|
|
101
79
|
```
|
|
102
80
|
|
|
103
|
-
Breaking cleanup in `1.0.0`:
|
|
104
|
-
|
|
105
|
-
- `severity` was removed
|
|
106
|
-
- `suffixes` was removed
|
|
107
|
-
- `keepRelative` was replaced by `allowRelative`
|
|
108
|
-
- nested `syncImports.imports` was removed
|
|
109
|
-
- `rewrite` was removed as a config flag because `fix` controls mutation
|
|
110
|
-
|
|
111
81
|
## Checks
|
|
112
82
|
|
|
113
83
|
`checkCodeDiscipline()` is read-only. It never moves files, rewrites imports, or updates `tsconfig.json`.
|
|
@@ -119,18 +89,15 @@ const result = await checkCodeDiscipline({
|
|
|
119
89
|
projectRoot: "/repo",
|
|
120
90
|
rules: {
|
|
121
91
|
maxFileLines: {
|
|
122
|
-
|
|
123
|
-
stop: true,
|
|
92
|
+
severity: "warning",
|
|
124
93
|
max: 500,
|
|
125
94
|
},
|
|
126
95
|
folderizeCompoundFiles: {
|
|
127
|
-
|
|
128
|
-
stop: false,
|
|
96
|
+
severity: "error",
|
|
129
97
|
separators: ["_", "-"],
|
|
130
98
|
},
|
|
131
99
|
syncImports: {
|
|
132
|
-
|
|
133
|
-
stop: true,
|
|
100
|
+
severity: "error",
|
|
134
101
|
fix: false,
|
|
135
102
|
alias: {
|
|
136
103
|
strategy: "relative-path-slug",
|
|
@@ -144,25 +111,31 @@ const result = await checkCodeDiscipline({
|
|
|
144
111
|
Result shape:
|
|
145
112
|
|
|
146
113
|
```ts
|
|
147
|
-
|
|
114
|
+
type CodeDisciplineSeverity = "error" | "warning";
|
|
115
|
+
|
|
116
|
+
type CodeDisciplineViolation = {
|
|
117
|
+
rule: "max-file-lines" | "folderize-compound-files" | "sync-imports";
|
|
118
|
+
severity: CodeDisciplineSeverity;
|
|
119
|
+
fix: boolean;
|
|
120
|
+
filePath: string;
|
|
121
|
+
message: string;
|
|
122
|
+
details: Record<string, unknown>;
|
|
123
|
+
suggestedPath?: string;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
type CodeDisciplineResult = {
|
|
148
127
|
ok: boolean;
|
|
128
|
+
errors: number;
|
|
149
129
|
warnings: number;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
rule: "max-file-lines" | "folderize-compound-files" | "sync-imports";
|
|
153
|
-
stop: boolean;
|
|
154
|
-
fix: boolean;
|
|
155
|
-
filePath: string;
|
|
156
|
-
message: string;
|
|
157
|
-
details: Record<string, unknown>;
|
|
158
|
-
suggestedPath?: string;
|
|
159
|
-
}>;
|
|
160
|
-
}
|
|
130
|
+
violations: CodeDisciplineViolation[];
|
|
131
|
+
};
|
|
161
132
|
```
|
|
162
133
|
|
|
134
|
+
`ok` becomes `false` only when at least one returned violation has `severity: "error"`.
|
|
135
|
+
|
|
163
136
|
## Folderization
|
|
164
137
|
|
|
165
|
-
`folderizeCompoundFiles` is structural. It
|
|
138
|
+
`folderizeCompoundFiles` is structural. It does not depend on configured suffix lists.
|
|
166
139
|
|
|
167
140
|
Same-directory groups:
|
|
168
141
|
|
|
@@ -198,13 +171,14 @@ src/api/user/route.ts
|
|
|
198
171
|
|
|
199
172
|
## Import Sync
|
|
200
173
|
|
|
201
|
-
`syncImports()` and `code-discipline sync` use
|
|
174
|
+
`syncImports()` and `code-discipline sync` use the same severity-aware config shape.
|
|
202
175
|
|
|
203
176
|
```ts
|
|
204
177
|
import { syncImports } from "@trebired/code-discipline";
|
|
205
178
|
|
|
206
179
|
const result = await syncImports({
|
|
207
180
|
projectRoot: "/repo",
|
|
181
|
+
severity: "error",
|
|
208
182
|
fix: true,
|
|
209
183
|
alias: {
|
|
210
184
|
strategy: "relative-path-slug",
|
|
@@ -215,11 +189,13 @@ const result = await syncImports({
|
|
|
215
189
|
|
|
216
190
|
Behavior:
|
|
217
191
|
|
|
218
|
-
- `
|
|
219
|
-
- `
|
|
192
|
+
- `fix: false` reports alias/import drift as violations
|
|
193
|
+
- `fix: true` rewrites imports and updates `tsconfig.json`
|
|
220
194
|
- `allowRelative: ["./"]` keeps same-folder relative imports
|
|
221
195
|
- upward relative imports can be reported or rewritten through the configured alias policy
|
|
222
196
|
|
|
197
|
+
`syncImports()` keeps its operational result fields and also returns `errors`, `warnings`, and `violations`.
|
|
198
|
+
|
|
223
199
|
## Logging
|
|
224
200
|
|
|
225
201
|
When you provide a logger, discipline results are emitted through it. Trebired-style loggers are supported directly, and the package falls back safely when no logger is provided.
|
|
@@ -232,6 +208,5 @@ The default/common logger adaptation path is powered by `@trebired/logger-adapte
|
|
|
232
208
|
- `fixCodeDiscipline()`
|
|
233
209
|
- `syncImports()`
|
|
234
210
|
- `defineCodeDisciplineConfig()`
|
|
235
|
-
- `loadCodeDisciplineConfig()`
|
|
236
211
|
|
|
237
|
-
The package also exports the public TypeScript types for rule config, results, violations, alias strategies, logging adapters, and source scan rows.
|
|
212
|
+
The package also exports the public TypeScript types for severity, rule config, results, violations, alias strategies, logging adapters, and source scan rows.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FixCodeDisciplineResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
|
|
2
2
|
import type { ScannedSourceFile } from "../imports/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { NormalizedCodeDisciplineLogger } from "../shared/logging-types.js";
|
|
4
|
+
import type { CodeDisciplineViolation } from "../shared/discipline-types.js";
|
|
4
5
|
type PlannedMove = {
|
|
5
6
|
fromAbsolutePath: string;
|
|
6
7
|
fromRelativePath: string;
|
|
@@ -12,6 +13,6 @@ declare function buildMovePlan(sourceFiles: ScannedSourceFile[], options: Normal
|
|
|
12
13
|
moves: PlannedMove[];
|
|
13
14
|
violations: CodeDisciplineViolation[];
|
|
14
15
|
};
|
|
15
|
-
declare function fixFolderization(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions, logger:
|
|
16
|
+
declare function fixFolderization(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions, logger: NormalizedCodeDisciplineLogger): Promise<FixCodeDisciplineResult>;
|
|
16
17
|
export { buildMovePlan, createFolderizationViolation, fixFolderization };
|
|
17
18
|
//# sourceMappingURL=fix-folderization.d.ts.map
|
|
@@ -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,
|
|
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;AAO7E,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,CAUzB;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;AAsKD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA6ElC;AAED,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -8,8 +8,8 @@ import { planFolderizeCompoundFiles } from "./rules/folderize-plan.js";
|
|
|
8
8
|
function createFolderizationViolation(filePath, suggestedPath, options, details) {
|
|
9
9
|
return {
|
|
10
10
|
rule: "folderize-compound-files",
|
|
11
|
-
|
|
12
|
-
fix: options.rules.folderizeCompoundFiles
|
|
11
|
+
severity: options.rules.folderizeCompoundFiles?.severity ?? "error",
|
|
12
|
+
fix: options.rules.folderizeCompoundFiles?.fix ?? false,
|
|
13
13
|
filePath,
|
|
14
14
|
message: `file can be grouped under ${suggestedPath}`,
|
|
15
15
|
suggestedPath,
|
|
@@ -156,33 +156,37 @@ async function removeEmptyDirectories(directories) {
|
|
|
156
156
|
}
|
|
157
157
|
async function fixFolderization(sourceFiles, options, logger) {
|
|
158
158
|
const { moves, violations } = buildMovePlan(sourceFiles, options);
|
|
159
|
-
const warnings = violations.filter((violation) =>
|
|
160
|
-
const
|
|
161
|
-
if (!options.rules.folderizeCompoundFiles
|
|
159
|
+
const warnings = violations.filter((violation) => violation.severity === "warning").length;
|
|
160
|
+
const errors = violations.length - warnings;
|
|
161
|
+
if (!options.rules.folderizeCompoundFiles || moves.length === 0) {
|
|
162
162
|
logger.info("fix-folderization-unchanged", "no folderization moves required", {
|
|
163
163
|
moves: 0,
|
|
164
164
|
});
|
|
165
165
|
return {
|
|
166
166
|
ok: true,
|
|
167
|
+
errors: 0,
|
|
167
168
|
moved_files: 0,
|
|
168
169
|
rewritten_files: 0,
|
|
169
170
|
rewritten_imports: 0,
|
|
170
171
|
warnings,
|
|
171
|
-
|
|
172
|
-
violations,
|
|
172
|
+
violations: [],
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
175
|
if (!options.rules.folderizeCompoundFiles.fix) {
|
|
176
176
|
logger.warn("fix-folderization-disabled", "folderization fix is disabled", {
|
|
177
177
|
candidates: moves.length,
|
|
178
|
+
discipline: {
|
|
179
|
+
errors,
|
|
180
|
+
warnings,
|
|
181
|
+
},
|
|
178
182
|
});
|
|
179
183
|
return {
|
|
180
|
-
ok:
|
|
184
|
+
ok: errors === 0,
|
|
185
|
+
errors,
|
|
181
186
|
moved_files: 0,
|
|
182
187
|
rewritten_files: 0,
|
|
183
188
|
rewritten_imports: 0,
|
|
184
189
|
warnings,
|
|
185
|
-
failures,
|
|
186
190
|
violations,
|
|
187
191
|
};
|
|
188
192
|
}
|
|
@@ -202,12 +206,12 @@ async function fixFolderization(sourceFiles, options, logger) {
|
|
|
202
206
|
});
|
|
203
207
|
return {
|
|
204
208
|
ok: true,
|
|
209
|
+
errors: 0,
|
|
205
210
|
moved_files: movedFiles,
|
|
206
211
|
rewritten_files: rewriteState.rewrittenFiles,
|
|
207
212
|
rewritten_imports: rewriteState.rewrittenImports,
|
|
208
|
-
warnings,
|
|
209
|
-
|
|
210
|
-
violations,
|
|
213
|
+
warnings: 0,
|
|
214
|
+
violations: [],
|
|
211
215
|
};
|
|
212
216
|
}
|
|
213
217
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AASvE,SAAS,4BAA4B,CACnC,QAAgB,EAChB,aAAqB,EACrB,OAA6C,EAC7C,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,
|
|
1
|
+
{"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"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"}
|
package/dist/checks/index.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ declare function buildNormalizedSyncOptions(options: NormalizedCheckCodeDiscipli
|
|
|
6
6
|
sourceExtensions: string[];
|
|
7
7
|
excludeDirs: string[];
|
|
8
8
|
tsconfigPath: string;
|
|
9
|
-
|
|
10
|
-
stop: boolean;
|
|
9
|
+
severity: import("../index.js").CodeDisciplineSeverity;
|
|
11
10
|
fix: boolean;
|
|
12
11
|
alias: {
|
|
13
12
|
prefix: string;
|
|
@@ -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":"AAQA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAEpB,iBAAS,0BAA0B,CAAC,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;EAoBhF;AAgFD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuBpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/checks/index.js
CHANGED
|
@@ -6,6 +6,8 @@ import { fixFolderization } from "./fix-folderization.js";
|
|
|
6
6
|
import { runFolderizeCompoundFilesRule } from "./rules/folderize-compound-files.js";
|
|
7
7
|
import { runMaxFileLinesRule } from "./rules/max-file-lines.js";
|
|
8
8
|
function buildNormalizedSyncOptions(options) {
|
|
9
|
+
if (!options.rules.syncImports)
|
|
10
|
+
return null;
|
|
9
11
|
return {
|
|
10
12
|
projectRoot: options.projectRoot,
|
|
11
13
|
sourceRoot: options.sourceRoot,
|
|
@@ -13,8 +15,7 @@ function buildNormalizedSyncOptions(options) {
|
|
|
13
15
|
sourceExtensions: options.sourceExtensions,
|
|
14
16
|
excludeDirs: options.excludeDirs,
|
|
15
17
|
tsconfigPath: options.rules.syncImports.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
|
|
16
|
-
|
|
17
|
-
stop: options.rules.syncImports.stop ?? true,
|
|
18
|
+
severity: options.rules.syncImports.severity ?? "error",
|
|
18
19
|
fix: options.rules.syncImports.fix ?? false,
|
|
19
20
|
alias: {
|
|
20
21
|
prefix: options.rules.syncImports.alias?.prefix ?? "#",
|
|
@@ -29,52 +30,62 @@ function sortViolations(violations) {
|
|
|
29
30
|
return [...violations].sort((left, right) => left.filePath.localeCompare(right.filePath) || left.rule.localeCompare(right.rule));
|
|
30
31
|
}
|
|
31
32
|
function summarizeViolations(violations) {
|
|
32
|
-
const warnings = violations.filter((violation) =>
|
|
33
|
-
const
|
|
33
|
+
const warnings = violations.filter((violation) => violation.severity === "warning").length;
|
|
34
|
+
const errors = violations.length - warnings;
|
|
34
35
|
return {
|
|
35
|
-
ok:
|
|
36
|
+
ok: errors === 0,
|
|
37
|
+
errors,
|
|
36
38
|
warnings,
|
|
37
|
-
|
|
39
|
+
violations,
|
|
38
40
|
};
|
|
39
41
|
}
|
|
40
|
-
function logViolation(violation, logger) {
|
|
41
|
-
const metadata = {
|
|
42
|
-
rule: violation.rule,
|
|
43
|
-
filePath: violation.filePath,
|
|
44
|
-
suggestedPath: violation.suggestedPath,
|
|
45
|
-
details: violation.details,
|
|
46
|
-
};
|
|
47
|
-
if (violation.stop) {
|
|
48
|
-
logger.error("discipline-violation", violation.message, metadata);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
logger.warn("discipline-warning", violation.message, metadata);
|
|
52
|
-
}
|
|
53
42
|
function logSummary(label, result, logger) {
|
|
54
|
-
if (result.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
43
|
+
if (result.errors > 0) {
|
|
44
|
+
logger.flush("error", `discipline-${label}-failed`, `${label} completed with error violations`, {
|
|
45
|
+
discipline: {
|
|
46
|
+
errors: result.errors,
|
|
47
|
+
warnings: result.warnings,
|
|
48
|
+
},
|
|
49
|
+
errors: result.errors,
|
|
50
|
+
warnings: result.warnings,
|
|
51
|
+
violations: result.violations,
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
58
54
|
}
|
|
59
|
-
if (result.
|
|
60
|
-
logger.
|
|
55
|
+
if (result.warnings > 0) {
|
|
56
|
+
logger.flush("warn", `discipline-${label}-warning`, `${label} completed with warning violations`, {
|
|
57
|
+
discipline: {
|
|
58
|
+
errors: result.errors,
|
|
59
|
+
warnings: result.warnings,
|
|
60
|
+
},
|
|
61
|
+
errors: result.errors,
|
|
61
62
|
warnings: result.warnings,
|
|
62
|
-
|
|
63
|
-
violations: result.violations.length,
|
|
63
|
+
violations: result.violations,
|
|
64
64
|
});
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
logger.
|
|
67
|
+
logger.flush(`success`, `discipline-${label}-ok`, `${label} completed`, {
|
|
68
|
+
discipline: {
|
|
69
|
+
errors: result.errors,
|
|
70
|
+
warnings: result.warnings,
|
|
71
|
+
},
|
|
72
|
+
errors: result.errors,
|
|
68
73
|
warnings: result.warnings,
|
|
69
|
-
|
|
70
|
-
violations: result.violations.length,
|
|
74
|
+
violations: result.violations,
|
|
71
75
|
});
|
|
72
76
|
}
|
|
73
77
|
async function collectViolations(options) {
|
|
74
78
|
const sourceFiles = await scanSourceFiles(options);
|
|
75
|
-
const maxFileViolations =
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
const maxFileViolations = options.rules.maxFileLines
|
|
80
|
+
? await runMaxFileLinesRule(sourceFiles, options)
|
|
81
|
+
: [];
|
|
82
|
+
const folderizeViolations = options.rules.folderizeCompoundFiles
|
|
83
|
+
? runFolderizeCompoundFilesRule(sourceFiles, options)
|
|
84
|
+
: [];
|
|
85
|
+
const normalizedSyncOptions = buildNormalizedSyncOptions(options);
|
|
86
|
+
const syncImportViolations = normalizedSyncOptions
|
|
87
|
+
? await collectSyncImportViolations(sourceFiles, normalizedSyncOptions)
|
|
88
|
+
: [];
|
|
78
89
|
return sortViolations([
|
|
79
90
|
...maxFileViolations,
|
|
80
91
|
...folderizeViolations,
|
|
@@ -85,11 +96,7 @@ async function checkCodeDiscipline(options) {
|
|
|
85
96
|
const normalized = await normalizeCheckCodeDisciplineOptions(options);
|
|
86
97
|
const logger = resolveLogger(normalized.logging);
|
|
87
98
|
const violations = await collectViolations(normalized);
|
|
88
|
-
const
|
|
89
|
-
const result = {
|
|
90
|
-
...summary,
|
|
91
|
-
violations,
|
|
92
|
-
};
|
|
99
|
+
const result = summarizeViolations(violations);
|
|
93
100
|
logSummary("check", result, logger);
|
|
94
101
|
return result;
|
|
95
102
|
}
|
|
@@ -102,7 +109,13 @@ async function fixCodeDiscipline(options) {
|
|
|
102
109
|
logSummary("fix", result, logger);
|
|
103
110
|
}
|
|
104
111
|
else {
|
|
105
|
-
logger.
|
|
112
|
+
logger.flush("success", "discipline-fix-ok", "fix completed", {
|
|
113
|
+
discipline: {
|
|
114
|
+
errors: result.errors,
|
|
115
|
+
warnings: result.warnings,
|
|
116
|
+
},
|
|
117
|
+
errors: result.errors,
|
|
118
|
+
warnings: result.warnings,
|
|
106
119
|
movedFiles: result.moved_files,
|
|
107
120
|
rewrittenFiles: result.rewritten_files,
|
|
108
121
|
rewrittenImports: result.rewritten_imports,
|
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,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NormalizedCheckCodeDisciplineOptions } from "../types.js";
|
|
2
2
|
import type { ScannedSourceFile } from "../../imports/types.js";
|
|
3
|
+
import type { CodeDisciplineViolation } from "../../shared/discipline-types.js";
|
|
3
4
|
declare function runFolderizeCompoundFilesRule(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): CodeDisciplineViolation[];
|
|
4
5
|
export { runFolderizeCompoundFilesRule };
|
|
5
6
|
//# sourceMappingURL=folderize-compound-files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folderize-compound-files.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"folderize-compound-files.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,iBAAS,6BAA6B,CACpC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,uBAAuB,EAAE,CAiB3B;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { planFolderizeCompoundFiles } from "./folderize-plan.js";
|
|
2
2
|
function runFolderizeCompoundFilesRule(sourceFiles, options) {
|
|
3
|
+
if (!options.rules.folderizeCompoundFiles)
|
|
4
|
+
return [];
|
|
3
5
|
return planFolderizeCompoundFiles(sourceFiles, options).map((candidate) => ({
|
|
4
6
|
rule: "folderize-compound-files",
|
|
5
|
-
|
|
7
|
+
severity: options.rules.folderizeCompoundFiles.severity,
|
|
6
8
|
fix: options.rules.folderizeCompoundFiles.fix,
|
|
7
9
|
filePath: candidate.relativeFromProjectRoot,
|
|
8
10
|
message: `file can be grouped under ${candidate.suggestedPath}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folderize-compound-files.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"folderize-compound-files.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,SAAS,6BAA6B,CACpC,WAAgC,EAChC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAC;IAErD,OAAO,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAQ;QACvD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG;QAC7C,QAAQ,EAAE,SAAS,CAAC,uBAAuB;QAC3C,OAAO,EAAE,6BAA6B,SAAS,CAAC,aAAa,EAAE;QAC/D,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE;YACP,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -32,7 +32,7 @@ function buildSuggestedPath(file, prefix, remainder, mode) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
function planFolderizeCompoundFiles(sourceFiles, options) {
|
|
35
|
-
if (!options.rules.folderizeCompoundFiles
|
|
35
|
+
if (!options.rules.folderizeCompoundFiles)
|
|
36
36
|
return [];
|
|
37
37
|
const separators = options.rules.folderizeCompoundFiles.separators;
|
|
38
38
|
const byDirectoryAndPrefix = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folderize-plan.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-plan.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAuB7B,SAAS,eAAe,CAAC,IAAuB,EAAE,UAAoB;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,SAAS,GAAuB,IAAI,CAAC;IAEzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,KAAK,IAAI,CAAC;YAAE,SAAS;QAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,SAAS;QAEpC,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1C,SAAS,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAuB,EACvB,MAAc,EACd,SAAiB,EACjB,IAAoC;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAEvD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;YAClD,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC;QAC1D,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,WAAgC,EAChC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB
|
|
1
|
+
{"version":3,"file":"folderize-plan.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-plan.ts"],"names":[],"mappings":"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"}
|