From f87c22104ec34bdeeced0d42e999522d291af79a Mon Sep 17 00:00:00 2001 From: Yusuke Wada Date: Tue, 24 Sep 2024 21:43:49 +0900 Subject: [PATCH] chore: remove `crypto-js` from dev dependencies (#3447) --- bun.lockb | Bin 351085 -> 350361 bytes package.json | 2 -- runtime-tests/fastly/index.test.ts | 4 ++-- src/middleware/basic-auth/index.test.ts | 4 ++-- src/utils/buffer.test.ts | 8 ++++++-- yarn.lock | 12 +----------- 6 files changed, 11 insertions(+), 19 deletions(-) diff --git a/bun.lockb b/bun.lockb index 19b2ac41ebdfcb7a0dc8109207d4403aa8b8cee7..b77f85b3af21b9d4350e65838cb9b1e03ac72841 100755 GIT binary patch delta 53882 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 LP1i}&^PbEc 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 delta 53393 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 { basicAuth({ username, password, - hashFunction: (m: string) => SHA256(m).toString(), + hashFunction: (m: string) => createHash('sha256').update(m).digest('hex'), }) ) diff --git a/src/middleware/basic-auth/index.test.ts b/src/middleware/basic-auth/index.test.ts index 1fc7015a..e64d2db5 100644 --- a/src/middleware/basic-auth/index.test.ts +++ b/src/middleware/basic-auth/index.test.ts @@ -1,4 +1,4 @@ -import { SHA256 } from 'crypto-js' +import { createHash } from 'crypto' import { Hono } from '../../hono' import { basicAuth } from '.' @@ -61,7 +61,7 @@ describe('Basic Auth by Middleware', () => { basicAuth({ username: username, password: password, - hashFunction: (data: string) => SHA256(data).toString(), + hashFunction: (data: string) => createHash('sha256').update(data).digest('hex'), }) ) diff --git a/src/utils/buffer.test.ts b/src/utils/buffer.test.ts index 5fba3b6d..62f80581 100644 --- a/src/utils/buffer.test.ts +++ b/src/utils/buffer.test.ts @@ -1,4 +1,4 @@ -import { SHA256 as sha256CryptoJS } from 'crypto-js' +import { createHash } from 'crypto' import { bufferToFormData, bufferToString, equal, timingSafeEqual } from './buffer' describe('equal', () => { @@ -42,7 +42,11 @@ describe('buffer', () => { expect(await timingSafeEqual(undefined, undefined)).toBe(true) expect(await timingSafeEqual(true, true)).toBe(true) expect(await timingSafeEqual(false, false)).toBe(true) - expect(await timingSafeEqual(true, true, (d: string) => sha256CryptoJS(d).toString())) + expect( + await timingSafeEqual(true, true, (d: boolean) => + createHash('sha256').update(d.toString()).digest('hex') + ) + ) }) it('negative', async () => { diff --git a/yarn.lock b/yarn.lock index da515f14..f143d750 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: DA11529C7F97C3FF-b3237be4d6b40612-FCFA012DAF0DCABC-52f32378b87f3da5 +# bun ./bun.lockb --hash: 229521234768470F-a4cd9955ab6a6ada-9D052F6AF60C5C4D-0bfb97a3d93af742 "@ampproject/remapping@^2.3.0": @@ -1137,11 +1137,6 @@ resolved "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz" integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== -"@types/crypto-js@^4.1.1": - version "4.2.2" - resolved "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz" - integrity sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ== - "@types/estree@1.0.5": version "1.0.5" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" @@ -2067,11 +2062,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-js@^4.1.1: - version "4.2.0" - resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz"