Skip to content

chore(deps): bump @exadev/eslint-config to 2.12.1 - #113

Merged
Mearman merged 6 commits into
mainfrom
chore/bump-exadev-eslint-config
Sep 14, 2026
Merged

chore(deps): bump @exadev/eslint-config to 2.12.1#113
Mearman merged 6 commits into
mainfrom
chore/bump-exadev-eslint-config

Conversation

@Mearman

@Mearman Mearman commented Sep 14, 2026

Copy link
Copy Markdown
Member

Bumps @exadev/eslint-config from 2.10.6 to 2.12.1 across every package that depends on it (core, node, cloudflare-hub, web-console, conformance).

Since 2.10.6, the config gained a JSDoc/TSDoc quality rule (2.11.0), a ban on Stryker-suppression comments plus an 800-line file cap (2.12.0), and a pinned eslint-plugin-jsdoc dependency (2.12.1, no rule changes).

Fallout from the new rules, fixed at the root cause rather than suppressed:

  • tsdoc-escape-greater-than: one doc comment in wire-mesh-node used bare -> arrow notation, which TSDoc parses as a possible HTML tag; escaped the > characters.
  • tsdoc-html-tag-missing-greater-than/tsdoc-escape-greater-than: a test comment referenced Omit<TokenClaims, ...> as plain prose; wrapped it in backticks as an inline code span.
  • max-lines: core/test/tokens.test.ts (1669 lines) and core/test/mesh-session.test.ts (1761 lines) both exceeded the new 800-line cap. Split each into a shared fixtures module plus several per-concern test files (grouped by which exported function/behaviour each describe block covers), rather than chopping by line count. All 60 and 75 original test cases respectively carry over unchanged, confirmed by test-count parity and a full green run.

No Stryker-suppression comments existed in this repo, so no-warning-comments needed no fixes.

Also sets saveExact: true and excludes @exadev/eslint-config from minimumReleaseAge (ExaDev controls that package's own release pipeline), written to both pnpm-workspace.yaml (the location pnpm 11+ reads) and .npmrc (the pnpm-10.x-pre-10.17 fallback), for both the ts/ workspace and the standalone conformance/ package.

Pulls in the JSDoc/TSDoc quality rule from 2.11.0, the Stryker-comment
ban and 800-line file cap from 2.12.0, and 2.12.1's pinned
eslint-plugin-jsdoc dependency, across every package that depends on
it: core, node, cloudflare-hub, web-console, and conformance.
…fig from release-age gating

Sets saveExact so a future pnpm add pins a precise version instead of
a caret range, and excludes @exadev/eslint-config from
minimumReleaseAge since ExaDev controls its release pipeline and the
gate's threat model (a compromised third-party maintainer) doesn't
apply to a package we publish ourselves. Written to pnpm-workspace.yaml,
the location pnpm 11+ actually reads, with a matching .npmrc fallback
for pnpm 10.x releases older than 10.17.
bytesFromRawData's doc comment used bare "->" arrows to describe the
decode -> store -> re-encode round trip; TSDoc parses an unescaped ">"
as a possible HTML tag close, so escape each one to keep the comment
valid syntax.
…-line cap

tokens.test.ts had grown to 1669 lines, past eslint-config's new
max-lines rule. Extracts the shared signing/identity/encoding helpers
into tokens-fixtures.ts and divides the describe blocks by concern:
core verifyCapabilityToken checks (signature, expiry, revocation,
bearer, and hostile-input handling), delegation-chain narrowing rules,
verifyRevocationEntry plus the memory-storage/system-clock adapters,
and mintCapabilityToken/canGrant/mintRevocationEntry. All 60 original
test cases carry over unchanged.
…he 800-line cap

mesh-session.test.ts had grown to 1761 lines, past eslint-config's new
max-lines rule. Extracts the shared FakeConnection fixture, transport
factories, and timing helpers into mesh-session-fixtures.ts, and
divides the describe blocks by concern: createMeshSession, reconnect
policy, capability-token/manage-request plumbing, revocation-announce
plumbing, relay routing, and acceptMeshSession. All 75 original test
cases carry over unchanged.
Updates the packageManager field in every package.json that carries
one (the ts/ and conformance/ workspace roots, plus the four
standalone-installable ts/packages/* leaves) from pnpm 10.33.0 to
12.4.1 via corepack, regenerating both lockfiles for the new engine.

pnpm 12 stopped reading a package.json "pnpm.overrides" block, so
ts/'s conventional-changelog-writer override moves to
pnpm-workspace.yaml's own overrides field. pnpm 12 also hard-fails an
install with unapproved build scripts rather than warning; explicitly
disallows esbuild, sharp, and workerd in both workspaces' allowBuilds,
matching their existing behaviour under pnpm 10, where these same
scripts were already silently ignored without being run.
@Mearman
Mearman marked this pull request as ready for review September 14, 2026 08:52
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review Completed 2026-09-14T08:59:41.827086Z 153c764 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Mearman
Mearman merged commit 1b64bfd into main Sep 14, 2026
8 checks passed
@Mearman
Mearman deleted the chore/bump-exadev-eslint-config branch September 14, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant