diff options
Diffstat (limited to 'pkgs/build-support/node/fetch-npm-deps/src/cacache.rs')
-rw-r--r-- | pkgs/build-support/node/fetch-npm-deps/src/cacache.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs index 8c6845d6ac5a7..403c909dee115 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs @@ -1,4 +1,4 @@ -use base64::prelude::{Engine, BASE64_STANDARD}; +use data_encoding::BASE64; use digest::{Digest, Update}; use serde::{Deserialize, Serialize}; use sha1::Sha1; @@ -60,16 +60,18 @@ impl Cache { integrity: Option<String>, ) -> anyhow::Result<()> { let (algo, hash, integrity) = if let Some(integrity) = integrity { - let (algo, hash) = integrity.split_once('-').unwrap(); + let (algo, hash) = integrity + .split_once('-') + .expect("hash should be SRI format"); - (algo.to_string(), BASE64_STANDARD.decode(hash)?, integrity) + (algo.to_string(), BASE64.decode(hash.as_bytes())?, integrity) } else { let hash = Sha512::new().chain(data).finalize(); ( String::from("sha512"), hash.to_vec(), - format!("sha512-{}", BASE64_STANDARD.encode(hash)), + format!("sha512-{}", BASE64.encode(&hash)), ) }; |