Repository navigation
chore(deps): update dependency typescript to v7 - #246
renovate[bot] wants to merge 1 commit into
Conversation
Preview DeploymentThe web app for this PR has been deployed: Use this to verify the app works correctly, especially for dependency updates. |
fd5ef1a to
77d5f60
Compare
77d5f60 to
1134366
Compare
1134366 to
d882eca
Compare
d882eca to
b6b5c10
Compare
b6b5c10 to
987981d
Compare
987981d to
f3de097
Compare
f3de097 to
9be6869
Compare
9be6869 to
2ba805e
Compare
2ba805e to
a1b2e32
Compare
a1b2e32 to
73ea135
Compare
Plan M0 PR 5 (`docs/specs/phase-1-plan.md` §5). It makes `prettier
--check .` pass on `main` so PR 6 can turn it into a CI gate.
## Review guide (two commits)
1. **`0ce2485` — config (the only hand-written change)**
- `.prettierignore` (new) excludes four groups, each with a reason in
the file:
- `CHANGELOG.md`: release-it rewrites it on every release.
- `.github/settings.yml`, `apply-repo-settings.yaml`,
`dispatch-review.yaml`, `pr-status-dispatch.yaml`: synced from
`nsheaps/.github`, `nsheaps/agents` and `nsheaps/.org`, so local
formatting would be undone by the next sync. These are the same files as
the `ALLOWLIST` in `scripts/ci/no-inline-logic.ts`, plus `settings.yml`.
- `docs/content/`: the app's bundled docs space, written in Cept
markdown (indented toggle content under `> summary`). Prettier's
CommonMark parser turns it into blockquotes, which changes how it
renders.
- `docs/SPECIFICATION.md`, `.claude/prompts/init.md`: they nest
three-backtick fences inside three-backtick fences. Prettier's repair
restructures everything after those points.
- `.prettierrc`: `embeddedLanguageFormatting: off` for `*.md`. This
leaves **every** fenced code block in markdown unformatted, whatever its
language (`markdown`, `ts`, `json`, `yaml` and so on). Without it,
Prettier reformats the Cept-syntax `markdown` examples in docs such as
`toggle-syntax.md` and breaks them. Narrowing it to specific directories
is an easy follow-up if example drift becomes a problem.
2. **`3c307bf` — `prettier --write .` output only, no hand edits.** 195
files.
## Verification
- **Red:** on `c80acf2`, `prettier --check .` failed on 212 files.
- **Green:** `prettier --check .` passes.
- **Diff review:** I read `git diff --ignore-all-space`:
- Markdown: only table alignment, list spacing and quote style in front
matter. No `cept:` block comments changed.
- YAML: only quote style.
- HTML: only line wrapping and `<!doctype html>`.
- **`mise run check`** passes from a clean install: pins, lint
(including workflows), typecheck, 1748 unit and 14 integration tests
(the same counts as `main`), build and security.
## Follow-ups (not in this PR)
- The two specs with broken nested fences could be fixed by hand (outer
fence as four backticks) and then removed from `.prettierignore`.
- **Conflict risk:** the open PRs #24, #37 and #69 (all months old) and
Renovate #246 will conflict on formatting. Re-running `prettier --write
.` on their branches resolves most of it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01GA968hkqa7CsMeYAhzV4Dz
---------
Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
73ea135 to
347ccb2
Compare
347ccb2 to
4206d37
Compare
4206d37 to
28fd1f3
Compare
28fd1f3 to
4221c66
Compare
There was a problem hiding this comment.
Review Summary — 💬 Comment
Verdict: 💬 Comment (1× P1 follow-up, no P0)
Scope: 2 files, +43 / −3 (package.json + bun.lock)
Type: Automated dependency bump (Renovate) — typescript ~6.0.3 → ~7.0.0 (resolves to 7.0.2)
Head: 4221c66a (rebased since prior review at 28fd1f3c)
⚠️ P1: Major-version bump to the native-compiler rewrite — human verification needed before merge (see inline onpackage.json:58).- ✅ Diff mechanically correct; conservative
~7.0.0range; clean lockfile regeneration. - ✅ No in-repo
tsserverreferences (code-search confirmed) — removed bin should be safe.
Click to expand for full details.
How I arrived at this verdict
The diff itself is mechanically correct — Renovate updated one line in package.json and regenerated the typescript block in bun.lock plus 20 new @typescript/typescript-<os>-<arch>@7.0.2 optional-dep entries. Nothing in the diff is wrong per se.
Per the review instructions I am not basing this verdict on CI signal — I'm basing it on what the diff itself reveals:
- This is not an ordinary minor/patch bump. The lockfile shows TS 7 now distributes 20 platform-specific native binaries and dropped the
tsserverbin (onlytscremains). That matches the public "TypeScript-Native" (Go-based compiler) rewrite — a fundamentally different implementation of the compiler, not just a version increment. - Renovate's release-notes section in the PR body is empty — just a "Compare Source" link, no bullet points. So a human skimming this PR gets zero signal about breaking changes from the PR body alone.
CLAUDE.mdmandates strict TypeScript with noany/ no@ts-ignore, which means any new stricter diagnostics from TS 7 land as hard errors, not warnings. That raises the blast radius of a "harmless" bump.- The version range
~7.0.0is conservative (patch-only within 7.0.x), which is the right call for a fresh major. Good default from Renovate. bun run typecheckrunstsc --noEmitperCLAUDE.md, so the mise/CI gate does not depend on the removedtsserverbin.- GitHub code search for
tsserveracross this repo returns only the lockfile entry onmain— no source, config, or workflow references. Loss oftsserveris unlikely to break anything in-repo, though editor dotfiles and local tooling may still rely on it.
Given (1)–(3), a human should confirm the monorepo typechecks cleanly under TS 7 and that @typescript-eslint 8.70 (both /eslint-plugin and /parser) is compatible with TS 7 before merging. That's a P1 verification task, not a blocking code defect, so this is a COMMENT rather than REQUEST_CHANGES.
Seventh review of this PR. Head was rebased again since 2026-10-20 (28fd1f3c → 4221c66a); the substantive TS-bump content is unchanged. All prior reviews and inline comments are minimized as OUTDATED; this one supersedes them and is self-contained.
Strengths
- ✅ Conservative version range:
~7.0.0restricts to 7.0.x patch releases. - ✅ Lockfile is regenerated cleanly and consistently — every platform-binary entry pins to
7.0.2matching the top-level. - ✅ Scope is minimal and focused — no unrelated changes snuck into the dep-bump PR.
- ✅ Rebased onto latest
mainwithout picking up extraneous churn. - ✅ No in-repo references to the removed
tsserverbin (per GitHub code search).
Follow-ups
P1 (verify before merge)
⚠️ Major version bump 6 → 7 (native compiler rewrite) — see inline comment onpackage.json:58for the concrete checklist (whole-monorepo typecheck,@typescript-eslint8.70 vs TS 7 support matrix,tsconfig.*option compat, andtsserverreferences outside the GitHub-indexed sources).
P0 / P2: none.
Recommendation
Not blocking on code grounds — the diff is what it should be for this update. Recommend a human runs mise run check (or at least bun run validate) locally against the whole monorepo and rg -n tsserver for editor/dotfile references before merging. If any of those turn up work, prefer landing the fix in this PR rather than a follow-up so main doesn't briefly break under TS 7.
Follow-ups:
- P1: Human verification of TS 7 compatibility (see inline on
package.json:58). - P0 / P2: none.
🤖 Automated review by @henry-nsheaps[bot] · workflow run
References
- TypeScript Native port announcement: https://devblogs.microsoft.com/typescript/typescript-native-port/
- Renovate merge-confidence docs: https://docs.renovatebot.com/merge-confidence/
| "release-it": "21.1.0", | ||
| "tailwindcss": "4.3.3", | ||
| "typescript": "~6.0.3", | ||
| "typescript": "~7.0.0", |
There was a problem hiding this comment.
~6.0.3 → ~7.0.0 is a major-version jump, and the bun.lock diff confirms this is the native (Go-based) TypeScript compiler rewrite — not just a semantic increment:
- 20 new
@typescript/typescript-<os>-<arch>@7.0.2platform-binary optional-deps. - The top-level
typescriptentry'sbinmap droppedtsserver— onlytscremains. - Release-notes block in the PR body is empty (just a "Compare Source" link).
CLAUDE.md mandates strict TS with no any / no @ts-ignore, so any new TS 7 strictness lands as hard errors, not warnings.
Verify before merge (not blocking on code grounds):
-
mise run check(orbun run validate) passes locally against the whole monorepo. -
@typescript-eslint8.70 is compatible with TS 7 (currently pinned at8.70.0for both/eslint-pluginand/parser). - No workflow / tooling depends on the removed
tsserverbin. GitHub code search finds no in-repo references outside the lockfile, but a localrg -n tsservercovers editor configs / dotfiles that may not be indexed. -
tsconfig.*options still valid under TS 7 (e.g., any removed/renamed flags).
If any of these turn up work, prefer landing the fix in this PR rather than a follow-up so main doesn't briefly break under TS 7.
Fourth review of the same TS 6→7 bump at this content (seventh review overall; head rebased since 28fd1f3c → 4221c66a without substantive changes). Prior review threads will be resolved as superseded.
This PR contains the following updates:
~6.0.3→~7.0.0Release Notes
microsoft/TypeScript (typescript)
v7.0.2Compare Source
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled because a matching PR was automerged previously.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.