@ttsc/lint 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +66 -140
  2. package/lib/{structures/defaultFormat.d.ts → defaultFormat.d.ts} +3 -3
  3. package/lib/{structures/defaultFormat.js → defaultFormat.js} +3 -3
  4. package/lib/defaultFormat.js.map +1 -0
  5. package/lib/index.d.ts +1 -38
  6. package/lib/index.js +7 -5
  7. package/lib/index.js.map +1 -1
  8. package/lib/structures/ITtscLintConfig.d.ts +27 -0
  9. package/lib/structures/{PluginRuleNames.js → ITtscLintConfig.js} +1 -1
  10. package/lib/structures/ITtscLintConfig.js.map +1 -0
  11. package/lib/structures/{TtscLintFormatConfig.d.ts → ITtscLintFormatConfig.d.ts} +17 -16
  12. package/lib/structures/{TtscLintConfig.js → ITtscLintFormatConfig.js} +1 -1
  13. package/lib/structures/ITtscLintFormatConfig.js.map +1 -0
  14. package/lib/structures/ITtscLintPluginConfig.d.ts +6 -6
  15. package/lib/structures/TtscLintRuleMap.d.ts +11 -9
  16. package/lib/structures/TtscLintRuleOptions.d.ts +118 -144
  17. package/lib/structures/index.d.ts +2 -7
  18. package/lib/structures/index.js +2 -7
  19. package/lib/structures/index.js.map +1 -1
  20. package/linthost/config.go +1 -6
  21. package/linthost/config_format.go +253 -298
  22. package/linthost/format.go +91 -1
  23. package/package.json +2 -2
  24. package/rule/rule.go +124 -124
  25. package/src/{structures/defaultFormat.ts → defaultFormat.ts} +5 -5
  26. package/src/index.ts +7 -5
  27. package/src/structures/ITtscLintConfig.ts +33 -0
  28. package/src/structures/{TtscLintFormatConfig.ts → ITtscLintFormatConfig.ts} +17 -16
  29. package/src/structures/ITtscLintPluginConfig.ts +6 -6
  30. package/src/structures/TtscLintRuleMap.ts +17 -13
  31. package/src/structures/TtscLintRuleOptions.ts +118 -144
  32. package/src/structures/index.ts +2 -7
  33. package/lib/defineConfig.d.ts +0 -55
  34. package/lib/defineConfig.js +0 -39
  35. package/lib/defineConfig.js.map +0 -1
  36. package/lib/structures/PluginRuleNames.d.ts +0 -14
  37. package/lib/structures/PluginRuleNames.js.map +0 -1
  38. package/lib/structures/TtscLintConfig.d.ts +0 -27
  39. package/lib/structures/TtscLintConfig.js.map +0 -1
  40. package/lib/structures/TtscLintConfigEntry.d.ts +0 -39
  41. package/lib/structures/TtscLintConfigEntry.js +0 -3
  42. package/lib/structures/TtscLintConfigEntry.js.map +0 -1
  43. package/lib/structures/TtscLintFormatConfig.js +0 -3
  44. package/lib/structures/TtscLintFormatConfig.js.map +0 -1
  45. package/lib/structures/TtscLintPlugins.d.ts +0 -9
  46. package/lib/structures/TtscLintPlugins.js +0 -3
  47. package/lib/structures/TtscLintPlugins.js.map +0 -1
  48. package/lib/structures/TtscLintRuleEntry.d.ts +0 -22
  49. package/lib/structures/TtscLintRuleEntry.js +0 -3
  50. package/lib/structures/TtscLintRuleEntry.js.map +0 -1
  51. package/lib/structures/defaultFormat.js.map +0 -1
  52. package/src/defineConfig.ts +0 -69
  53. package/src/structures/PluginRuleNames.ts +0 -19
  54. package/src/structures/TtscLintConfig.ts +0 -31
  55. package/src/structures/TtscLintConfigEntry.ts +0 -50
  56. package/src/structures/TtscLintPlugins.ts +0 -10
  57. package/src/structures/TtscLintRuleEntry.ts +0 -28
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # `@ttsc/lint`
2
2
 
3
- ![banner of @ttsc/lint](https://raw.githubusercontent.com/samchon/ttsc/refs/heads/master/assets/og.jpg)
3
+ ![banner of @ttsc/lint](https://ttsc.dev/og.jpg)
4
4
 
5
5
  [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/ttsc/blob/master/LICENSE)
6
6
  [![NPM Version](https://img.shields.io/npm/v/@ttsc/lint.svg)](https://www.npmjs.com/package/@ttsc/lint)
@@ -9,9 +9,9 @@
9
9
  [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://ttsc.dev/docs)
10
10
  [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
11
 
12
- Lint as compile errors.
12
+ A linter and formatter. Co-protagonist of the [`ttsc`](https://ttsc.dev) toolchain — paired with `ttsc`, it replaces `eslint` and `prettier`.
13
13
 
14
- Type errors and lint violations appear in one `ttsc` run.
14
+ 140+ rules. Lint violations surface as `error TSxxxxx` from a single compile pass; the formatter applies via `ttsc format`.
15
15
 
16
16
  ## Demonstration
17
17
 
@@ -48,32 +48,33 @@ src/index.ts:1:1 - error TS11966: [no-var] Unexpected var, use let or const inst
48
48
  Found 3 errors in the same file, starting at: src/index.ts:3
49
49
  ```
50
50
 
51
- Type errors (`TS2322`) and lint violations (`TS17397`, `TS11966`) come out together, in the same `error TSxxxxx` shape.
52
-
53
- CI that already runs `ttsc` blocks on lint with no extra wiring.
51
+ Type errors (`TS2322`) and lint violations (`TS17397`, `TS11966`) come out together. No second tool, no second CI step.
54
52
 
55
53
  ## Setup
56
54
 
57
- Install the plugin alongside `ttsc` and TypeScript-Go:
58
-
59
55
  ```bash
60
- npm install -D ttsc @typescript/native-preview @ttsc/lint
56
+ npm install -D ttsc @ttsc/lint @typescript/native-preview
61
57
  ```
62
58
 
63
- Add a `lint.config.ts` next to your `tsconfig.json`:
59
+ Drop a `lint.config.ts` next to your `tsconfig.json`:
64
60
 
65
61
  ```ts
66
62
  // lint.config.ts
67
- import type { TtscLintConfig } from "@ttsc/lint";
63
+ import type { ITtscLintConfig } from "@ttsc/lint";
68
64
 
69
65
  export default {
66
+ format: {
67
+ printWidth: 100,
68
+ singleQuote: true,
69
+ trailingComma: "all",
70
+ },
70
71
  rules: {
71
72
  "no-var": "error",
72
73
  "prefer-const": "error",
73
74
  "no-explicit-any": "warning",
74
75
  "no-console": "off",
75
76
  },
76
- } satisfies TtscLintConfig;
77
+ } satisfies ITtscLintConfig;
77
78
  ```
78
79
 
79
80
  Run your normal `ttsc` or `ttsx`:
@@ -85,176 +86,82 @@ npx ttsx src/index.ts
85
86
 
86
87
  Errors fail the command; warnings print without affecting the exit code. Under `ttsx`, errors stop the program before your entrypoint runs.
87
88
 
88
- > Alternate config surfaces — inline `compilerOptions.plugins[].rules`, `extends` paths, and `eslint.config.*` reuse — are described in [Config Files](#config-files) below.
89
+ ## Fix and format
89
90
 
90
- ### Fix
91
+ `ttsc fix` applies every autofix the enabled rules offer — lint and format together — writes results back to disk, then re-runs type-check + lint. `ttsc format` runs the `format/*` subset through the same dataflow.
91
92
 
92
93
  ```bash
93
94
  npx ttsc fix
95
+ npx ttsc format
94
96
  ```
95
97
 
96
- Applies every autofix the enabled rules offer (lint *and* format), writes the result to disk, then runs the usual no-emit typecheck + lint pass.
97
-
98
- Native fixers currently cover:
99
-
100
- - `no-var`, single-declaration `prefer-const`, ESLint-safe `eqeqeq`.
101
- - `no-wrapper-object-types` (`String`/`Number`/`Boolean`/`Symbol`/`BigInt` → primitive; `Object` stays detection-only).
102
- - `prefer-as-const`, `no-useless-rename`, `object-shorthand`, `no-extra-non-null-assertion`.
103
- - `no-unnecessary-type-constraint`, `prefer-namespace-keyword`, `no-useless-escape`.
104
- - `no-import-type-side-effects` (hoists inline `type` modifiers).
105
- - `await-thenable` (type-aware — drops `await` on non-thenable operands).
98
+ `ttsc fix` is a one-shot project pass and rejects `--watch`, single-file mode, and `--emit`. Fixes are written to disk before the recheck runs, so source stays modified even when the command exits non-zero on remaining errors. Recommended flow: run `ttsc fix` locally, commit, then have CI run `ttsc --noEmit` to gate on zero remaining errors.
106
99
 
107
- If your project uses `eslint.config.*` with an installed ESLint runtime, `ttsc fix` delegates to ESLint's own fixers and reloads the Program before reporting remaining diagnostics.
100
+ ## Configurations
108
101
 
109
- `ttsc fix` is a one-shot project pass and rejects `--watch`, single-file mode, and `--emit`. Fixes are written to disk before the recheck runs, so source stays modified even when the command exits non-zero on remaining errors.
102
+ Two top-level keys in `lint.config.ts`:
110
103
 
111
- Recommended flow: run `ttsc fix` locally, commit, then have CI run `ttsc --noEmit` to gate on zero remaining errors.
104
+ - `format` is a Prettier-style block that drives the `format/*` autofixes. Format diagnostics are warnings and do not define compile failure policy.
105
+ - `rules` sets severity per lint rule. `"error"` fails the build; `"warning"` prints without affecting the exit code; `"off"` disables the rule.
112
106
 
113
107
  ### Format
114
108
 
115
- ```bash
116
- npx ttsc format
117
- ```
118
-
119
- Applies the format-class rules and exits silently. `ttsc fix` does the same plus the lint cascade; pick `format` when you want to reshape source without lint rewrites.
120
-
121
- Configure formatting with a Prettier-style `format` block — keys mirror `.prettierrc`:
109
+ The `format` block in `lint.config.ts` configures the formatter. Keys mirror `.prettierrc`:
122
110
 
123
111
  ```ts
124
112
  // lint.config.ts
125
- import type { TtscLintConfig } from "@ttsc/lint";
126
-
127
113
  export default {
128
- rules: { "no-var": "error" },
129
114
  format: {
130
115
  printWidth: 100,
131
116
  singleQuote: true,
132
117
  trailingComma: "all",
133
118
  importOrder: ["<THIRD_PARTY_MODULES>", "@api(.*)$", "^[./]"],
119
+ jsdoc: true,
134
120
  },
135
- } satisfies TtscLintConfig;
121
+ rules: { "no-var": "error" },
122
+ } satisfies ITtscLintConfig;
136
123
  ```
137
124
 
138
- Presence (even empty `format: {}`) enables the always-on rules at Prettier defaults. Setting `importOrder` enables `format/sort-imports`; setting `jsdoc: true` (or an options object) enables `format/jsdoc`. Omit the `format` block entirely to keep every format rule off — same as today's opt-in default.
125
+ Presence of the block (even empty `format: {}`) configures the always-on format rules at Prettier defaults for `ttsc format`. It does not make `ttsc check` fail on formatting by default; set `format.severity` only if you intentionally want check-time format diagnostics.
126
+
127
+ Each `format` key drives one rule:
139
128
 
140
129
  | Rule | Driven by | Effect |
141
130
  | --- | --- | --- |
131
+ | all format rules | `severity` (default `"off"`) | Optional check-time diagnostic severity. `ttsc format` still applies configured format rules when this is off. |
142
132
  | `format/semi` | `semi` | Insert trailing semicolons on ASI-terminated statements. |
143
133
  | `format/quotes` | `singleQuote` | Convert quoted strings to the preferred quote style. |
144
134
  | `format/trailing-comma` | `trailingComma` | Add trailing commas to multi-line lists. |
145
- | `format/print-width` | `printWidth`, `tabWidth`, `useTabs`, `endOfLine` | Prettier-style line reflow. Object/array literals, call/new arguments, and named import/export clauses break across lines when their flat form overflows the budget. See [docs/13-format-print-width.md](https://github.com/samchon/ttsc/blob/master/docs/13-format-print-width.md). |
146
- | `format/sort-imports` | `importOrder*` | Group external/relative imports and alphabetize each group + its specifiers. |
147
- | `format/jsdoc` | `jsdoc` | Normalize JSDoc blocks toward [prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc). |
135
+ | `format/print-width` | `printWidth`, `tabWidth`, `useTabs`, `endOfLine` | Column-aware line reflow. Object/array literals, call/new arguments, and named import/export clauses break across lines when their flat form overflows the budget. |
136
+ | `format/sort-imports` | `importOrder` (opt-in) | Group external/relative imports and alphabetize each group + its specifiers. |
137
+ | `format/jsdoc` | `jsdoc` (opt-in) | Normalize JSDoc blocks toward [prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc). |
148
138
 
149
- `format.severity` (default `"warning"`) sets the diagnostic level for every format rule in `ttsc check`. `severity: "off"` disables every format rule AND skips its rewrite under `ttsc format` a one-line CI escape hatch.
139
+ `format/sort-imports` and `format/jsdoc` are **opt-in**: they only run when you set their `format` keys. Every other format rule is available to `ttsc format` as soon as a `format` block is present.
150
140
 
151
- To override a single rule's severity or options, drop a sibling `rules` entry — `rules` wins on conflict:
141
+ To disable or override one specific format rule, drop a sibling `rules` entry — `rules` wins on conflict:
152
142
 
153
143
  ```ts
154
144
  export default {
155
- format: { semi: true },
156
- rules: { "format/semi": "error" }, // bump severity for this one rule only
157
- } satisfies TtscLintConfig;
145
+ format: { severity: "warning", semi: true },
146
+ rules: { "format/semi": "off" },
147
+ } satisfies ITtscLintConfig;
158
148
  ```
149
+ ### Rules
159
150
 
160
- Migrating from a `.prettierrc`? See [docs/14-prettier-migration.md](https://github.com/samchon/ttsc/blob/master/docs/14-prettier-migration.md) for the field-by-field cheat sheet and the list of Prettier knobs `@ttsc/lint` does not yet support.
161
-
162
- ### Config Files
163
-
164
- `@ttsc/lint` discovers config from one of three surfaces, in order:
165
-
166
- 1. **Inline `tsconfig.json` rules** — most local, overrides everything else for that plugin entry.
167
-
168
- ```jsonc
169
- {
170
- "compilerOptions": {
171
- "plugins": [
172
- {
173
- "transform": "@ttsc/lint",
174
- "rules": { "no-var": "error", "prefer-const": "error" },
175
- },
176
- ],
177
- },
178
- }
179
- ```
180
-
181
- 2. **`extends` path** — relative path to a standalone config file.
182
-
183
- ```jsonc
184
- {
185
- "compilerOptions": {
186
- "plugins": [
187
- { "transform": "@ttsc/lint", "extends": "./lint.config.ts" },
188
- ],
189
- },
190
- }
191
- ```
192
-
193
- 3. **Auto-discovery** — walks upward from the `tsconfig.json` directory and uses the first match:
194
-
195
- - `lint.config.{json,js,mjs,cjs,ts,mts,cts}`
196
- - `ttsc-lint.config.{json,js,mjs,cjs,ts,mts,cts}`
197
- - `eslint.config.{js,mjs,cjs,ts,mts,cts}` (flat-config compatibility)
198
-
199
- `.ts` configs load directly through `ttsx` — no compile step required. `rules` and `extends` cannot be combined on a single plugin entry; pick one or rely on auto-discovery.
200
-
201
- ### Third-Party Rule Plugins
202
-
203
- Third-party packages can contribute Go-implemented lint rules that compile into the same `@ttsc/lint` binary and report through the same diagnostic stream as the built-ins. Two declaration surfaces:
204
-
205
- ```jsonc
206
- // tsconfig.json — inline declaration
207
- {
208
- "compilerOptions": {
209
- "plugins": [
210
- {
211
- "transform": "@ttsc/lint",
212
- "plugins": { "demo": "ttsc-lint-plugin-demo" },
213
- "rules": { "demo/no-todo-comment": "error" },
214
- },
215
- ],
216
- },
217
- }
218
- ```
151
+ Rules are off until you enable them:
219
152
 
220
153
  ```ts
221
- // lint.config.ts — ESLint flat-config style
222
- import demoPlugin from "ttsc-lint-plugin-demo";
223
- import { defineConfig } from "@ttsc/lint";
224
-
225
- export default defineConfig([
226
- {
227
- plugins: { demo: demoPlugin },
228
- rules: { "demo/no-todo-comment": "error" },
154
+ // lint.config.ts
155
+ export default {
156
+ rules: {
157
+ "no-var": "error",
158
+ "eqeqeq": "error",
159
+ "prefer-template": "warning",
160
+ "no-non-null-assertion": "off",
229
161
  },
230
- ]);
162
+ } satisfies ITtscLintConfig;
231
163
  ```
232
164
 
233
- ttsc copies each declared contributor's Go source into a sub-package of `@ttsc/lint`'s module at build time, so the resulting binary has both built-in and contributor rules registered before `main`. Authoring instructions and the public Go API live in [`docs/10-reference-plugins.md`](https://github.com/samchon/ttsc/blob/master/docs/10-reference-plugins.md#authoring-a-lint-rule-contributor).
234
-
235
- Contributor rules emit autofixes the same way built-ins do — call `ctx.ReportFix(node, message, edits...)` or `ctx.ReportRangeFix(pos, end, message, edits...)`. The `rule/astutil` package re-exports the byte-range helpers built-ins use (`NodeText`, `KeywordStart`, `FindKeyword`, `TokenRange`). See the [Emitting Autofixes](https://github.com/samchon/ttsc/blob/master/docs/10-reference-plugins.md#emitting-autofixes) section for the full contract and an example.
236
-
237
- ## Scope
238
-
239
- No bundled recommended preset yet. Rules remain off until you enable them.
240
-
241
- ## Rules
242
-
243
- Rules are off until you enable them:
244
-
245
- ```jsonc
246
- {
247
- "no-var": "error",
248
- "eqeqeq": "error",
249
- "prefer-template": "warning",
250
- "no-non-null-assertion": "off",
251
- }
252
- ```
253
-
254
- Rule severities are `"error"`, `"warning"`, and `"off"`.
255
-
256
- Format rules (`format/semi`, `format/quotes`, `format/trailing-comma`, `format/sort-imports`, `format/jsdoc`) are listed separately in the [Format](#format) section above with their per-rule option shapes. The catalog below covers lint-class rules only.
257
-
258
165
  The rule corpus is tested in `tests/test-lint/src/cases/*.ts`, which is the best place to check the exact patterns currently covered. Each rule below links to its tested fixture:
259
166
 
260
167
  - [`adjacent-overload-signatures`](https://github.com/samchon/ttsc/blob/master/tests/test-lint/src/cases/adjacent-overload-signatures.ts): keeps overload declarations for the same member adjacent.
@@ -393,6 +300,25 @@ The rule corpus is tested in `tests/test-lint/src/cases/*.ts`, which is the best
393
300
  - [`vars-on-top`](https://github.com/samchon/ttsc/blob/master/tests/test-lint/src/cases/vars-on-top.ts): requires `var` declarations at the top of their scope.
394
301
  - [`yoda`](https://github.com/samchon/ttsc/blob/master/tests/test-lint/src/cases/yoda.ts): rejects literal-first comparisons.
395
302
 
303
+ ## Third-party rule plugins
304
+
305
+ Other npm packages can ship lint rules that compile into the same `@ttsc/lint` binary and report through the same diagnostic stream as built-ins. Declare them in `lint.config.ts`:
306
+
307
+ ```ts
308
+ // lint.config.ts
309
+ import demoPlugin from "ttsc-lint-plugin-demo";
310
+ import type { ITtscLintConfig } from "@ttsc/lint";
311
+
312
+ export default {
313
+ plugins: { demo: demoPlugin },
314
+ rules: { "demo/no-todo-comment": "error" },
315
+ } satisfies ITtscLintConfig;
316
+ ```
317
+
318
+ `ttsc` copies each declared contributor's Go source into a sub-package of `@ttsc/lint`'s module at build time, so the resulting binary has both built-in and contributor rules registered before `main`. Authoring instructions and the public Go API live in the [`@ttsc/lint` walkthrough → How a contributor package ships](https://ttsc.dev/docs/development/walkthroughs/lint#how-a-contributor-package-ships).
319
+
320
+ Contributor rules emit autofixes the same way built-ins do — call `ctx.ReportFix(node, message, edits...)` or `ctx.ReportRangeFix(pos, end, message, edits...)`. The `rule/astutil` package re-exports the byte-range helpers built-ins use (`NodeText`, `KeywordStart`, `FindKeyword`, `TokenRange`). See the [contributor autofix path](https://ttsc.dev/docs/development/walkthroughs/lint#the-contributor-autofix-path) section for the full contract and an example.
321
+
396
322
  ## Sponsors
397
323
 
398
324
  [![Sponsors](https://raw.githubusercontent.com/samchon/sponsor-images/refs/heads/master/public/circle.svg)](https://github.com/sponsors/samchon)
@@ -5,11 +5,11 @@
5
5
  *
6
6
  * Exported so users can spread defaults next to overrides:
7
7
  *
8
- * import { defaultFormat, type TtscLintConfig } from "@ttsc/lint";
8
+ * import { defaultFormat, type ITtscLintConfig } from "@ttsc/lint";
9
9
  *
10
10
  * export default {
11
11
  * format: { ...defaultFormat, printWidth: 100 },
12
- * } satisfies TtscLintConfig;
12
+ * } satisfies ITtscLintConfig;
13
13
  *
14
14
  * The values mirror Prettier 1:1 except for the documented
15
15
  * `endOfLine` narrowing (no `"cr"` / `"auto"`).
@@ -20,7 +20,7 @@
20
20
  * unconditionally with a non-empty `format` block.
21
21
  */
22
22
  export declare const defaultFormat: Readonly<{
23
- severity: "warning";
23
+ severity: "off";
24
24
  semi: true;
25
25
  singleQuote: false;
26
26
  trailingComma: "all";
@@ -8,11 +8,11 @@ exports.defaultFormat = void 0;
8
8
  *
9
9
  * Exported so users can spread defaults next to overrides:
10
10
  *
11
- * import { defaultFormat, type TtscLintConfig } from "@ttsc/lint";
11
+ * import { defaultFormat, type ITtscLintConfig } from "@ttsc/lint";
12
12
  *
13
13
  * export default {
14
14
  * format: { ...defaultFormat, printWidth: 100 },
15
- * } satisfies TtscLintConfig;
15
+ * } satisfies ITtscLintConfig;
16
16
  *
17
17
  * The values mirror Prettier 1:1 except for the documented
18
18
  * `endOfLine` narrowing (no `"cr"` / `"auto"`).
@@ -23,7 +23,7 @@ exports.defaultFormat = void 0;
23
23
  * unconditionally with a non-empty `format` block.
24
24
  */
25
25
  exports.defaultFormat = Object.freeze({
26
- severity: "warning",
26
+ severity: "off",
27
27
  semi: true,
28
28
  singleQuote: false,
29
29
  trailingComma: "all",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultFormat.js","sourceRoot":"","sources":["../src/defaultFormat.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;CACgB,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,39 +1,2 @@
1
- import type { ITtscLintPluginConfig } from "./structures";
2
- export * from "./defineConfig";
1
+ export * from "./defaultFormat";
3
2
  export * from "./structures/index";
4
- type TtscPluginContributor = {
5
- name: string;
6
- source: string;
7
- };
8
- type TtscPluginDescriptor = {
9
- name: string;
10
- source: string;
11
- stage?: "check" | "transform";
12
- contributors?: TtscPluginContributor[];
13
- };
14
- type TtscPluginFactoryContext<TConfig> = {
15
- binary: string;
16
- cwd: string;
17
- plugin: TConfig;
18
- projectRoot: string;
19
- tsconfig: string;
20
- };
21
- /**
22
- * Plugin descriptor factory for `@ttsc/lint`.
23
- *
24
- * Two discovery surfaces feed the descriptor's `contributors` field:
25
- *
26
- * 1. The tsconfig plugin entry's `plugins` map — namespace → npm specifier. Inline
27
- * for projects that prefer to keep everything in `tsconfig.json`.
28
- * 2. The companion `lint.config.{ts,cts,mts,js,cjs,mjs,json}` (or
29
- * `eslint.config.*`) file — flat-config-style with an in-memory `plugins: {
30
- * ns: pluginObject }` map. The factory evaluates the config (via ttsx for TS
31
- * / ESM sources, `require` for CommonJS, `JSON.parse` for JSON) and walks
32
- * every entry's `plugins` field.
33
- *
34
- * Contributions from both sources are merged with the tsconfig entry winning on
35
- * namespace collisions, so a project can opt into a hand-curated subset of an
36
- * external `lint.config.ts` by overriding specific namespaces in
37
- * `tsconfig.json`.
38
- */
39
- export default function createTtscPlugin(context: TtscPluginFactoryContext<ITtscLintPluginConfig>): TtscPluginDescriptor;
package/lib/index.js CHANGED
@@ -23,7 +23,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
23
23
  const node_module_1 = require("node:module");
24
24
  const node_os_1 = __importDefault(require("node:os"));
25
25
  const node_path_1 = __importDefault(require("node:path"));
26
- __exportStar(require("./defineConfig"), exports);
26
+ __exportStar(require("./defaultFormat"), exports);
27
27
  __exportStar(require("./structures/index"), exports);
28
28
  // Namespace becomes the rule-name prefix (`<ns>/<rule>`). Mirrors ESLint
29
29
  // plugin namespace conventions: lowercase ASCII, digits, hyphens, and
@@ -65,22 +65,24 @@ const LINT_CONFIG_FILENAMES = [
65
65
  "eslint.config.js",
66
66
  ];
67
67
  /**
68
- * Plugin descriptor factory for `@ttsc/lint`.
68
+ * Plugin descriptor factory consumed by ttsc package discovery.
69
69
  *
70
70
  * Two discovery surfaces feed the descriptor's `contributors` field:
71
71
  *
72
72
  * 1. The tsconfig plugin entry's `plugins` map — namespace → npm specifier. Inline
73
73
  * for projects that prefer to keep everything in `tsconfig.json`.
74
74
  * 2. The companion `lint.config.{ts,cts,mts,js,cjs,mjs,json}` (or
75
- * `eslint.config.*`) file — flat-config-style with an in-memory `plugins: {
75
+ * `eslint.config.*`) file — an object with an in-memory `plugins: {
76
76
  * ns: pluginObject }` map. The factory evaluates the config (via ttsx for TS
77
- * / ESM sources, `require` for CommonJS, `JSON.parse` for JSON) and walks
78
- * every entry's `plugins` field.
77
+ * / ESM sources, `require` for CommonJS, `JSON.parse` for JSON) and reads
78
+ * the `plugins` field.
79
79
  *
80
80
  * Contributions from both sources are merged with the tsconfig entry winning on
81
81
  * namespace collisions, so a project can opt into a hand-curated subset of an
82
82
  * external `lint.config.ts` by overriding specific namespaces in
83
83
  * `tsconfig.json`.
84
+ *
85
+ * @internal
84
86
  */
85
87
  function createTtscPlugin(context) {
86
88
  const inline = resolveInlineContributors(context);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ITtscLintFormatConfig } from "./ITtscLintFormatConfig";
2
+ import type { ITtscLintPlugin } from "./ITtscLintPlugin";
3
+ import type { TtscLintRuleMap } from "./TtscLintRuleMap";
4
+ /**
5
+ * Top-level object accepted by `@ttsc/lint` config files.
6
+ *
7
+ * Keep the file shape plain: users export an object and use
8
+ * `satisfies ITtscLintConfig` when they want type checking.
9
+ */
10
+ export interface ITtscLintConfig {
11
+ /** Globs that select the files this entry applies to. */
12
+ files?: string | readonly string[];
13
+ /** Globs that exclude files this entry would otherwise match. */
14
+ ignores?: string | readonly string[];
15
+ /**
16
+ * Config file path folded in before this object's own rules apply.
17
+ *
18
+ * Relative paths resolve from the containing config file's directory.
19
+ */
20
+ extends?: string;
21
+ /** Contributor plugin objects keyed by namespace. */
22
+ plugins?: Record<string, ITtscLintPlugin>;
23
+ /** Rule-name to severity map. Supports severity tuples with options. */
24
+ rules?: TtscLintRuleMap;
25
+ /** Prettier-style flat configuration for the `format/*` rules. */
26
+ format?: ITtscLintFormatConfig;
27
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PluginRuleNames.js.map
3
+ //# sourceMappingURL=ITtscLintConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscLintConfig.js","sourceRoot":"","sources":["../../src/structures/ITtscLintConfig.ts"],"names":[],"mappings":""}
@@ -8,21 +8,24 @@ import type { TtscLintSeverity } from "./TtscLintSeverity";
8
8
  * verbatim. The block is opt-in by presence: a `lint.config.ts` with no
9
9
  * `format` field keeps every format rule off, exactly as before.
10
10
  *
11
- * Once present, the block enables a curated set of format rules at
12
- * Prettier-aligned defaults. Individual rules can be overridden or
13
- * disabled through the `rules` map (the `rules` entry wins on conflict).
11
+ * Once present, the block configures a curated set of format rules at
12
+ * Prettier-aligned defaults. `ttsc format` uses these rules to rewrite source.
13
+ * `ttsc check` does not report format findings unless `severity` is set to a
14
+ * non-off value. Individual rules can be overridden or disabled through the
15
+ * `rules` map (the `rules` entry wins on conflict).
14
16
  *
15
17
  * @example
16
- * import type { TtscLintConfig } from "@ttsc/lint";
18
+ * import type { ITtscLintConfig } from "@ttsc/lint";
17
19
  *
18
20
  * export default {
19
21
  * rules: { "no-var": "error" },
20
22
  * format: {
23
+ * severity: "warning",
21
24
  * printWidth: 100,
22
25
  * singleQuote: true,
23
26
  * importOrder: ["<THIRD_PARTY_MODULES>", "^[./]"],
24
27
  * },
25
- * } satisfies TtscLintConfig;
28
+ * } satisfies ITtscLintConfig;
26
29
  *
27
30
  * Deviations from Prettier:
28
31
  * - `endOfLine` is restricted to `"lf"` and `"crlf"`. Prettier's
@@ -30,7 +33,6 @@ import type { TtscLintSeverity } from "./TtscLintSeverity";
30
33
  * printer does not auto-detect terminators.
31
34
  * - Many Prettier knobs (`bracketSpacing`, `arrowParens`,
32
35
  * `quoteProps`, JSX-specific switches) are not yet implemented.
33
- * See `docs/14-prettier-migration.md` for the full gap list.
34
36
  *
35
37
  * Rule enablement matrix (when the `format` block is present):
36
38
  *
@@ -45,19 +47,18 @@ import type { TtscLintSeverity } from "./TtscLintSeverity";
45
47
  * - `format/sort-imports` — opt-in. Setting `importOrder` enables it.
46
48
  * - `format/jsdoc` — opt-in. Setting `jsdoc` enables it.
47
49
  *
48
- * For per-rule severity overrides, drop a `rules` entry alongside:
49
- *
50
- * format: { semi: true, severity: "warning" },
51
- * rules: { "format/semi": "error" },
50
+ * Format findings produced from this block are off by default. Set `severity`
51
+ * only when a project intentionally wants check-time format diagnostics.
52
52
  */
53
- export interface TtscLintFormatConfig {
53
+ export interface ITtscLintFormatConfig {
54
54
  /**
55
- * Severity for every format diagnostic emitted by `ttsc check`. The
56
- * same vocabulary as the `rules` map (`"off" | "warn" | "warning" |
57
- * "error"` plus numeric 0/1/2). `"off"` disables both the diagnostic
58
- * and the `ttsc format` / `ttsc fix` rewrite for every format rule.
55
+ * Check-time severity for format findings generated from this block.
56
+ *
57
+ * The default is `"off"` so formatting policy does not affect compilation
58
+ * unless the project opts into that behavior. `ttsc format` can still use the
59
+ * rest of this block to rewrite files.
59
60
  *
60
- * @default "warning"
61
+ * @default "off"
61
62
  */
62
63
  severity?: TtscLintSeverity;
63
64
  /**
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TtscLintConfig.js.map
3
+ //# sourceMappingURL=ITtscLintFormatConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscLintFormatConfig.js","sourceRoot":"","sources":["../../src/structures/ITtscLintFormatConfig.ts"],"names":[],"mappings":""}