@utoo/lint 0.0.2 → 0.0.4
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/README.md +98 -0
- package/assets/utoo-lint-logo.svg +32 -0
- package/index.cjs +7 -0
- package/index.js +7 -0
- package/package.json +8 -6
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# @utoo/lint
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
High performance linter for JavaScript and TypeScript written by Zig.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D @utoo/lint
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## CLI
|
|
14
|
+
|
|
15
|
+
Run the linter with:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx utoo-lint src
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If no target is provided, `utoo-lint` scans the current directory. It skips
|
|
22
|
+
`.git`, `.zig-cache`, `node_modules`, `vendor`, and `zig-out`.
|
|
23
|
+
|
|
24
|
+
Use a config file:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx utoo-lint --config=utoo.json src
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Run a focused rule set:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx utoo-lint --rules=no-debugger,no-console src
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Use machine-readable output:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx utoo-lint --format=json src
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Configuration
|
|
43
|
+
|
|
44
|
+
Create a `utoo.json` file:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"$schema": "https://raw.githubusercontent.com/fireairforce/utoo-lint/main/npm/utoo-lint/schema.json",
|
|
49
|
+
"files": ["src/**/*.{js,jsx,ts,tsx}"],
|
|
50
|
+
"ignores": ["dist", "node_modules"],
|
|
51
|
+
"rules": {
|
|
52
|
+
"no-console": "off",
|
|
53
|
+
"no-debugger": "error"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Start from the packaged frontend template:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
cp node_modules/@utoo/lint/configs/frontend.json utoo.json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## ESLint Migration
|
|
65
|
+
|
|
66
|
+
Convert an existing ESLint config into the native utoo format:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx utoo-lint migrate eslint --from eslint.config.js --output utoo.json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The package also provides compatibility bins for common replacement flows:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx eslint --config utoo.json src
|
|
76
|
+
npx fishlint eslint --disable-setup --config utoo.json --glob src
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## JavaScript API
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
import { lintFiles } from "@utoo/lint";
|
|
83
|
+
|
|
84
|
+
const report = lintFiles(["src"], {
|
|
85
|
+
config: "utoo.json",
|
|
86
|
+
rules: ["no-debugger"]
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
console.log(report.diagnostics);
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
CommonJS is supported through `require("@utoo/lint")`.
|
|
93
|
+
|
|
94
|
+
## Binary Resolution
|
|
95
|
+
|
|
96
|
+
`@utoo/lint` installs a platform-specific optional dependency containing the
|
|
97
|
+
native `utoo-lint` binary. Set `UTOO_LINT_BIN=/path/to/utoo-lint` to force a
|
|
98
|
+
specific binary during local development.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1040 313.21" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">utoo lint logo</title>
|
|
3
|
+
<desc id="desc">The original UTOO horizontal logo extended with a lint suffix.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
.dark { fill: #404040; }
|
|
7
|
+
.blue { fill: #0b9dee; }
|
|
8
|
+
.white { fill: #fff; }
|
|
9
|
+
.suffix {
|
|
10
|
+
fill: #404040;
|
|
11
|
+
font-family: Inter, "Avenir Next", Arial, sans-serif;
|
|
12
|
+
font-size: 120px;
|
|
13
|
+
font-weight: 750;
|
|
14
|
+
letter-spacing: 0;
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</defs>
|
|
18
|
+
<g>
|
|
19
|
+
<g>
|
|
20
|
+
<path class="white" d="M.92,87.82s-.92,10.54-.92,28.84v180.3s.3,16.07,16.36,16.07h167.99s60.35-68.01-18.32-122.31c0,0,29.73-152.23-33.33-172.06,0,0-36.57-1.22-36.9,54.61,0,0-17.52-80.61-73.37-34.24,0,0-20.87,24.26-21.52,48.8Z"/>
|
|
21
|
+
<path class="blue" d="M48.5,177.6l-34.98,1.83S1.89,148.77.68,110.94c0,0-4.13-64.67,23.91-94.88,0,0,22.33-24.1,50.26-7.02,0,0,12.31,7.93,19.22,23.19,0,0,3-23.8,28.52-31.42,0,0,28.52-6.41,45.04,16.78,0,0,17.41,19.78,22.22,72.12,0,0,3.6,60.58-8.11,94.44l.11.8s26.16,17.16,36.67,53.16c0,0,13.21,43.01-17.41,74.44l-.57.48h-44.36s23.08-7.26,31.34-30.75c0,0,10.06-22.19-1.95-47.67,0,0-13.21-26.46-41.29-39.89l3.75-16.32s6.53-27.11,7.73-47.86c0,0,1.8-55.52-8.71-77.18,0,0-6.91-16.17-18.92-14.95,0,0-16.13,3.66-16.32,25.63,0,0,.03,43.09,2.51,67.34,0,0,3.83,27.23-9.46,33.86,0,0-16.21,8.01-24.32-14.64,0,0-2.7-5.95-1.58-21.51,0,0,1.13-43.7-3.15-64.52,0,0-3.83-22.88-19.14-22.42,0,0-15.09-.69-20.04,29.74,0,0-5.18,35.46,2.93,69.33,0,0,2.8,15.66,8.94,36.37Z"/>
|
|
22
|
+
<polygon class="dark" points="49.66 222.52 52.7 241.06 68.68 245.29 54.68 254.14 56.94 271.22 95.81 241.93 49.66 222.52"/>
|
|
23
|
+
<polygon class="dark" points="133.13 228.13 134.93 240.79 164.35 237.74 161.35 217.76 133.13 228.13"/>
|
|
24
|
+
</g>
|
|
25
|
+
<g>
|
|
26
|
+
<path class="blue" d="M291.08,196.89l33.6,3.11s-7.62,48.56,4.52,69.18c0,0,7.91,17.22,27.11,12.99,0,0,13.18-1.98,17.74-22.31,0,0,7.29-34.73,0-60.14l35.06-.56s7.34,29.08-3.39,68.89c0,0-6.21,32.33-44.89,43.76,0,0-53.65,12.85-69.74-47.86,0,0-7.91-26.26,0-67.06Z"/>
|
|
27
|
+
<path class="blue" d="M426.52,199.29l2.07,29.69,38.87-1.88-2.82,51.86-.94,16s.85,15.83,14.78,17.98c0,0,20.09,3.28,21.36-22.41l-1.27-62.68,37.13,1.13.85-29.69h-110.02Z"/>
|
|
28
|
+
<path class="blue" d="M622.6,275.33s2.26,14.96,14.68,24.99l-.56,1.27s-17.08,17.08-48.56,9.32c0,0-33.88-10.09-38.54-42.85,0,0-3.67-30.78,12.85-47.01,0,0,14.68-20.75,56.47-16.09,0,0,20.19,2.82,31.91,23.29,0,0,8.47,12.14,11.44,25.27,0,0,2.68,18.21,19.06,27.53,0,0,18.92,7.48,27.53-8.89,0,0,8.61-16.09-1.13-31.2,0,0-5.51-11.86-21.74-10.87,0,0-15.81.14-18.49,13.98,0,0-3.53-12.42-10.73-22.02,0,0-5.36-6.92-9.6-9.46,0,0,13.27-13.27,33.74-16.38,0,0,24.42-4.38,46.02,10.59,0,0,20.05,11.15,22.59,40.24,0,0,2.96,26.12-11.44,43.62,0,0-13.84,20.42-42.21,22.28,0,0-30.49,2.85-44.05-9.72,0,0-17.51-11.44-24.14-33.18,0,0-1.84-5.71-2.54-15.63,0,0-3.95-16.13-18.21-17.41,0,0-11.29-3.11-20.05,8.19,0,0-7.91,12.28-.42,27.39,0,0,2.96,10.45,18.07,11.01,0,0,12.14.56,15.81-7.48,0,0,1.27-2.12,2.26-.78Z"/>
|
|
29
|
+
</g>
|
|
30
|
+
</g>
|
|
31
|
+
<text class="suffix" x="790" y="294">lint</text>
|
|
32
|
+
</svg>
|
package/index.cjs
CHANGED
|
@@ -92,6 +92,7 @@ const BUILTIN_RULE_IDS = [
|
|
|
92
92
|
"eol-last",
|
|
93
93
|
"eqeqeq",
|
|
94
94
|
"for-direction",
|
|
95
|
+
"func-names",
|
|
95
96
|
"getter-return",
|
|
96
97
|
"guard-for-in",
|
|
97
98
|
"linebreak-style",
|
|
@@ -231,12 +232,16 @@ const BUILTIN_RULE_IDS = [
|
|
|
231
232
|
"prefer-const",
|
|
232
233
|
"prefer-destructuring",
|
|
233
234
|
"prefer-exponentiation-operator",
|
|
235
|
+
"prefer-numeric-literals",
|
|
236
|
+
"prefer-object-has-own",
|
|
237
|
+
"prefer-object-spread",
|
|
234
238
|
"prefer-promise-reject-errors",
|
|
235
239
|
"prefer-regex-literals",
|
|
236
240
|
"prefer-rest-params",
|
|
237
241
|
"prefer-spread",
|
|
238
242
|
"prefer-template",
|
|
239
243
|
"radix",
|
|
244
|
+
"require-await",
|
|
240
245
|
"require-atomic-updates",
|
|
241
246
|
"require-yield",
|
|
242
247
|
"spaced-comment",
|
|
@@ -244,6 +249,8 @@ const BUILTIN_RULE_IDS = [
|
|
|
244
249
|
"unicode-bom",
|
|
245
250
|
"use-isnan",
|
|
246
251
|
"valid-typeof",
|
|
252
|
+
"vars-on-top",
|
|
253
|
+
"wrap-iife",
|
|
247
254
|
"yoda",
|
|
248
255
|
"import/default",
|
|
249
256
|
"import/export",
|
package/index.js
CHANGED
|
@@ -95,6 +95,7 @@ const BUILTIN_RULE_IDS = [
|
|
|
95
95
|
"eol-last",
|
|
96
96
|
"eqeqeq",
|
|
97
97
|
"for-direction",
|
|
98
|
+
"func-names",
|
|
98
99
|
"getter-return",
|
|
99
100
|
"guard-for-in",
|
|
100
101
|
"linebreak-style",
|
|
@@ -234,12 +235,16 @@ const BUILTIN_RULE_IDS = [
|
|
|
234
235
|
"prefer-const",
|
|
235
236
|
"prefer-destructuring",
|
|
236
237
|
"prefer-exponentiation-operator",
|
|
238
|
+
"prefer-numeric-literals",
|
|
239
|
+
"prefer-object-has-own",
|
|
240
|
+
"prefer-object-spread",
|
|
237
241
|
"prefer-promise-reject-errors",
|
|
238
242
|
"prefer-regex-literals",
|
|
239
243
|
"prefer-rest-params",
|
|
240
244
|
"prefer-spread",
|
|
241
245
|
"prefer-template",
|
|
242
246
|
"radix",
|
|
247
|
+
"require-await",
|
|
243
248
|
"require-atomic-updates",
|
|
244
249
|
"require-yield",
|
|
245
250
|
"spaced-comment",
|
|
@@ -247,6 +252,8 @@ const BUILTIN_RULE_IDS = [
|
|
|
247
252
|
"unicode-bom",
|
|
248
253
|
"use-isnan",
|
|
249
254
|
"valid-typeof",
|
|
255
|
+
"vars-on-top",
|
|
256
|
+
"wrap-iife",
|
|
250
257
|
"yoda",
|
|
251
258
|
"import/default",
|
|
252
259
|
"import/export",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@utoo/lint",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Experimental JavaScript and TypeScript linter powered by Yuku",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"utoo-lint": "./bin/utoo-lint.js"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
|
+
"assets",
|
|
53
54
|
"bin",
|
|
54
55
|
"config.cjs",
|
|
55
56
|
"config.d.ts",
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
"index.d.ts",
|
|
60
61
|
"index.js",
|
|
61
62
|
"lib",
|
|
63
|
+
"README.md",
|
|
62
64
|
"schema.json",
|
|
63
65
|
"universal.cjs",
|
|
64
66
|
"universal.d.ts",
|
|
@@ -68,11 +70,11 @@
|
|
|
68
70
|
"use-at-your-own-risk.js"
|
|
69
71
|
],
|
|
70
72
|
"optionalDependencies": {
|
|
71
|
-
"@utoo/lint-darwin-arm64": "0.0.
|
|
72
|
-
"@utoo/lint-darwin-x64": "0.0.
|
|
73
|
-
"@utoo/lint-linux-arm64": "0.0.
|
|
74
|
-
"@utoo/lint-linux-x64": "0.0.
|
|
75
|
-
"@utoo/lint-win32-x64": "0.0.
|
|
73
|
+
"@utoo/lint-darwin-arm64": "0.0.4",
|
|
74
|
+
"@utoo/lint-darwin-x64": "0.0.4",
|
|
75
|
+
"@utoo/lint-linux-arm64": "0.0.4",
|
|
76
|
+
"@utoo/lint-linux-x64": "0.0.4",
|
|
77
|
+
"@utoo/lint-win32-x64": "0.0.4"
|
|
76
78
|
},
|
|
77
79
|
"publishConfig": {
|
|
78
80
|
"access": "public",
|