chore: update outdated dependencies to latest versions#74
chore: update outdated dependencies to latest versions#74staging-devin-ai-integration[bot] wants to merge 1 commit intomainfrom
Conversation
- Root package.json:
- @types/glob: ^8.1.0 → ^9.0.0
- @types/jest: ^29.5.0 → ^29.5.14
- @types/node: ^20.17.0 → ^22.0.0
- tailwindcss: ^3.4.14 → ^3.4.19
- ts-jest: ^29.2.0 → ^29.4.0
- typescript: ^5.6.0 → ^5.8.0
- esbuild: ^0.24.0 → ^0.25.0
- glob: ^11.0.0 → ^11.0.1
- packages/typewind/package.json:
- @babel/core: ^7.25.0 → ^7.29.0
- @babel/generator: ^7.25.0 → ^7.29.1
- @babel/plugin-syntax-jsx: ^7.24.0 → ^7.28.6
- @babel/preset-typescript: ^7.24.0 → ^7.28.5
- lightningcss: ^1.27.0 → ^1.32.0
- tailwind-merge: ^2.5.0 → ^2.6.1
- tsup: ^8.3.0 → ^8.5.1
- @types/babel__core: ^7.20.0 → ^7.20.5
- release-it: ^17.8.0 → ^17.11.0
- tailwindcss: ^3.4.14 → ^3.4.19
- packages/typewind/Cargo.toml:
- serde: 1 → 1.0.228
- serde_json: 1.0 → 1.0.149
- swc_core: 27.0.1 → 59.0.1
- swc_ecma_codegen: 14.0.0 → 26.0.0
- packages/typewind/swc/lib.rs:
- Adapt to SWC API changes (Wtf8Atom replaces Atom for string
literal values)
Co-Authored-By: mokshitjain2006+coggitgrant0704 <mokshitjain2006@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Code Review: PR #74 — Update Outdated DependenciesOverall AssessmentThis is a large dependency update spanning both JS and Rust sides. The JS updates are straightforward semver-compatible bumps. The Rust/SWC update ( 🔴 Bugs / High-Risk Issues1. The three changes in Lit::Str(str) => str.value.to_atom_lossy().to_string(),
Recommendation: Consider using a non-lossy conversion path or at minimum adding an assertion/warning when data loss occurs. For example: let atom = str.value.to_atom_lossy();
debug_assert!(atom.as_bytes() == str.value.as_bytes(), "WTF-8 to UTF-8 lossy conversion changed the string");2. The Recommendation: Verify that the direct dependency on 🟡 Edge Cases / Concerns3. This changes Node.js API types significantly. If any code depends on Node 20 APIs that were removed or changed in Node 22 types, this would cause type errors. The PR description doesn't mention checking TypeScript compilation. 4. Major version bumps in type packages often indicate breaking API changes in the underlying package or the types themselves. Verify there are no type incompatibilities. 5. Pinning The 6. This requires a newer version of Cargo. Ensure the CI and all developers have Cargo ≥1.78 (which introduced lockfile v4). If the project supports older Rust toolchains, this could break builds. 🟢 Minor / Nits7.
8. Missing WASM binary rebuild The PR updates the Rust dependencies, but doesn't include a rebuilt SummaryThe JS dependency updates look safe. The SWC major version jump is the highest-risk part — the |
Summary
Updates all outdated dependencies in
package.jsonandCargo.tomlfiles to their latest versions. All existing tests (Jest 6/6 + Cargo 1/1) continue to pass.Root
package.json@types/glob^8.1.0^9.0.0@types/jest^29.5.0^29.5.14@types/node^20.17.0^22.0.0tailwindcss^3.4.14^3.4.19ts-jest^29.2.0^29.4.0typescript^5.6.0^5.8.0esbuild^0.24.0^0.25.0glob^11.0.0^11.0.1packages/typewind/package.json@babel/core^7.25.0^7.29.0@babel/generator^7.25.0^7.29.1@babel/plugin-syntax-jsx^7.24.0^7.28.6@babel/preset-typescript^7.24.0^7.28.5lightningcss^1.27.0^1.32.0tailwind-merge^2.5.0^2.6.1tsup^8.3.0^8.5.1@types/babel__core^7.20.0^7.20.5release-it^17.8.0^17.11.0tailwindcss^3.4.14^3.4.19packages/typewind/Cargo.tomlserde11.0.228serde_json1.01.0.149swc_core27.0.159.0.1swc_ecma_codegen14.0.026.0.0Code changes (
swc/lib.rs)Adapted to SWC API changes where
Str.valuechanged fromAtomtoWtf8Atom. Usedto_atom_lossy()to convertWtf8Atomback to string representations.Note:
tailwindcsswas kept at v3.x (updated to^3.4.19) since v4 is a complete rewrite with a fundamentally different API that would break the project.Review & Testing Checklist for Human
examples/*Wtf8Atom→ string conversions viato_atom_lossy()handle edge cases (e.g., non-UTF-8 content) — this uses lossy conversion which replaces invalid sequencespackage-lock.jsonresolves cleanly on a freshnpm install(note:--legacy-peer-depswas needed due to pre-existing peer dep conflicts in the examples)Notes
boo) passesCargo.lockis updated to reflect the new dependency treeLink to Devin session: https://staging.itsdev.in/sessions/a26fc04a869b496d9ff23a1f292da6b6
Requested by: @Mokshit06