From d191172550ae23de79e9748a40fe31de173cbdca Mon Sep 17 00:00:00 2001 From: Junxiao Shi Date: Tue, 24 Sep 2019 07:56:33 -0400 Subject: [PATCH] jest: ensure `Buffer instanceof Uint8Array` https://github.com/facebook/jest/issues/4422 --- jest.config.js | 2 +- mk/jest-env/node.js | 10 ++++++++++ packages/tlv/package.json | 6 ------ packages/tlv/src/decoder.ts | 5 ----- pnpm-lock.yaml | 20 +------------------- 5 files changed, 12 insertions(+), 31 deletions(-) create mode 100644 mk/jest-env/node.js diff --git a/jest.config.js b/jest.config.js index 2e3493db..1893a033 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,7 +2,7 @@ const path = require("path"); module.exports = { preset: 'ts-jest', - testEnvironment: 'node', + testEnvironment: './mk/jest-env/node', moduleFileExtensions: ['ts', 'js'], moduleNameMapper: { diff --git a/mk/jest-env/node.js b/mk/jest-env/node.js new file mode 100644 index 00000000..67c2c829 --- /dev/null +++ b/mk/jest-env/node.js @@ -0,0 +1,10 @@ +const NodeEnvironment = require("jest-environment-node"); + +class MyEnvironment extends NodeEnvironment { + async setup() { + await super.setup(); + this.global.Uint8Array = Uint8Array; + } +} + +module.exports = MyEnvironment; diff --git a/packages/tlv/package.json b/packages/tlv/package.json index 00240e41..a220683c 100644 --- a/packages/tlv/package.json +++ b/packages/tlv/package.json @@ -22,11 +22,5 @@ "publishConfig": { "main": "lib/index.js", "types": "lib/index.d.ts" - }, - "dependencies": { - "is-buffer": "^2.0.3" - }, - "devDependencies": { - "@types/is-buffer": "^2.0.0" } } diff --git a/packages/tlv/src/decoder.ts b/packages/tlv/src/decoder.ts index 535633df..5157a748 100644 --- a/packages/tlv/src/decoder.ts +++ b/packages/tlv/src/decoder.ts @@ -1,5 +1,3 @@ -import isBuffer from "is-buffer"; - export interface Decodable { decodeFrom(decoder: Decoder): R; } @@ -52,9 +50,6 @@ export class Decoder { private offset: number = 0; constructor(private input: Uint8Array) { - if (isBuffer(input)) { - this.input = new Uint8Array(input.buffer, input.byteOffset, input.byteLength); - } } /** Read TLV structure. */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9b8f8e0..96aeccc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,13 +130,7 @@ importers: '@ndn/llface': 'workspace:*' remote-controlled-promise: ^0.0.4 packages/tlv: - dependencies: - is-buffer: 2.0.3 - devDependencies: - '@types/is-buffer': 2.0.0 - specifiers: - '@types/is-buffer': ^2.0.0 - is-buffer: ^2.0.3 + specifiers: {} packages/ws-transport: dependencies: '@ndn/llface': 'link:../llface' @@ -1471,12 +1465,6 @@ packages: dev: true resolution: integrity: sha512-l+s0IoxSHqhLFJPDHRfO235kgrCkvFD8JmdV/T9C4BKBYPIjrQopGFH4r7h2e3jQqgJRCthRCAZIxDoFnj1zwQ== - /@types/is-buffer/2.0.0: - dependencies: - '@types/node': 12.7.5 - dev: true - resolution: - integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw== /@types/istanbul-lib-coverage/2.0.1: dev: true resolution: @@ -4948,12 +4936,6 @@ packages: dev: true resolution: integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - /is-buffer/2.0.3: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== /is-callable/1.1.4: dev: true engines: