Skip to content

Take sha2 0.11 and TypeScript 7 with the fixes they need - #54

Merged
Django1982 merged 4 commits into
mainfrom
claude/busy-hamilton-z2zym0
Oct 3, 2026
Merged

Django1982 merged 4 commits into
mainfrom
claude/busy-hamilton-z2zym0

Conversation

@Django1982

Copy link
Copy Markdown
Owner

Summary

Dependabot's #50 (TypeScript 7) and #52 (sha2 0.11) both failed CI because each major needs a small code change. This PR carries both bumps plus those fixes, and stops Dependabot proposing @types/node majors ahead of the Node runtime (#53).

Related issue

Supersedes Dependabot PRs #50, #52, #53.

Type of change

  • Refactoring or maintenance
  • Build, installer, or release change

Changes made

  • sha2 0.10 → 0.11:
    • Dependabot's commit, cherry-picked with -x.
    • Plus backup.rs: 0.11's digest type no longer implements LowerHex, so format!("{:x}", …) stopped compiling. The checksum is now formatted per byte, the same way engine.rs already does it.
    • A new test pins the output to the known SHA-256 of "abc". Restore compares against checksums stored in existing backup manifests, so the lowercase-hex format must not change.
  • TypeScript 5.9 → 7.0:
    • TS 7 rejects side-effect imports without declarations (import './styles.css' in main.ts).
    • Fixed by adding the standard src/vite-env.d.ts (/// <reference types="vite/client" />).
  • dependabot.yml: ignores semver-major updates of @types/node. Typings should follow the Node major the server runs on (24), not the newest release.

Testing performed

  • I checked for new console or build errors.

  • Reproduced both CI failures locally before fixing:

    • TS2882 on styles.css.
    • E0277 … LowerHex in backup.rs.
  • cargo test --lib --locked: 63 passed (incl. new digest test), 11 ignored. cargo audit: no vulnerabilities.

  • npm ci (clean), npm test: 478 passed, npm run build, npm run build:server, npm run validate:printers: OK. npm audit: 0.

Test environment

Operating system: Linux (cloud container)
PerfectFit version or branch: claude/busy-hamilton-z2zym0 on top of current main
Slicer and version: n/a
Printer, if relevant: n/a

Compatibility and risks

  • TypeScript 7 is the native compiler port. Here it only runs as the tsc --noEmit typecheck; Vite/Vitest don't use it to transpile, so bundle output is unaffected.
  • Backup checksums: format unchanged and pinned by the test above.

Final checklist

  • My changes are focused on one issue or purpose.
  • I reviewed my own changes.
  • I did not include unrelated formatting or generated files.
  • Existing functionality continues to work.
  • I am ready to respond to review feedback.

🤖 Generated with Claude Code

https://claude.ai/code/session_012ogkkoq4TrDQskE34iXVzx


Generated by Claude Code

dependabot Bot and others added 4 commits October 3, 2026 04:17
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.9 to 0.11.0.
- [Commits](RustCrypto/hashes@sha2-v0.10.9...sha2-v0.11.0)

---
updated-dependencies:
- dependency-name: sha2
  dependency-version: 0.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit f422c3a)
sha2 0.11 returns a hybrid-array digest that no longer implements
LowerHex. Use the same per-byte formatting engine.rs already does, and
pin the output with a known-digest test: restore compares against
checksums stored in existing backup manifests, so the format must not
drift.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012ogkkoq4TrDQskE34iXVzx
TypeScript 7 rejects side-effect imports it has no declarations for,
so main.ts's stylesheet import failed the typecheck. Reference Vite's
client types, which declare CSS and other asset imports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012ogkkoq4TrDQskE34iXVzx
Dependabot proposed @types/node 26 while the server and CI run on
Node 24.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012ogkkoq4TrDQskE34iXVzx
@Django1982
Django1982 merged commit c57005e into main Oct 3, 2026
8 checks passed
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.

2 participants