@4mbl/lint 1.0.0-beta.1 → 1.0.0-beta.11

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/dist/base.js ADDED
@@ -0,0 +1,176 @@
1
+ import { defineConfig } from 'oxlint';
2
+ // const DEFAULT_OPTIONS: BaseOptions = {};
3
+ function baseConfig(_options) {
4
+ // const opts = { ...DEFAULT_OPTIONS, ...options };
5
+ return defineConfig({
6
+ plugins: ['typescript', 'unicorn'],
7
+ jsPlugins: [],
8
+ categories: {
9
+ correctness: 'error',
10
+ suspicious: 'warn',
11
+ pedantic: 'off',
12
+ perf: 'warn',
13
+ style: 'warn',
14
+ restriction: 'warn',
15
+ nursery: 'off',
16
+ },
17
+ env: {
18
+ builtin: true,
19
+ },
20
+ options: {
21
+ typeAware: true,
22
+ },
23
+ rules: {
24
+ //* ERRORS - base rules that are always mistakes
25
+ // most are enabled by default in oxlint
26
+ // but turned on here explicitly to guarantee future compatibility
27
+ 'eslint/no-var': 'warn',
28
+ 'eslint/prefer-const': 'error',
29
+ 'eslint/prefer-rest-params': 'error',
30
+ 'eslint/prefer-spread': 'error',
31
+ 'eslint/no-async-promise-executor': 'error',
32
+ 'eslint/no-case-declarations': 'error',
33
+ 'eslint/no-class-assign': 'error',
34
+ 'eslint/no-compare-neg-zero': 'error',
35
+ 'eslint/no-cond-assign': 'error',
36
+ 'eslint/no-const-assign': 'error',
37
+ 'eslint/no-constant-binary-expression': 'error',
38
+ 'eslint/no-constant-condition': 'error',
39
+ 'eslint/no-control-regex': 'error',
40
+ 'eslint/no-debugger': 'error',
41
+ 'eslint/no-delete-var': 'error',
42
+ 'eslint/no-dupe-else-if': 'error',
43
+ 'eslint/no-duplicate-case': 'error',
44
+ 'eslint/no-empty': 'error',
45
+ 'eslint/no-empty-character-class': 'error',
46
+ 'eslint/no-empty-pattern': 'error',
47
+ 'eslint/no-empty-static-block': 'error',
48
+ 'eslint/no-ex-assign': 'error',
49
+ 'eslint/no-extra-boolean-cast': 'error',
50
+ 'eslint/no-fallthrough': ['error', { allowEmptyCase: true }],
51
+ 'eslint/no-func-assign': 'error',
52
+ 'eslint/no-global-assign': 'error',
53
+ 'eslint/no-import-assign': 'error',
54
+ 'eslint/no-invalid-regexp': 'error',
55
+ 'eslint/no-irregular-whitespace': 'error',
56
+ 'eslint/no-loss-of-precision': 'error',
57
+ 'eslint/no-misleading-character-class': 'error',
58
+ 'eslint/no-nonoctal-decimal-escape': 'error',
59
+ 'eslint/no-obj-calls': 'error',
60
+ 'eslint/no-prototype-builtins': 'error',
61
+ 'eslint/no-redeclare': 'error',
62
+ 'eslint/no-regex-spaces': 'error',
63
+ 'eslint/no-self-assign': 'error',
64
+ 'eslint/no-shadow-restricted-names': 'error',
65
+ 'eslint/no-sparse-arrays': 'error',
66
+ 'eslint/no-unexpected-multiline': 'error',
67
+ 'eslint/no-unsafe-finally': 'error',
68
+ 'eslint/no-unsafe-negation': 'error',
69
+ 'eslint/no-unsafe-optional-chaining': 'error',
70
+ 'eslint/no-unused-labels': 'error',
71
+ 'eslint/no-unused-private-class-members': 'error',
72
+ 'eslint/no-unused-vars': 'warn',
73
+ 'eslint/no-useless-backreference': 'error',
74
+ 'eslint/no-useless-catch': 'error',
75
+ 'eslint/no-useless-escape': 'error',
76
+ 'eslint/require-yield': 'error',
77
+ 'eslint/use-isnan': 'error',
78
+ 'eslint/valid-typeof': 'error',
79
+ 'eslint/no-unused-expressions': 'warn',
80
+ 'typescript/ban-ts-comment': 'error',
81
+ 'typescript/no-duplicate-enum-values': 'off', // enums are not recommended
82
+ 'typescript/no-empty-object-type': 'error',
83
+ 'typescript/no-explicit-any': 'error',
84
+ 'typescript/no-extra-non-null-assertion': 'error',
85
+ 'typescript/no-misused-new': 'error',
86
+ 'typescript/no-namespace': 'error',
87
+ 'typescript/no-non-null-asserted-optional-chain': 'error',
88
+ 'typescript/no-require-imports': 'error',
89
+ 'typescript/no-this-alias': 'error',
90
+ 'typescript/no-unnecessary-type-constraint': 'error',
91
+ 'typescript/no-unsafe-declaration-merging': 'error',
92
+ 'typescript/no-unsafe-function-type': 'error',
93
+ 'typescript/no-wrapper-object-types': 'error',
94
+ 'typescript/prefer-as-const': 'error',
95
+ 'typescript/triple-slash-reference': 'error',
96
+ //* OTHER RULES
97
+ // members are public by default so no need to be explicit
98
+ 'typescript/explicit-member-accessibility': [
99
+ 'warn',
100
+ { accessibility: 'no-public' },
101
+ ],
102
+ // too pedantic
103
+ 'eslint/id-length': 'off',
104
+ 'eslint/sort-keys': 'off',
105
+ 'eslint/capitalized-comments': 'off',
106
+ 'eslint/func-style': 'off',
107
+ 'eslint/complexity': 'off',
108
+ 'eslint/max-params': 'off',
109
+ 'eslint/no-ternary': 'off',
110
+ 'eslint/curly': 'warn',
111
+ 'typescript/consistent-type-definitions': ['warn', 'type'],
112
+ 'eslint/max-statements': 'off',
113
+ 'typescript/consistent-return': 'off', // allow implicit return
114
+ 'unicorn/switch-case-braces': 'warn',
115
+ 'typescript/prefer-regexp-exec': 'warn',
116
+ 'eslint/init-declarations': 'off',
117
+ 'unicorn/no-null': 'off', // too strict, for example JSON.stringify requires null parameter, null is also required in react
118
+ 'eslint/no-undefined': 'off', // undefined is necessary
119
+ 'eslint/no-console': 'off', // browser is no longer the only environment js is run on
120
+ 'eslint/no-continue': 'off', // early-continue is useful
121
+ 'eslint/no-implicit-coercion': ['warn', { allow: ['!!'] }],
122
+ 'eslint/no-plusplus': 'off', // makes for-loops too noisy, ASI is rarely a problem
123
+ 'eslint/no-void': 'off', // void is useful for explicitly indicating floating promises
124
+ 'eslint/no-nested-ternary': 'off', // ternaries are cleaner and necessary due to lack of match expressions
125
+ 'eslint/no-empty-function': ['warn', { allow: ['constructors'] }], // empty constructors are allowed for explicit singleton pattern
126
+ 'unicorn/no-instanceof-builtins': 'off', // better typesafety than using `typeof`
127
+ 'unicorn/prefer-spread': 'off', // conflicts with other rules
128
+ 'eslint/new-cap': 'off', // false positives
129
+ 'unicorn/no-await-expression-member': 'off', // accessing await result directly is more desired than slight readability improvement
130
+ 'eslint/no-duplicate-imports': [
131
+ 'warn',
132
+ { allowSeparateTypeImports: true },
133
+ ],
134
+ 'import/no-named-export': 'off',
135
+ 'import/no-default-export': 'off',
136
+ 'import/prefer-default-export': 'off',
137
+ 'import/no-namespace': 'off', // star imports are still pretty necessary
138
+ 'import/exports-last': 'off', // star imports are still pretty necessary
139
+ 'import/no-unassigned-import': 'off', // required for css imports
140
+ // Array.from() is slower than new Array()
141
+ // https://jsperf.app/tatuse
142
+ 'unicorn/no-new-array': 'off',
143
+ 'eslint/no-array-constructor': 'warn',
144
+ // consider enabling in library-focused template
145
+ 'typescript/explicit-function-return-type': 'off',
146
+ 'typescript/explicit-module-boundary-types': 'off',
147
+ // may revisit
148
+ 'unicorn/no-anonymous-default-export': 'off',
149
+ 'eslint/sort-imports': 'off', // consider when oxfmt is setup
150
+ // currently produces too many false positives
151
+ 'eslint/no-magic-numbers': 'off',
152
+ 'unicorn/prefer-modern-math-apis': 'off',
153
+ 'eslint/no-use-before-define': 'off',
154
+ // handled by typescript compiler
155
+ 'eslint/constructor-super': 'off',
156
+ 'eslint/getter-return': 'off',
157
+ 'eslint/no-dupe-class-members': 'off',
158
+ 'eslint/no-dupe-keys': 'off',
159
+ 'eslint/no-new-native-nonconstructor': 'off',
160
+ 'eslint/no-setter-return': 'off',
161
+ 'eslint/no-this-before-super': 'off',
162
+ 'eslint/no-undef': 'off',
163
+ 'eslint/no-unreachable': 'off', // typescript handles this if `allowUnreachableCode: false` is configured
164
+ 'eslint/no-with': 'off',
165
+ // conflicts with prettier
166
+ 'unicorn/no-nested-ternary': 'off',
167
+ // disabled rules that exist for legacy environments
168
+ 'oxc/no-optional-chaining': 'off',
169
+ 'oxc/no-rest-spread-properties': 'off',
170
+ 'oxc/no-async-await': 'off',
171
+ },
172
+ });
173
+ }
174
+ export { defineConfig, baseConfig };
175
+ export default baseConfig();
176
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
package/dist/next.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { defineConfig, type OxlintConfig } from 'oxlint';
2
+ import { type ReactOptions } from './react.js';
3
+ type NextOptions = ReactOptions & {
4
+ /**
5
+ * Sets the parent directory of UI components to ignore them in react-refresh.
6
+ * This allows multiple exports from the same file, which is common when using libraries like class-variance-authority.
7
+ *
8
+ * Set to `null` to disable react-refresh suppression for UI components.
9
+ *
10
+ * Defaults to `src/components/ui/`.
11
+ */
12
+ uiPath: string | null;
13
+ };
14
+ declare function nextConfig(options?: Partial<NextOptions>): OxlintConfig;
15
+ export { type OxlintConfig, defineConfig, nextConfig };
16
+ declare const _default: OxlintConfig;
17
+ export default _default;
18
+ //# sourceMappingURL=next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,YAAY,CAAC;AAG5D,KAAK,WAAW,GAAG,YAAY,GAAG;IAChC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAIF,iBAAS,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,gBAwDjD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;AAEvD,wBAA4B"}
package/dist/next.js ADDED
@@ -0,0 +1,59 @@
1
+ import path from 'node:path';
2
+ import process from 'node:process';
3
+ import { defineConfig } from 'oxlint';
4
+ import { reactConfig } from './react.js';
5
+ import reactRefresh from 'eslint-plugin-react-refresh';
6
+ const DEFAULT_OPTIONS = { uiPath: 'src/components/ui/' };
7
+ function nextConfig(options) {
8
+ const opts = { ...DEFAULT_OPTIONS, ...options };
9
+ return defineConfig({
10
+ extends: [reactConfig(options)],
11
+ plugins: ['nextjs'],
12
+ rules: {
13
+ 'nextjs/google-font-display': 'warn',
14
+ 'nextjs/google-font-preconnect': 'warn',
15
+ 'nextjs/next-script-for-ga': 'warn',
16
+ 'nextjs/no-async-client-component': 'warn',
17
+ 'nextjs/no-before-interactive-script-outside-document': 'warn',
18
+ 'nextjs/no-css-tags': 'warn',
19
+ 'nextjs/no-head-element': 'warn',
20
+ 'nextjs/no-html-link-for-pages': 'error',
21
+ 'nextjs/no-page-custom-font': 'warn',
22
+ 'nextjs/no-styled-jsx-in-document': 'warn',
23
+ 'nextjs/no-sync-scripts': 'error',
24
+ 'nextjs/no-title-in-document-head': 'warn',
25
+ 'nextjs/no-typos': 'warn',
26
+ 'nextjs/no-unwanted-polyfillio': 'warn',
27
+ 'nextjs/inline-script-id': 'error',
28
+ 'nextjs/no-assign-module-variable': 'error',
29
+ 'nextjs/no-document-import-in-page': 'error',
30
+ 'nextjs/no-duplicate-head': 'error',
31
+ 'nextjs/no-head-import-in-document': 'error',
32
+ 'nextjs/no-script-component-in-head': 'error',
33
+ // ignores warnings for special exports in page and layout files
34
+ // https://github.com/ArnaudBarre/eslint-plugin-react-refresh?tab=readme-ov-file#next-config
35
+ 'react/only-export-components': [
36
+ 'warn',
37
+ {
38
+ allowExportNames: reactRefresh.configs.next.rules['react-refresh/only-export-components'][1]['allowExportNames'],
39
+ },
40
+ ],
41
+ },
42
+ ignorePatterns: ['.next/**', 'out/**', 'build/**', 'next-env.d.ts'],
43
+ overrides: [
44
+ opts.uiPath === null
45
+ ? { files: [], rules: {} }
46
+ : {
47
+ files: [
48
+ `${path.resolve(process.cwd(), opts.uiPath)}/**/*.{js,jsx,mjs,ts,tsx,mts,cts}`.replaceAll('//', '/'),
49
+ ],
50
+ rules: {
51
+ 'react/only-export-components': 'off',
52
+ },
53
+ },
54
+ ],
55
+ });
56
+ }
57
+ export { defineConfig, nextConfig };
58
+ export default nextConfig();
59
+ //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AAcvD,MAAM,eAAe,GAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;AAEtE,SAAS,UAAU,CAAC,OAA8B;IAChD,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IAEhD,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE;YACL,4BAA4B,EAAE,MAAM;YACpC,+BAA+B,EAAE,MAAM;YACvC,2BAA2B,EAAE,MAAM;YACnC,kCAAkC,EAAE,MAAM;YAC1C,sDAAsD,EAAE,MAAM;YAC9D,oBAAoB,EAAE,MAAM;YAC5B,wBAAwB,EAAE,MAAM;YAChC,+BAA+B,EAAE,OAAO;YACxC,4BAA4B,EAAE,MAAM;YACpC,kCAAkC,EAAE,MAAM;YAC1C,wBAAwB,EAAE,OAAO;YACjC,kCAAkC,EAAE,MAAM;YAC1C,iBAAiB,EAAE,MAAM;YACzB,+BAA+B,EAAE,MAAM;YACvC,yBAAyB,EAAE,OAAO;YAClC,kCAAkC,EAAE,OAAO;YAC3C,mCAAmC,EAAE,OAAO;YAC5C,0BAA0B,EAAE,OAAO;YACnC,mCAAmC,EAAE,OAAO;YAC5C,oCAAoC,EAAE,OAAO;YAE7C,gEAAgE;YAChE,4FAA4F;YAC5F,8BAA8B,EAAE;gBAC9B,MAAM;gBACN;oBACE,gBAAgB,EAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAa,CACxD,sCAAsC,CACvC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;iBACzB;aACF;SACF;QACD,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC;QACnE,SAAS,EAAE;YACT,IAAI,CAAC,MAAM,KAAK,IAAI;gBAClB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1B,CAAC,CAAC;oBACE,KAAK,EAAE;wBACL,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,UAAU,CACvF,IAAI,EACJ,GAAG,CACJ;qBACF;oBACD,KAAK,EAAE;wBACL,8BAA8B,EAAE,KAAK;qBACtC;iBACF;SACN;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,UAAU,EAAE,CAAC;AAEvD,eAAe,UAAU,EAAE,CAAC"}
package/dist/node.d.ts ADDED
@@ -0,0 +1,331 @@
1
+ import { defineConfig, type OxlintConfig } from 'oxlint';
2
+ type NodeOptions = {};
3
+ declare function nodeConfig(_options?: Partial<NodeOptions>): {
4
+ extends: {
5
+ plugins: ("unicorn" | "typescript")[];
6
+ jsPlugins: never[];
7
+ categories: {
8
+ correctness: "error";
9
+ suspicious: "warn";
10
+ pedantic: "off";
11
+ perf: "warn";
12
+ style: "warn";
13
+ restriction: "warn";
14
+ nursery: "off";
15
+ };
16
+ env: {
17
+ builtin: true;
18
+ };
19
+ options: {
20
+ typeAware: true;
21
+ };
22
+ rules: {
23
+ 'eslint/no-var': "warn";
24
+ 'eslint/prefer-const': "error";
25
+ 'eslint/prefer-rest-params': "error";
26
+ 'eslint/prefer-spread': "error";
27
+ 'eslint/no-async-promise-executor': "error";
28
+ 'eslint/no-case-declarations': "error";
29
+ 'eslint/no-class-assign': "error";
30
+ 'eslint/no-compare-neg-zero': "error";
31
+ 'eslint/no-cond-assign': "error";
32
+ 'eslint/no-const-assign': "error";
33
+ 'eslint/no-constant-binary-expression': "error";
34
+ 'eslint/no-constant-condition': "error";
35
+ 'eslint/no-control-regex': "error";
36
+ 'eslint/no-debugger': "error";
37
+ 'eslint/no-delete-var': "error";
38
+ 'eslint/no-dupe-else-if': "error";
39
+ 'eslint/no-duplicate-case': "error";
40
+ 'eslint/no-empty': "error";
41
+ 'eslint/no-empty-character-class': "error";
42
+ 'eslint/no-empty-pattern': "error";
43
+ 'eslint/no-empty-static-block': "error";
44
+ 'eslint/no-ex-assign': "error";
45
+ 'eslint/no-extra-boolean-cast': "error";
46
+ 'eslint/no-fallthrough': ["error", {
47
+ allowEmptyCase: boolean;
48
+ }];
49
+ 'eslint/no-func-assign': "error";
50
+ 'eslint/no-global-assign': "error";
51
+ 'eslint/no-import-assign': "error";
52
+ 'eslint/no-invalid-regexp': "error";
53
+ 'eslint/no-irregular-whitespace': "error";
54
+ 'eslint/no-loss-of-precision': "error";
55
+ 'eslint/no-misleading-character-class': "error";
56
+ 'eslint/no-nonoctal-decimal-escape': "error";
57
+ 'eslint/no-obj-calls': "error";
58
+ 'eslint/no-prototype-builtins': "error";
59
+ 'eslint/no-redeclare': "error";
60
+ 'eslint/no-regex-spaces': "error";
61
+ 'eslint/no-self-assign': "error";
62
+ 'eslint/no-shadow-restricted-names': "error";
63
+ 'eslint/no-sparse-arrays': "error";
64
+ 'eslint/no-unexpected-multiline': "error";
65
+ 'eslint/no-unsafe-finally': "error";
66
+ 'eslint/no-unsafe-negation': "error";
67
+ 'eslint/no-unsafe-optional-chaining': "error";
68
+ 'eslint/no-unused-labels': "error";
69
+ 'eslint/no-unused-private-class-members': "error";
70
+ 'eslint/no-unused-vars': "warn";
71
+ 'eslint/no-useless-backreference': "error";
72
+ 'eslint/no-useless-catch': "error";
73
+ 'eslint/no-useless-escape': "error";
74
+ 'eslint/require-yield': "error";
75
+ 'eslint/use-isnan': "error";
76
+ 'eslint/valid-typeof': "error";
77
+ 'eslint/no-unused-expressions': "warn";
78
+ 'typescript/ban-ts-comment': "error";
79
+ 'typescript/no-duplicate-enum-values': "off";
80
+ 'typescript/no-empty-object-type': "error";
81
+ 'typescript/no-explicit-any': "error";
82
+ 'typescript/no-extra-non-null-assertion': "error";
83
+ 'typescript/no-misused-new': "error";
84
+ 'typescript/no-namespace': "error";
85
+ 'typescript/no-non-null-asserted-optional-chain': "error";
86
+ 'typescript/no-require-imports': "error";
87
+ 'typescript/no-this-alias': "error";
88
+ 'typescript/no-unnecessary-type-constraint': "error";
89
+ 'typescript/no-unsafe-declaration-merging': "error";
90
+ 'typescript/no-unsafe-function-type': "error";
91
+ 'typescript/no-wrapper-object-types': "error";
92
+ 'typescript/prefer-as-const': "error";
93
+ 'typescript/triple-slash-reference': "error";
94
+ 'typescript/explicit-member-accessibility': ["warn", {
95
+ accessibility: string;
96
+ }];
97
+ 'eslint/id-length': "off";
98
+ 'eslint/sort-keys': "off";
99
+ 'eslint/capitalized-comments': "off";
100
+ 'eslint/func-style': "off";
101
+ 'eslint/complexity': "off";
102
+ 'eslint/max-params': "off";
103
+ 'eslint/no-ternary': "off";
104
+ 'eslint/curly': "warn";
105
+ 'typescript/consistent-type-definitions': ["warn", string];
106
+ 'eslint/max-statements': "off";
107
+ 'typescript/consistent-return': "off";
108
+ 'unicorn/switch-case-braces': "warn";
109
+ 'typescript/prefer-regexp-exec': "warn";
110
+ 'eslint/init-declarations': "off";
111
+ 'unicorn/no-null': "off";
112
+ 'eslint/no-undefined': "off";
113
+ 'eslint/no-console': "off";
114
+ 'eslint/no-continue': "off";
115
+ 'eslint/no-implicit-coercion': ["warn", {
116
+ allow: string[];
117
+ }];
118
+ 'eslint/no-plusplus': "off";
119
+ 'eslint/no-void': "off";
120
+ 'eslint/no-nested-ternary': "off";
121
+ 'eslint/no-empty-function': ["warn", {
122
+ allow: string[];
123
+ }];
124
+ 'unicorn/no-instanceof-builtins': "off";
125
+ 'unicorn/prefer-spread': "off";
126
+ 'eslint/new-cap': "off";
127
+ 'unicorn/no-await-expression-member': "off";
128
+ 'eslint/no-duplicate-imports': ["warn", {
129
+ allowSeparateTypeImports: boolean;
130
+ }];
131
+ 'import/no-named-export': "off";
132
+ 'import/no-default-export': "off";
133
+ 'import/prefer-default-export': "off";
134
+ 'import/no-namespace': "off";
135
+ 'import/exports-last': "off";
136
+ 'import/no-unassigned-import': "off";
137
+ 'unicorn/no-new-array': "off";
138
+ 'eslint/no-array-constructor': "warn";
139
+ 'typescript/explicit-function-return-type': "off";
140
+ 'typescript/explicit-module-boundary-types': "off";
141
+ 'unicorn/no-anonymous-default-export': "off";
142
+ 'eslint/sort-imports': "off";
143
+ 'eslint/no-magic-numbers': "off";
144
+ 'unicorn/prefer-modern-math-apis': "off";
145
+ 'eslint/no-use-before-define': "off";
146
+ 'eslint/constructor-super': "off";
147
+ 'eslint/getter-return': "off";
148
+ 'eslint/no-dupe-class-members': "off";
149
+ 'eslint/no-dupe-keys': "off";
150
+ 'eslint/no-new-native-nonconstructor': "off";
151
+ 'eslint/no-setter-return': "off";
152
+ 'eslint/no-this-before-super': "off";
153
+ 'eslint/no-undef': "off";
154
+ 'eslint/no-unreachable': "off";
155
+ 'eslint/no-with': "off";
156
+ 'unicorn/no-nested-ternary': "off";
157
+ 'oxc/no-optional-chaining': "off";
158
+ 'oxc/no-rest-spread-properties': "off";
159
+ 'oxc/no-async-await': "off";
160
+ };
161
+ }[];
162
+ env: {
163
+ node: true;
164
+ };
165
+ };
166
+ export { type OxlintConfig, defineConfig, nodeConfig };
167
+ declare const _default: {
168
+ extends: {
169
+ plugins: ("unicorn" | "typescript")[];
170
+ jsPlugins: never[];
171
+ categories: {
172
+ correctness: "error";
173
+ suspicious: "warn";
174
+ pedantic: "off";
175
+ perf: "warn";
176
+ style: "warn";
177
+ restriction: "warn";
178
+ nursery: "off";
179
+ };
180
+ env: {
181
+ builtin: true;
182
+ };
183
+ options: {
184
+ typeAware: true;
185
+ };
186
+ rules: {
187
+ 'eslint/no-var': "warn";
188
+ 'eslint/prefer-const': "error";
189
+ 'eslint/prefer-rest-params': "error";
190
+ 'eslint/prefer-spread': "error";
191
+ 'eslint/no-async-promise-executor': "error";
192
+ 'eslint/no-case-declarations': "error";
193
+ 'eslint/no-class-assign': "error";
194
+ 'eslint/no-compare-neg-zero': "error";
195
+ 'eslint/no-cond-assign': "error";
196
+ 'eslint/no-const-assign': "error";
197
+ 'eslint/no-constant-binary-expression': "error";
198
+ 'eslint/no-constant-condition': "error";
199
+ 'eslint/no-control-regex': "error";
200
+ 'eslint/no-debugger': "error";
201
+ 'eslint/no-delete-var': "error";
202
+ 'eslint/no-dupe-else-if': "error";
203
+ 'eslint/no-duplicate-case': "error";
204
+ 'eslint/no-empty': "error";
205
+ 'eslint/no-empty-character-class': "error";
206
+ 'eslint/no-empty-pattern': "error";
207
+ 'eslint/no-empty-static-block': "error";
208
+ 'eslint/no-ex-assign': "error";
209
+ 'eslint/no-extra-boolean-cast': "error";
210
+ 'eslint/no-fallthrough': ["error", {
211
+ allowEmptyCase: boolean;
212
+ }];
213
+ 'eslint/no-func-assign': "error";
214
+ 'eslint/no-global-assign': "error";
215
+ 'eslint/no-import-assign': "error";
216
+ 'eslint/no-invalid-regexp': "error";
217
+ 'eslint/no-irregular-whitespace': "error";
218
+ 'eslint/no-loss-of-precision': "error";
219
+ 'eslint/no-misleading-character-class': "error";
220
+ 'eslint/no-nonoctal-decimal-escape': "error";
221
+ 'eslint/no-obj-calls': "error";
222
+ 'eslint/no-prototype-builtins': "error";
223
+ 'eslint/no-redeclare': "error";
224
+ 'eslint/no-regex-spaces': "error";
225
+ 'eslint/no-self-assign': "error";
226
+ 'eslint/no-shadow-restricted-names': "error";
227
+ 'eslint/no-sparse-arrays': "error";
228
+ 'eslint/no-unexpected-multiline': "error";
229
+ 'eslint/no-unsafe-finally': "error";
230
+ 'eslint/no-unsafe-negation': "error";
231
+ 'eslint/no-unsafe-optional-chaining': "error";
232
+ 'eslint/no-unused-labels': "error";
233
+ 'eslint/no-unused-private-class-members': "error";
234
+ 'eslint/no-unused-vars': "warn";
235
+ 'eslint/no-useless-backreference': "error";
236
+ 'eslint/no-useless-catch': "error";
237
+ 'eslint/no-useless-escape': "error";
238
+ 'eslint/require-yield': "error";
239
+ 'eslint/use-isnan': "error";
240
+ 'eslint/valid-typeof': "error";
241
+ 'eslint/no-unused-expressions': "warn";
242
+ 'typescript/ban-ts-comment': "error";
243
+ 'typescript/no-duplicate-enum-values': "off";
244
+ 'typescript/no-empty-object-type': "error";
245
+ 'typescript/no-explicit-any': "error";
246
+ 'typescript/no-extra-non-null-assertion': "error";
247
+ 'typescript/no-misused-new': "error";
248
+ 'typescript/no-namespace': "error";
249
+ 'typescript/no-non-null-asserted-optional-chain': "error";
250
+ 'typescript/no-require-imports': "error";
251
+ 'typescript/no-this-alias': "error";
252
+ 'typescript/no-unnecessary-type-constraint': "error";
253
+ 'typescript/no-unsafe-declaration-merging': "error";
254
+ 'typescript/no-unsafe-function-type': "error";
255
+ 'typescript/no-wrapper-object-types': "error";
256
+ 'typescript/prefer-as-const': "error";
257
+ 'typescript/triple-slash-reference': "error";
258
+ 'typescript/explicit-member-accessibility': ["warn", {
259
+ accessibility: string;
260
+ }];
261
+ 'eslint/id-length': "off";
262
+ 'eslint/sort-keys': "off";
263
+ 'eslint/capitalized-comments': "off";
264
+ 'eslint/func-style': "off";
265
+ 'eslint/complexity': "off";
266
+ 'eslint/max-params': "off";
267
+ 'eslint/no-ternary': "off";
268
+ 'eslint/curly': "warn";
269
+ 'typescript/consistent-type-definitions': ["warn", string];
270
+ 'eslint/max-statements': "off";
271
+ 'typescript/consistent-return': "off";
272
+ 'unicorn/switch-case-braces': "warn";
273
+ 'typescript/prefer-regexp-exec': "warn";
274
+ 'eslint/init-declarations': "off";
275
+ 'unicorn/no-null': "off";
276
+ 'eslint/no-undefined': "off";
277
+ 'eslint/no-console': "off";
278
+ 'eslint/no-continue': "off";
279
+ 'eslint/no-implicit-coercion': ["warn", {
280
+ allow: string[];
281
+ }];
282
+ 'eslint/no-plusplus': "off";
283
+ 'eslint/no-void': "off";
284
+ 'eslint/no-nested-ternary': "off";
285
+ 'eslint/no-empty-function': ["warn", {
286
+ allow: string[];
287
+ }];
288
+ 'unicorn/no-instanceof-builtins': "off";
289
+ 'unicorn/prefer-spread': "off";
290
+ 'eslint/new-cap': "off";
291
+ 'unicorn/no-await-expression-member': "off";
292
+ 'eslint/no-duplicate-imports': ["warn", {
293
+ allowSeparateTypeImports: boolean;
294
+ }];
295
+ 'import/no-named-export': "off";
296
+ 'import/no-default-export': "off";
297
+ 'import/prefer-default-export': "off";
298
+ 'import/no-namespace': "off";
299
+ 'import/exports-last': "off";
300
+ 'import/no-unassigned-import': "off";
301
+ 'unicorn/no-new-array': "off";
302
+ 'eslint/no-array-constructor': "warn";
303
+ 'typescript/explicit-function-return-type': "off";
304
+ 'typescript/explicit-module-boundary-types': "off";
305
+ 'unicorn/no-anonymous-default-export': "off";
306
+ 'eslint/sort-imports': "off";
307
+ 'eslint/no-magic-numbers': "off";
308
+ 'unicorn/prefer-modern-math-apis': "off";
309
+ 'eslint/no-use-before-define': "off";
310
+ 'eslint/constructor-super': "off";
311
+ 'eslint/getter-return': "off";
312
+ 'eslint/no-dupe-class-members': "off";
313
+ 'eslint/no-dupe-keys': "off";
314
+ 'eslint/no-new-native-nonconstructor': "off";
315
+ 'eslint/no-setter-return': "off";
316
+ 'eslint/no-this-before-super': "off";
317
+ 'eslint/no-undef': "off";
318
+ 'eslint/no-unreachable': "off";
319
+ 'eslint/no-with': "off";
320
+ 'unicorn/no-nested-ternary': "off";
321
+ 'oxc/no-optional-chaining': "off";
322
+ 'oxc/no-rest-spread-properties': "off";
323
+ 'oxc/no-async-await': "off";
324
+ };
325
+ }[];
326
+ env: {
327
+ node: true;
328
+ };
329
+ };
330
+ export default _default;
331
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGzD,KAAK,WAAW,GAAG,EAAE,CAAC;AAItB,iBAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,wBAA4B"}
package/dist/node.js ADDED
@@ -0,0 +1,15 @@
1
+ import { defineConfig } from 'oxlint';
2
+ import { baseConfig } from './base.js';
3
+ // const DEFAULT_OPTIONS: NodeOptions = {};
4
+ function nodeConfig(_options) {
5
+ // const opts = { ...DEFAULT_OPTIONS, ...options };
6
+ return defineConfig({
7
+ extends: [baseConfig()],
8
+ env: {
9
+ node: true,
10
+ },
11
+ });
12
+ }
13
+ export { defineConfig, nodeConfig };
14
+ export default nodeConfig();
15
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,2CAA2C;AAE3C,SAAS,UAAU,CAAC,QAA+B;IACjD,mDAAmD;IAEnD,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;QACvB,GAAG,EAAE;YACH,IAAI,EAAE,IAAI;SACX;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,UAAU,EAAE,CAAC;AAEvD,eAAe,UAAU,EAAE,CAAC"}