@himynameisdave/oxlint-config 1.1.0 → 1.2.0

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/README.md CHANGED
@@ -29,7 +29,7 @@ pnpm add -D oxlint @himynameisdave/oxlint-config
29
29
  yarn add -D oxlint @himynameisdave/oxlint-config
30
30
  ```
31
31
 
32
- - Requires `oxlint >=1.76.0 <2`. Why that range, and how it moves: [Versioning & compatibility](#versioning--compatibility).
32
+ - Requires `oxlint >=1.78.0 <2`. Why that range, and how it moves: [Versioning & compatibility](#versioning--compatibility).
33
33
  - Type-aware linting requires TypeScript 7+ and a `strict` tsconfig.
34
34
 
35
35
  ## Configurations
@@ -99,7 +99,7 @@ Rule churn is deliberately _not_ a major bump. A newly-decided rule and a rule f
99
99
 
100
100
  `^` accepts new errors on update. Don't want that? Use `~` (patch only) with a committed lockfile, and upgrade deliberately.
101
101
 
102
- **Supported oxlint: `>=1.76.0 <2`.** The floor is the version this release's rule inventory was certified against, so it moves whenever new rules are decided. Older oxlint skips rules it doesn't know instead of erroring, which means a stale binary quietly under-lints. The `<2` ceiling is there because an oxlint 2.0 needs a release here anyway.
102
+ **Supported oxlint: `>=1.78.0 <2`.** The floor is the version this release's rule inventory was certified against, so it moves whenever new rules are decided. Older oxlint skips rules it doesn't know instead of erroring, which means a stale binary quietly under-lints. The `<2` ceiling is there because an oxlint 2.0 needs a release here anyway.
103
103
 
104
104
  **Type-aware assumes a strict tsconfig.** The `type-aware` config expects `"strict": true`, and does its best work with `"noUncheckedIndexedAccess"`. Without them, rules like `typescript/no-unnecessary-condition` both over- and under-report.
105
105
 
package/dist/base.d.ts CHANGED
@@ -169,6 +169,7 @@ declare const _default: {
169
169
  'eslint/no-ternary': "off";
170
170
  'eslint/no-useless-computed-key': "error";
171
171
  'eslint/object-shorthand': "error";
172
+ 'eslint/one-var': ["error", string];
172
173
  'eslint/operator-assignment': "error";
173
174
  'eslint/prefer-arrow-callback': "error";
174
175
  'eslint/prefer-const': "error";
@@ -506,6 +507,9 @@ declare const _default: {
506
507
  'jsdoc/check-property-names': "error";
507
508
  'jsdoc/check-tag-names': "error";
508
509
  'jsdoc/implements-on-classes': "error";
510
+ 'jsdoc/no-blank-blocks': ["error", {
511
+ enableFixer: true;
512
+ }];
509
513
  'jsdoc/no-defaults': "error";
510
514
  'jsdoc/require-property': "off";
511
515
  'jsdoc/require-property-description': "error";
package/dist/base.js CHANGED
@@ -328,6 +328,9 @@ export default defineConfig({
328
328
  'eslint/no-useless-computed-key': 'error',
329
329
  // {x: x} has a shorthand for a reason.
330
330
  'eslint/object-shorthand': 'error',
331
+ // "never" (the default is the opposite): `let a, b = 1` reads as if both were
332
+ // initialized, and one declarator per statement keeps diffs one binding wide.
333
+ 'eslint/one-var': ['error', 'never'],
331
334
  // x = x + y has a += spelling.
332
335
  'eslint/operator-assignment': 'error',
333
336
  // Arrow callbacks keep lexical this; function callbacks invite this-bugs.
@@ -1095,6 +1098,9 @@ export default defineConfig({
1095
1098
  'jsdoc/check-tag-names': 'error',
1096
1099
  // @implements on a non-class is meaningless.
1097
1100
  'jsdoc/implements-on-classes': 'error',
1101
+ // A `/** */` documents nothing — the require-*-description bar applied to the
1102
+ // whole block. Fixer on: oxfmt reflows comments but never deletes them.
1103
+ 'jsdoc/no-blank-blocks': ['error', { enableFixer: true }],
1098
1104
  // Defaults documented in JSDoc drift from the code's actual defaults.
1099
1105
  'jsdoc/no-defaults': 'error',
1100
1106
  // Demanding @property blocks on every typedef is ceremony; completeness
package/dist/index.d.ts CHANGED
@@ -172,6 +172,7 @@ declare const _default: {
172
172
  'eslint/no-ternary': "off";
173
173
  'eslint/no-useless-computed-key': "error";
174
174
  'eslint/object-shorthand': "error";
175
+ 'eslint/one-var': ["error", string];
175
176
  'eslint/operator-assignment': "error";
176
177
  'eslint/prefer-arrow-callback': "error";
177
178
  'eslint/prefer-const': "error";
@@ -509,6 +510,9 @@ declare const _default: {
509
510
  'jsdoc/check-property-names': "error";
510
511
  'jsdoc/check-tag-names': "error";
511
512
  'jsdoc/implements-on-classes': "error";
513
+ 'jsdoc/no-blank-blocks': ["error", {
514
+ enableFixer: true;
515
+ }];
512
516
  'jsdoc/no-defaults': "error";
513
517
  'jsdoc/require-property': "off";
514
518
  'jsdoc/require-property-description': "error";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@himynameisdave/oxlint-config",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "An opinionated oxlint config, by and for himynameisdave.",
5
5
  "keywords": [
6
6
  "config",
@@ -61,19 +61,17 @@
61
61
  "prepublishOnly": "npm run build",
62
62
  "format": "oxfmt --write",
63
63
  "format:check": "oxfmt --check",
64
- "test": "bun run lint && bun run format:check && bun run check-coverage && bun run test:consumer",
65
- "release": "np"
64
+ "test": "bun run lint && bun run format:check && bun run check-coverage && bun run test:consumer"
66
65
  },
67
66
  "devDependencies": {
68
67
  "@types/bun": "^1.3.14",
69
- "np": "^12.0.0",
70
- "oxfmt": "0.61.0",
71
- "oxlint": "1.76.0",
68
+ "oxfmt": "0.63.0",
69
+ "oxlint": "1.78.0",
72
70
  "oxlint-tsgolint": "^7.0.2001",
73
71
  "typescript": "^7.0.0"
74
72
  },
75
73
  "peerDependencies": {
76
- "oxlint": ">=1.76.0 <2",
74
+ "oxlint": ">=1.78.0 <2",
77
75
  "oxlint-tsgolint": ">=7.0.2001"
78
76
  },
79
77
  "peerDependenciesMeta": {