@4mbl/lint 1.0.0-beta.3 → 1.0.0-beta.30

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/react.js CHANGED
@@ -1,26 +1,66 @@
1
1
  import { defineConfig } from 'oxlint';
2
2
  import { baseConfig } from './base.js';
3
+ import { extendConfig } from './config.js';
3
4
  // const DEFAULT_OPTIONS: ReactOptions = {};
4
- function reactConfig(_options) {
5
+ function reactConfig(options) {
5
6
  // const opts = { ...DEFAULT_OPTIONS, ...options };
6
- return defineConfig({
7
- extends: [baseConfig()],
8
- plugins: ['react'],
9
- jsPlugins: [
10
- { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },
11
- { name: 'react-refresh-js', specifier: 'eslint-plugin-react-refresh' },
12
- { name: 'react-compiler-js', specifier: 'eslint-plugin-react-compiler' },
13
- ],
7
+ const base = baseConfig(options);
8
+ return extendConfig(base, {
9
+ plugins: ['react', 'jsx-a11y'],
10
+ jsPlugins: [],
11
+ env: {
12
+ browser: true,
13
+ node: true,
14
+ },
15
+ globals: {
16
+ AudioWorkletGlobalScope: 'readonly',
17
+ AudioWorkletProcessor: 'readonly',
18
+ currentFrame: 'readonly',
19
+ currentTime: 'readonly',
20
+ registerProcessor: 'readonly',
21
+ sampleRate: 'readonly',
22
+ WorkletGlobalScope: 'readonly',
23
+ },
14
24
  rules: {
15
- 'react-hooks-js/rules-of-hooks': 'error',
16
- 'react-hooks-js/exhaustive-deps': 'warn',
17
- 'react-hooks-js/set-state-in-effect': 'warn',
18
- 'react-refresh-js/only-export-components': 'error',
19
- 'react-compiler-js/react-compiler': 'error',
25
+ 'react/rules-of-hooks': 'error',
26
+ 'react/exhaustive-deps': 'warn',
27
+ // react compiler rules
28
+ 'react/error-boundaries': 'error',
29
+ 'react/globals': 'error',
30
+ 'react/immutability': 'error',
31
+ 'react/incompatible-library': 'error',
32
+ 'react/preserve-manual-memoization': 'error',
33
+ 'react/purity': 'error',
34
+ 'react/refs': 'error',
35
+ 'react/set-state-in-effect': 'error',
36
+ 'react/set-state-in-render': 'error',
37
+ 'react/static-components': 'error',
38
+ 'react/use-memo': 'error',
39
+ 'react/void-use-memo': 'error',
40
+ 'react/capitalized-calls': 'error',
41
+ 'react/exhaustive-effect-dependencies': 'error',
42
+ 'react/hooks': 'error',
43
+ 'react/memo-dependencies': 'error',
44
+ 'react/no-deriving-state-in-effects': 'error',
45
+ 'react/invariant': 'error',
46
+ 'react/rule-suppression': 'error',
47
+ 'react/syntax': 'error',
48
+ 'react/todo': 'error',
49
+ 'react/unsupported-syntax': 'error',
50
+ 'react/only-export-components': 'error',
51
+ 'import/no-anonymous-default-export': 'warn',
52
+ 'react/jsx-filename-extension': 'off',
53
+ 'react/jsx-max-depth': 'off',
54
+ 'react/no-multi-comp': 'off',
55
+ 'react/jsx-props-no-spreading': 'off',
56
+ 'react/jsx-no-literals': 'off',
57
+ // conflicts with tailwind
58
+ 'react/forbid-component-props': 'off',
59
+ 'react/forbid-dom-props': 'off',
20
60
  },
21
61
  overrides: [
22
62
  {
23
- files: ['**/*.{js,jsx,mjs,ts,tsx,mts,cts}'],
63
+ files: ['**/*.{jsx,tsx}'],
24
64
  rules: {
25
65
  'react/display-name': 'error',
26
66
  'react/jsx-key': 'error',
@@ -30,7 +70,6 @@ function reactConfig(_options) {
30
70
  'react/jsx-no-undef': 'error',
31
71
  'react/no-children-prop': 'error',
32
72
  'react/no-danger-with-children': 'error',
33
- // "react/no-deprecated": "error", // not implemented yet in oxlint
34
73
  'react/no-direct-mutation-state': 'error',
35
74
  'react/no-find-dom-node': 'error',
36
75
  'react/no-is-mounted': 'error',
@@ -41,7 +80,6 @@ function reactConfig(_options) {
41
80
  'react/no-unsafe': 'off',
42
81
  'react/react-in-jsx-scope': 'off',
43
82
  'react/require-render-return': 'error',
44
- 'import/no-anonymous-default-export': 'warn',
45
83
  'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],
46
84
  'jsx-a11y/aria-props': 'warn',
47
85
  'jsx-a11y/aria-proptypes': 'warn',
@@ -49,20 +87,6 @@ function reactConfig(_options) {
49
87
  'jsx-a11y/role-has-required-aria-props': 'warn',
50
88
  'jsx-a11y/role-supports-aria-props': 'warn',
51
89
  },
52
- globals: {
53
- AudioWorkletGlobalScope: 'readonly',
54
- AudioWorkletProcessor: 'readonly',
55
- currentFrame: 'readonly',
56
- currentTime: 'readonly',
57
- registerProcessor: 'readonly',
58
- sampleRate: 'readonly',
59
- WorkletGlobalScope: 'readonly',
60
- },
61
- plugins: ['import', 'jsx-a11y'],
62
- env: {
63
- browser: true,
64
- node: true,
65
- },
66
90
  },
67
91
  ],
68
92
  });
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0-beta.30",
4
4
  "description": "Linting configuration for various environments.",
5
5
  "type": "module",
6
6
  "author": "4mbl",
@@ -31,17 +31,12 @@
31
31
  "lint"
32
32
  ],
33
33
  "dependencies": {
34
- "eslint-plugin-react-compiler": "19.1.0-rc.2",
35
- "eslint-plugin-react-hooks": "^7.0.1",
36
- "eslint-plugin-react-refresh": "^0.5.2",
37
- "globals": "^17.4.0",
38
- "jiti": "^2.6.1",
39
- "oxlint": "^1.56.0",
40
- "oxlint-tsgolint": "^0.17.0"
34
+ "oxlint": "1.80.x",
35
+ "oxlint-tsgolint": "7.0.x"
41
36
  },
42
37
  "devDependencies": {
43
- "@types/node": "^24.12.0",
44
- "@4mbl/tsconfig": "4.4.0"
38
+ "@types/node": "^24.13.3",
39
+ "@4mbl/tsconfig": "5.0.0-beta.3"
45
40
  },
46
41
  "scripts": {
47
42
  "build": "tsc"