@wistia/oxlint-config 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wistia/oxlint-config",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "Wistia's Oxlint configurations",
5
5
  "packageManager": "yarn@4.14.1",
6
6
  "type": "module",
package/rules/base.mjs CHANGED
@@ -655,6 +655,138 @@ export const baseRules = {
655
655
  // https://oxc.rs/docs/guide/usage/linter/rules/eslint/yoda.html
656
656
  'eslint/yoda': 'error',
657
657
 
658
+ // Enforce or disallow capitalization of the first letter of a comment
659
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/capitalized-comments.html
660
+ 'eslint/capitalized-comments': 'off',
661
+
662
+ // Enforce a maximum cyclomatic complexity allowed in a program
663
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/complexity.html
664
+ 'eslint/complexity': 'off',
665
+
666
+ // Require following curly brace conventions
667
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/curly.html
668
+ 'eslint/curly': 'off',
669
+
670
+ // Require function names to match the name of the variable or property to which they are assigned
671
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/func-name-matching.html
672
+ 'eslint/func-name-matching': 'off',
673
+
674
+ // Require or disallow initialization in variable declarations
675
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/init-declarations.html
676
+ 'eslint/init-declarations': 'off',
677
+
678
+ // Require or disallow logical assignment operator shorthand
679
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/logical-assignment-operators.html
680
+ 'eslint/logical-assignment-operators': 'off',
681
+
682
+ // Enforce a maximum depth that blocks can be nested
683
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-depth.html
684
+ 'eslint/max-depth': 'off',
685
+
686
+ // Enforce a maximum number of lines per file
687
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines.html
688
+ 'eslint/max-lines': 'off',
689
+
690
+ // Enforce a maximum number of lines of code in a function
691
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines-per-function.html
692
+ 'eslint/max-lines-per-function': 'off',
693
+
694
+ // Enforce a maximum depth that callbacks can be nested
695
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-nested-callbacks.html
696
+ 'eslint/max-nested-callbacks': 'off',
697
+
698
+ // Enforce a maximum number of parameters in function definitions
699
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-params.html
700
+ 'eslint/max-params': 'off',
701
+
702
+ // Enforce a maximum number of statements allowed in function blocks
703
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-statements.html
704
+ 'eslint/max-statements': 'off',
705
+
706
+ // Require regex literals to escape division operators
707
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-div-regex.html
708
+ 'eslint/no-div-regex': 'off',
709
+
710
+ // Disallow duplicate module imports
711
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-duplicate-imports.html
712
+ 'eslint/no-duplicate-imports': 'off',
713
+
714
+ // Disallow null comparisons without type-checking operators
715
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-eq-null.html
716
+ 'eslint/no-eq-null': 'off',
717
+
718
+ // Disallow inline comments after code
719
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-inline-comments.html
720
+ 'eslint/no-inline-comments': 'off',
721
+
722
+ // Disallow negated conditions
723
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-negated-condition.html
724
+ 'eslint/no-negated-condition': 'off',
725
+
726
+ // Disallow specified names in exports
727
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-restricted-exports.html
728
+ 'eslint/no-restricted-exports': 'off',
729
+
730
+ // Disallow certain properties on certain objects
731
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-restricted-properties.html
732
+ 'eslint/no-restricted-properties': 'off',
733
+
734
+ // Disallow ternary operators
735
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-ternary.html
736
+ 'eslint/no-ternary': 'off',
737
+
738
+ // Disallow the use of undeclared variables unless mentioned in global comments
739
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-undef.html
740
+ 'eslint/no-undef': 'off',
741
+
742
+ // Disallow the use of undefined as an identifier
743
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-undefined.html
744
+ 'eslint/no-undefined': 'off',
745
+
746
+ // Disallow dangling underscores in identifiers
747
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-underscore-dangle.html
748
+ 'eslint/no-underscore-dangle': 'off',
749
+
750
+ // Disallow confusing multiline expressions
751
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-unexpected-multiline.html
752
+ 'eslint/no-unexpected-multiline': 'off',
753
+
754
+ // Disallow assignments that are never used
755
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-useless-assignment.html
756
+ 'eslint/no-useless-assignment': 'off',
757
+
758
+ // Disallow unnecessary calls to .call() and .apply()
759
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-useless-call.html
760
+ 'eslint/no-useless-call': 'off',
761
+
762
+ // Disallow specified warning terms in comments
763
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-warning-comments.html
764
+ 'eslint/no-warning-comments': 'off',
765
+
766
+ // Require or disallow method and property shorthand syntax for object literals
767
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/object-shorthand.html
768
+ 'eslint/object-shorthand': 'off',
769
+
770
+ // Disallow use of Object.create(null) in favor of using regex literals
771
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-regex-literals.html
772
+ 'eslint/prefer-regex-literals': 'off',
773
+
774
+ // Enforce the use of u or v flag on regular expressions
775
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/require-unicode-regexp.html
776
+ 'eslint/require-unicode-regexp': 'off',
777
+
778
+ // Enforce sorted import declarations within modules
779
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/sort-imports.html
780
+ 'eslint/sort-imports': 'off',
781
+
782
+ // Require object keys to be sorted
783
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/sort-keys.html
784
+ 'eslint/sort-keys': 'off',
785
+
786
+ // Require variables within the same declaration block to be sorted
787
+ // https://oxc.rs/docs/guide/usage/linter/rules/eslint/sort-vars.html
788
+ 'eslint/sort-vars': 'off',
789
+
658
790
  //oxc rules - these are bug-catchers that oxlint can detect natively.
659
791
 
660
792
  // Disallow calling array methods on arguments (it's array-like, not an array)
@@ -708,5 +840,57 @@ export const baseRules = {
708
840
  // Disallow passing functions to array methods when signatures don't match
709
841
  // https://oxc.rs/docs/guide/usage/linter/rules/oxc/uninvoked-array-callback.html
710
842
  'oxc/uninvoked-array-callback': 'error',
843
+
844
+ // Disallow use of approximate mathematical constants
845
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/approx-constant.html
846
+ 'oxc/approx-constant': 'error',
847
+
848
+ // Disallow incorrect use of bitwise operators where logical operators were intended
849
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-bitwise-operator.html
850
+ 'oxc/bad-bitwise-operator': 'error',
851
+
852
+ // Disallow branches in if/else that share identical code
853
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/branches-sharing-code.html
854
+ 'oxc/branches-sharing-code': 'off',
855
+
856
+ // Disallow misrefactored compound assignment operators
857
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/misrefactored-assign-op.html
858
+ 'oxc/misrefactored-assign-op': 'error',
859
+
860
+ // Disallow spread in accumulator of Array.reduce (O(n^2) complexity)
861
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-accumulating-spread.html
862
+ 'oxc/no-accumulating-spread': 'error',
863
+
864
+ // Disallow use of async/await syntax
865
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-await.html
866
+ 'oxc/no-async-await': 'off',
867
+
868
+ // Disallow use of async functions as Express endpoint handlers without error handling
869
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-endpoint-handlers.html
870
+ 'oxc/no-async-endpoint-handlers': 'off',
871
+
872
+ // Disallow barrel files (index files that re-export from other modules)
873
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-barrel-file.html
874
+ 'oxc/no-barrel-file': 'off',
875
+
876
+ // Disallow TypeScript const enums
877
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-const-enum.html
878
+ 'oxc/no-const-enum': 'off',
879
+
880
+ // Disallow spreading keys from a map-like object into an object literal
881
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-map-spread.html
882
+ 'oxc/no-map-spread': 'error',
883
+
884
+ // Disallow use of optional chaining
885
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-optional-chaining.html
886
+ 'oxc/no-optional-chaining': 'off',
887
+
888
+ // Disallow use of rest and spread properties
889
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-rest-spread-properties.html
890
+ 'oxc/no-rest-spread-properties': 'off',
891
+
892
+ // Disallow use of this in exported functions
893
+ // https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-this-in-exported-function.html
894
+ 'oxc/no-this-in-exported-function': 'off',
711
895
  },
712
896
  };
package/rules/import.mjs CHANGED
@@ -91,6 +91,54 @@ export const importRules = {
91
91
  // https://oxc.rs/docs/guide/usage/linter/rules/import/extensions.html
92
92
  'import/extensions': 'error',
93
93
 
94
+ // Enforce consistent type specifier style (inline vs top-level)
95
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/consistent-type-specifier-style.html
96
+ 'import/consistent-type-specifier-style': 'off',
97
+
98
+ // Disallow invalid exports, e.g. multiple defaults
99
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/export.html
100
+ 'import/export': 'off',
101
+
102
+ // Require exports to be placed at the end of the file
103
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/exports-last.html
104
+ 'import/exports-last': 'off',
105
+
106
+ // Prefer named exports to be grouped together in a single export declaration
107
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/group-exports.html
108
+ 'import/group-exports': 'off',
109
+
110
+ // Enforce a maximum number of dependencies per module
111
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/max-dependencies.html
112
+ 'import/max-dependencies': 'off',
113
+
114
+ // Ensure named imports coupled with named exports
115
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/named.html
116
+ 'import/named': 'off',
117
+
118
+ // Forbid named exports
119
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-export.html
120
+ 'import/no-named-export': 'off',
121
+
122
+ // Disallow namespace (a.k.a. "wildcard" *) imports
123
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-namespace.html
124
+ 'import/no-namespace': 'off',
125
+
126
+ // Disallow Node.js builtin modules
127
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-nodejs-modules.html
128
+ 'import/no-nodejs-modules': 'off',
129
+
130
+ // Forbid importing modules from parent directories
131
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-relative-parent-imports.html
132
+ 'import/no-relative-parent-imports': 'off',
133
+
134
+ // Forbid unassigned imports (side-effect imports)
135
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/no-unassigned-import.html
136
+ 'import/no-unassigned-import': 'off',
137
+
138
+ // Report potentially ambiguous parse goal
139
+ // https://oxc.rs/docs/guide/usage/linter/rules/import/unambiguous.html
140
+ 'import/unambiguous': 'off',
141
+
94
142
  // Require modules with a single export to use a default export
95
143
  // https://oxc.rs/docs/guide/usage/linter/rules/import/prefer-default-export.html
96
144
  // decision: conflicts with no-default-export, which is enabled
package/rules/node.mjs CHANGED
@@ -20,6 +20,14 @@ export const nodeRules = {
20
20
  // https://oxc.rs/docs/guide/usage/linter/rules/node/no-path-concat.html
21
21
  'node/no-path-concat': 'error',
22
22
 
23
+ // Disallow the use of process.env
24
+ // https://oxc.rs/docs/guide/usage/linter/rules/node/no-process-env.html
25
+ 'node/no-process-env': 'off',
26
+
27
+ // Require require() to be called in the top-level module scope
28
+ // https://oxc.rs/docs/guide/usage/linter/rules/node/global-require.html
29
+ 'node/global-require': 'off',
30
+
23
31
  //eslint-plugin-n rules via jsPlugins
24
32
 
25
33
  // Disallow deprecated APIs
@@ -113,6 +113,14 @@ export const reactA11yRules = {
113
113
  // https://oxc.rs/docs/guide/usage/linter/rules/jsx-a11y/tabindex-no-positive.html
114
114
  'jsx_a11y/tabindex-no-positive': 'error',
115
115
 
116
+ // Elements with an interactive role and interaction handlers must be focusable
117
+ // https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/interactive-supports-focus.html
118
+ 'jsx_a11y/interactive-supports-focus': 'error',
119
+
120
+ // WAI-ARIA roles should not be used to convert a non-interactive element to interactive
121
+ // https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-noninteractive-element-to-interactive-role.html
122
+ 'jsx_a11y/no-noninteractive-element-to-interactive-role': 'error',
123
+
116
124
  // Ensure interactive elements are not assigned non-interactive roles
117
125
  // https://oxc.rs/docs/guide/usage/linter/rules/jsx-a11y/no-noninteractive-tabindex.html
118
126
  'jsx_a11y/no-noninteractive-tabindex': [
package/rules/react.mjs CHANGED
@@ -234,6 +234,38 @@ export const reactRules = {
234
234
  // decision: stylistic choice best left for formatter
235
235
  'react/jsx-handler-names': 'off',
236
236
 
237
+ // Forbid certain props on components
238
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-component-props.html
239
+ 'react/forbid-component-props': 'off',
240
+
241
+ // Forbid certain props on DOM elements
242
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-dom-props.html
243
+ 'react/forbid-dom-props': 'off',
244
+
245
+ // Forbid certain elements
246
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-elements.html
247
+ 'react/forbid-elements': 'off',
248
+
249
+ // Enforce destructuring assignment of useState hook
250
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/hook-use-state.html
251
+ 'react/hook-use-state': 'off',
252
+
253
+ // Disallow usage of setState in componentDidUpdate (deprecated lifecycle)
254
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/no-did-update-set-state.html
255
+ 'react/no-did-update-set-state': 'off',
256
+
257
+ // Prefer function components over class components
258
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/prefer-function-component.html
259
+ 'react/prefer-function-component': 'off',
260
+
261
+ // Disallow missing React when using JSX (not needed with modern React)
262
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/react-in-jsx-scope.html
263
+ 'react/react-in-jsx-scope': 'off',
264
+
265
+ // Enforce state initialization in constructor
266
+ // https://oxc.rs/docs/guide/usage/linter/rules/react/state-in-constructor.html
267
+ 'react/state-in-constructor': 'off',
268
+
237
269
  //rules via jsPlugins (@eslint-react/eslint-plugin)
238
270
 
239
271
  // Validates usage of Error Boundaries instead of try/catch for child errors
@@ -441,5 +441,37 @@ export const typescriptRules = {
441
441
  // Enforce typing arguments in .catch() callbacks as unknown
442
442
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.html
443
443
  'typescript/use-unknown-in-catch-callback-variable': 'error',
444
+
445
+ // Disallow certain types (deprecated rule)
446
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-types.html
447
+ 'typescript/ban-types': 'off',
448
+
449
+ // Require explicit return types on functions and class methods
450
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-function-return-type.html
451
+ 'typescript/explicit-function-return-type': 'off',
452
+
453
+ // Require explicit accessibility modifiers on class properties and methods
454
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-member-accessibility.html
455
+ 'typescript/explicit-member-accessibility': 'off',
456
+
457
+ // Disallow empty interfaces (deprecated rule)
458
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-interface.html
459
+ 'typescript/no-empty-interface': 'off',
460
+
461
+ // Disallow require statements except in import statements (deprecated rule)
462
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-var-requires.html
463
+ 'typescript/no-var-requires': 'off',
464
+
465
+ // Require function parameters to be typed as readonly
466
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-readonly-parameter-types.html
467
+ 'typescript/prefer-readonly-parameter-types': 'off',
468
+
469
+ // Enforce using @ts-expect-error over @ts-ignore (deprecated rule)
470
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-ts-expect-error.html
471
+ 'typescript/prefer-ts-expect-error': 'off',
472
+
473
+ // Enforce void return type for functions that don't return a value
474
+ // https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-void-return.html
475
+ 'typescript/strict-void-return': 'off',
444
476
  },
445
477
  };