mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-06 17:27:59 +00:00
feat: remove Buffer support and bundle polyfill (#2526)
- Removes need for bundlers to polyfill the `Buffer` class. `UInt8Array` are used instead which are native to the browser and node. - Reduces bundle size 7.1kb gzipped and eliminates 4 runtime dependencies: `base-x`, `base64-js`, `buffer`, and `ieee754`. BREAKING CHANGE: All methods that previously took a `Buffer` now accept a `UInt8Array`. --------- Co-authored-by: Jackson Mills <jmills@ripple.com>
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
/* eslint-disable max-len -- Some large lines necessary */
|
||||
/* eslint-disable max-statements -- test has a lot of statements */
|
||||
import net from 'net'
|
||||
|
||||
@@ -25,22 +24,6 @@ import {
|
||||
} from './setupClient'
|
||||
import { assertRejects, ignoreWebSocketDisconnect } from './testUtils'
|
||||
|
||||
type GlobalThis = typeof globalThis
|
||||
type Global = GlobalThis & {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Necessary for Jest in browser
|
||||
TextEncoder: any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Necessary for Jest in browser
|
||||
TextDecoder: any
|
||||
}
|
||||
declare const global: Global
|
||||
|
||||
if (typeof TextDecoder === 'undefined') {
|
||||
// eslint-disable-next-line node/global-require, @typescript-eslint/no-require-imports, node/prefer-global/text-encoder, global-require, @typescript-eslint/no-var-requires -- Needed for Jest
|
||||
global.TextEncoder = require('util').TextEncoder
|
||||
// eslint-disable-next-line node/global-require, @typescript-eslint/no-require-imports, node/prefer-global/text-decoder, global-require, @typescript-eslint/no-var-requires -- Needed for Jest
|
||||
global.TextDecoder = require('util').TextDecoder
|
||||
}
|
||||
|
||||
// how long before each test case times out
|
||||
const TIMEOUT = 20000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user