@marcalexiei/oxlint-config 0.0.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026-present Marco Pasqualetti
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # `@marcalexiei/oxlint-config`
2
+
3
+ ## Install
4
+
5
+ ```sh
6
+ pnpm i --save-dev oxlint @marcalexiei/oxlint-config
7
+ ```
8
+
9
+ If you are using ts:
10
+
11
+ ```sh
12
+ pnpm i --save-dev oxlint oxlint-tsgolint @marcalexiei/oxlint-config
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### TS
18
+
19
+ ```ts
20
+ // oxlint.config.ts
21
+ import { baseConfig } from '@marcalexiei/oxlint-config/base';
22
+ import { typescriptConfig } from '@marcalexiei/oxlint-config/typescript';
23
+ import { defineConfig } from 'oxlint';
24
+
25
+ export default defineConfig({
26
+ extends: [baseConfig, typescriptConfig],
27
+ options: {
28
+ typeAware: true,
29
+ },
30
+ });
31
+ ```
32
+
33
+ > ⚠️ NOTE
34
+ > Typescript config has rules that require type aware option to be enabled
35
+ > See <https://oxc.rs/docs/guide/usage/linter/type-aware>
36
+
37
+ ```ts
38
+ import { baseConfig } from '@marcalexiei/oxlint-config/base';
39
+ import { typescriptConfig } from '@marcalexiei/oxlint-config/typescript';
40
+ import { defineConfig } from 'oxlint';
41
+
42
+ export default defineConfig({
43
+ extends: [baseConfig, typescriptConfig],
44
+ options: {
45
+ typeAware: true,
46
+ },
47
+ });
48
+ ```
package/dist/base.d.ts ADDED
@@ -0,0 +1,265 @@
1
+ declare const baseConfig: {
2
+ $schema: string;
3
+ plugins: ("eslint" | "import")[];
4
+ rules: {
5
+ 'accessor-pairs': "error";
6
+ 'array-callback-return': "error";
7
+ 'arrow-body-style': (string | {
8
+ requireReturnForObjectLiteral: boolean;
9
+ })[];
10
+ 'block-scoped-var': "error";
11
+ 'capitalized-comments': "off";
12
+ 'class-methods-use-this': "error";
13
+ complexity: "error";
14
+ 'constructor-super': "error";
15
+ curly: string[];
16
+ 'default-case': (string | {
17
+ commentPattern: string;
18
+ })[];
19
+ 'default-case-last': "error";
20
+ 'default-param-last': "error";
21
+ eqeqeq: "error";
22
+ 'for-direction': "error";
23
+ 'func-names': "error";
24
+ 'func-style': "off";
25
+ 'getter-return': "error";
26
+ 'grouped-accessor-pairs': "error";
27
+ 'guard-for-in': "error";
28
+ 'id-length': (string | {
29
+ exceptions: string[];
30
+ })[];
31
+ 'init-declarations': "error";
32
+ 'max-classes-per-file': "error";
33
+ 'max-depth': (string | {
34
+ max: number;
35
+ })[];
36
+ 'max-lines': (string | {
37
+ max: number;
38
+ })[];
39
+ 'max-lines-per-function': (string | {
40
+ max: number;
41
+ })[];
42
+ 'max-nested-callbacks': (string | {
43
+ max: number;
44
+ })[];
45
+ 'max-params': "error";
46
+ 'max-statements': (string | {
47
+ max: number;
48
+ })[];
49
+ 'new-cap': (string | {
50
+ newIsCap: boolean;
51
+ newIsCapExceptions: never[];
52
+ capIsNew: boolean;
53
+ capIsNewExceptions: string[];
54
+ properties: boolean;
55
+ })[];
56
+ 'no-alert': "error";
57
+ 'no-array-constructor': "error";
58
+ 'no-async-promise-executor': "error";
59
+ 'no-await-in-loop': "error";
60
+ 'no-bitwise': "error";
61
+ 'no-caller': "error";
62
+ 'no-case-declarations': "error";
63
+ 'no-class-assign': "error";
64
+ 'no-compare-neg-zero': "error";
65
+ 'no-cond-assign': "error";
66
+ 'no-console': "error";
67
+ 'no-const-assign': "error";
68
+ 'no-constant-binary-expression': "error";
69
+ 'no-constant-condition': "error";
70
+ 'no-constructor-return': "error";
71
+ 'no-continue': "error";
72
+ 'no-control-regex': "error";
73
+ 'no-debugger': "error";
74
+ 'no-delete-var': "error";
75
+ 'no-div-regex': "error";
76
+ 'no-dupe-class-members': "error";
77
+ 'no-dupe-else-if': "error";
78
+ 'no-dupe-keys': "error";
79
+ 'no-duplicate-case': "error";
80
+ 'no-duplicate-imports': (string | {
81
+ allowSeparateTypeImports: boolean;
82
+ })[];
83
+ 'no-else-return': (string | {
84
+ allowElseIf: boolean;
85
+ })[];
86
+ 'no-empty': "error";
87
+ 'no-empty-character-class': "error";
88
+ 'no-empty-function': (string | {
89
+ allow: string[];
90
+ })[];
91
+ 'no-empty-pattern': "error";
92
+ 'no-empty-static-block': "error";
93
+ /** handled by eqeqeq rule */
94
+ 'no-eq-null': "off";
95
+ 'no-eval': "error";
96
+ 'no-ex-assign': "error";
97
+ 'no-extend-native': "error";
98
+ 'no-extra-bind': "error";
99
+ 'no-extra-boolean-cast': "error";
100
+ 'no-extra-label': "error";
101
+ 'no-fallthrough': "error";
102
+ 'no-func-assign': "error";
103
+ 'no-global-assign': "error";
104
+ 'no-implicit-coercion': (string | {
105
+ allow: string[];
106
+ })[];
107
+ 'no-import-assign': "error";
108
+ 'no-inline-comments': "error";
109
+ 'no-inner-declarations': "error";
110
+ 'no-invalid-regexp': "error";
111
+ 'no-irregular-whitespace': "error";
112
+ 'no-iterator': "error";
113
+ 'no-label-var': "error";
114
+ 'no-labels': (string | {
115
+ allowLoop: boolean;
116
+ allowSwitch: boolean;
117
+ })[];
118
+ 'no-lone-blocks': "error";
119
+ 'no-lonely-if': "error";
120
+ 'no-loop-func': "error";
121
+ 'no-loss-of-precision': "error";
122
+ 'no-magic-numbers': "off";
123
+ 'no-misleading-character-class': "error";
124
+ 'no-multi-assign': "error";
125
+ 'no-multi-str': "error";
126
+ 'no-negated-condition': "error";
127
+ 'no-nested-ternary': "error";
128
+ 'no-new': "error";
129
+ 'no-new-func': "error";
130
+ 'no-new-native-nonconstructor': "error";
131
+ 'no-new-wrappers': "error";
132
+ 'no-nonoctal-decimal-escape': "error";
133
+ 'no-obj-calls': "error";
134
+ 'no-object-constructor': "error";
135
+ 'no-param-reassign': "error";
136
+ 'no-plusplus': "error";
137
+ 'no-promise-executor-return': "error";
138
+ 'no-proto': "error";
139
+ 'no-prototype-builtins': "error";
140
+ 'no-redeclare': "error";
141
+ 'no-regex-spaces': "error";
142
+ 'no-restricted-globals': "error";
143
+ 'no-restricted-imports': "error";
144
+ 'no-return-assign': "error";
145
+ 'no-script-url': "error";
146
+ 'no-self-assign': "error";
147
+ 'no-self-compare': "error";
148
+ 'no-sequences': "error";
149
+ 'no-setter-return': "error";
150
+ 'no-shadow': "error";
151
+ 'no-shadow-restricted-names': "error";
152
+ 'no-sparse-arrays': "error";
153
+ 'no-template-curly-in-string': "error";
154
+ 'no-ternary': "error";
155
+ 'no-this-before-super': "error";
156
+ 'no-throw-literal': "error";
157
+ 'no-unassigned-vars': "error";
158
+ 'no-undef': "error";
159
+ 'no-undefined': "error";
160
+ 'no-unexpected-multiline': "error";
161
+ 'no-unmodified-loop-condition': "error";
162
+ 'no-unneeded-ternary': (string | {
163
+ defaultAssignment: boolean;
164
+ })[];
165
+ 'no-unreachable': "error";
166
+ 'no-unsafe-finally': "error";
167
+ 'no-unsafe-negation': "error";
168
+ 'no-unsafe-optional-chaining': "error";
169
+ 'no-unused-expressions': "error";
170
+ 'no-unused-labels': "error";
171
+ 'no-unused-private-class-members': "error";
172
+ 'no-unused-vars': "error";
173
+ 'no-use-before-define': "error";
174
+ 'no-useless-backreference': "error";
175
+ 'no-useless-call': "error";
176
+ 'no-useless-catch': "error";
177
+ 'no-useless-computed-key': "error";
178
+ 'no-useless-concat': "error";
179
+ 'no-useless-constructor': "error";
180
+ 'no-useless-escape': "error";
181
+ 'no-useless-rename': (string | {
182
+ ignoreDestructuring: boolean;
183
+ ignoreImport: boolean;
184
+ ignoreExport: boolean;
185
+ })[];
186
+ 'no-useless-return': "error";
187
+ 'no-var': "error";
188
+ 'no-void': (string | {
189
+ allowAsStatement: boolean;
190
+ })[];
191
+ 'no-warning-comments': "error";
192
+ 'no-with': "error";
193
+ 'operator-assignment': "error";
194
+ 'prefer-const': (string | {
195
+ destructuring: string;
196
+ ignoreReadBeforeAssign: boolean;
197
+ })[];
198
+ 'prefer-destructuring': (string | {
199
+ VariableDeclarator: {
200
+ array: boolean;
201
+ object: boolean;
202
+ };
203
+ AssignmentExpression: {
204
+ array: boolean;
205
+ object: boolean;
206
+ };
207
+ enforceForRenamedProperties: boolean;
208
+ })[];
209
+ 'prefer-exponentiation-operator': "error";
210
+ 'prefer-numeric-literals': "error";
211
+ 'prefer-object-has-own': "error";
212
+ 'prefer-object-spread': "error";
213
+ 'prefer-promise-reject-errors': "error";
214
+ 'prefer-rest-params': "error";
215
+ 'prefer-spread': "error";
216
+ 'prefer-template': "error";
217
+ 'preserve-caught-error': "error";
218
+ radix: "error";
219
+ 'require-await': "error";
220
+ 'require-yield': "error";
221
+ 'sort-imports': "off";
222
+ 'sort-keys': "error";
223
+ 'sort-vars': "error";
224
+ 'symbol-description': "error";
225
+ 'unicode-bom': string[];
226
+ 'use-isnan': "error";
227
+ 'valid-typeof': "error";
228
+ 'vars-on-top': "off";
229
+ yoda: "error";
230
+ 'import/consistent-type-specifier-style': string[];
231
+ 'import/default': "error";
232
+ 'import/export': "error";
233
+ 'import/exports-last': "error";
234
+ 'import/extensions': "error";
235
+ 'import/first': "error";
236
+ 'import/group-exports': "off";
237
+ 'import/max-dependencies': "error";
238
+ 'import/named': "error";
239
+ 'import/namespace': "error";
240
+ 'import/no-absolute-path': "error";
241
+ 'import/no-amd': "error";
242
+ 'import/no-anonymous-default-export': "error";
243
+ 'import/no-commonjs': "error";
244
+ 'import/no-cycle': "error";
245
+ 'import/no-default-export': "off";
246
+ 'import/no-duplicates': "error";
247
+ 'import/no-dynamic-require': "error";
248
+ 'import/no-empty-named-blocks': "error";
249
+ 'import/no-mutable-exports': "error";
250
+ 'import/no-named-as-default': "error";
251
+ 'import/no-named-as-default-member': "error";
252
+ 'import/no-named-default': "error";
253
+ 'import/no-named-export': "off";
254
+ 'import/no-namespace': "error";
255
+ 'import/no-nodejs-modules': "off";
256
+ 'import/no-relative-parent-imports': "off";
257
+ 'import/no-self-import': "error";
258
+ 'import/no-unassigned-import': "error";
259
+ 'import/no-webpack-loader-syntax': "error";
260
+ 'import/prefer-default-export': "off";
261
+ 'import/unambiguous': "error";
262
+ };
263
+ };
264
+ export { baseConfig, baseConfig as default };
265
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6HZ,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsN/B,CAAC;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,IAAI,OAAO,EAAE,CAAC"}
package/dist/base.js ADDED
@@ -0,0 +1,296 @@
1
+ import { defineConfig } from 'oxlint';
2
+ const baseConfig = defineConfig({
3
+ $schema: '../node_modules/oxlint/configuration_schema.json',
4
+ plugins: ['eslint', 'import'],
5
+ rules: {
6
+ // https://oxc.rs/docs/guide/usage/linter/rules.html?sort=name&dir=asc&scope=eslint
7
+ 'accessor-pairs': 'error',
8
+ 'array-callback-return': 'error',
9
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/arrow-body-style.html
10
+ 'arrow-body-style': [
11
+ 'error',
12
+ 'as-needed',
13
+ {
14
+ requireReturnForObjectLiteral: false,
15
+ },
16
+ ],
17
+ 'block-scoped-var': 'error',
18
+ 'capitalized-comments': 'off',
19
+ 'class-methods-use-this': 'error',
20
+ complexity: 'error',
21
+ 'constructor-super': 'error',
22
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/curly.html
23
+ curly: ['error', 'all'],
24
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-case.html
25
+ 'default-case': ['error', { commentPattern: '^no default$' }],
26
+ 'default-case-last': 'error',
27
+ 'default-param-last': 'error',
28
+ eqeqeq: 'error',
29
+ 'for-direction': 'error',
30
+ 'func-names': 'error',
31
+ 'func-style': 'off',
32
+ 'getter-return': 'error',
33
+ 'grouped-accessor-pairs': 'error',
34
+ 'guard-for-in': 'error',
35
+ 'id-length': [
36
+ 'error',
37
+ {
38
+ exceptions: [
39
+ // for test context
40
+ 't',
41
+ ],
42
+ },
43
+ ],
44
+ 'init-declarations': 'error',
45
+ 'max-classes-per-file': 'error',
46
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-depth.html
47
+ 'max-depth': ['error', { max: 4 }],
48
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines.html
49
+ 'max-lines': ['error', { max: 500 }],
50
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines-per-function.html
51
+ 'max-lines-per-function': ['error', { max: 100 }],
52
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-nested-callbacks.html
53
+ 'max-nested-callbacks': ['error', { max: 5 }],
54
+ 'max-params': 'error',
55
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-statements.html
56
+ 'max-statements': ['error', { max: 15 }],
57
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/new-cap.html
58
+ 'new-cap': [
59
+ 'error',
60
+ {
61
+ newIsCap: true,
62
+ newIsCapExceptions: [],
63
+ capIsNew: false,
64
+ capIsNewExceptions: ['Immutable.Map', 'Immutable.Set', 'Immutable.List'],
65
+ properties: true,
66
+ },
67
+ ],
68
+ 'no-alert': 'error',
69
+ 'no-array-constructor': 'error',
70
+ 'no-async-promise-executor': 'error',
71
+ 'no-await-in-loop': 'error',
72
+ 'no-bitwise': 'error',
73
+ 'no-caller': 'error',
74
+ 'no-case-declarations': 'error',
75
+ 'no-class-assign': 'error',
76
+ 'no-compare-neg-zero': 'error',
77
+ 'no-cond-assign': 'error',
78
+ 'no-console': 'error',
79
+ 'no-const-assign': 'error',
80
+ 'no-constant-binary-expression': 'error',
81
+ 'no-constant-condition': 'error',
82
+ 'no-constructor-return': 'error',
83
+ 'no-continue': 'error',
84
+ 'no-control-regex': 'error',
85
+ 'no-debugger': 'error',
86
+ 'no-delete-var': 'error',
87
+ 'no-div-regex': 'error',
88
+ 'no-dupe-class-members': 'error',
89
+ 'no-dupe-else-if': 'error',
90
+ 'no-dupe-keys': 'error',
91
+ 'no-duplicate-case': 'error',
92
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-duplicate-imports.html
93
+ 'no-duplicate-imports': [
94
+ 'error',
95
+ {
96
+ allowSeparateTypeImports: true,
97
+ },
98
+ ],
99
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-else-return.html
100
+ 'no-else-return': ['error', { allowElseIf: false }],
101
+ 'no-empty': 'error',
102
+ 'no-empty-character-class': 'error',
103
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-empty-function.html
104
+ 'no-empty-function': ['error', { allow: ['constructors', 'arrowFunctions', 'methods'] }],
105
+ 'no-empty-pattern': 'error',
106
+ 'no-empty-static-block': 'error',
107
+ /** handled by eqeqeq rule */
108
+ 'no-eq-null': 'off',
109
+ 'no-eval': 'error',
110
+ 'no-ex-assign': 'error',
111
+ 'no-extend-native': 'error',
112
+ 'no-extra-bind': 'error',
113
+ 'no-extra-boolean-cast': 'error',
114
+ 'no-extra-label': 'error',
115
+ 'no-fallthrough': 'error',
116
+ 'no-func-assign': 'error',
117
+ 'no-global-assign': 'error',
118
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-implicit-coercion.html
119
+ 'no-implicit-coercion': ['error', { allow: ['!!'] }],
120
+ 'no-import-assign': 'error',
121
+ 'no-inline-comments': 'error',
122
+ 'no-inner-declarations': 'error',
123
+ 'no-invalid-regexp': 'error',
124
+ 'no-irregular-whitespace': 'error',
125
+ 'no-iterator': 'error',
126
+ 'no-label-var': 'error',
127
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-labels.html
128
+ 'no-labels': ['error', { allowLoop: false, allowSwitch: false }],
129
+ 'no-lone-blocks': 'error',
130
+ 'no-lonely-if': 'error',
131
+ 'no-loop-func': 'error',
132
+ 'no-loss-of-precision': 'error',
133
+ 'no-magic-numbers': 'off',
134
+ 'no-misleading-character-class': 'error',
135
+ 'no-multi-assign': 'error',
136
+ 'no-multi-str': 'error',
137
+ 'no-negated-condition': 'error',
138
+ 'no-nested-ternary': 'error',
139
+ 'no-new': 'error',
140
+ 'no-new-func': 'error',
141
+ 'no-new-native-nonconstructor': 'error',
142
+ 'no-new-wrappers': 'error',
143
+ 'no-nonoctal-decimal-escape': 'error',
144
+ 'no-obj-calls': 'error',
145
+ 'no-object-constructor': 'error',
146
+ 'no-param-reassign': 'error',
147
+ 'no-plusplus': 'error',
148
+ 'no-promise-executor-return': 'error',
149
+ 'no-proto': 'error',
150
+ 'no-prototype-builtins': 'error',
151
+ 'no-redeclare': 'error',
152
+ 'no-regex-spaces': 'error',
153
+ 'no-restricted-globals': 'error',
154
+ 'no-restricted-imports': 'error',
155
+ 'no-return-assign': 'error',
156
+ 'no-script-url': 'error',
157
+ 'no-self-assign': 'error',
158
+ 'no-self-compare': 'error',
159
+ 'no-sequences': 'error',
160
+ 'no-setter-return': 'error',
161
+ 'no-shadow': 'error',
162
+ 'no-shadow-restricted-names': 'error',
163
+ 'no-sparse-arrays': 'error',
164
+ 'no-template-curly-in-string': 'error',
165
+ 'no-ternary': 'error',
166
+ 'no-this-before-super': 'error',
167
+ 'no-throw-literal': 'error',
168
+ 'no-unassigned-vars': 'error',
169
+ 'no-undef': 'error',
170
+ 'no-undefined': 'error',
171
+ 'no-unexpected-multiline': 'error',
172
+ 'no-unmodified-loop-condition': 'error',
173
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-unneeded-ternary.html
174
+ 'no-unneeded-ternary': ['error', { defaultAssignment: false }],
175
+ 'no-unreachable': 'error',
176
+ 'no-unsafe-finally': 'error',
177
+ 'no-unsafe-negation': 'error',
178
+ 'no-unsafe-optional-chaining': 'error',
179
+ 'no-unused-expressions': 'error',
180
+ 'no-unused-labels': 'error',
181
+ 'no-unused-private-class-members': 'error',
182
+ 'no-unused-vars': 'error',
183
+ 'no-use-before-define': 'error',
184
+ 'no-useless-backreference': 'error',
185
+ 'no-useless-call': 'error',
186
+ 'no-useless-catch': 'error',
187
+ 'no-useless-computed-key': 'error',
188
+ 'no-useless-concat': 'error',
189
+ 'no-useless-constructor': 'error',
190
+ 'no-useless-escape': 'error',
191
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-useless-rename.html
192
+ 'no-useless-rename': [
193
+ 'error',
194
+ {
195
+ ignoreDestructuring: false,
196
+ ignoreImport: false,
197
+ ignoreExport: false,
198
+ },
199
+ ],
200
+ 'no-useless-return': 'error',
201
+ 'no-var': 'error',
202
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-void.html
203
+ 'no-void': ['error', { allowAsStatement: true }],
204
+ 'no-warning-comments': 'error',
205
+ 'no-with': 'error',
206
+ // 'object-shorthand': ['error', 'always', { ignoreConstructors: false, avoidQuotes: true }],
207
+ // 'one-var': ['error', 'never'],
208
+ // 'prefer-arrow-callback': [
209
+ // 'error',
210
+ // { allowNamedFunctions: false, allowUnboundThis: true },
211
+ // ],
212
+ 'operator-assignment': 'error',
213
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-const.html
214
+ 'prefer-const': [
215
+ 'error',
216
+ {
217
+ destructuring: 'any',
218
+ ignoreReadBeforeAssign: true,
219
+ },
220
+ ],
221
+ 'prefer-destructuring': [
222
+ 'error',
223
+ {
224
+ VariableDeclarator: {
225
+ array: true,
226
+ object: true,
227
+ },
228
+ AssignmentExpression: {
229
+ array: false,
230
+ object: false,
231
+ },
232
+ enforceForRenamedProperties: false,
233
+ },
234
+ ],
235
+ 'prefer-exponentiation-operator': 'error',
236
+ 'prefer-numeric-literals': 'error',
237
+ 'prefer-object-has-own': 'error',
238
+ 'prefer-object-spread': 'error',
239
+ 'prefer-promise-reject-errors': 'error',
240
+ // 'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }],
241
+ 'prefer-rest-params': 'error',
242
+ 'prefer-spread': 'error',
243
+ 'prefer-template': 'error',
244
+ 'preserve-caught-error': 'error',
245
+ radix: 'error',
246
+ 'require-await': 'error',
247
+ 'require-yield': 'error',
248
+ 'sort-imports': 'off',
249
+ 'sort-keys': 'error',
250
+ 'sort-vars': 'error',
251
+ 'symbol-description': 'error',
252
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/unicode-bom.html#eslint-unicode-bom
253
+ 'unicode-bom': ['error', 'never'],
254
+ 'use-isnan': 'error',
255
+ 'valid-typeof': 'error',
256
+ 'vars-on-top': 'off',
257
+ yoda: 'error',
258
+ // https://oxc.rs/docs/guide/usage/linter/rules.html?sort=name&dir=asc&scope=import
259
+ 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
260
+ 'import/default': 'error',
261
+ 'import/export': 'error',
262
+ 'import/exports-last': 'error',
263
+ 'import/extensions': 'error',
264
+ 'import/first': 'error',
265
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/group-exports.html
266
+ 'import/group-exports': 'off',
267
+ 'import/max-dependencies': 'error',
268
+ 'import/named': 'error',
269
+ 'import/namespace': 'error',
270
+ 'import/no-absolute-path': 'error',
271
+ 'import/no-amd': 'error',
272
+ 'import/no-anonymous-default-export': 'error',
273
+ 'import/no-commonjs': 'error',
274
+ 'import/no-cycle': 'error',
275
+ 'import/no-default-export': 'off',
276
+ 'import/no-duplicates': 'error',
277
+ 'import/no-dynamic-require': 'error',
278
+ 'import/no-empty-named-blocks': 'error',
279
+ 'import/no-mutable-exports': 'error',
280
+ 'import/no-named-as-default': 'error',
281
+ 'import/no-named-as-default-member': 'error',
282
+ 'import/no-named-default': 'error',
283
+ 'import/no-named-export': 'off',
284
+ 'import/no-namespace': 'error',
285
+ 'import/no-nodejs-modules': 'off',
286
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-relative-parent-imports.html
287
+ 'import/no-relative-parent-imports': 'off',
288
+ 'import/no-self-import': 'error',
289
+ 'import/no-unassigned-import': 'error',
290
+ 'import/no-webpack-loader-syntax': 'error',
291
+ 'import/prefer-default-export': 'off',
292
+ 'import/unambiguous': 'error',
293
+ },
294
+ });
295
+ export { baseConfig, baseConfig as default };
296
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ declare const typescriptConfig: {
2
+ $schema: string;
3
+ plugins: "typescript"[];
4
+ rules: {
5
+ 'typescript/adjacent-overload-signatures': "error";
6
+ 'typescript/array-type': (string | {
7
+ default: string;
8
+ })[];
9
+ 'typescript/await-thenable': "error";
10
+ 'typescript/ban-ts-comment': "error";
11
+ 'typescript/ban-tslint-comment': "error";
12
+ 'typescript/ban-types': "error";
13
+ 'typescript/class-literal-property-style': "error";
14
+ 'typescript/consistent-generic-constructors': "error";
15
+ 'typescript/consistent-indexed-object-style': "error";
16
+ 'typescript/consistent-return': "error";
17
+ 'typescript/consistent-type-assertions': "error";
18
+ 'typescript/consistent-type-definitions': "error";
19
+ 'typescript/consistent-type-exports': "error";
20
+ 'typescript/consistent-type-imports': "error";
21
+ 'typescript/dot-notation': "error";
22
+ 'typescript/explicit-function-return-type': "error";
23
+ 'typescript/explicit-module-boundary-types': "error";
24
+ 'typescript/no-array-delete': "error";
25
+ 'typescript/no-base-to-string': "error";
26
+ 'typescript/no-confusing-non-null-assertion': "error";
27
+ 'typescript/no-confusing-void-expression': "error";
28
+ 'typescript/no-deprecated': "error";
29
+ 'typescript/no-duplicate-enum-values': "error";
30
+ 'typescript/no-duplicate-type-constituents': "error";
31
+ 'typescript/no-dynamic-delete': "error";
32
+ 'typescript/no-empty-interface': "error";
33
+ 'typescript/no-empty-object-type': "error";
34
+ 'typescript/no-explicit-any': "error";
35
+ 'typescript/no-extra-non-null-assertion': "error";
36
+ 'typescript/no-extraneous-class': "error";
37
+ 'typescript/no-floating-promises': "error";
38
+ 'typescript/no-for-in-array': "error";
39
+ 'typescript/no-implied-eval': "error";
40
+ 'typescript/no-import-type-side-effects': "error";
41
+ 'typescript/no-inferrable-types': "error";
42
+ 'typescript/no-invalid-void-type': "error";
43
+ 'typescript/no-meaningless-void-operator': "error";
44
+ 'typescript/no-misused-new': "error";
45
+ 'typescript/no-misused-promises': "error";
46
+ 'typescript/no-misused-spread': "error";
47
+ 'typescript/no-mixed-enums': "error";
48
+ 'typescript/no-namespace': "error";
49
+ 'typescript/no-non-null-asserted-nullish-coalescing': "error";
50
+ 'typescript/no-non-null-asserted-optional-chain': "error";
51
+ 'typescript/no-non-null-assertion': "error";
52
+ 'typescript/no-redundant-type-constituents': "error";
53
+ 'typescript/no-require-imports': "error";
54
+ 'typescript/no-restricted-types': "error";
55
+ 'typescript/no-this-alias': "error";
56
+ 'typescript/no-unnecessary-boolean-literal-compare': "error";
57
+ 'typescript/no-unnecessary-condition': "error";
58
+ 'typescript/no-unnecessary-parameter-property-assignment': "error";
59
+ 'typescript/no-unnecessary-qualifier': "error";
60
+ 'typescript/no-unnecessary-template-expression': "error";
61
+ 'typescript/no-unnecessary-type-arguments': "error";
62
+ 'typescript/no-unnecessary-type-assertion': "error";
63
+ 'typescript/no-unnecessary-type-constraint': "error";
64
+ 'typescript/no-unnecessary-type-conversion': "error";
65
+ 'typescript/no-unnecessary-type-parameters': "error";
66
+ 'typescript/no-unsafe-argument': "error";
67
+ 'typescript/no-unsafe-assignment': "error";
68
+ 'typescript/no-unsafe-call': "error";
69
+ 'typescript/no-unsafe-declaration-merging': "error";
70
+ 'typescript/no-unsafe-enum-comparison': "error";
71
+ 'typescript/no-unsafe-function-type': "error";
72
+ 'typescript/no-unsafe-member-access': "error";
73
+ 'typescript/no-unsafe-return': "error";
74
+ 'typescript/no-unsafe-type-assertion': "error";
75
+ 'typescript/no-unsafe-unary-minus': "error";
76
+ 'typescript/no-useless-default-assignment': "error";
77
+ 'typescript/no-useless-empty-export': "error";
78
+ 'typescript/no-var-requires': "error";
79
+ 'typescript/no-wrapper-object-types': "error";
80
+ 'typescript/non-nullable-type-assertion-style': "off";
81
+ 'typescript/only-throw-error': "error";
82
+ 'typescript/parameter-properties': "error";
83
+ 'typescript/prefer-as-const': "error";
84
+ 'typescript/prefer-enum-initializers': "error";
85
+ 'typescript/prefer-find': "error";
86
+ 'typescript/prefer-for-of': "error";
87
+ 'typescript/prefer-function-type': "error";
88
+ 'typescript/prefer-includes': "error";
89
+ 'typescript/prefer-literal-enum-member': "error";
90
+ 'typescript/prefer-namespace-keyword': "error";
91
+ 'typescript/prefer-nullish-coalescing': "error";
92
+ 'typescript/prefer-optional-chain': "error";
93
+ 'typescript/prefer-promise-reject-errors': "error";
94
+ 'typescript/prefer-readonly': "error";
95
+ 'typescript/prefer-readonly-parameter-types': "off";
96
+ 'typescript/prefer-reduce-type-parameter': "error";
97
+ 'typescript/prefer-regexp-exec': "error";
98
+ 'typescript/prefer-return-this-type': "error";
99
+ 'typescript/prefer-string-starts-ends-with': "error";
100
+ 'typescript/prefer-ts-expect-error': "error";
101
+ 'typescript/promise-function-async': "error";
102
+ 'typescript/related-getter-setter-pairs': "error";
103
+ 'typescript/require-array-sort-compare': "error";
104
+ 'typescript/require-await': "error";
105
+ 'typescript/restrict-plus-operands': "error";
106
+ 'typescript/restrict-template-expressions': "error";
107
+ 'typescript/return-await': "error";
108
+ 'typescript/strict-boolean-expressions': (string | {
109
+ allowNullableBoolean: boolean;
110
+ })[];
111
+ 'typescript/strict-void-return': "error";
112
+ 'typescript/switch-exhaustiveness-check': "error";
113
+ 'typescript/triple-slash-reference': "error";
114
+ 'typescript/unbound-method': "error";
115
+ 'typescript/unified-signatures': "error";
116
+ 'typescript/use-unknown-in-catch-callback-variable': "error";
117
+ };
118
+ };
119
+ export { typescriptConfig, typescriptConfig as default };
120
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHpB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { defineConfig } from 'oxlint';
2
+ const typescriptConfig = defineConfig({
3
+ $schema: '../node_modules/oxlint/configuration_schema.json',
4
+ plugins: ['typescript'],
5
+ rules: {
6
+ 'typescript/adjacent-overload-signatures': 'error',
7
+ 'typescript/array-type': ['error', { default: 'generic' }],
8
+ 'typescript/await-thenable': 'error',
9
+ 'typescript/ban-ts-comment': 'error',
10
+ 'typescript/ban-tslint-comment': 'error',
11
+ 'typescript/ban-types': 'error',
12
+ 'typescript/class-literal-property-style': 'error',
13
+ 'typescript/consistent-generic-constructors': 'error',
14
+ 'typescript/consistent-indexed-object-style': 'error',
15
+ 'typescript/consistent-return': 'error',
16
+ 'typescript/consistent-type-assertions': 'error',
17
+ 'typescript/consistent-type-definitions': 'error',
18
+ 'typescript/consistent-type-exports': 'error',
19
+ 'typescript/consistent-type-imports': 'error',
20
+ 'typescript/dot-notation': 'error',
21
+ 'typescript/explicit-function-return-type': 'error',
22
+ 'typescript/explicit-module-boundary-types': 'error',
23
+ 'typescript/no-array-delete': 'error',
24
+ 'typescript/no-base-to-string': 'error',
25
+ 'typescript/no-confusing-non-null-assertion': 'error',
26
+ 'typescript/no-confusing-void-expression': 'error',
27
+ 'typescript/no-deprecated': 'error',
28
+ 'typescript/no-duplicate-enum-values': 'error',
29
+ 'typescript/no-duplicate-type-constituents': 'error',
30
+ 'typescript/no-dynamic-delete': 'error',
31
+ 'typescript/no-empty-interface': 'error',
32
+ 'typescript/no-empty-object-type': 'error',
33
+ 'typescript/no-explicit-any': 'error',
34
+ 'typescript/no-extra-non-null-assertion': 'error',
35
+ 'typescript/no-extraneous-class': 'error',
36
+ 'typescript/no-floating-promises': 'error',
37
+ 'typescript/no-for-in-array': 'error',
38
+ 'typescript/no-implied-eval': 'error',
39
+ 'typescript/no-import-type-side-effects': 'error',
40
+ 'typescript/no-inferrable-types': 'error',
41
+ 'typescript/no-invalid-void-type': 'error',
42
+ 'typescript/no-meaningless-void-operator': 'error',
43
+ 'typescript/no-misused-new': 'error',
44
+ 'typescript/no-misused-promises': 'error',
45
+ 'typescript/no-misused-spread': 'error',
46
+ 'typescript/no-mixed-enums': 'error',
47
+ 'typescript/no-namespace': 'error',
48
+ 'typescript/no-non-null-asserted-nullish-coalescing': 'error',
49
+ 'typescript/no-non-null-asserted-optional-chain': 'error',
50
+ 'typescript/no-non-null-assertion': 'error',
51
+ 'typescript/no-redundant-type-constituents': 'error',
52
+ 'typescript/no-require-imports': 'error',
53
+ 'typescript/no-restricted-types': 'error',
54
+ 'typescript/no-this-alias': 'error',
55
+ 'typescript/no-unnecessary-boolean-literal-compare': 'error',
56
+ 'typescript/no-unnecessary-condition': 'error',
57
+ 'typescript/no-unnecessary-parameter-property-assignment': 'error',
58
+ 'typescript/no-unnecessary-qualifier': 'error',
59
+ 'typescript/no-unnecessary-template-expression': 'error',
60
+ 'typescript/no-unnecessary-type-arguments': 'error',
61
+ 'typescript/no-unnecessary-type-assertion': 'error',
62
+ 'typescript/no-unnecessary-type-constraint': 'error',
63
+ 'typescript/no-unnecessary-type-conversion': 'error',
64
+ 'typescript/no-unnecessary-type-parameters': 'error',
65
+ 'typescript/no-unsafe-argument': 'error',
66
+ 'typescript/no-unsafe-assignment': 'error',
67
+ 'typescript/no-unsafe-call': 'error',
68
+ 'typescript/no-unsafe-declaration-merging': 'error',
69
+ 'typescript/no-unsafe-enum-comparison': 'error',
70
+ 'typescript/no-unsafe-function-type': 'error',
71
+ 'typescript/no-unsafe-member-access': 'error',
72
+ 'typescript/no-unsafe-return': 'error',
73
+ 'typescript/no-unsafe-type-assertion': 'error',
74
+ 'typescript/no-unsafe-unary-minus': 'error',
75
+ 'typescript/no-useless-default-assignment': 'error',
76
+ 'typescript/no-useless-empty-export': 'error',
77
+ 'typescript/no-var-requires': 'error',
78
+ 'typescript/no-wrapper-object-types': 'error',
79
+ 'typescript/non-nullable-type-assertion-style': 'off',
80
+ 'typescript/only-throw-error': 'error',
81
+ 'typescript/parameter-properties': 'error',
82
+ 'typescript/prefer-as-const': 'error',
83
+ 'typescript/prefer-enum-initializers': 'error',
84
+ 'typescript/prefer-find': 'error',
85
+ 'typescript/prefer-for-of': 'error',
86
+ 'typescript/prefer-function-type': 'error',
87
+ 'typescript/prefer-includes': 'error',
88
+ 'typescript/prefer-literal-enum-member': 'error',
89
+ 'typescript/prefer-namespace-keyword': 'error',
90
+ 'typescript/prefer-nullish-coalescing': 'error',
91
+ 'typescript/prefer-optional-chain': 'error',
92
+ 'typescript/prefer-promise-reject-errors': 'error',
93
+ 'typescript/prefer-readonly': 'error',
94
+ 'typescript/prefer-readonly-parameter-types': 'off',
95
+ 'typescript/prefer-reduce-type-parameter': 'error',
96
+ 'typescript/prefer-regexp-exec': 'error',
97
+ 'typescript/prefer-return-this-type': 'error',
98
+ 'typescript/prefer-string-starts-ends-with': 'error',
99
+ 'typescript/prefer-ts-expect-error': 'error',
100
+ 'typescript/promise-function-async': 'error',
101
+ 'typescript/related-getter-setter-pairs': 'error',
102
+ 'typescript/require-array-sort-compare': 'error',
103
+ 'typescript/require-await': 'error',
104
+ 'typescript/restrict-plus-operands': 'error',
105
+ 'typescript/restrict-template-expressions': 'error',
106
+ 'typescript/return-await': 'error',
107
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.html
108
+ 'typescript/strict-boolean-expressions': [
109
+ 'error',
110
+ {
111
+ allowNullableBoolean: true,
112
+ },
113
+ ],
114
+ 'typescript/strict-void-return': 'error',
115
+ 'typescript/switch-exhaustiveness-check': 'error',
116
+ 'typescript/triple-slash-reference': 'error',
117
+ 'typescript/unbound-method': 'error',
118
+ 'typescript/unified-signatures': 'error',
119
+ 'typescript/use-unknown-in-catch-callback-variable': 'error',
120
+ },
121
+ });
122
+ export { typescriptConfig, typescriptConfig as default };
123
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@marcalexiei/oxlint-config",
3
+ "version": "0.0.1",
4
+ "description": "Custom oxlint config",
5
+ "keywords": [
6
+ "config",
7
+ "format",
8
+ "oxc",
9
+ "oxlint"
10
+ ],
11
+ "homepage": "https://github.com/marcalexiei/void-0-configs/tree/main/packages/oxlint-config#readme",
12
+ "license": "MIT",
13
+ "author": "Marco Pasqualetti @marcalexiei",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/marcalexiei/void-0-configs.git",
17
+ "directory": "packages/oxlint-config"
18
+ },
19
+ "files": [
20
+ "dist"
21
+ ],
22
+ "type": "module",
23
+ "exports": {
24
+ "./base": "./dist/base.js",
25
+ "./typescript": "./dist/typescript.js"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "24.12.0",
32
+ "oxlint": "^1.55.0",
33
+ "oxlint-tsgolint": "^0.16.0"
34
+ },
35
+ "peerDependencies": {
36
+ "oxlint": "^1.55.0",
37
+ "oxlint-tsgolint": "^0.16.0"
38
+ },
39
+ "peerDependenciesMeta": {
40
+ "oxlint-tsgolint": {
41
+ "optional": true
42
+ }
43
+ },
44
+ "scripts": {
45
+ "build": "tsc -p tsconfig.build.json",
46
+ "typecheck": "tsc"
47
+ }
48
+ }