linted 36.1.0 → 37.0.0-rc.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- // #region v38.1.1
2
+ // #region v40.0.0
3
3
  "$schema": "https://gist.githubusercontent.com/jimmy-zhening-luo/e0d6b5715f0df18bc462f752520bd485/raw",
4
4
  "$help": {
5
5
  "link": "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md",
@@ -12,14 +12,14 @@
12
12
  "ul-style": false /* MD004 */,
13
13
  "list-indent": true /* MD005 */,
14
14
  "ul-indent": {
15
- "indent": 4,
15
+ "indent": 2,
16
16
  } /* MD007 */,
17
17
  "no-trailing-spaces": {
18
18
  "br_spaces": 0,
19
19
  "strict": true,
20
20
  } /* MD009 */,
21
21
  "no-hard-tabs": {
22
- "spaces_per_tab": 4,
22
+ "spaces_per_tab": 2,
23
23
  "ignore_code_languages": [],
24
24
  } /* MD010 */,
25
25
  "no-reversed-links": true /* MD011 */,
@@ -94,4 +94,8 @@
94
94
  "table-column-count": true /* MD056 */,
95
95
  "blanks-around-tables": true /* MD058 */,
96
96
  "descriptive-link-text": false /* MD059 */,
97
+ "table-column-style": {
98
+ "style": "aligned",
99
+ "aligned_delimiter": true /* implicitly true when style:aligned */,
100
+ } /* MD060 */,
97
101
  }
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # [`linted`](https://www.npmjs.com/package/linted)
2
+
2
3
  [![NPM Publish](https://github.com/jimmy-zhening-luo/linted/actions/workflows/RELEASE.yml/badge.svg)](https://github.com/jimmy-zhening-luo/linted/actions/workflows/RELEASE.yml)
3
4
 
4
5
  > [!CAUTION]
@@ -6,7 +7,7 @@
6
7
 
7
8
  ---
8
9
 
9
- [ESLint](https://eslint.org) mono-plugin bundler with strict, opinionated defaults for (Stylistic) JavaScript, TypeScript, Svelte, HTML, Tailwind/CSS, JSON, JSONC, YAML, and Mocha.
10
+ [ESLint](https://eslint.org) mono-plugin bundler with strict, opinionated defaults for JavaScript, TypeScript, Svelte, HTML, Tailwind/CSS, JSON, JSONC, YAML, and Mocha.
10
11
 
11
12
  1. [Languages](#languages)
12
13
  2. [Features](#features)
@@ -18,12 +19,13 @@
18
19
  ## Languages
19
20
 
20
21
  ### Web
22
+
21
23
  > [!NOTE]
22
24
  > _See language support __[roadmap](#roadmap).___
23
25
 
24
- - __[JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript):__ [`@stylistic`](https://eslint.style) + [`eslint`](https://eslint.org)
25
- - __[TypeScript](https://www.typescriptlang.org):__ [`@typescript-eslint`](https://typescript-eslint.io/) + [`@stylistic`](https://eslint.style) + [`eslint`](https://eslint.org)
26
- - __[Svelte](https://svelte.dev):__ [`eslint-plugin-svelte`](https://sveltejs.github.io/eslint-plugin-svelte/) + [`@typescript-eslint`](https://typescript-eslint.io/) + [`@stylistic`](https://eslint.style) + [`eslint`](https://eslint.org)
26
+ - __[JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript):__ [`eslint`](https://eslint.org)
27
+ - __[TypeScript](https://www.typescriptlang.org):__ [`@typescript-eslint`](https://typescript-eslint.io/) + [`eslint`](https://eslint.org)
28
+ - __[Svelte](https://svelte.dev):__ [`eslint-plugin-svelte`](https://sveltejs.github.io/eslint-plugin-svelte/) + [`@typescript-eslint`](https://typescript-eslint.io/) + [`eslint`](https://eslint.org)
27
29
  - __[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML):__ [`@html-eslint`](https://html-eslint.org/)
28
30
 
29
31
  ### Data
@@ -31,38 +33,35 @@
31
33
  - __[JSON](https://json.org) & [JSONC](https://code.visualstudio.com/docs/languages/json#_json-with-comments):__ [`eslint-plugin-jsonc`](https://ota-meshi.github.io/eslint-plugin-jsonc/)
32
34
  - __[YAML](https://redhat.com/en/topics/automation/what-is-yaml):__ [`eslint-plugin-yml`](https://ota-meshi.github.io/eslint-plugin-yml/)
33
35
 
34
- ### Library
35
-
36
- - __[Mocha](https://mochajs.org/):__ [`eslint-plugin-mocha`](https://github.com/lo1tuma/eslint-plugin-mocha) + [`@typescript-eslint`](https://typescript-eslint.io/) + [`@stylistic`](https://eslint.style) + [`eslint`](https://eslint.org)
37
-
38
36
  ## Features
39
37
 
40
38
  ### Zero-Dependency
39
+
41
40
  No need to install 17 plugins and 12 parsers: each language's latest plugin is bundled and configured.
42
41
 
43
42
  ### Zero-Config
43
+
44
44
  No need to remember each plugin's `parserOptions`; you won't have to do _this_ just to enable Svelte linting:
45
45
 
46
46
  ```javascript
47
- // lint TypeScript blocks in Svelte
48
- plugins: {
49
- "@stylistic": stylistic,
50
- "@typescript-eslint": ts,
51
- svelte,
52
- },
53
- languageOptions: {
54
- ecmaVersion: "latest",
55
- sourceType: "module",
56
- parser: svelteParser,
57
- parserOptions: {
58
- parser: tsParser,
59
- ecmaVersion: "latest",
60
- sourceType: "module",
61
- project: "tsconfig.json",
62
- extraFileExtensions: [".svelte"],
63
- },
64
- },
65
- processor: "svelte/svelte",
47
+ // lint TypeScript blocks in Svelte
48
+ plugins: {
49
+ "@typescript-eslint": ts,
50
+ svelte,
51
+ },
52
+ languageOptions: {
53
+ ecmaVersion: "latest",
54
+ sourceType: "module",
55
+ parser: svelteParser,
56
+ parserOptions: {
57
+ parser: tsParser,
58
+ ecmaVersion: "latest",
59
+ sourceType: "module",
60
+ project: "tsconfig.json",
61
+ extraFileExtensions: [".svelte"],
62
+ },
63
+ },
64
+ processor: "svelte/svelte",
66
65
  ```
67
66
 
68
67
  ### Zero-Arugment API
@@ -101,13 +100,12 @@ linted(
101
100
  "src/**/*.ts",
102
101
  "*.config.ts",
103
102
  ],
104
-
105
103
  // svelte: [],
106
104
  // html: [],
107
105
 
108
106
  /* ...json, jsonc, yml, */
109
107
  },
110
- )
108
+ );
111
109
  ```
112
110
 
113
111
  #### `ignores` _(Global)_
@@ -130,8 +128,8 @@ linted(
130
128
 
131
129
  ```javascript
132
130
  linted(
133
- { /** includes **/ },
134
- { /** ignores **/ },
131
+ {/** includes **/},
132
+ {/** ignores **/},
135
133
  {
136
134
  /** overrides **/
137
135
  overrideJs: {}, /* js rule overrides */
@@ -143,16 +141,17 @@ linted(
143
141
  "no-unused-vars": "off", /* example: ESLint base rule */
144
142
  "@typescript-eslint/indent": "warn", /* example: TypeScript plugin rule */
145
143
  }, /* js rule overrides */
146
-
147
144
  /* ...overrideTs, overrideSvelte, overrideHtml, overrideJson, overrideJsonc, overrideYml, */
148
145
  },
149
- )
146
+ );
150
147
  ```
151
148
 
152
149
  ## Limitation
150
+
153
151
  In __TypeScript__ projects, [`skipLibCheck`](https://www.typescriptlang.org/tsconfig/#skipLibCheck) must be `true`.
154
152
 
155
153
  ### Enable `skipLibCheck`
154
+
156
155
  By default, `skipLibCheck` is `false`. To set it to `true`:
157
156
 
158
157
  #### `tsconfig.json`
@@ -175,28 +174,28 @@ tsc --skipLibCheck
175
174
 
176
175
  1. Install [`eslint`](https://www.npmjs.com/package/eslint) and [`linted`](https://www.npmjs.com/package/linted).
177
176
 
178
- ```bash
179
- npm i -D eslint@^8.57 linted
180
- ```
177
+ ```bash
178
+ npm i -D eslint@^8.57 linted
179
+ ```
181
180
 
182
181
  1. Create `eslint.config.js` in your project root.
183
182
 
184
183
  1. In `eslint.config.js`:
185
- + Import function `linted`.
184
+ - Import function `linted`.
186
185
 
187
- ```javascript
188
- import linted from "linted";
189
- ```
186
+ ```javascript
187
+ import linted from "linted";
188
+ ```
190
189
 
191
- + Export `linted` with optional [arguments](#total-control-via-optional-arguments):
190
+ - Export `linted` with optional [arguments](#total-control-via-optional-arguments):
192
191
 
193
- ```javascript
194
- import linted from "linted";
192
+ ```javascript
193
+ import linted from "linted";
195
194
 
196
- export default linted(
197
- // ...
198
- );
199
- ```
195
+ export default linted(
196
+ // ...
197
+ );
198
+ ```
200
199
 
201
200
  ---
202
201
 
@@ -218,11 +217,11 @@ tsc --skipLibCheck
218
217
 
219
218
  - Svelte Interaction TBD
220
219
 
221
- + .svelte-embedded HTML (on top of Svelte HTML rules)
220
+ - .svelte-embedded HTML (on top of Svelte HTML rules)
222
221
 
223
- + .html files in Svelte projects (e.g. title not required)
222
+ - .html files in Svelte projects (e.g. title not required)
224
223
 
225
- + Should Svelte-Linter handle all .html / HTML-embedded linting for Svelte projects, and HTML-Linter only handles non-Svelte projects?
224
+ - Should Svelte-Linter handle all .html / HTML-embedded linting for Svelte projects, and HTML-Linter only handles non-Svelte projects?
226
225
 
227
226
  #### JSON (Custom Schema Validation)
228
227
 
@@ -233,6 +232,7 @@ tsc --skipLibCheck
233
232
  ## Rule Logic (Advanced)
234
233
 
235
234
  ### What is `scope`?
235
+
236
236
  Each `scope` maps to a unique `language`:
237
237
 
238
238
  - __`js`:__ `JavaScript`
@@ -244,6 +244,7 @@ Each `scope` maps to a unique `language`:
244
244
  - __`yml`:__ `YAML`
245
245
 
246
246
  ### Rules
247
+
247
248
  Each `scope` supports:
248
249
 
249
250
  - all base ESLint rules
@@ -254,6 +255,7 @@ Each `scope` supports:
254
255
  - Each `language` has a set of default rules.
255
256
 
256
257
  #### Language-Aggregate `scope`
258
+
257
259
  A `language` can be an extension of or depend on another `language`.
258
260
 
259
261
  For example:
@@ -276,53 +278,57 @@ For such a `language`, its `scope`'s default rules are aggregated with the defau
276
278
  #### Global Ignores
277
279
 
278
280
  ##### `.gitignore`
281
+
279
282
  By default, `linted` ignores all files in `.gitignore`. This behavior can be disabled.
280
283
 
281
284
  ##### `package-lock.json`
285
+
282
286
  `**/*.package-lock.json` is always skipped. _This cannot be overriden._
283
287
 
284
288
  ##### `ignores`
289
+
285
290
  Additional glob patterns supplied if matched by a file will skip linting that file, even if a scope pattern matches the file.
286
291
 
287
292
  #### Scoped Includes
293
+
288
294
  Files specified in `scope` are appended to the following default files:
289
295
 
290
296
  ```javascript
291
- {
292
- js: [
293
- "{src,static}/**/*.{js,mjs,cjs}",
294
- "*.{js,mjs,cjs}",
295
- ],
296
- ts: [
297
- "{src,static}/**/*.{ts,mts,cts}",
298
- "*.{ts,mts,cts}",
299
- ],
300
- svelte: ["{src,static}/**/*.svelte"],
301
- html: [
302
- "{src,static}/**/*.html",
303
- "*.html",
304
- ],
305
- json: [
306
- "{src,static}/**/*.json",
307
- "*.json",
308
- ],
309
- jsonc: [
310
- "tsconfig.json",
311
- "{src,static}/**/*.jsonc",
312
- "*.jsonc",
313
- ],
314
- yml: [
315
- ".github/workflows/*.{yml,yaml}",
316
- "{src,static}/**/*.{yml,yaml}",
317
- "*.{yml,yaml}",
318
- ],
319
- },
297
+ {
298
+ js: [
299
+ "{src,static}/**/*.{js,mjs,cjs}",
300
+ "*.{js,mjs,cjs}",
301
+ ],
302
+ ts: [
303
+ "{src,static}/**/*.{ts,mts,cts}",
304
+ "*.{ts,mts,cts}",
305
+ ],
306
+ svelte: ["{src,static}/**/*.svelte"],
307
+ html: [
308
+ "{src,static}/**/*.html",
309
+ "*.html",
310
+ ],
311
+ json: [
312
+ "{src,static}/**/*.json",
313
+ "*.json",
314
+ ],
315
+ jsonc: [
316
+ "tsconfig.json",
317
+ "{src,static}/**/*.jsonc",
318
+ "*.jsonc",
319
+ ],
320
+ yml: [
321
+ ".github/workflows/*.{yml,yaml}",
322
+ "{src,static}/**/*.{yml,yaml}",
323
+ "*.{yml,yaml}",
324
+ ],
325
+ },
320
326
  ```
321
327
 
322
328
  #### Scope Conflict
323
329
 
324
330
  - If a given file matches more than one `scope` glob, then the set of all matching `scope`s' rules are applied to the file.
325
- - If any rule is specified in more than one `scope` matching a given file, the specifies a rule, then the highest-precedence `scope`'s rule specification wins.
331
+ - If any rule is specified in more than one `scope` matching a given file, the specifies a rule, then the highest-precedence `scope`'s rule specification wins.
326
332
 
327
333
  ##### Scope Precedence (low to high)
328
334
 
@@ -338,14 +344,17 @@ ignores (global)
338
344
  ```
339
345
 
340
346
  ### Override
347
+
341
348
  Overrides are per-__scope.__
342
349
 
343
350
  #### Example
351
+
344
352
  `overrideTs` rules apply to files which:
345
353
 
346
354
  - ✅ ONLY match scope `ts`.
347
355
  - ✅ match scope `ts` and any number of lower precedence scopes (e.g. `js`).
348
356
  > [!NOTE]
349
357
  > `overrideTs` rules do __NOT__ apply to files which:
358
+ >
350
359
  > - TBD
351
360
  - ❌ match scope `ts` and at least one higher precedence scope (e.g. `svelte`), even if the higher precedence scope includes `ts` language default rules (e.g. `svelte` includes `ts` default rules, but NOT `overrideTs` rules).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,QAAQ,EAET,MAAM,SAAS,CAAC;AAoBjB,MAAM,CAAC,OAAO,WACZ,UAAU,GAAE,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,aA6B5F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,QAAQ,EAET,MAAM,SAAS,CAAC;AAmBjB,MAAM,CAAC,OAAO,WACZ,UAAU,GAAE,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,aA4B5F"}
package/dist/index.js CHANGED
@@ -2,7 +2,6 @@ import Core from "@eslinted/core";
2
2
  import { scopes, optional, tree, } from "./scope/index.js";
3
3
  import settings from "./settings/index.js";
4
4
  import defaults from "@eslinted/defaults";
5
- import stylistic from "@stylistic/eslint-plugin";
6
5
  import { plugin as ts, parser as tsParser, } from "typescript-eslint";
7
6
  import html from "@html-eslint/eslint-plugin";
8
7
  import htmlParser from "@html-eslint/parser";
@@ -19,7 +18,6 @@ export default function (extensions = {}) {
19
18
  }, settings, defaults, extensions);
20
19
  configs[configs.length] = {
21
20
  plugins: {
22
- stylistic,
23
21
  ts: ts,
24
22
  html: html,
25
23
  css,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAI1C,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EACL,MAAM,IAAI,EAAE,EACZ,MAAM,IAAI,QAAQ,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,IAAI,MAAM,4BAA4B,CAAC;AAC9C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,MAAM,CAAC,OAAO,WACZ,aAAyF,EAAE;IAE3F,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ;QACE,EAAE,EAAE,QAAmB;QACvB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,SAAS;KACf,EACD,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,CAAC;IAEF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;QACxB,OAAO,EAAE;YACP,SAAS;YACT,EAAE,EAAE,EAAa;YACjB,IAAI,EAAE,IAAe;YACrB,GAAG;YACH,IAAI;YACJ,KAAK;YACL,GAAG;SACJ;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAI1C,OAAO,EACL,MAAM,IAAI,EAAE,EACZ,MAAM,IAAI,QAAQ,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,IAAI,MAAM,4BAA4B,CAAC;AAC9C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,MAAM,CAAC,OAAO,WACZ,aAAyF,EAAE;IAE3F,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ;QACE,EAAE,EAAE,QAAmB;QACvB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,SAAS;KACf,EACD,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,CAAC;IAEF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;QACxB,OAAO,EAAE;YACP,EAAE,EAAE,EAAa;YACjB,IAAI,EAAE,IAAe;YACrB,GAAG;YACH,IAAI;YACJ,KAAK;YACL,GAAG;SACJ;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dprint.jsonc ADDED
@@ -0,0 +1,233 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/jimmy-zhening-luo/dprint/refs/heads/main/dprint-schema.json",
3
+ // $help: https://dprint.dev/config/
4
+ // $version: 0.5101.0
5
+ "plugins": [
6
+ "https://plugins.dprint.dev/typescript-0.95.13.wasm",
7
+ "https://plugins.dprint.dev/json-0.21.0.wasm",
8
+ "https://plugins.dprint.dev/markdown-0.20.0.wasm",
9
+ "https://plugins.dprint.dev/g-plane/markup_fmt-v0.25.3.wasm",
10
+ "https://plugins.dprint.dev/g-plane/malva-v0.15.1.wasm",
11
+ "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm",
12
+ "https://plugins.dprint.dev/g-plane/pretty_jinja-v0.2.0.wasm",
13
+ "https://plugins.dprint.dev/roslyn-0.19.1.json@a5daf2404c57680374f255c78f1956916482aa4b4e90825f1a48eb5a7e343b35",
14
+ ],
15
+ "excludes": [
16
+ "**/node_modules/**",
17
+ "**/*-lock.json",
18
+ "**/.clasprc.json",
19
+ "**/dist/**",
20
+ "**/.svelte-kit/**",
21
+ "**/.vscode/c_cpp_properties.json",
22
+ ],
23
+ "lineWidth": 180,
24
+ "newLineKind": "lf",
25
+ "useTabs": false,
26
+ "indentWidth": 2,
27
+ "typescript": {
28
+ // $help: https://dprint.dev/plugins/typescript/
29
+ // $help: https://dprint.dev/plugins/typescript/config/
30
+ "locked": true,
31
+ "lineWidth": 180,
32
+ "newLineKind": "lf",
33
+ "useTabs": false,
34
+ "indentWidth": 2,
35
+ "ignoreNodeCommentText": "dprint-ignore",
36
+ "ignoreFileCommentText": "dprint-ignore-file",
37
+ "quoteStyle": "preferDouble",
38
+ "quoteProps": "asNeeded",
39
+ "semiColons": "always",
40
+ "preferHanging": false,
41
+ "preferSingleLine": false,
42
+ "spaceAround": false,
43
+ "trailingCommas": "onlyMultiLine",
44
+ "bracePosition": "sameLine",
45
+ "useBraces": "preferNone",
46
+ "operatorPosition": "nextLine",
47
+ "singleBodyPosition": "nextLine",
48
+ "nextControlFlowPosition": "nextLine",
49
+ "spaceSurroundingProperties": true,
50
+ "arrowFunction.useParentheses": "preferNone",
51
+ "binaryExpression.linePerExpression": true,
52
+ "binaryExpression.spaceSurroundingBitwiseAndArithmeticOperator": true,
53
+ "commentLine.forceSpaceAfterSlashes": false,
54
+ "constructor.spaceBeforeParentheses": true,
55
+ "constructorType.spaceAfterNewKeyword": false,
56
+ "constructSignature.spaceAfterNewKeyword": true,
57
+ "doWhileStatement.spaceAfterWhileKeyword": true,
58
+ "enumDeclaration.memberSpacing": "newLine",
59
+ "exportDeclaration.forceMultiLine": "whenMultiple",
60
+ "exportDeclaration.forceSingleLine": false,
61
+ "exportDeclaration.sortNamedExports": "maintain",
62
+ "exportDeclaration.sortTypeOnlyExports": "none",
63
+ "exportDeclaration.spaceSurroundingNamedExports": true,
64
+ "forInStatement.spaceAfterForKeyword": true,
65
+ "forStatement.spaceAfterSemiColons": true,
66
+ "functionDeclaration.spaceBeforeParentheses": false,
67
+ "functionExpression.spaceAfterFunctionKeyword": true,
68
+ "functionExpression.spaceBeforeParentheses": false,
69
+ "getAccessor.spaceBeforeParentheses": false,
70
+ "ifStatement.spaceAfterIfKeyword": true,
71
+ "importDeclaration.forceMultiLine": "whenMultiple",
72
+ "importDeclaration.forceSingleLine": false,
73
+ "importDeclaration.sortNamedImports": "maintain",
74
+ "importDeclaration.sortTypeOnlyImports": "none",
75
+ "importDeclaration.spaceSurroundingNamedImports": true,
76
+ "memberExpression.linePerExpression": true,
77
+ "method.spaceBeforeParentheses": false,
78
+ "module.sortExportDeclarations": "maintain",
79
+ "module.sortImportDeclarations": "maintain",
80
+ "setAccessor.spaceBeforeParentheses": false,
81
+ "taggedTemplate.spaceBeforeLiteral": false,
82
+ "typeAnnotation.spaceBeforeColon": false,
83
+ "typeAssertion.spaceBeforeExpression": false,
84
+ "typeLiteral.separatorKind": "semiColon",
85
+ "whileStatement.spaceAfterWhileKeyword": true,
86
+ },
87
+ "roslyn": {
88
+ // $help: https://learn.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.csharp.formatting.csharpformattingoptions#properties
89
+ // DOC:[source] https://github.com/dotnet/roslyn/blob/main/src/Workspaces/CSharp/Portable/Formatting/CSharpFormattingOptions.cs
90
+ "csharp.indentBlock": true,
91
+ "csharp.indentBraces": false,
92
+ "csharp.indentSwitchSection": true,
93
+ "csharp.indentSwitchCaseSection": true,
94
+ "csharp.indentSwitchCaseSectionWhenBlock": true,
95
+ "csharp.newLineForElse": true,
96
+ "csharp.newLineForCatch": true,
97
+ "csharp.newLineForFinally": true,
98
+ "csharp.labelPositioning": "LeftMost" /* 0 */,
99
+ "csharp.newLineForClausesInQuery": true,
100
+ "csharp.spaceAfterCast": false,
101
+ "csharp.newLineForMembersInAnonymousTypes": true,
102
+ "csharp.newLineForMembersInObjectInit": true,
103
+ "csharp.newLinesForBracesInAccessors": true,
104
+ "csharp.newLinesForBracesInAnonymousMethods": true,
105
+ "csharp.newLinesForBracesInControlBlocks": true,
106
+ "csharp.newLinesForBracesInLambdaExpressionBody": true,
107
+ "csharp.newLinesForBracesInMethods": true,
108
+ "csharp.newLinesForBracesInTypes": true,
109
+ "csharp.newLinesForBracesInAnonymousTypes": true,
110
+ "csharp.newLinesForBracesInObjectCollectionArrayInitializers": true,
111
+ "csharp.newLinesForBracesInProperties": true,
112
+ "csharp.spaceBetweenEmptyMethodCallParentheses": false,
113
+ "csharp.spaceAfterColonInBaseTypeDeclaration": true,
114
+ "csharp.spaceAfterComma": true,
115
+ "csharp.spaceAfterDot": false,
116
+ "csharp.spaceAfterControlFlowStatementKeyword": true,
117
+ "csharp.spaceAfterMethodCallName": false,
118
+ "csharp.spaceAfterSemicolonsInForStatement": true,
119
+ "csharp.spaceBeforeColonInBaseTypeDeclaration": true,
120
+ "csharp.spaceBeforeComma": false,
121
+ "csharp.spaceBeforeDot": false,
122
+ "csharp.spaceBeforeSemicolonsInForStatement": false,
123
+ "csharp.spaceBetweenEmptySquareBrackets": false,
124
+ "csharp.spaceBeforeOpenSquareBracket": false,
125
+ "csharp.spaceBetweenEmptyMethodDeclarationParentheses": false,
126
+ "csharp.spacesIgnoreAroundVariableDeclaration": false,
127
+ "csharp.spaceWithinCastParentheses": false,
128
+ "csharp.spaceWithinExpressionParentheses": false,
129
+ "csharp.spaceWithinMethodCallParentheses": false,
130
+ "csharp.spaceWithinMethodDeclarationParenthesis": false,
131
+ "csharp.spaceWithinOtherParentheses": false,
132
+ "csharp.spaceWithinSquareBrackets": false,
133
+ "csharp.spacingAfterMethodDeclarationName": false,
134
+ "csharp.spacingAroundBinaryOperator": "Single" /* 0 */,
135
+ "csharp.wrappingKeepStatementsOnSingleLine": true,
136
+ "csharp.wrappingPreserveSingleLine": true,
137
+ },
138
+ "json": {
139
+ // $help: https://dprint.dev/plugins/json/config/
140
+ "locked": true,
141
+ "lineWidth": 80,
142
+ "newLineKind": "lf",
143
+ "useTabs": false,
144
+ "indentWidth": 2,
145
+ "ignoreNodeCommentText": "dprint-ignore",
146
+ "commentLine.forceSpaceAfterSlashes": true,
147
+ "preferSingleLine": false,
148
+ "trailingCommas": "maintain",
149
+ "array.preferSingleLine": false,
150
+ "object.preferSingleLine": false,
151
+ },
152
+ "markdown": {
153
+ // $help: https://dprint.dev/plugins/markdown/config/
154
+ "locked": true,
155
+ "lineWidth": 180,
156
+ "newLineKind": "lf",
157
+ "textWrap": "maintain",
158
+ "emphasisKind": "underscores",
159
+ "strongKind": "underscores",
160
+ "ignoreDirective": "dprint-ignore",
161
+ "ignoreFileDirective": "dprint-ignore-file",
162
+ "ignoreStartDirective": "dprint-ignore-start",
163
+ "ignoreEndDirective": "dprint-ignore-end",
164
+ },
165
+ "markup": {
166
+ // $help: https://markup-fmt.netlify.app/
167
+ "printWidth": 180,
168
+ "useTabs": false,
169
+ "indentWidth": 2,
170
+ "lineBreak": "lf",
171
+ "quotes": "double",
172
+ "formatComments": true,
173
+ "scriptIndent": true,
174
+ "styleIndent": true,
175
+ "closingBracketSameLine": false,
176
+ "closingTagLineBreakForEmpty": "fit",
177
+ "maxAttrsPerLine": 1,
178
+ "preferAttrsSingleLine": false,
179
+ "singleAttrSameLine": true,
180
+ "whitespaceSensitivity": "css",
181
+ "doctypeKeywordCase": "upper",
182
+ "strictSvelteAttr": false,
183
+ "svelteAttrShorthand": true,
184
+ "svelteDirectiveShorthand": true,
185
+ "scriptFormatter": "dprint",
186
+ "ignoreCommentDirective": "dprint-ignore",
187
+ "ignoreFileCommentDirective": "dprint-ignore-file",
188
+ },
189
+ "malva": {
190
+ // $help: https://malva.netlify.app/config/index.html
191
+ "printWidth": 180,
192
+ "useTabs": false,
193
+ "indentWidth": 2,
194
+ "lineBreak": "lf",
195
+ "hexCase": "lower",
196
+ "hexColorLength": "short",
197
+ "quotes": "preferDouble",
198
+ "operatorLinebreak": "after",
199
+ "blockSelectorLinebreak": "always",
200
+ "omitNumberLeadingZero": false,
201
+ "trailingComma": true,
202
+ "formatComments": true,
203
+ "alignComments": true,
204
+ "linebreakInPseudoParens": true,
205
+ "declarationOrder": null,
206
+ "declarationOrderGroupBy": "nonDeclaration",
207
+ "singleLineBlockThreshold": 1,
208
+ "keyframeSelectorNotation": "keyword",
209
+ "attrValueQuotes": "always",
210
+ "preferSingleLine": false,
211
+ "singleLineTopLevelDeclarations": false,
212
+ "selectorOverrideCommentDirective": "malva-selector-override",
213
+ "ignoreCommentDirective": "dprint-ignore",
214
+ "ignoreFileCommentDirective": "dprint-ignore-file",
215
+ },
216
+ "yaml": {
217
+ // $help: https://pretty-yaml.netlify.app/
218
+ "printWidth": 180,
219
+ "indentWidth": 2,
220
+ "lineBreak": "lf",
221
+ "quotes": "preferDouble",
222
+ "trailingComma": true,
223
+ "formatComments": false,
224
+ "indentBlockSequenceInMap": true,
225
+ "braceSpacing": false,
226
+ "bracketSpacing": false,
227
+ "dashSpacing": "oneSpace",
228
+ "preferSingleLine": false,
229
+ "trimTrailingWhitespaces": true,
230
+ "trimTrailingZero": true,
231
+ "ignoreCommentDirective": "dprint-ignore",
232
+ },
233
+ }
package/package.json CHANGED
@@ -3,18 +3,16 @@
3
3
  "$schema": "https://json.schemastore.org/package",
4
4
  "$help": "https://docs.npmjs.com/cli/configuring-npm/package-json",
5
5
  "name": "linted",
6
- "version": "36.1.0",
6
+ "version": "37.0.0-rc.1",
7
7
  "repository": "github:jimmy-zhening-luo/linted",
8
- "description": "ESLint mono-plugin bundler with strict, opinionated defaults for (Stylistic) JavaScript, TypeScript, Svelte, HTML, Tailwind/CSS, JSON, JSONC, YAML, and Mocha.",
8
+ "description": "ESLint mono-plugin bundler with strict, opinionated defaults for JavaScript, TypeScript, Svelte, HTML, Tailwind/CSS, JSON, JSONC, YAML, and Mocha.",
9
9
  "keywords": [
10
10
  "eslint",
11
11
  "eslint-config",
12
12
  "eslint-plugin",
13
13
  "linter",
14
- "formatter",
15
14
  "typescript",
16
15
  "javascript",
17
- "stylistic",
18
16
  "svelte",
19
17
  "sveltekit",
20
18
  "html",
@@ -61,8 +59,8 @@
61
59
  "dependencies": {
62
60
  "@eslint/css": "0.14.1",
63
61
  "@eslint/json": "0.14.0",
64
- "@eslinted/core": "32.1.11",
65
- "@eslinted/defaults": "18.1.0",
62
+ "@eslinted/core": "32.1.13",
63
+ "@eslinted/defaults": "19.0.2",
66
64
  "@html-eslint/eslint-plugin": "0.52.1",
67
65
  "@stylistic/eslint-plugin": "5.6.1",
68
66
  "eslint-plugin-jsonc": "2.21.0",
package/src/index.ts CHANGED
@@ -10,7 +10,6 @@ import defaults from "@eslinted/defaults";
10
10
  // #endregion
11
11
 
12
12
  // #region External
13
- import stylistic from "@stylistic/eslint-plugin";
14
13
  import {
15
14
  plugin as ts,
16
15
  parser as tsParser,
@@ -43,7 +42,6 @@ export default function (
43
42
 
44
43
  configs[configs.length] = {
45
44
  plugins: {
46
- stylistic,
47
45
  ts: ts as unknown,
48
46
  html: html as unknown,
49
47
  css,