@timmo001/oxlint-rules 0.6.3 → 0.6.5

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
@@ -7,19 +7,19 @@ locally owned generic rules under `timmo` and Effect rules under
7
7
 
8
8
  This package targets the latest stable Oxlint toolchain. Oxlint's
9
9
  [JavaScript plugin API is alpha](https://oxc.rs/docs/guide/usage/linter/config.html)
10
- and is outside its semver guarantees, so each rules release declares the exact
11
- `oxlint` and `@oxlint/plugins` versions it has validated. Older toolchains and
12
- untested future versions are not part of the support contract.
10
+ and is outside its semver guarantees. Each rules release is validated against
11
+ the Oxlint version pinned in its development dependencies, and declares a caret
12
+ peer range from that version so consumers can take newer Oxlint releases
13
+ without waiting for a rules release. Older toolchains are not supported.
13
14
 
14
15
  ## Install
15
16
 
16
- Check the published rules package's `peerDependencies` against the official npm
17
- `latest` versions of `oxlint` and `@oxlint/plugins`. If they differ, a validated
18
- rules release is needed before upgrading. Do not bypass peer checks or override
19
- Vite Plus's bundled dependencies to make an unsupported version fit.
17
+ Check that the official npm `latest` versions of `oxlint` and `@oxlint/plugins`
18
+ satisfy the published rules package's `peerDependencies`. Do not bypass peer
19
+ checks or override Vite Plus's bundled dependencies to make an unsupported
20
+ version fit.
20
21
 
21
- Once the versions match, install from npm with the package manager already used
22
- by the repository:
22
+ Install from npm with the package manager already used by the repository:
23
23
 
24
24
  ```sh
25
25
  bun add --dev --exact @timmo001/oxlint-rules oxlint @oxlint/plugins
@@ -182,24 +182,25 @@ the surrounding test code is linted with the full rule set.
182
182
  isolated consumer using the exact toolchain pins from `package.json` and strict
183
183
  peer checks. It verifies both recommended configs, diagnostics from all four
184
184
  shared namespaces, and valid and invalid type-aware examples. CI runs this
185
- through the existing package workflow's build step. It also requires matching,
186
- exact Oxlint development and peer versions.
185
+ through the existing package workflow's build step. It also requires exact
186
+ Oxlint development versions that satisfy the caret peer ranges.
187
187
 
188
188
  ### Toolchain updates and releases
189
189
 
190
- Renovate's shared preset groups Oxlint, `@oxlint/plugins` and `oxlint-tsgolint`.
191
- The local rule keeps both development and peer dependencies pinned instead of
192
- widening peer ranges. For each update:
190
+ Renovate's shared preset groups Oxlint, `@oxlint/plugins` and `oxlint-tsgolint`
191
+ and widens peer ranges. The local rule keeps the development dependencies
192
+ pinned. For each update:
193
193
 
194
194
  1. Verify the official npm `latest` versions and Oxlint's tsgolint peer
195
195
  requirement. Keep Oxlint and plugins on the same latest version and regenerate
196
196
  the lockfile with the selected tsgolint version.
197
197
  2. Run the checks and package dry-runs above. Fix any API incompatibility before
198
198
  accepting the new pins; do not disable rules or bypass peer failures.
199
- 3. Review and merge the validated update. Consumers need a separately approved
200
- version bump and release to receive the new peer contract. Publishing a
201
- GitHub release triggers the existing npm and JSR workflows; both must succeed
202
- before the update is available to consumers.
199
+ 3. Review and merge the validated update. Consumers already in the peer range
200
+ don't need a rules release; raise the peer floor and release only when the
201
+ rules need a newer Oxlint. Publishing a GitHub release triggers the existing
202
+ npm and JSR workflows; both must succeed before the update is available to
203
+ consumers.
203
204
 
204
205
  Advance `vendor/anti-slop` only by updating its Git submodule commit. Keep its
205
206
  source and MIT licence unchanged, then run the full package checks so both
@@ -0,0 +1,5 @@
1
+ import type { OxlintConfig } from "oxlint";
2
+
3
+ declare const config: OxlintConfig;
4
+
5
+ export default config;
@@ -0,0 +1,5 @@
1
+ import type { OxlintConfig } from "oxlint";
2
+
3
+ declare const config: OxlintConfig;
4
+
5
+ export default config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmo001/oxlint-rules",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "Shared Oxlint plugins and configs with optional Effect rules.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -16,8 +16,14 @@
16
16
  "./upstream/effect": "./dist/upstream/effect.js",
17
17
  "./generic": "./dist/generic/index.js",
18
18
  "./effect": "./dist/effect/index.js",
19
- "./configs/recommended": "./dist/configs/recommended.js",
20
- "./configs/recommended-effect": "./dist/configs/recommended-effect.js"
19
+ "./configs/recommended": {
20
+ "types": "./dist/configs/recommended.d.ts",
21
+ "default": "./dist/configs/recommended.js"
22
+ },
23
+ "./configs/recommended-effect": {
24
+ "types": "./dist/configs/recommended-effect.d.ts",
25
+ "default": "./dist/configs/recommended-effect.js"
26
+ }
21
27
  },
22
28
  "files": [
23
29
  "dist",
@@ -49,14 +55,14 @@
49
55
  "typecheck": "tsc --noEmit"
50
56
  },
51
57
  "peerDependencies": {
52
- "@oxlint/plugins": "1.88.0",
53
- "oxlint": "1.88.0"
58
+ "@oxlint/plugins": "^1.91.0",
59
+ "oxlint": "^1.91.0"
54
60
  },
55
61
  "devDependencies": {
56
- "@oxlint/plugins": "1.88.0",
62
+ "@oxlint/plugins": "1.93.0",
57
63
  "@types/bun": "^1.3.14",
58
- "oxlint": "1.88.0",
59
- "oxlint-tsgolint": "7.0.2004",
64
+ "oxlint": "1.93.0",
65
+ "oxlint-tsgolint": "7.0.2006",
60
66
  "prettier": "^3.9.5",
61
67
  "skills-ref": "0.1.5",
62
68
  "typescript": "^7.0.0"
@@ -15,11 +15,11 @@ description: >-
15
15
  the user names another target.
16
16
  3. Preserve existing ignores, overrides, plugins, and repository-owned rules.
17
17
  Verify the official npm `latest` versions of `oxlint` and `@oxlint/plugins`.
18
- They must match each other and the exact peers of the selected rules release.
19
- Support is latest-only: if the published peer contract has not caught up,
20
- report the pending rules release instead of widening peers or bypassing
21
- package-manager failures. Do not force upgrades of Vite Plus's transitive
22
- dependencies or assume its bundled plugins satisfy this contract.
18
+ They must match each other and satisfy the peer ranges of the selected rules
19
+ release. If they fall outside those ranges, report the pending rules release
20
+ instead of bypassing package-manager failures. Do not force upgrades of Vite
21
+ Plus's transitive dependencies or assume its bundled plugins satisfy this
22
+ contract.
23
23
 
24
24
  ## Package
25
25
 
@@ -18,12 +18,15 @@ description: >-
18
18
  minor, patch, or exact version. Ask only when the release level is missing.
19
19
  Do not add a `v` prefix when the repository's existing tags omit it.
20
20
  3. Verify official npm `latest` metadata for `oxlint`, `@oxlint/plugins` and
21
- `oxlint-tsgolint`. Support is latest-only: keep Oxlint and plugins on the same
22
- latest version, pin their development and peer dependencies exactly, and
23
- select the latest tsgolint satisfying Oxlint's peer requirement. Regenerate
24
- `bun.lock`. The shared Renovate preset groups this toolchain; the local rule
25
- keeps peers pinned. Resolve compatibility failures before releasing, without
26
- widening peers, disabling rules or forcing transitive dependency upgrades.
21
+ `oxlint-tsgolint`. Keep Oxlint and plugins on the same latest version, pinned
22
+ exactly in development dependencies, and select the latest tsgolint
23
+ satisfying Oxlint's peer requirement. Declare the peers as a caret range
24
+ (`^1.91.0`) so consumers can move to newer Oxlint releases without waiting
25
+ for a release here; raise its floor only when the rules need a newer Oxlint.
26
+ Regenerate `bun.lock`. The shared Renovate preset groups this toolchain and
27
+ widens peer ranges; the local rule pins only the development dependencies.
28
+ Resolve compatibility failures before releasing, without disabling rules or
29
+ forcing transitive dependency upgrades.
27
30
  4. Update the version in `package.json` and `jsr.json` only when a version bump
28
31
  is requested. Before committing, run `mise run check`, `mise run build`,
29
32
  `mise run test:package`, `npm pack --dry-run`, and
@@ -45,6 +48,4 @@ description: >-
45
48
  succeed.
46
49
  8. Report the release URL, version commit, validation results, and npm and JSR
47
50
  publication conclusions. Do not report the release as complete while either
48
- publication job is pending or failed. A merged toolchain update alone does
49
- not deliver its peer contract to consumers; preparation ends with publication
50
- pending until a version bump and release are approved.
51
+ publication job is pending or failed.