Skip to content

Commit 560db51

Browse files
authored
[rust-compiler] Switch to hmac-sha256 and bump napi/similar (react#36809)
## Summary Dependency maintenance for the Rust compiler crates. ### Fast Refresh hash: sha2 + hmac → hmac-sha256 The Fast Refresh source hash (`enableResetCacheOnSourceFileChanges`) only needs an HMAC-SHA256 of the source text, matching the TS compiler's `createHmac('sha256', code).digest('hex')`. RustCrypto's `sha2` + `hmac` pulled in **11 crates** (`sha2`, `hmac`, `digest`, `block-buffer`, `typenum`, `crypto-common`, `hybrid-array`, `const-oid`, `cpufeatures`, `cmov`, `ctutils`) — generic-hashing / constant-time machinery that is irrelevant for a non-security content fingerprint. This replaces them with the single **zero-dependency** `hmac-sha256` crate: a net reduction of **10 crates**. HMAC-SHA256 is a standardized deterministic algorithm, so the emitted hash is unchanged. A new unit test `source_file_hash_matches_node_create_hmac` pins the result against Node's `createHmac('sha256', code).digest('hex')` for several inputs. ### Other bumps - `napi` / `napi-derive` 2 → 3 - `similar` 2 → 3 (dev-dependency) - Drop the unused `react_compiler_lowering` dependency from `react_compiler_ssa` `cargo check --workspace --all-targets` passes, including the napi 3 native crate.
1 parent 0ca9d20 commit 560db51

6 files changed

Lines changed: 164 additions & 146 deletions

File tree

0 commit comments

Comments
 (0)