@evanpurkhiser/oxc-config 0.4.0 → 0.6.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/package.json +1 -4
- package/src/common.mjs +0 -20
- package/REPO_ANALYSIS.md +0 -45
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@evanpurkhiser/oxc-config",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.0",
|
|
5
5
|
"description": "Evan Purkhiser's personal Oxc configuration",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Evan Purkhiser",
|
|
@@ -21,9 +21,6 @@
|
|
|
21
21
|
"format:check": "oxfmt --check .",
|
|
22
22
|
"check": "npm run lint && npm run format:check"
|
|
23
23
|
},
|
|
24
|
-
"dependencies": {
|
|
25
|
-
"eslint-plugin-simple-import-sort": "^12.1.1"
|
|
26
|
-
},
|
|
27
24
|
"devDependencies": {
|
|
28
25
|
"oxfmt": "^0.41.0",
|
|
29
26
|
"oxlint": "^1.56.0",
|
package/src/common.mjs
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {builtinModules} from 'node:module';
|
|
2
|
-
|
|
3
1
|
const common = {
|
|
4
2
|
plugins: ['eslint', 'typescript', 'unicorn', 'oxc', 'import', 'react'],
|
|
5
3
|
|
|
6
|
-
jsPlugins: ['eslint-plugin-simple-import-sort'],
|
|
7
|
-
|
|
8
4
|
rules: {
|
|
9
5
|
// Best practices
|
|
10
6
|
'array-callback-return': ['warn'],
|
|
@@ -59,22 +55,6 @@ const common = {
|
|
|
59
55
|
'typescript/no-unused-expressions': ['error'],
|
|
60
56
|
'typescript/no-useless-constructor': ['error'],
|
|
61
57
|
'typescript/array-type': ['error', {default: 'array-simple'}],
|
|
62
|
-
|
|
63
|
-
// Sort imports
|
|
64
|
-
'simple-import-sort/exports': 'error',
|
|
65
|
-
'simple-import-sort/imports': [
|
|
66
|
-
'error',
|
|
67
|
-
{
|
|
68
|
-
groups: [
|
|
69
|
-
['^\\u0000'],
|
|
70
|
-
['^react', '^@?\\w'],
|
|
71
|
-
[`^(${builtinModules.join('|')})(/|$)`],
|
|
72
|
-
['^(src|app)(/.*|$)'],
|
|
73
|
-
['^\\.\\.(?!/?$)', '^\\.\\./?$'],
|
|
74
|
-
['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
|
|
75
|
-
],
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
58
|
},
|
|
79
59
|
};
|
|
80
60
|
|
package/REPO_ANALYSIS.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# ESLint to Oxlint migration analysis
|
|
2
|
-
|
|
3
|
-
## Scope reviewed
|
|
4
|
-
|
|
5
|
-
- `/home/evan/coding/recovery`
|
|
6
|
-
- `/home/evan/coding/instagram-saver`
|
|
7
|
-
- `/home/evan/coding/meal-log`
|
|
8
|
-
- `/home/evan/coding/atuin-abacus`
|
|
9
|
-
- `/home/evan/coding/prolink-connect`
|
|
10
|
-
- `/home/evan/coding/waitress`
|
|
11
|
-
- `/home/evan/coding/transmission-helper`
|
|
12
|
-
- `/home/evan/coding/email-to-lunchmoney`
|
|
13
|
-
- `/home/evan/coding/tooling-personal`
|
|
14
|
-
- `/home/evan/coding/rekordbox-parser`
|
|
15
|
-
- `/home/evan/coding/tune-manager`
|
|
16
|
-
- `/home/evan/coding/doppovich-bot`
|
|
17
|
-
- `/home/evan/coding/keyway-twilio`
|
|
18
|
-
- `/home/evan/coding/prolink-tools`
|
|
19
|
-
|
|
20
|
-
## Findings by repository
|
|
21
|
-
|
|
22
|
-
| Repository | Current ESLint setup | Recommended Oxlint preset | Special handling |
|
|
23
|
-
| --------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------------------------------ |
|
|
24
|
-
| `recovery` | Flat config: `common` + `prettier/prettier: off` | `common` | No custom lint rules needed. |
|
|
25
|
-
| `instagram-saver` | Flat config: `all` + `prettier/prettier: off` | `all` | No custom lint rules needed. |
|
|
26
|
-
| `meal-log` | Flat config: `common` + `prettier/prettier: off` | `common` | No custom lint rules needed. |
|
|
27
|
-
| `atuin-abacus` | Flat config: `common` + `prettier/prettier: off` | `common` | Deno repo; validate JS/TS file globs for CLI usage. |
|
|
28
|
-
| `prolink-connect` | Flat config: `common` + `prettier/prettier: off` | `common` | Keep test-specific overrides local if needed later. |
|
|
29
|
-
| `waitress` | Flat config: `all` + `prettier/prettier: off` | `all` | Browser React app. |
|
|
30
|
-
| `transmission-helper` | Flat config: `common` + `prettier/prettier: off` | `common` | No custom lint rules needed. |
|
|
31
|
-
| `email-to-lunchmoney` | Flat config: `common` + `prettier/prettier: off` | `common` | Cloudflare Worker; add env/global overrides only if diagnostics require it. |
|
|
32
|
-
| `tooling-personal` | Flat config: `all` + `prettier/prettier: off` | `all` | Tooling repo likely to become migration templates. |
|
|
33
|
-
| `rekordbox-parser` | Legacy `.eslintrc.js`: extends `common`, node env, prettier off | `common` | Add `env.node: true` in local config. |
|
|
34
|
-
| `tune-manager` | Legacy `.eslintrc.js`: extends default (`all`), browser env, prettier off | `all` | Add `env.browser: true` explicitly if needed. |
|
|
35
|
-
| `doppovich-bot` | Legacy `.eslintrc.js`: extends `common`, node env, prettier off | `common` | Add `env.node: true` in local config. |
|
|
36
|
-
| `keyway-twilio` | Legacy `.eslintrc.js`: extends `common`, node env, prettier off | `common` | Add `env.node: true` in local config. |
|
|
37
|
-
| `prolink-tools` | Legacy `.eslintrc.js`: extends default (`all`) with custom import groups and `typescript/no-unused-vars` ignore patterns | `all` | Keep repo-local overrides for import sorting groups and unused-vars ignore patterns. |
|
|
38
|
-
|
|
39
|
-
## Cross-repo migration notes
|
|
40
|
-
|
|
41
|
-
1. Every repo disables `prettier/prettier`; this is naturally removed in Oxlint.
|
|
42
|
-
2. Most repos can use only one line of config via `extends: [common]` or `extends: all`.
|
|
43
|
-
3. Legacy repos that currently set `env.node` should keep that as repo-local override.
|
|
44
|
-
4. `prolink-tools` should keep local customizations because the internal import groups differ from the shared default.
|
|
45
|
-
5. Run dual lint (`oxlint` + `eslint`) temporarily only for repos where any unsupported rule must be retained.
|