pnpm -r check:lint only runs in packages that define a check:lint script. The companion packages (redis, pino, …, and the new @stitchapi/download) don't — so ESLint (including the repo's no-restricted-syntax rules) never runs against their src / test.
This bit #451: a banned ...(x !== undefined ? { k: x } : {}) spread (should be compact({…})) landed in @stitchapi/download/src/classify.ts and passed all local checks. Only check:contract (a different ratchet) surfaced a related issue in CI; the core copy of the same pattern failed check:lint only because core has the script.
Proposal
Give every publishable companion package a check:lint script (eslint src test), matching core — or add a single root ESLint pass over packages/*/src + packages/*/test. Then pnpm -r check:lint (and the verify job) covers the whole workspace and the lint ratchet can't be bypassed by a package that simply omits the script.
pnpm -r check:lintonly runs in packages that define acheck:lintscript. The companion packages (redis,pino, …, and the new@stitchapi/download) don't — so ESLint (including the repo'sno-restricted-syntaxrules) never runs against theirsrc/test.This bit #451: a banned
...(x !== undefined ? { k: x } : {})spread (should becompact({…})) landed in@stitchapi/download/src/classify.tsand passed all local checks. Onlycheck:contract(a different ratchet) surfaced a related issue in CI; the core copy of the same pattern failedcheck:lintonly because core has the script.Proposal
Give every publishable companion package a
check:lintscript (eslint src test), matching core — or add a single root ESLint pass overpackages/*/src+packages/*/test. Thenpnpm -r check:lint(and theverifyjob) covers the whole workspace and the lint ratchet can't be bypassed by a package that simply omits the script.