@4mbl/lint 0.0.0-alpha.a78f42b → 0.0.0-alpha.aa95edc

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/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # @4mbl/lint
2
2
 
3
+ ## 1.0.0-beta.14
4
+
5
+ ### Minor Changes
6
+
7
+ - e34f9fe: Enable import plugin in base
8
+ - 5586655: Disable some import plugin rules in base
9
+ - 9b2b412: Disable `no-nodejs-modules` in node
10
+
11
+ ## 1.0.0-beta.13
12
+
13
+ ### Minor Changes
14
+
15
+ - dd66007: Pin dependencies to ensure future compatibility
16
+ - 0feb87d: Remove unused dependencies and inline trivial imports
17
+ - 1d98a33: Disable `react/forbid-component-props` and `react/forbid-dom-props` to ensure Tailwind compatibility
18
+ - a9085f2: Extend inherited plugins in child presets
19
+ - 014d999: Allow `eslint/no-underscore-dangle` for `__dirname` and `__filename` in node
20
+
21
+ ## 1.0.0-beta.12
22
+
23
+ ### Minor Changes
24
+
25
+ - aee0259: Upgrade dependencies
26
+
27
+ ## 1.0.0-beta.11
28
+
29
+ ### Minor Changes
30
+
31
+ - 20b3dae: Use native rules for React when possible
32
+
33
+ ## 1.0.0-beta.10
34
+
35
+ ### Minor Changes
36
+
37
+ - 007a287: Configure more rules to reduce noise
38
+ - 007a287: Use native only-export-components rule instead of js plugin
39
+ - 007a287: Use correct namespace for Next.js rules
40
+
41
+ ## 1.0.0-beta.9
42
+
43
+ ### Minor Changes
44
+
45
+ - 491164e: Add --help flag to cli
46
+ - 491164e: Fallback to Oxlint config lookup if no preset is passed to CLI and Oxlint config exists within working directory.
47
+
48
+ ## 1.0.0-beta.8
49
+
50
+ ### Minor Changes
51
+
52
+ - a78f42b: Configure rules to reduce noise
53
+
3
54
  ## 1.0.0-beta.7
4
55
 
5
56
  ### Minor Changes
package/bin/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { spawnSync } from 'node:child_process';
4
+ import { existsSync } from 'node:fs';
4
5
  import path from 'node:path';
5
6
  import { fileURLToPath } from 'node:url';
6
7
 
@@ -15,11 +16,38 @@ const wrapperArgs =
15
16
  separatorIndex === -1 ? rawArgs : rawArgs.slice(0, separatorIndex);
16
17
  const toolArgs = separatorIndex === -1 ? [] : rawArgs.slice(separatorIndex + 1);
17
18
 
19
+ if (wrapperArgs.includes('--help') || rawArgs.includes('-h')) {
20
+ console.log(`
21
+ Usage:
22
+ lint [options] -- [oxlint options]
23
+
24
+ Options:
25
+ --preset <name> Use a preset config (default: base if no config within cwd)
26
+
27
+ Examples:
28
+ lint
29
+ lint --preset node
30
+ lint -- src --fix
31
+
32
+ Notes:
33
+ Everything after "--" is passed directly to oxlint.
34
+ `);
35
+
36
+ process.exit(0);
37
+ }
38
+
18
39
  const presetArgIndex = wrapperArgs.findIndex((a) => a === '--preset');
40
+
19
41
  const presetName =
20
- presetArgIndex !== -1 ? wrapperArgs[presetArgIndex + 1] : 'base';
42
+ presetArgIndex !== -1
43
+ ? wrapperArgs[presetArgIndex + 1]
44
+ : !existsSync('./oxlint.config.ts') && !existsSync('./.oxlintrc.json')
45
+ ? 'base'
46
+ : undefined;
21
47
 
22
- const configPath = path.resolve(__dirname, `../dist/${presetName}.js`);
48
+ const configPath = presetName
49
+ ? path.resolve(__dirname, `../dist/${presetName}.js`)
50
+ : undefined;
23
51
 
24
52
  const hasPath = toolArgs.some((a) => !a.startsWith('-'));
25
53
  const hasMaxWarn = toolArgs.some((a) => a.startsWith('--max-warnings'));
@@ -28,7 +56,7 @@ const hasReportUnused = toolArgs.some((a) =>
28
56
  );
29
57
 
30
58
  const finalArgs = [
31
- '--config',
59
+ configPath ? '--config' : undefined,
32
60
  configPath,
33
61
  hasPath ? undefined : 'src',
34
62
  hasMaxWarn ? undefined : '--max-warnings=0',
package/dist/base.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { defineConfig, type OxlintConfig } from 'oxlint';
2
2
  type BaseOptions = {};
3
3
  declare function baseConfig(_options?: Partial<BaseOptions>): {
4
- plugins: ("unicorn" | "typescript")[];
4
+ plugins: ("unicorn" | "typescript" | "import")[];
5
5
  jsPlugins: never[];
6
6
  categories: {
7
7
  correctness: "error";
@@ -107,7 +107,7 @@ declare function baseConfig(_options?: Partial<BaseOptions>): {
107
107
  'unicorn/switch-case-braces': "warn";
108
108
  'typescript/prefer-regexp-exec': "warn";
109
109
  'eslint/init-declarations': "off";
110
- 'unicorn/no-null': "warn";
110
+ 'unicorn/no-null': "off";
111
111
  'eslint/no-undefined': "off";
112
112
  'eslint/no-console': "off";
113
113
  'eslint/no-continue': "off";
@@ -120,15 +120,28 @@ declare function baseConfig(_options?: Partial<BaseOptions>): {
120
120
  'eslint/no-empty-function': ["warn", {
121
121
  allow: string[];
122
122
  }];
123
+ 'unicorn/no-instanceof-builtins': "off";
124
+ 'unicorn/prefer-spread': "off";
125
+ 'eslint/new-cap': "off";
126
+ 'unicorn/no-await-expression-member': "off";
123
127
  'eslint/no-duplicate-imports': ["warn", {
124
128
  allowSeparateTypeImports: boolean;
125
129
  }];
130
+ 'import/no-named-export': "off";
131
+ 'import/no-default-export': "off";
132
+ 'import/prefer-default-export': "off";
133
+ 'import/no-namespace': "off";
134
+ 'import/exports-last': "off";
135
+ 'import/no-unassigned-import': "off";
136
+ 'import/group-exports': "off";
137
+ 'import/consistent-type-specifier-style': "off";
126
138
  'unicorn/no-new-array': "off";
127
139
  'eslint/no-array-constructor': "warn";
128
140
  'typescript/explicit-function-return-type': "off";
129
141
  'typescript/explicit-module-boundary-types': "off";
130
142
  'unicorn/no-anonymous-default-export': "off";
131
143
  'eslint/sort-imports': "off";
144
+ 'import/no-relative-parent-imports': "off";
132
145
  'eslint/no-magic-numbers': "off";
133
146
  'unicorn/prefer-modern-math-apis': "off";
134
147
  'eslint/no-use-before-define': "off";
@@ -150,7 +163,7 @@ declare function baseConfig(_options?: Partial<BaseOptions>): {
150
163
  };
151
164
  export { type OxlintConfig, defineConfig, baseConfig };
152
165
  declare const _default: {
153
- plugins: ("unicorn" | "typescript")[];
166
+ plugins: ("unicorn" | "typescript" | "import")[];
154
167
  jsPlugins: never[];
155
168
  categories: {
156
169
  correctness: "error";
@@ -256,7 +269,7 @@ declare const _default: {
256
269
  'unicorn/switch-case-braces': "warn";
257
270
  'typescript/prefer-regexp-exec': "warn";
258
271
  'eslint/init-declarations': "off";
259
- 'unicorn/no-null': "warn";
272
+ 'unicorn/no-null': "off";
260
273
  'eslint/no-undefined': "off";
261
274
  'eslint/no-console': "off";
262
275
  'eslint/no-continue': "off";
@@ -269,15 +282,28 @@ declare const _default: {
269
282
  'eslint/no-empty-function': ["warn", {
270
283
  allow: string[];
271
284
  }];
285
+ 'unicorn/no-instanceof-builtins': "off";
286
+ 'unicorn/prefer-spread': "off";
287
+ 'eslint/new-cap': "off";
288
+ 'unicorn/no-await-expression-member': "off";
272
289
  'eslint/no-duplicate-imports': ["warn", {
273
290
  allowSeparateTypeImports: boolean;
274
291
  }];
292
+ 'import/no-named-export': "off";
293
+ 'import/no-default-export': "off";
294
+ 'import/prefer-default-export': "off";
295
+ 'import/no-namespace': "off";
296
+ 'import/exports-last': "off";
297
+ 'import/no-unassigned-import': "off";
298
+ 'import/group-exports': "off";
299
+ 'import/consistent-type-specifier-style': "off";
275
300
  'unicorn/no-new-array': "off";
276
301
  'eslint/no-array-constructor': "warn";
277
302
  'typescript/explicit-function-return-type': "off";
278
303
  'typescript/explicit-module-boundary-types': "off";
279
304
  'unicorn/no-anonymous-default-export': "off";
280
305
  'eslint/sort-imports': "off";
306
+ 'import/no-relative-parent-imports': "off";
281
307
  'eslint/no-magic-numbers': "off";
282
308
  'unicorn/prefer-modern-math-apis': "off";
283
309
  'eslint/no-use-before-define': "off";
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEzD,KAAK,WAAW,GAAG,EAAE,CAAC;AAItB,iBAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4KlD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,wBAA4B"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEzD,KAAK,WAAW,GAAG,EAAE,CAAC;AAItB,iBAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyLlD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,wBAA4B"}
package/dist/base.js CHANGED
@@ -3,7 +3,7 @@ import { defineConfig } from 'oxlint';
3
3
  function baseConfig(_options) {
4
4
  // const opts = { ...DEFAULT_OPTIONS, ...options };
5
5
  return defineConfig({
6
- plugins: ['typescript', 'unicorn'],
6
+ plugins: ['import', 'typescript', 'unicorn'],
7
7
  jsPlugins: [],
8
8
  categories: {
9
9
  correctness: 'error',
@@ -114,7 +114,7 @@ function baseConfig(_options) {
114
114
  'unicorn/switch-case-braces': 'warn',
115
115
  'typescript/prefer-regexp-exec': 'warn',
116
116
  'eslint/init-declarations': 'off',
117
- 'unicorn/no-null': 'warn', // easier to just use undefined
117
+ 'unicorn/no-null': 'off', // too strict, for example JSON.stringify requires null parameter, null is also required in react
118
118
  'eslint/no-undefined': 'off', // undefined is necessary
119
119
  'eslint/no-console': 'off', // browser is no longer the only environment js is run on
120
120
  'eslint/no-continue': 'off', // early-continue is useful
@@ -123,10 +123,22 @@ function baseConfig(_options) {
123
123
  'eslint/no-void': 'off', // void is useful for explicitly indicating floating promises
124
124
  'eslint/no-nested-ternary': 'off', // ternaries are cleaner and necessary due to lack of match expressions
125
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
126
130
  'eslint/no-duplicate-imports': [
127
131
  'warn',
128
132
  { allowSeparateTypeImports: true },
129
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
+ 'import/group-exports': 'off', // co-locating export statement with the function it exports is more readable
141
+ 'import/consistent-type-specifier-style': 'off', // single import per file is more readable
130
142
  // Array.from() is slower than new Array()
131
143
  // https://jsperf.app/tatuse
132
144
  'unicorn/no-new-array': 'off',
@@ -137,6 +149,7 @@ function baseConfig(_options) {
137
149
  // may revisit
138
150
  'unicorn/no-anonymous-default-export': 'off',
139
151
  'eslint/sort-imports': 'off', // consider when oxfmt is setup
152
+ 'import/no-relative-parent-imports': 'off',
140
153
  // currently produces too many false positives
141
154
  'eslint/no-magic-numbers': 'off',
142
155
  'unicorn/prefer-modern-math-apis': 'off',
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
@@ -1 +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,gBA4DjD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;AAEvD,wBAA4B"}
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;AAE5D,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,gBA0EjD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;AAEvD,wBAA4B"}
package/dist/next.js CHANGED
@@ -2,50 +2,62 @@ import path from 'node:path';
2
2
  import process from 'node:process';
3
3
  import { defineConfig } from 'oxlint';
4
4
  import { reactConfig } from './react.js';
5
- import reactRefresh from 'eslint-plugin-react-refresh';
6
5
  const DEFAULT_OPTIONS = { uiPath: 'src/components/ui/' };
7
6
  function nextConfig(options) {
8
7
  const opts = { ...DEFAULT_OPTIONS, ...options };
8
+ const react = reactConfig(options);
9
9
  return defineConfig({
10
- extends: [reactConfig(options)],
11
- plugins: ['nextjs'],
10
+ extends: [react],
11
+ plugins: [...react.plugins, 'nextjs'],
12
12
  rules: {
13
- '@next/next/google-font-display': 'warn',
14
- '@next/next/google-font-preconnect': 'warn',
15
- '@next/next/next-script-for-ga': 'warn',
16
- '@next/next/no-async-client-component': 'warn',
17
- '@next/next/no-before-interactive-script-outside-document': 'warn',
18
- '@next/next/no-css-tags': 'warn',
19
- '@next/next/no-head-element': 'warn',
20
- '@next/next/no-html-link-for-pages': 'error',
21
- '@next/next/no-page-custom-font': 'warn',
22
- '@next/next/no-styled-jsx-in-document': 'warn',
23
- '@next/next/no-sync-scripts': 'error',
24
- '@next/next/no-title-in-document-head': 'warn',
25
- '@next/next/no-typos': 'warn',
26
- '@next/next/no-unwanted-polyfillio': 'warn',
27
- '@next/next/inline-script-id': 'error',
28
- '@next/next/no-assign-module-variable': 'error',
29
- '@next/next/no-document-import-in-page': 'error',
30
- '@next/next/no-duplicate-head': 'error',
31
- '@next/next/no-head-import-in-document': 'error',
32
- '@next/next/no-script-component-in-head': 'error',
33
- },
34
- ignorePatterns: ['.next/**', 'out/**', 'build/**', 'next-env.d.ts'],
35
- overrides: [
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',
36
33
  // ignores warnings for special exports in page and layout files
37
- // https://github.com/ArnaudBarre/eslint-plugin-react-refresh?tab=readme-ov-file#next-config
38
- {
39
- files: ['**/*.{js,jsx,mjs,ts,tsx,mts,cts}'],
40
- rules: {
41
- 'react-refresh-js/only-export-components': [
42
- 'error',
43
- {
44
- allowExportNames: reactRefresh.configs.next.rules['react-refresh/only-export-components'][1]['allowExportNames'],
45
- },
34
+ 'react/only-export-components': [
35
+ 'warn',
36
+ {
37
+ // https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/src/index.ts
38
+ allowExportNames: [
39
+ // removed in next@16.0.0: https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#version-history
40
+ // 'experimental_ppr',
41
+ 'dynamic',
42
+ 'dynamicParams',
43
+ 'revalidate',
44
+ 'fetchCache',
45
+ 'runtime',
46
+ 'preferredRegion',
47
+ 'maxDuration',
48
+ 'metadata',
49
+ 'generateMetadata',
50
+ 'viewport',
51
+ 'generateViewport',
52
+ 'generateImageMetadata',
53
+ 'generateSitemaps',
54
+ 'generateStaticParams',
46
55
  ],
47
56
  },
48
- },
57
+ ],
58
+ },
59
+ ignorePatterns: ['.next/**', 'out/**', 'build/**', 'next-env.d.ts'],
60
+ overrides: [
49
61
  opts.uiPath === null
50
62
  ? { files: [], rules: {} }
51
63
  : {
@@ -53,7 +65,7 @@ function nextConfig(options) {
53
65
  `${path.resolve(process.cwd(), opts.uiPath)}/**/*.{js,jsx,mjs,ts,tsx,mts,cts}`.replaceAll('//', '/'),
54
66
  ],
55
67
  rules: {
56
- 'react-refresh-js/only-export-components': 'off',
68
+ 'react/only-export-components': 'off',
57
69
  },
58
70
  },
59
71
  ],
package/dist/next.js.map CHANGED
@@ -1 +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,gCAAgC,EAAE,MAAM;YACxC,mCAAmC,EAAE,MAAM;YAC3C,+BAA+B,EAAE,MAAM;YACvC,sCAAsC,EAAE,MAAM;YAC9C,0DAA0D,EAAE,MAAM;YAClE,wBAAwB,EAAE,MAAM;YAChC,4BAA4B,EAAE,MAAM;YACpC,mCAAmC,EAAE,OAAO;YAC5C,gCAAgC,EAAE,MAAM;YACxC,sCAAsC,EAAE,MAAM;YAC9C,4BAA4B,EAAE,OAAO;YACrC,sCAAsC,EAAE,MAAM;YAC9C,qBAAqB,EAAE,MAAM;YAC7B,mCAAmC,EAAE,MAAM;YAC3C,6BAA6B,EAAE,OAAO;YACtC,sCAAsC,EAAE,OAAO;YAC/C,uCAAuC,EAAE,OAAO;YAChD,8BAA8B,EAAE,OAAO;YACvC,uCAAuC,EAAE,OAAO;YAChD,wCAAwC,EAAE,OAAO;SAClD;QACD,cAAc,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC;QACnE,SAAS,EAAE;YACT,gEAAgE;YAChE,4FAA4F;YAC5F;gBACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;gBAC3C,KAAK,EAAE;oBACL,yCAAyC,EAAE;wBACzC,OAAO;wBACP;4BACE,gBAAgB,EAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAa,CACxD,sCAAsC,CACvC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;yBACzB;qBACF;iBACF;aACF;YACD,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,yCAAyC,EAAE,KAAK;qBACjD;iBACF;SACN;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,UAAU,EAAE,CAAC;AAEvD,eAAe,UAAU,EAAE,CAAC"}
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,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,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,KAAK,CAAC;QAChB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrC,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,8BAA8B,EAAE;gBAC9B,MAAM;gBACN;oBACE,oFAAoF;oBACpF,gBAAgB,EAAE;wBAChB,0HAA0H;wBAC1H,sBAAsB;wBAEtB,SAAS;wBACT,eAAe;wBACf,YAAY;wBACZ,YAAY;wBACZ,SAAS;wBACT,iBAAiB;wBACjB,aAAa;wBACb,UAAU;wBACV,kBAAkB;wBAClB,UAAU;wBACV,kBAAkB;wBAClB,uBAAuB;wBACvB,kBAAkB;wBAClB,sBAAsB;qBACvB;iBACF;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 CHANGED
@@ -1,8 +1,8 @@
1
1
  import { defineConfig, type OxlintConfig } from 'oxlint';
2
2
  type NodeOptions = {};
3
- declare function nodeConfig(_options?: Partial<NodeOptions>): {
3
+ declare function nodeConfig(options?: Partial<NodeOptions>): {
4
4
  extends: {
5
- plugins: ("unicorn" | "typescript")[];
5
+ plugins: ("unicorn" | "typescript" | "import")[];
6
6
  jsPlugins: never[];
7
7
  categories: {
8
8
  correctness: "error";
@@ -108,7 +108,7 @@ declare function nodeConfig(_options?: Partial<NodeOptions>): {
108
108
  'unicorn/switch-case-braces': "warn";
109
109
  'typescript/prefer-regexp-exec': "warn";
110
110
  'eslint/init-declarations': "off";
111
- 'unicorn/no-null': "warn";
111
+ 'unicorn/no-null': "off";
112
112
  'eslint/no-undefined': "off";
113
113
  'eslint/no-console': "off";
114
114
  'eslint/no-continue': "off";
@@ -121,15 +121,28 @@ declare function nodeConfig(_options?: Partial<NodeOptions>): {
121
121
  'eslint/no-empty-function': ["warn", {
122
122
  allow: string[];
123
123
  }];
124
+ 'unicorn/no-instanceof-builtins': "off";
125
+ 'unicorn/prefer-spread': "off";
126
+ 'eslint/new-cap': "off";
127
+ 'unicorn/no-await-expression-member': "off";
124
128
  'eslint/no-duplicate-imports': ["warn", {
125
129
  allowSeparateTypeImports: boolean;
126
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
+ 'import/group-exports': "off";
138
+ 'import/consistent-type-specifier-style': "off";
127
139
  'unicorn/no-new-array': "off";
128
140
  'eslint/no-array-constructor': "warn";
129
141
  'typescript/explicit-function-return-type': "off";
130
142
  'typescript/explicit-module-boundary-types': "off";
131
143
  'unicorn/no-anonymous-default-export': "off";
132
144
  'eslint/sort-imports': "off";
145
+ 'import/no-relative-parent-imports': "off";
133
146
  'eslint/no-magic-numbers': "off";
134
147
  'unicorn/prefer-modern-math-apis': "off";
135
148
  'eslint/no-use-before-define': "off";
@@ -149,14 +162,21 @@ declare function nodeConfig(_options?: Partial<NodeOptions>): {
149
162
  'oxc/no-async-await': "off";
150
163
  };
151
164
  }[];
165
+ plugins: ("unicorn" | "typescript" | "import")[];
152
166
  env: {
153
167
  node: true;
154
168
  };
169
+ rules: {
170
+ 'eslint/no-underscore-dangle': ["warn", {
171
+ allow: string[];
172
+ }];
173
+ 'no-nodejs-modules': "off";
174
+ };
155
175
  };
156
176
  export { type OxlintConfig, defineConfig, nodeConfig };
157
177
  declare const _default: {
158
178
  extends: {
159
- plugins: ("unicorn" | "typescript")[];
179
+ plugins: ("unicorn" | "typescript" | "import")[];
160
180
  jsPlugins: never[];
161
181
  categories: {
162
182
  correctness: "error";
@@ -262,7 +282,7 @@ declare const _default: {
262
282
  'unicorn/switch-case-braces': "warn";
263
283
  'typescript/prefer-regexp-exec': "warn";
264
284
  'eslint/init-declarations': "off";
265
- 'unicorn/no-null': "warn";
285
+ 'unicorn/no-null': "off";
266
286
  'eslint/no-undefined': "off";
267
287
  'eslint/no-console': "off";
268
288
  'eslint/no-continue': "off";
@@ -275,15 +295,28 @@ declare const _default: {
275
295
  'eslint/no-empty-function': ["warn", {
276
296
  allow: string[];
277
297
  }];
298
+ 'unicorn/no-instanceof-builtins': "off";
299
+ 'unicorn/prefer-spread': "off";
300
+ 'eslint/new-cap': "off";
301
+ 'unicorn/no-await-expression-member': "off";
278
302
  'eslint/no-duplicate-imports': ["warn", {
279
303
  allowSeparateTypeImports: boolean;
280
304
  }];
305
+ 'import/no-named-export': "off";
306
+ 'import/no-default-export': "off";
307
+ 'import/prefer-default-export': "off";
308
+ 'import/no-namespace': "off";
309
+ 'import/exports-last': "off";
310
+ 'import/no-unassigned-import': "off";
311
+ 'import/group-exports': "off";
312
+ 'import/consistent-type-specifier-style': "off";
281
313
  'unicorn/no-new-array': "off";
282
314
  'eslint/no-array-constructor': "warn";
283
315
  'typescript/explicit-function-return-type': "off";
284
316
  'typescript/explicit-module-boundary-types': "off";
285
317
  'unicorn/no-anonymous-default-export': "off";
286
318
  'eslint/sort-imports': "off";
319
+ 'import/no-relative-parent-imports': "off";
287
320
  'eslint/no-magic-numbers': "off";
288
321
  'unicorn/prefer-modern-math-apis': "off";
289
322
  'eslint/no-use-before-define': "off";
@@ -303,9 +336,16 @@ declare const _default: {
303
336
  'oxc/no-async-await': "off";
304
337
  };
305
338
  }[];
339
+ plugins: ("unicorn" | "typescript" | "import")[];
306
340
  env: {
307
341
  node: true;
308
342
  };
343
+ rules: {
344
+ 'eslint/no-underscore-dangle': ["warn", {
345
+ allow: string[];
346
+ }];
347
+ 'no-nodejs-modules': "off";
348
+ };
309
349
  };
310
350
  export default _default;
311
351
  //# sourceMappingURL=node.d.ts.map
@@ -1 +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"}
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,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBjD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,wBAA4B"}
package/dist/node.js CHANGED
@@ -1,13 +1,23 @@
1
1
  import { defineConfig } from 'oxlint';
2
2
  import { baseConfig } from './base.js';
3
3
  // const DEFAULT_OPTIONS: NodeOptions = {};
4
- function nodeConfig(_options) {
4
+ function nodeConfig(options) {
5
5
  // const opts = { ...DEFAULT_OPTIONS, ...options };
6
+ const base = baseConfig(options);
6
7
  return defineConfig({
7
- extends: [baseConfig()],
8
+ extends: [base],
9
+ // when changing plugins the parent plugins need to be extended, otherwise they are overridden
10
+ plugins: base.plugins,
8
11
  env: {
9
12
  node: true,
10
13
  },
14
+ rules: {
15
+ 'eslint/no-underscore-dangle': [
16
+ 'warn',
17
+ { allow: ['__dirname', '__filename'] },
18
+ ],
19
+ 'no-nodejs-modules': 'off',
20
+ },
11
21
  });
12
22
  }
13
23
  export { defineConfig, nodeConfig };
package/dist/node.js.map CHANGED
@@ -1 +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"}
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,OAA8B;IAChD,mDAAmD;IAEnD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,8FAA8F;QAC9F,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE;YACH,IAAI,EAAE,IAAI;SACX;QAED,KAAK,EAAE;YACL,6BAA6B,EAAE;gBAC7B,MAAM;gBACN,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE;aACvC;YACD,mBAAmB,EAAE,KAAK;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,UAAU,EAAE,CAAC;AAEvD,eAAe,UAAU,EAAE,CAAC"}
package/dist/react.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { defineConfig, type OxlintConfig } from 'oxlint';
2
2
  export type ReactOptions = {};
3
- declare function reactConfig(_options?: Partial<ReactOptions>): {
3
+ declare function reactConfig(options?: Partial<ReactOptions>): {
4
4
  extends: {
5
- plugins: ("unicorn" | "typescript")[];
5
+ plugins: ("unicorn" | "typescript" | "import")[];
6
6
  jsPlugins: never[];
7
7
  categories: {
8
8
  correctness: "error";
@@ -108,7 +108,7 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
108
108
  'unicorn/switch-case-braces': "warn";
109
109
  'typescript/prefer-regexp-exec': "warn";
110
110
  'eslint/init-declarations': "off";
111
- 'unicorn/no-null': "warn";
111
+ 'unicorn/no-null': "off";
112
112
  'eslint/no-undefined': "off";
113
113
  'eslint/no-console': "off";
114
114
  'eslint/no-continue': "off";
@@ -121,15 +121,28 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
121
121
  'eslint/no-empty-function': ["warn", {
122
122
  allow: string[];
123
123
  }];
124
+ 'unicorn/no-instanceof-builtins': "off";
125
+ 'unicorn/prefer-spread': "off";
126
+ 'eslint/new-cap': "off";
127
+ 'unicorn/no-await-expression-member': "off";
124
128
  'eslint/no-duplicate-imports': ["warn", {
125
129
  allowSeparateTypeImports: boolean;
126
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
+ 'import/group-exports': "off";
138
+ 'import/consistent-type-specifier-style': "off";
127
139
  'unicorn/no-new-array': "off";
128
140
  'eslint/no-array-constructor': "warn";
129
141
  'typescript/explicit-function-return-type': "off";
130
142
  'typescript/explicit-module-boundary-types': "off";
131
143
  'unicorn/no-anonymous-default-export': "off";
132
144
  'eslint/sort-imports': "off";
145
+ 'import/no-relative-parent-imports': "off";
133
146
  'eslint/no-magic-numbers': "off";
134
147
  'unicorn/prefer-modern-math-apis': "off";
135
148
  'eslint/no-use-before-define': "off";
@@ -149,17 +162,23 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
149
162
  'oxc/no-async-await': "off";
150
163
  };
151
164
  }[];
152
- plugins: "react"[];
165
+ plugins: ("react" | "unicorn" | "typescript" | "import")[];
153
166
  jsPlugins: {
154
167
  name: string;
155
168
  specifier: string;
156
169
  }[];
157
170
  rules: {
158
- 'react-hooks-js/rules-of-hooks': "error";
159
- 'react-hooks-js/exhaustive-deps': "warn";
171
+ 'react/rules-of-hooks': "error";
172
+ 'react/exhaustive-deps': "warn";
160
173
  'react-hooks-js/set-state-in-effect': "warn";
161
- 'react-refresh-js/only-export-components': "error";
174
+ 'react/only-export-components': "error";
162
175
  'react-compiler-js/react-compiler': "error";
176
+ 'react/jsx-filename-extension': "off";
177
+ 'react/jsx-max-depth': "off";
178
+ 'react/no-multi-comp': "off";
179
+ 'react/jsx-props-no-spreading': "off";
180
+ 'react/forbid-component-props': "off";
181
+ 'react/forbid-dom-props': "off";
163
182
  };
164
183
  overrides: {
165
184
  files: string[];
@@ -212,7 +231,7 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
212
231
  export { type OxlintConfig, defineConfig, reactConfig };
213
232
  declare const _default: {
214
233
  extends: {
215
- plugins: ("unicorn" | "typescript")[];
234
+ plugins: ("unicorn" | "typescript" | "import")[];
216
235
  jsPlugins: never[];
217
236
  categories: {
218
237
  correctness: "error";
@@ -318,7 +337,7 @@ declare const _default: {
318
337
  'unicorn/switch-case-braces': "warn";
319
338
  'typescript/prefer-regexp-exec': "warn";
320
339
  'eslint/init-declarations': "off";
321
- 'unicorn/no-null': "warn";
340
+ 'unicorn/no-null': "off";
322
341
  'eslint/no-undefined': "off";
323
342
  'eslint/no-console': "off";
324
343
  'eslint/no-continue': "off";
@@ -331,15 +350,28 @@ declare const _default: {
331
350
  'eslint/no-empty-function': ["warn", {
332
351
  allow: string[];
333
352
  }];
353
+ 'unicorn/no-instanceof-builtins': "off";
354
+ 'unicorn/prefer-spread': "off";
355
+ 'eslint/new-cap': "off";
356
+ 'unicorn/no-await-expression-member': "off";
334
357
  'eslint/no-duplicate-imports': ["warn", {
335
358
  allowSeparateTypeImports: boolean;
336
359
  }];
360
+ 'import/no-named-export': "off";
361
+ 'import/no-default-export': "off";
362
+ 'import/prefer-default-export': "off";
363
+ 'import/no-namespace': "off";
364
+ 'import/exports-last': "off";
365
+ 'import/no-unassigned-import': "off";
366
+ 'import/group-exports': "off";
367
+ 'import/consistent-type-specifier-style': "off";
337
368
  'unicorn/no-new-array': "off";
338
369
  'eslint/no-array-constructor': "warn";
339
370
  'typescript/explicit-function-return-type': "off";
340
371
  'typescript/explicit-module-boundary-types': "off";
341
372
  'unicorn/no-anonymous-default-export': "off";
342
373
  'eslint/sort-imports': "off";
374
+ 'import/no-relative-parent-imports': "off";
343
375
  'eslint/no-magic-numbers': "off";
344
376
  'unicorn/prefer-modern-math-apis': "off";
345
377
  'eslint/no-use-before-define': "off";
@@ -359,17 +391,23 @@ declare const _default: {
359
391
  'oxc/no-async-await': "off";
360
392
  };
361
393
  }[];
362
- plugins: "react"[];
394
+ plugins: ("react" | "unicorn" | "typescript" | "import")[];
363
395
  jsPlugins: {
364
396
  name: string;
365
397
  specifier: string;
366
398
  }[];
367
399
  rules: {
368
- 'react-hooks-js/rules-of-hooks': "error";
369
- 'react-hooks-js/exhaustive-deps': "warn";
400
+ 'react/rules-of-hooks': "error";
401
+ 'react/exhaustive-deps': "warn";
370
402
  'react-hooks-js/set-state-in-effect': "warn";
371
- 'react-refresh-js/only-export-components': "error";
403
+ 'react/only-export-components': "error";
372
404
  'react-compiler-js/react-compiler': "error";
405
+ 'react/jsx-filename-extension': "off";
406
+ 'react/jsx-max-depth': "off";
407
+ 'react/no-multi-comp': "off";
408
+ 'react/jsx-props-no-spreading': "off";
409
+ 'react/forbid-component-props': "off";
410
+ 'react/forbid-dom-props': "off";
373
411
  };
374
412
  overrides: {
375
413
  files: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAI9B,iBAAS,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEpD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,wBAA6B"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAI9B,iBAAS,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkFnD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,wBAA6B"}
package/dist/react.js CHANGED
@@ -1,22 +1,35 @@
1
1
  import { defineConfig } from 'oxlint';
2
2
  import { baseConfig } from './base.js';
3
3
  // const DEFAULT_OPTIONS: ReactOptions = {};
4
- function reactConfig(_options) {
4
+ function reactConfig(options) {
5
5
  // const opts = { ...DEFAULT_OPTIONS, ...options };
6
+ const base = baseConfig(options);
6
7
  return defineConfig({
7
- extends: [baseConfig()],
8
- plugins: ['react'],
8
+ extends: [base],
9
+ plugins: [...base.plugins, 'react'],
9
10
  jsPlugins: [
11
+ // react compiler is not yet supported by oxc
12
+ // https://github.com/oxc-project/oxc/issues/10048
13
+ // this means compiler related rules are not yet supported
14
+ // https://github.com/oxc-project/oxc/issues/1022
15
+ // react compiler port to rust may enable compiler related rules
16
+ // https://github.com/facebook/react/pull/36173
10
17
  { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },
11
- { name: 'react-refresh-js', specifier: 'eslint-plugin-react-refresh' },
12
18
  { name: 'react-compiler-js', specifier: 'eslint-plugin-react-compiler' },
13
19
  ],
14
20
  rules: {
15
- 'react-hooks-js/rules-of-hooks': 'error',
16
- 'react-hooks-js/exhaustive-deps': 'warn',
21
+ 'react/rules-of-hooks': 'error',
22
+ 'react/exhaustive-deps': 'warn',
17
23
  'react-hooks-js/set-state-in-effect': 'warn',
18
- 'react-refresh-js/only-export-components': 'error',
24
+ 'react/only-export-components': 'error',
19
25
  'react-compiler-js/react-compiler': 'error',
26
+ 'react/jsx-filename-extension': 'off',
27
+ 'react/jsx-max-depth': 'off',
28
+ 'react/no-multi-comp': 'off',
29
+ 'react/jsx-props-no-spreading': 'off',
30
+ // conflicts with tailwind
31
+ 'react/forbid-component-props': 'off',
32
+ 'react/forbid-dom-props': 'off',
20
33
  },
21
34
  overrides: [
22
35
  {
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,4CAA4C;AAE5C,SAAS,WAAW,CAAC,QAAgC;IACnD,mDAAmD;IAEnD,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,EAAE;YAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,6BAA6B,EAAE;YACtE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,8BAA8B,EAAE;SACzE;QACD,KAAK,EAAE;YACL,+BAA+B,EAAE,OAAO;YACxC,gCAAgC,EAAE,MAAM;YACxC,oCAAoC,EAAE,MAAM;YAC5C,yCAAyC,EAAE,OAAO;YAClD,kCAAkC,EAAE,OAAO;SAC5C;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;gBAC3C,KAAK,EAAE;oBACL,oBAAoB,EAAE,OAAO;oBAC7B,eAAe,EAAE,OAAO;oBACxB,gCAAgC,EAAE,OAAO;oBACzC,8BAA8B,EAAE,OAAO;oBACvC,2BAA2B,EAAE,KAAK;oBAClC,oBAAoB,EAAE,OAAO;oBAC7B,wBAAwB,EAAE,OAAO;oBACjC,+BAA+B,EAAE,OAAO;oBACxC,mEAAmE;oBACnE,gCAAgC,EAAE,OAAO;oBACzC,wBAAwB,EAAE,OAAO;oBACjC,qBAAqB,EAAE,OAAO;oBAC9B,8BAA8B,EAAE,OAAO;oBACvC,sBAAsB,EAAE,OAAO;oBAC/B,6BAA6B,EAAE,OAAO;oBACtC,2BAA2B,EAAE,KAAK;oBAClC,iBAAiB,EAAE,KAAK;oBACxB,0BAA0B,EAAE,KAAK;oBACjC,6BAA6B,EAAE,OAAO;oBACtC,oCAAoC,EAAE,MAAM;oBAC5C,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,qBAAqB,EAAE,MAAM;oBAC7B,yBAAyB,EAAE,MAAM;oBACjC,oCAAoC,EAAE,MAAM;oBAC5C,uCAAuC,EAAE,MAAM;oBAC/C,mCAAmC,EAAE,MAAM;iBAC5C;gBACD,OAAO,EAAE;oBACP,uBAAuB,EAAE,UAAU;oBACnC,qBAAqB,EAAE,UAAU;oBACjC,YAAY,EAAE,UAAU;oBACxB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,UAAU;oBAC7B,UAAU,EAAE,UAAU;oBACtB,kBAAkB,EAAE,UAAU;iBAC/B;gBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,WAAW,EAAE,CAAC;AAExD,eAAe,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,4CAA4C;AAE5C,SAAS,WAAW,CAAC,OAA+B;IAClD,mDAAmD;IAEnD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE;YACT,6CAA6C;YAC7C,kDAAkD;YAClD,0DAA0D;YAC1D,iDAAiD;YACjD,gEAAgE;YAChE,+CAA+C;YAC/C,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,EAAE;YAClE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,8BAA8B,EAAE;SACzE;QACD,KAAK,EAAE;YACL,sBAAsB,EAAE,OAAO;YAC/B,uBAAuB,EAAE,MAAM;YAC/B,oCAAoC,EAAE,MAAM;YAC5C,8BAA8B,EAAE,OAAO;YACvC,kCAAkC,EAAE,OAAO;YAE3C,8BAA8B,EAAE,KAAK;YACrC,qBAAqB,EAAE,KAAK;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,8BAA8B,EAAE,KAAK;YAErC,0BAA0B;YAC1B,8BAA8B,EAAE,KAAK;YACrC,wBAAwB,EAAE,KAAK;SAChC;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;gBAC3C,KAAK,EAAE;oBACL,oBAAoB,EAAE,OAAO;oBAC7B,eAAe,EAAE,OAAO;oBACxB,gCAAgC,EAAE,OAAO;oBACzC,8BAA8B,EAAE,OAAO;oBACvC,2BAA2B,EAAE,KAAK;oBAClC,oBAAoB,EAAE,OAAO;oBAC7B,wBAAwB,EAAE,OAAO;oBACjC,+BAA+B,EAAE,OAAO;oBACxC,mEAAmE;oBACnE,gCAAgC,EAAE,OAAO;oBACzC,wBAAwB,EAAE,OAAO;oBACjC,qBAAqB,EAAE,OAAO;oBAC9B,8BAA8B,EAAE,OAAO;oBACvC,sBAAsB,EAAE,OAAO;oBAC/B,6BAA6B,EAAE,OAAO;oBACtC,2BAA2B,EAAE,KAAK;oBAClC,iBAAiB,EAAE,KAAK;oBACxB,0BAA0B,EAAE,KAAK;oBACjC,6BAA6B,EAAE,OAAO;oBACtC,oCAAoC,EAAE,MAAM;oBAC5C,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,qBAAqB,EAAE,MAAM;oBAC7B,yBAAyB,EAAE,MAAM;oBACjC,oCAAoC,EAAE,MAAM;oBAC5C,uCAAuC,EAAE,MAAM;oBAC/C,mCAAmC,EAAE,MAAM;iBAC5C;gBACD,OAAO,EAAE;oBACP,uBAAuB,EAAE,UAAU;oBACnC,qBAAqB,EAAE,UAAU;oBACjC,YAAY,EAAE,UAAU;oBACxB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,UAAU;oBAC7B,UAAU,EAAE,UAAU;oBACtB,kBAAkB,EAAE,UAAU;iBAC/B;gBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,WAAW,EAAE,CAAC;AAExD,eAAe,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "0.0.0-alpha.a78f42b",
3
+ "version": "0.0.0-alpha.aa95edc",
4
4
  "description": "Linting configuration for various environments.",
5
5
  "type": "module",
6
6
  "author": "4mbl",
@@ -32,16 +32,13 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
35
- "eslint-plugin-react-hooks": "^7.1.1",
36
- "eslint-plugin-react-refresh": "^0.5.2",
37
- "globals": "^17.5.0",
38
- "jiti": "^2.6.1",
39
- "oxlint": "^1.60.0",
40
- "oxlint-tsgolint": "^0.21.1"
35
+ "eslint-plugin-react-hooks": "7.1.1",
36
+ "oxlint": "1.64.x",
37
+ "oxlint-tsgolint": "0.22.x"
41
38
  },
42
39
  "devDependencies": {
43
- "@types/node": "^24.12.2",
44
- "@4mbl/tsconfig": "0.0.0-alpha.a78f42b"
40
+ "@types/node": "^24.12.4",
41
+ "@4mbl/tsconfig": "0.0.0-alpha.aa95edc"
45
42
  },
46
43
  "scripts": {
47
44
  "build": "tsc"