summaryrefslogtreecommitdiff
path: root/node_modules/@esbuild-plugins
diff options
context:
space:
mode:
authorakiyamn2023-09-24 23:22:21 +1000
committerakiyamn2023-09-24 23:22:21 +1000
commit4e87195739f2a5d9a05451b48773c8afdc680765 (patch)
tree9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/@esbuild-plugins
downloadprice-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz
price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/@esbuild-plugins')
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js2168
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/_process.js1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts7
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js80
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js139
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts7
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js73
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js137
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/package.json34
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/process.js245
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/src/index.test.ts155
-rw-r--r--node_modules/@esbuild-plugins/node-globals-polyfill/src/index.ts84
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts8
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js127
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js183
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js61
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts8
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js120
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js178
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts2
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js57
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js.map1
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/package.json33
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/src/index.test.ts200
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/src/index.ts133
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/src/polyfills.ts151
51 files changed, 4422 insertions, 0 deletions
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js b/node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js
new file mode 100644
index 0000000..a857959
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js
@@ -0,0 +1,2168 @@
+// taken from https://github.com/calvinmetcalf/buffer-es6
+
+/*!
+ * The buffer module from node.js, for the browser.
+ *
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
+ * @license MIT
+ */
+/* eslint-disable no-proto */
+
+var lookup = []
+var revLookup = []
+var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
+var inited = false
+function init() {
+ inited = true
+ var code =
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
+ for (var i = 0, len = code.length; i < len; ++i) {
+ lookup[i] = code[i]
+ revLookup[code.charCodeAt(i)] = i
+ }
+
+ revLookup['-'.charCodeAt(0)] = 62
+ revLookup['_'.charCodeAt(0)] = 63
+}
+
+function base64toByteArray(b64) {
+ if (!inited) {
+ init()
+ }
+ var i, j, l, tmp, placeHolders, arr
+ var len = b64.length
+
+ if (len % 4 > 0) {
+ throw new Error('Invalid string. Length must be a multiple of 4')
+ }
+
+ // the number of equal signs (place holders)
+ // if there are two placeholders, than the two characters before it
+ // represent one byte
+ // if there is only one, then the three characters before it represent 2 bytes
+ // this is just a cheap hack to not do indexOf twice
+ placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0
+
+ // base64 is 4/3 + up to two characters of the original data
+ arr = new Arr((len * 3) / 4 - placeHolders)
+
+ // if there are placeholders, only get up to the last complete 4 chars
+ l = placeHolders > 0 ? len - 4 : len
+
+ var L = 0
+
+ for (i = 0, j = 0; i < l; i += 4, j += 3) {
+ tmp =
+ (revLookup[b64.charCodeAt(i)] << 18) |
+ (revLookup[b64.charCodeAt(i + 1)] << 12) |
+ (revLookup[b64.charCodeAt(i + 2)] << 6) |
+ revLookup[b64.charCodeAt(i + 3)]
+ arr[L++] = (tmp >> 16) & 0xff
+ arr[L++] = (tmp >> 8) & 0xff
+ arr[L++] = tmp & 0xff
+ }
+
+ if (placeHolders === 2) {
+ tmp =
+ (revLookup[b64.charCodeAt(i)] << 2) |
+ (revLookup[b64.charCodeAt(i + 1)] >> 4)
+ arr[L++] = tmp & 0xff
+ } else if (placeHolders === 1) {
+ tmp =
+ (revLookup[b64.charCodeAt(i)] << 10) |
+ (revLookup[b64.charCodeAt(i + 1)] << 4) |
+ (revLookup[b64.charCodeAt(i + 2)] >> 2)
+ arr[L++] = (tmp >> 8) & 0xff
+ arr[L++] = tmp & 0xff
+ }
+
+ return arr
+}
+
+function tripletToBase64(num) {
+ return (
+ lookup[(num >> 18) & 0x3f] +
+ lookup[(num >> 12) & 0x3f] +
+ lookup[(num >> 6) & 0x3f] +
+ lookup[num & 0x3f]
+ )
+}
+
+function encodeChunk(uint8, start, end) {
+ var tmp
+ var output = []
+ for (var i = start; i < end; i += 3) {
+ tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]
+ output.push(tripletToBase64(tmp))
+ }
+ return output.join('')
+}
+
+function base64fromByteArray(uint8) {
+ if (!inited) {
+ init()
+ }
+ var tmp
+ var len = uint8.length
+ var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
+ var output = ''
+ var parts = []
+ var maxChunkLength = 16383 // must be multiple of 3
+
+ // go through the array every three bytes, we'll deal with trailing stuff later
+ for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
+ parts.push(
+ encodeChunk(
+ uint8,
+ i,
+ i + maxChunkLength > len2 ? len2 : i + maxChunkLength,
+ ),
+ )
+ }
+
+ // pad the end with zeros, but make sure to not forget the extra bytes
+ if (extraBytes === 1) {
+ tmp = uint8[len - 1]
+ output += lookup[tmp >> 2]
+ output += lookup[(tmp << 4) & 0x3f]
+ output += '=='
+ } else if (extraBytes === 2) {
+ tmp = (uint8[len - 2] << 8) + uint8[len - 1]
+ output += lookup[tmp >> 10]
+ output += lookup[(tmp >> 4) & 0x3f]
+ output += lookup[(tmp << 2) & 0x3f]
+ output += '='
+ }
+
+ parts.push(output)
+
+ return parts.join('')
+}
+
+var INSPECT_MAX_BYTES = 50
+
+/**
+ * If `Buffer.TYPED_ARRAY_SUPPORT`:
+ * === true Use Uint8Array implementation (fastest)
+ * === false Use Object implementation (most compatible, even IE6)
+ *
+ * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
+ * Opera 11.6+, iOS 4.2+.
+ *
+ * Due to various browser bugs, sometimes the Object implementation will be used even
+ * when the browser supports typed arrays.
+ *
+ * Note:
+ *
+ * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
+ * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
+ *
+ * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
+ *
+ * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
+ * incorrect length in some situations.
+
+ * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
+ * get the Object implementation, which is slower but behaves correctly.
+ */
+Buffer.TYPED_ARRAY_SUPPORT =
+ global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true
+
+function kMaxLength() {
+ return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff
+}
+
+function createBuffer(that, length) {
+ if (kMaxLength() < length) {
+ throw new RangeError('Invalid typed array length')
+ }
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ // Return an augmented `Uint8Array` instance, for best performance
+ that = new Uint8Array(length)
+ that.__proto__ = Buffer.prototype
+ } else {
+ // Fallback: Return an object instance of the Buffer class
+ if (that === null) {
+ that = new Buffer(length)
+ }
+ that.length = length
+ }
+
+ return that
+}
+
+/**
+ * The Buffer constructor returns instances of `Uint8Array` that have their
+ * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
+ * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
+ * and the `Uint8Array` methods. Square bracket notation works as expected -- it
+ * returns a single octet.
+ *
+ * The `Uint8Array` prototype remains unmodified.
+ */
+
+export function Buffer(arg, encodingOrOffset, length) {
+ if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
+ return new Buffer(arg, encodingOrOffset, length)
+ }
+
+ // Common case.
+ if (typeof arg === 'number') {
+ if (typeof encodingOrOffset === 'string') {
+ throw new Error(
+ 'If encoding is specified then the first argument must be a string',
+ )
+ }
+ return allocUnsafe(this, arg)
+ }
+ return from(this, arg, encodingOrOffset, length)
+}
+
+Buffer.poolSize = 8192 // not used by this implementation
+
+// TODO: Legacy, not needed anymore. Remove in next major version.
+Buffer._augment = function(arr) {
+ arr.__proto__ = Buffer.prototype
+ return arr
+}
+
+function from(that, value, encodingOrOffset, length) {
+ if (typeof value === 'number') {
+ throw new TypeError('"value" argument must not be a number')
+ }
+
+ if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
+ return fromArrayBuffer(that, value, encodingOrOffset, length)
+ }
+
+ if (typeof value === 'string') {
+ return fromString(that, value, encodingOrOffset)
+ }
+
+ return fromObject(that, value)
+}
+
+/**
+ * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
+ * if value is a number.
+ * Buffer.from(str[, encoding])
+ * Buffer.from(array)
+ * Buffer.from(buffer)
+ * Buffer.from(arrayBuffer[, byteOffset[, length]])
+ **/
+Buffer.from = function(value, encodingOrOffset, length) {
+ return from(null, value, encodingOrOffset, length)
+}
+
+Buffer.kMaxLength = kMaxLength()
+
+if (Buffer.TYPED_ARRAY_SUPPORT) {
+ Buffer.prototype.__proto__ = Uint8Array.prototype
+ Buffer.__proto__ = Uint8Array
+ if (
+ typeof Symbol !== 'undefined' &&
+ Symbol.species &&
+ Buffer[Symbol.species] === Buffer
+ ) {
+ // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
+ // Object.defineProperty(Buffer, Symbol.species, {
+ // value: null,
+ // configurable: true
+ // })
+ }
+}
+
+function assertSize(size) {
+ if (typeof size !== 'number') {
+ throw new TypeError('"size" argument must be a number')
+ } else if (size < 0) {
+ throw new RangeError('"size" argument must not be negative')
+ }
+}
+
+function alloc(that, size, fill, encoding) {
+ assertSize(size)
+ if (size <= 0) {
+ return createBuffer(that, size)
+ }
+ if (fill !== undefined) {
+ // Only pay attention to encoding if it's a string. This
+ // prevents accidentally sending in a number that would
+ // be interpretted as a start offset.
+ return typeof encoding === 'string'
+ ? createBuffer(that, size).fill(fill, encoding)
+ : createBuffer(that, size).fill(fill)
+ }
+ return createBuffer(that, size)
+}
+
+/**
+ * Creates a new filled Buffer instance.
+ * alloc(size[, fill[, encoding]])
+ **/
+Buffer.alloc = function(size, fill, encoding) {
+ return alloc(null, size, fill, encoding)
+}
+
+function allocUnsafe(that, size) {
+ assertSize(size)
+ that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
+ if (!Buffer.TYPED_ARRAY_SUPPORT) {
+ for (var i = 0; i < size; ++i) {
+ that[i] = 0
+ }
+ }
+ return that
+}
+
+/**
+ * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
+ * */
+Buffer.allocUnsafe = function(size) {
+ return allocUnsafe(null, size)
+}
+/**
+ * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
+ */
+Buffer.allocUnsafeSlow = function(size) {
+ return allocUnsafe(null, size)
+}
+
+function fromString(that, string, encoding) {
+ if (typeof encoding !== 'string' || encoding === '') {
+ encoding = 'utf8'
+ }
+
+ if (!Buffer.isEncoding(encoding)) {
+ throw new TypeError('"encoding" must be a valid string encoding')
+ }
+
+ var length = byteLength(string, encoding) | 0
+ that = createBuffer(that, length)
+
+ var actual = that.write(string, encoding)
+
+ if (actual !== length) {
+ // Writing a hex string, for example, that contains invalid characters will
+ // cause everything after the first invalid character to be ignored. (e.g.
+ // 'abxxcd' will be treated as 'ab')
+ that = that.slice(0, actual)
+ }
+
+ return that
+}
+
+function fromArrayLike(that, array) {
+ var length = array.length < 0 ? 0 : checked(array.length) | 0
+ that = createBuffer(that, length)
+ for (var i = 0; i < length; i += 1) {
+ that[i] = array[i] & 255
+ }
+ return that
+}
+
+function fromArrayBuffer(that, array, byteOffset, length) {
+ array.byteLength // this throws if `array` is not a valid ArrayBuffer
+
+ if (byteOffset < 0 || array.byteLength < byteOffset) {
+ throw new RangeError("'offset' is out of bounds")
+ }
+
+ if (array.byteLength < byteOffset + (length || 0)) {
+ throw new RangeError("'length' is out of bounds")
+ }
+
+ if (byteOffset === undefined && length === undefined) {
+ array = new Uint8Array(array)
+ } else if (length === undefined) {
+ array = new Uint8Array(array, byteOffset)
+ } else {
+ array = new Uint8Array(array, byteOffset, length)
+ }
+
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ // Return an augmented `Uint8Array` instance, for best performance
+ that = array
+ that.__proto__ = Buffer.prototype
+ } else {
+ // Fallback: Return an object instance of the Buffer class
+ that = fromArrayLike(that, array)
+ }
+ return that
+}
+
+function fromObject(that, obj) {
+ if (internalIsBuffer(obj)) {
+ var len = checked(obj.length) | 0
+ that = createBuffer(that, len)
+
+ if (that.length === 0) {
+ return that
+ }
+
+ obj.copy(that, 0, 0, len)
+ return that
+ }
+
+ if (obj) {
+ if (
+ (typeof ArrayBuffer !== 'undefined' &&
+ obj.buffer instanceof ArrayBuffer) ||
+ 'length' in obj
+ ) {
+ if (typeof obj.length !== 'number' || isnan(obj.length)) {
+ return createBuffer(that, 0)
+ }
+ return fromArrayLike(that, obj)
+ }
+
+ if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
+ return fromArrayLike(that, obj.data)
+ }
+ }
+
+ throw new TypeError(
+ 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',
+ )
+}
+
+function checked(length) {
+ // Note: cannot use `length < kMaxLength()` here because that fails when
+ // length is NaN (which is otherwise coerced to zero.)
+ if (length >= kMaxLength()) {
+ throw new RangeError(
+ 'Attempt to allocate Buffer larger than maximum ' +
+ 'size: 0x' +
+ kMaxLength().toString(16) +
+ ' bytes',
+ )
+ }
+ return length | 0
+}
+
+export function SlowBuffer(length) {
+ if (+length != length) {
+ // eslint-disable-line eqeqeq
+ length = 0
+ }
+ return Buffer.alloc(+length)
+}
+Buffer.isBuffer = isBuffer
+function internalIsBuffer(b) {
+ return !!(b != null && b._isBuffer)
+}
+
+Buffer.compare = function compare(a, b) {
+ if (!internalIsBuffer(a) || !internalIsBuffer(b)) {
+ throw new TypeError('Arguments must be Buffers')
+ }
+
+ if (a === b) return 0
+
+ var x = a.length
+ var y = b.length
+
+ for (var i = 0, len = Math.min(x, y); i < len; ++i) {
+ if (a[i] !== b[i]) {
+ x = a[i]
+ y = b[i]
+ break
+ }
+ }
+
+ if (x < y) return -1
+ if (y < x) return 1
+ return 0
+}
+
+Buffer.isEncoding = function isEncoding(encoding) {
+ switch (String(encoding).toLowerCase()) {
+ case 'hex':
+ case 'utf8':
+ case 'utf-8':
+ case 'ascii':
+ case 'latin1':
+ case 'binary':
+ case 'base64':
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ return true
+ default:
+ return false
+ }
+}
+
+Buffer.concat = function concat(list, length) {
+ if (!Array.isArray(list)) {
+ throw new TypeError('"list" argument must be an Array of Buffers')
+ }
+
+ if (list.length === 0) {
+ return Buffer.alloc(0)
+ }
+
+ var i
+ if (length === undefined) {
+ length = 0
+ for (i = 0; i < list.length; ++i) {
+ length += list[i].length
+ }
+ }
+
+ var buffer = Buffer.allocUnsafe(length)
+ var pos = 0
+ for (i = 0; i < list.length; ++i) {
+ var buf = list[i]
+ if (!internalIsBuffer(buf)) {
+ throw new TypeError('"list" argument must be an Array of Buffers')
+ }
+ buf.copy(buffer, pos)
+ pos += buf.length
+ }
+ return buffer
+}
+
+function byteLength(string, encoding) {
+ if (internalIsBuffer(string)) {
+ return string.length
+ }
+ if (
+ typeof ArrayBuffer !== 'undefined' &&
+ typeof ArrayBuffer.isView === 'function' &&
+ (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)
+ ) {
+ return string.byteLength
+ }
+ if (typeof string !== 'string') {
+ string = '' + string
+ }
+
+ var len = string.length
+ if (len === 0) return 0
+
+ // Use a for loop to avoid recursion
+ var loweredCase = false
+ for (;;) {
+ switch (encoding) {
+ case 'ascii':
+ case 'latin1':
+ case 'binary':
+ return len
+ case 'utf8':
+ case 'utf-8':
+ case undefined:
+ return utf8ToBytes(string).length
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ return len * 2
+ case 'hex':
+ return len >>> 1
+ case 'base64':
+ return base64ToBytes(string).length
+ default:
+ if (loweredCase) return utf8ToBytes(string).length // assume utf8
+ encoding = ('' + encoding).toLowerCase()
+ loweredCase = true
+ }
+ }
+}
+Buffer.byteLength = byteLength
+
+function slowToString(encoding, start, end) {
+ var loweredCase = false
+
+ // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
+ // property of a typed array.
+
+ // This behaves neither like String nor Uint8Array in that we set start/end
+ // to their upper/lower bounds if the value passed is out of range.
+ // undefined is handled specially as per ECMA-262 6th Edition,
+ // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
+ if (start === undefined || start < 0) {
+ start = 0
+ }
+ // Return early if start > this.length. Done here to prevent potential uint32
+ // coercion fail below.
+ if (start > this.length) {
+ return ''
+ }
+
+ if (end === undefined || end > this.length) {
+ end = this.length
+ }
+
+ if (end <= 0) {
+ return ''
+ }
+
+ // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
+ end >>>= 0
+ start >>>= 0
+
+ if (end <= start) {
+ return ''
+ }
+
+ if (!encoding) encoding = 'utf8'
+
+ while (true) {
+ switch (encoding) {
+ case 'hex':
+ return hexSlice(this, start, end)
+
+ case 'utf8':
+ case 'utf-8':
+ return utf8Slice(this, start, end)
+
+ case 'ascii':
+ return asciiSlice(this, start, end)
+
+ case 'latin1':
+ case 'binary':
+ return latin1Slice(this, start, end)
+
+ case 'base64':
+ return base64Slice(this, start, end)
+
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ return utf16leSlice(this, start, end)
+
+ default:
+ if (loweredCase)
+ throw new TypeError('Unknown encoding: ' + encoding)
+ encoding = (encoding + '').toLowerCase()
+ loweredCase = true
+ }
+ }
+}
+
+// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
+// Buffer instances.
+Buffer.prototype._isBuffer = true
+
+function swap(b, n, m) {
+ var i = b[n]
+ b[n] = b[m]
+ b[m] = i
+}
+
+Buffer.prototype.swap16 = function swap16() {
+ var len = this.length
+ if (len % 2 !== 0) {
+ throw new RangeError('Buffer size must be a multiple of 16-bits')
+ }
+ for (var i = 0; i < len; i += 2) {
+ swap(this, i, i + 1)
+ }
+ return this
+}
+
+Buffer.prototype.swap32 = function swap32() {
+ var len = this.length
+ if (len % 4 !== 0) {
+ throw new RangeError('Buffer size must be a multiple of 32-bits')
+ }
+ for (var i = 0; i < len; i += 4) {
+ swap(this, i, i + 3)
+ swap(this, i + 1, i + 2)
+ }
+ return this
+}
+
+Buffer.prototype.swap64 = function swap64() {
+ var len = this.length
+ if (len % 8 !== 0) {
+ throw new RangeError('Buffer size must be a multiple of 64-bits')
+ }
+ for (var i = 0; i < len; i += 8) {
+ swap(this, i, i + 7)
+ swap(this, i + 1, i + 6)
+ swap(this, i + 2, i + 5)
+ swap(this, i + 3, i + 4)
+ }
+ return this
+}
+
+Buffer.prototype.toString = function toString() {
+ var length = this.length | 0
+ if (length === 0) return ''
+ if (arguments.length === 0) return utf8Slice(this, 0, length)
+ return slowToString.apply(this, arguments)
+}
+
+Buffer.prototype.equals = function equals(b) {
+ if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')
+ if (this === b) return true
+ return Buffer.compare(this, b) === 0
+}
+
+
+Buffer.prototype.compare = function compare(
+ target,
+ start,
+ end,
+ thisStart,
+ thisEnd,
+) {
+ if (!internalIsBuffer(target)) {
+ throw new TypeError('Argument must be a Buffer')
+ }
+
+ if (start === undefined) {
+ start = 0
+ }
+ if (end === undefined) {
+ end = target ? target.length : 0
+ }
+ if (thisStart === undefined) {
+ thisStart = 0
+ }
+ if (thisEnd === undefined) {
+ thisEnd = this.length
+ }
+
+ if (
+ start < 0 ||
+ end > target.length ||
+ thisStart < 0 ||
+ thisEnd > this.length
+ ) {
+ throw new RangeError('out of range index')
+ }
+
+ if (thisStart >= thisEnd && start >= end) {
+ return 0
+ }
+ if (thisStart >= thisEnd) {
+ return -1
+ }
+ if (start >= end) {
+ return 1
+ }
+
+ start >>>= 0
+ end >>>= 0
+ thisStart >>>= 0
+ thisEnd >>>= 0
+
+ if (this === target) return 0
+
+ var x = thisEnd - thisStart
+ var y = end - start
+ var len = Math.min(x, y)
+
+ var thisCopy = this.slice(thisStart, thisEnd)
+ var targetCopy = target.slice(start, end)
+
+ for (var i = 0; i < len; ++i) {
+ if (thisCopy[i] !== targetCopy[i]) {
+ x = thisCopy[i]
+ y = targetCopy[i]
+ break
+ }
+ }
+
+ if (x < y) return -1
+ if (y < x) return 1
+ return 0
+}
+
+// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
+// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
+//
+// Arguments:
+// - buffer - a Buffer to search
+// - val - a string, Buffer, or number
+// - byteOffset - an index into `buffer`; will be clamped to an int32
+// - encoding - an optional encoding, relevant is val is a string
+// - dir - true for indexOf, false for lastIndexOf
+function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
+ // Empty buffer means no match
+ if (buffer.length === 0) return -1
+
+ // Normalize byteOffset
+ if (typeof byteOffset === 'string') {
+ encoding = byteOffset
+ byteOffset = 0
+ } else if (byteOffset > 0x7fffffff) {
+ byteOffset = 0x7fffffff
+ } else if (byteOffset < -0x80000000) {
+ byteOffset = -0x80000000
+ }
+ byteOffset = +byteOffset // Coerce to Number.
+ if (isNaN(byteOffset)) {
+ // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
+ byteOffset = dir ? 0 : buffer.length - 1
+ }
+
+ // Normalize byteOffset: negative offsets start from the end of the buffer
+ if (byteOffset < 0) byteOffset = buffer.length + byteOffset
+ if (byteOffset >= buffer.length) {
+ if (dir) return -1
+ else byteOffset = buffer.length - 1
+ } else if (byteOffset < 0) {
+ if (dir) byteOffset = 0
+ else return -1
+ }
+
+ // Normalize val
+ if (typeof val === 'string') {
+ val = Buffer.from(val, encoding)
+ }
+
+ // Finally, search either indexOf (if dir is true) or lastIndexOf
+ if (internalIsBuffer(val)) {
+ // Special case: looking for empty string/buffer always fails
+ if (val.length === 0) {
+ return -1
+ }
+ return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
+ } else if (typeof val === 'number') {
+ val = val & 0xff // Search for a byte value [0-255]
+ if (
+ Buffer.TYPED_ARRAY_SUPPORT &&
+ typeof Uint8Array.prototype.indexOf === 'function'
+ ) {
+ if (dir) {
+ return Uint8Array.prototype.indexOf.call(
+ buffer,
+ val,
+ byteOffset,
+ )
+ } else {
+ return Uint8Array.prototype.lastIndexOf.call(
+ buffer,
+ val,
+ byteOffset,
+ )
+ }
+ }
+ return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
+ }
+
+ throw new TypeError('val must be string, number or Buffer')
+}
+
+function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
+ var indexSize = 1
+ var arrLength = arr.length
+ var valLength = val.length
+
+ if (encoding !== undefined) {
+ encoding = String(encoding).toLowerCase()
+ if (
+ encoding === 'ucs2' ||
+ encoding === 'ucs-2' ||
+ encoding === 'utf16le' ||
+ encoding === 'utf-16le'
+ ) {
+ if (arr.length < 2 || val.length < 2) {
+ return -1
+ }
+ indexSize = 2
+ arrLength /= 2
+ valLength /= 2
+ byteOffset /= 2
+ }
+ }
+
+ function read(buf, i) {
+ if (indexSize === 1) {
+ return buf[i]
+ } else {
+ return buf.readUInt16BE(i * indexSize)
+ }
+ }
+
+ var i
+ if (dir) {
+ var foundIndex = -1
+ for (i = byteOffset; i < arrLength; i++) {
+ if (
+ read(arr, i) ===
+ read(val, foundIndex === -1 ? 0 : i - foundIndex)
+ ) {
+ if (foundIndex === -1) foundIndex = i
+ if (i - foundIndex + 1 === valLength)
+ return foundIndex * indexSize
+ } else {
+ if (foundIndex !== -1) i -= i - foundIndex
+ foundIndex = -1
+ }
+ }
+ } else {
+ if (byteOffset + valLength > arrLength)
+ byteOffset = arrLength - valLength
+ for (i = byteOffset; i >= 0; i--) {
+ var found = true
+ for (var j = 0; j < valLength; j++) {
+ if (read(arr, i + j) !== read(val, j)) {
+ found = false
+ break
+ }
+ }
+ if (found) return i
+ }
+ }
+
+ return -1
+}
+
+Buffer.prototype.includes = function includes(val, byteOffset, encoding) {
+ return this.indexOf(val, byteOffset, encoding) !== -1
+}
+
+Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
+}
+
+Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
+}
+
+function hexWrite(buf, string, offset, length) {
+ offset = Number(offset) || 0
+ var remaining = buf.length - offset
+ if (!length) {
+ length = remaining
+ } else {
+ length = Number(length)
+ if (length > remaining) {
+ length = remaining
+ }
+ }
+
+ // must be an even number of digits
+ var strLen = string.length
+ if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
+
+ if (length > strLen / 2) {
+ length = strLen / 2
+ }
+ for (var i = 0; i < length; ++i) {
+ var parsed = parseInt(string.substr(i * 2, 2), 16)
+ if (isNaN(parsed)) return i
+ buf[offset + i] = parsed
+ }
+ return i
+}
+
+function utf8Write(buf, string, offset, length) {
+ return blitBuffer(
+ utf8ToBytes(string, buf.length - offset),
+ buf,
+ offset,
+ length,
+ )
+}
+
+function asciiWrite(buf, string, offset, length) {
+ return blitBuffer(asciiToBytes(string), buf, offset, length)
+}
+
+function latin1Write(buf, string, offset, length) {
+ return asciiWrite(buf, string, offset, length)
+}
+
+function base64Write(buf, string, offset, length) {
+ return blitBuffer(base64ToBytes(string), buf, offset, length)
+}
+
+function ucs2Write(buf, string, offset, length) {
+ return blitBuffer(
+ utf16leToBytes(string, buf.length - offset),
+ buf,
+ offset,
+ length,
+ )
+}
+
+Buffer.prototype.write = function write(string, offset, length, encoding) {
+ // Buffer#write(string)
+ if (offset === undefined) {
+ encoding = 'utf8'
+ length = this.length
+ offset = 0
+ // Buffer#write(string, encoding)
+ } else if (length === undefined && typeof offset === 'string') {
+ encoding = offset
+ length = this.length
+ offset = 0
+ // Buffer#write(string, offset[, length][, encoding])
+ } else if (isFinite(offset)) {
+ offset = offset | 0
+ if (isFinite(length)) {
+ length = length | 0
+ if (encoding === undefined) encoding = 'utf8'
+ } else {
+ encoding = length
+ length = undefined
+ }
+ // legacy write(string, encoding, offset, length) - remove in v0.13
+ } else {
+ throw new Error(
+ 'Buffer.write(string, encoding, offset[, length]) is no longer supported',
+ )
+ }
+
+ var remaining = this.length - offset
+ if (length === undefined || length > remaining) length = remaining
+
+ if (
+ (string.length > 0 && (length < 0 || offset < 0)) ||
+ offset > this.length
+ ) {
+ throw new RangeError('Attempt to write outside buffer bounds')
+ }
+
+ if (!encoding) encoding = 'utf8'
+
+ var loweredCase = false
+ for (;;) {
+ switch (encoding) {
+ case 'hex':
+ return hexWrite(this, string, offset, length)
+
+ case 'utf8':
+ case 'utf-8':
+ return utf8Write(this, string, offset, length)
+
+ case 'ascii':
+ return asciiWrite(this, string, offset, length)
+
+ case 'latin1':
+ case 'binary':
+ return latin1Write(this, string, offset, length)
+
+ case 'base64':
+ // Warning: maxLength not taken into account in base64Write
+ return base64Write(this, string, offset, length)
+
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ return ucs2Write(this, string, offset, length)
+
+ default:
+ if (loweredCase)
+ throw new TypeError('Unknown encoding: ' + encoding)
+ encoding = ('' + encoding).toLowerCase()
+ loweredCase = true
+ }
+ }
+}
+
+Buffer.prototype.toJSON = function toJSON() {
+ return {
+ type: 'Buffer',
+ data: Array.prototype.slice.call(this._arr || this, 0),
+ }
+}
+
+function base64Slice(buf, start, end) {
+ if (start === 0 && end === buf.length) {
+ return base64fromByteArray(buf)
+ } else {
+ return base64fromByteArray(buf.slice(start, end))
+ }
+}
+
+function utf8Slice(buf, start, end) {
+ end = Math.min(buf.length, end)
+ var res = []
+
+ var i = start
+ while (i < end) {
+ var firstByte = buf[i]
+ var codePoint = null
+ var bytesPerSequence =
+ firstByte > 0xef
+ ? 4
+ : firstByte > 0xdf
+ ? 3
+ : firstByte > 0xbf
+ ? 2
+ : 1
+
+ if (i + bytesPerSequence <= end) {
+ var secondByte, thirdByte, fourthByte, tempCodePoint
+
+ switch (bytesPerSequence) {
+ case 1:
+ if (firstByte < 0x80) {
+ codePoint = firstByte
+ }
+ break
+ case 2:
+ secondByte = buf[i + 1]
+ if ((secondByte & 0xc0) === 0x80) {
+ tempCodePoint =
+ ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)
+ if (tempCodePoint > 0x7f) {
+ codePoint = tempCodePoint
+ }
+ }
+ break
+ case 3:
+ secondByte = buf[i + 1]
+ thirdByte = buf[i + 2]
+ if (
+ (secondByte & 0xc0) === 0x80 &&
+ (thirdByte & 0xc0) === 0x80
+ ) {
+ tempCodePoint =
+ ((firstByte & 0xf) << 0xc) |
+ ((secondByte & 0x3f) << 0x6) |
+ (thirdByte & 0x3f)
+ if (
+ tempCodePoint > 0x7ff &&
+ (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)
+ ) {
+ codePoint = tempCodePoint
+ }
+ }
+ break
+ case 4:
+ secondByte = buf[i + 1]
+ thirdByte = buf[i + 2]
+ fourthByte = buf[i + 3]
+ if (
+ (secondByte & 0xc0) === 0x80 &&
+ (thirdByte & 0xc0) === 0x80 &&
+ (fourthByte & 0xc0) === 0x80
+ ) {
+ tempCodePoint =
+ ((firstByte & 0xf) << 0x12) |
+ ((secondByte & 0x3f) << 0xc) |
+ ((thirdByte & 0x3f) << 0x6) |
+ (fourthByte & 0x3f)
+ if (
+ tempCodePoint > 0xffff &&
+ tempCodePoint < 0x110000
+ ) {
+ codePoint = tempCodePoint
+ }
+ }
+ }
+ }
+
+ if (codePoint === null) {
+ // we did not generate a valid codePoint so insert a
+ // replacement char (U+FFFD) and advance only 1 byte
+ codePoint = 0xfffd
+ bytesPerSequence = 1
+ } else if (codePoint > 0xffff) {
+ // encode to utf16 (surrogate pair dance)
+ codePoint -= 0x10000
+ res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)
+ codePoint = 0xdc00 | (codePoint & 0x3ff)
+ }
+
+ res.push(codePoint)
+ i += bytesPerSequence
+ }
+
+ return decodeCodePointsArray(res)
+}
+
+// Based on http://stackoverflow.com/a/22747272/680742, the browser with
+// the lowest limit is Chrome, with 0x10000 args.
+// We go 1 magnitude less, for safety
+var MAX_ARGUMENTS_LENGTH = 0x1000
+
+function decodeCodePointsArray(codePoints) {
+ var len = codePoints.length
+ if (len <= MAX_ARGUMENTS_LENGTH) {
+ return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
+ }
+
+ // Decode in chunks to avoid "call stack size exceeded".
+ var res = ''
+ var i = 0
+ while (i < len) {
+ res += String.fromCharCode.apply(
+ String,
+ codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),
+ )
+ }
+ return res
+}
+
+function asciiSlice(buf, start, end) {
+ var ret = ''
+ end = Math.min(buf.length, end)
+
+ for (var i = start; i < end; ++i) {
+ ret += String.fromCharCode(buf[i] & 0x7f)
+ }
+ return ret
+}
+
+function latin1Slice(buf, start, end) {
+ var ret = ''
+ end = Math.min(buf.length, end)
+
+ for (var i = start; i < end; ++i) {
+ ret += String.fromCharCode(buf[i])
+ }
+ return ret
+}
+
+function hexSlice(buf, start, end) {
+ var len = buf.length
+
+ if (!start || start < 0) start = 0
+ if (!end || end < 0 || end > len) end = len
+
+ var out = ''
+ for (var i = start; i < end; ++i) {
+ out += toHex(buf[i])
+ }
+ return out
+}
+
+function utf16leSlice(buf, start, end) {
+ var bytes = buf.slice(start, end)
+ var res = ''
+ for (var i = 0; i < bytes.length; i += 2) {
+ res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
+ }
+ return res
+}
+
+Buffer.prototype.slice = function slice(start, end) {
+ var len = this.length
+ start = ~~start
+ end = end === undefined ? len : ~~end
+
+ if (start < 0) {
+ start += len
+ if (start < 0) start = 0
+ } else if (start > len) {
+ start = len
+ }
+
+ if (end < 0) {
+ end += len
+ if (end < 0) end = 0
+ } else if (end > len) {
+ end = len
+ }
+
+ if (end < start) end = start
+
+ var newBuf
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ newBuf = this.subarray(start, end)
+ newBuf.__proto__ = Buffer.prototype
+ } else {
+ var sliceLen = end - start
+ newBuf = new Buffer(sliceLen, undefined)
+ for (var i = 0; i < sliceLen; ++i) {
+ newBuf[i] = this[i + start]
+ }
+ }
+
+ return newBuf
+}
+
+/*
+ * Need to make sure that buffer isn't trying to write out of bounds.
+ */
+function checkOffset(offset, ext, length) {
+ if (offset % 1 !== 0 || offset < 0)
+ throw new RangeError('offset is not uint')
+ if (offset + ext > length)
+ throw new RangeError('Trying to access beyond buffer length')
+}
+
+Buffer.prototype.readUIntLE = function readUIntLE(
+ offset,
+ byteLength,
+ noAssert,
+) {
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+ var val = this[offset]
+ var mul = 1
+ var i = 0
+ while (++i < byteLength && (mul *= 0x100)) {
+ val += this[offset + i] * mul
+ }
+
+ return val
+}
+
+Buffer.prototype.readUIntBE = function readUIntBE(
+ offset,
+ byteLength,
+ noAssert,
+) {
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) {
+ checkOffset(offset, byteLength, this.length)
+ }
+
+ var val = this[offset + --byteLength]
+ var mul = 1
+ while (byteLength > 0 && (mul *= 0x100)) {
+ val += this[offset + --byteLength] * mul
+ }
+
+ return val
+}
+
+Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 1, this.length)
+ return this[offset]
+}
+
+Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 2, this.length)
+ return this[offset] | (this[offset + 1] << 8)
+}
+
+Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 2, this.length)
+ return (this[offset] << 8) | this[offset + 1]
+}
+
+Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+
+ return (
+ (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +
+ this[offset + 3] * 0x1000000
+ )
+}
+
+Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+
+ return (
+ this[offset] * 0x1000000 +
+ ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])
+ )
+}
+
+Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+ var val = this[offset]
+ var mul = 1
+ var i = 0
+ while (++i < byteLength && (mul *= 0x100)) {
+ val += this[offset + i] * mul
+ }
+ mul *= 0x80
+
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+ return val
+}
+
+Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+ var i = byteLength
+ var mul = 1
+ var val = this[offset + --i]
+ while (i > 0 && (mul *= 0x100)) {
+ val += this[offset + --i] * mul
+ }
+ mul *= 0x80
+
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+ return val
+}
+
+Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 1, this.length)
+ if (!(this[offset] & 0x80)) return this[offset]
+ return (0xff - this[offset] + 1) * -1
+}
+
+Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 2, this.length)
+ var val = this[offset] | (this[offset + 1] << 8)
+ return val & 0x8000 ? val | 0xffff0000 : val
+}
+
+Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 2, this.length)
+ var val = this[offset + 1] | (this[offset] << 8)
+ return val & 0x8000 ? val | 0xffff0000 : val
+}
+
+Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+
+ return (
+ this[offset] |
+ (this[offset + 1] << 8) |
+ (this[offset + 2] << 16) |
+ (this[offset + 3] << 24)
+ )
+}
+
+Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+
+ return (
+ (this[offset] << 24) |
+ (this[offset + 1] << 16) |
+ (this[offset + 2] << 8) |
+ this[offset + 3]
+ )
+}
+
+Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+ return ieee754read(this, offset, true, 23, 4)
+}
+
+Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 4, this.length)
+ return ieee754read(this, offset, false, 23, 4)
+}
+
+Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 8, this.length)
+ return ieee754read(this, offset, true, 52, 8)
+}
+
+Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
+ if (!noAssert) checkOffset(offset, 8, this.length)
+ return ieee754read(this, offset, false, 52, 8)
+}
+
+function checkInt(buf, value, offset, ext, max, min) {
+ if (!internalIsBuffer(buf))
+ throw new TypeError('"buffer" argument must be a Buffer instance')
+ if (value > max || value < min)
+ throw new RangeError('"value" argument is out of bounds')
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
+}
+
+Buffer.prototype.writeUIntLE = function writeUIntLE(
+ value,
+ offset,
+ byteLength,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) {
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
+ }
+
+ var mul = 1
+ var i = 0
+ this[offset] = value & 0xff
+ while (++i < byteLength && (mul *= 0x100)) {
+ this[offset + i] = (value / mul) & 0xff
+ }
+
+ return offset + byteLength
+}
+
+Buffer.prototype.writeUIntBE = function writeUIntBE(
+ value,
+ offset,
+ byteLength,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ byteLength = byteLength | 0
+ if (!noAssert) {
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
+ }
+
+ var i = byteLength - 1
+ var mul = 1
+ this[offset + i] = value & 0xff
+ while (--i >= 0 && (mul *= 0x100)) {
+ this[offset + i] = (value / mul) & 0xff
+ }
+
+ return offset + byteLength
+}
+
+Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
+ if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+ this[offset] = value & 0xff
+ return offset + 1
+}
+
+function objectWriteUInt16(buf, value, offset, littleEndian) {
+ if (value < 0) value = 0xffff + value + 1
+ for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
+ buf[offset + i] =
+ (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
+ ((littleEndian ? i : 1 - i) * 8)
+ }
+}
+
+Buffer.prototype.writeUInt16LE = function writeUInt16LE(
+ value,
+ offset,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value & 0xff
+ this[offset + 1] = value >>> 8
+ } else {
+ objectWriteUInt16(this, value, offset, true)
+ }
+ return offset + 2
+}
+
+Buffer.prototype.writeUInt16BE = function writeUInt16BE(
+ value,
+ offset,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value >>> 8
+ this[offset + 1] = value & 0xff
+ } else {
+ objectWriteUInt16(this, value, offset, false)
+ }
+ return offset + 2
+}
+
+function objectWriteUInt32(buf, value, offset, littleEndian) {
+ if (value < 0) value = 0xffffffff + value + 1
+ for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
+ buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff
+ }
+}
+
+Buffer.prototype.writeUInt32LE = function writeUInt32LE(
+ value,
+ offset,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset + 3] = value >>> 24
+ this[offset + 2] = value >>> 16
+ this[offset + 1] = value >>> 8
+ this[offset] = value & 0xff
+ } else {
+ objectWriteUInt32(this, value, offset, true)
+ }
+ return offset + 4
+}
+
+Buffer.prototype.writeUInt32BE = function writeUInt32BE(
+ value,
+ offset,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value >>> 24
+ this[offset + 1] = value >>> 16
+ this[offset + 2] = value >>> 8
+ this[offset + 3] = value & 0xff
+ } else {
+ objectWriteUInt32(this, value, offset, false)
+ }
+ return offset + 4
+}
+
+Buffer.prototype.writeIntLE = function writeIntLE(
+ value,
+ offset,
+ byteLength,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) {
+ var limit = Math.pow(2, 8 * byteLength - 1)
+
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
+ }
+
+ var i = 0
+ var mul = 1
+ var sub = 0
+ this[offset] = value & 0xff
+ while (++i < byteLength && (mul *= 0x100)) {
+ if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
+ sub = 1
+ }
+ this[offset + i] = (((value / mul) >> 0) - sub) & 0xff
+ }
+
+ return offset + byteLength
+}
+
+Buffer.prototype.writeIntBE = function writeIntBE(
+ value,
+ offset,
+ byteLength,
+ noAssert,
+) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) {
+ var limit = Math.pow(2, 8 * byteLength - 1)
+
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
+ }
+
+ var i = byteLength - 1
+ var mul = 1
+ var sub = 0
+ this[offset + i] = value & 0xff
+ while (--i >= 0 && (mul *= 0x100)) {
+ if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
+ sub = 1
+ }
+ this[offset + i] = (((value / mul) >> 0) - sub) & 0xff
+ }
+
+ return offset + byteLength
+}
+
+Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
+ if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+ if (value < 0) value = 0xff + value + 1
+ this[offset] = value & 0xff
+ return offset + 1
+}
+
+Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value & 0xff
+ this[offset + 1] = value >>> 8
+ } else {
+ objectWriteUInt16(this, value, offset, true)
+ }
+ return offset + 2
+}
+
+Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value >>> 8
+ this[offset + 1] = value & 0xff
+ } else {
+ objectWriteUInt16(this, value, offset, false)
+ }
+ return offset + 2
+}
+
+Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value & 0xff
+ this[offset + 1] = value >>> 8
+ this[offset + 2] = value >>> 16
+ this[offset + 3] = value >>> 24
+ } else {
+ objectWriteUInt32(this, value, offset, true)
+ }
+ return offset + 4
+}
+
+Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
+ value = +value
+ offset = offset | 0
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+ if (value < 0) value = 0xffffffff + value + 1
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
+ this[offset] = value >>> 24
+ this[offset + 1] = value >>> 16
+ this[offset + 2] = value >>> 8
+ this[offset + 3] = value & 0xff
+ } else {
+ objectWriteUInt32(this, value, offset, false)
+ }
+ return offset + 4
+}
+
+function checkIEEE754(buf, value, offset, ext, max, min) {
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
+ if (offset < 0) throw new RangeError('Index out of range')
+}
+
+function writeFloat(buf, value, offset, littleEndian, noAssert) {
+ if (!noAssert) {
+ checkIEEE754(
+ buf,
+ value,
+ offset,
+ 4,
+ 3.4028234663852886e38,
+ -3.4028234663852886e38,
+ )
+ }
+ ieee754write(buf, value, offset, littleEndian, 23, 4)
+ return offset + 4
+}
+
+Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
+ return writeFloat(this, value, offset, true, noAssert)
+}
+
+Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
+ return writeFloat(this, value, offset, false, noAssert)
+}
+
+function writeDouble(buf, value, offset, littleEndian, noAssert) {
+ if (!noAssert) {
+ checkIEEE754(
+ buf,
+ value,
+ offset,
+ 8,
+ 1.7976931348623157e308,
+ -1.7976931348623157e308,
+ )
+ }
+ ieee754write(buf, value, offset, littleEndian, 52, 8)
+ return offset + 8
+}
+
+Buffer.prototype.writeDoubleLE = function writeDoubleLE(
+ value,
+ offset,
+ noAssert,
+) {
+ return writeDouble(this, value, offset, true, noAssert)
+}
+
+Buffer.prototype.writeDoubleBE = function writeDoubleBE(
+ value,
+ offset,
+ noAssert,
+) {
+ return writeDouble(this, value, offset, false, noAssert)
+}
+
+// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
+Buffer.prototype.copy = function copy(target, targetStart, start, end) {
+ if (!start) start = 0
+ if (!end && end !== 0) end = this.length
+ if (targetStart >= target.length) targetStart = target.length
+ if (!targetStart) targetStart = 0
+ if (end > 0 && end < start) end = start
+
+ // Copy 0 bytes; we're done
+ if (end === start) return 0
+ if (target.length === 0 || this.length === 0) return 0
+
+ // Fatal error conditions
+ if (targetStart < 0) {
+ throw new RangeError('targetStart out of bounds')
+ }
+ if (start < 0 || start >= this.length)
+ throw new RangeError('sourceStart out of bounds')
+ if (end < 0) throw new RangeError('sourceEnd out of bounds')
+
+ // Are we oob?
+ if (end > this.length) end = this.length
+ if (target.length - targetStart < end - start) {
+ end = target.length - targetStart + start
+ }
+
+ var len = end - start
+ var i
+
+ if (this === target && start < targetStart && targetStart < end) {
+ // descending copy from end
+ for (i = len - 1; i >= 0; --i) {
+ target[i + targetStart] = this[i + start]
+ }
+ } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
+ // ascending copy from start
+ for (i = 0; i < len; ++i) {
+ target[i + targetStart] = this[i + start]
+ }
+ } else {
+ Uint8Array.prototype.set.call(
+ target,
+ this.subarray(start, start + len),
+ targetStart,
+ )
+ }
+
+ return len
+}
+
+// Usage:
+// buffer.fill(number[, offset[, end]])
+// buffer.fill(buffer[, offset[, end]])
+// buffer.fill(string[, offset[, end]][, encoding])
+Buffer.prototype.fill = function fill(val, start, end, encoding) {
+ // Handle string cases:
+ if (typeof val === 'string') {
+ if (typeof start === 'string') {
+ encoding = start
+ start = 0
+ end = this.length
+ } else if (typeof end === 'string') {
+ encoding = end
+ end = this.length
+ }
+ if (val.length === 1) {
+ var code = val.charCodeAt(0)
+ if (code < 256) {
+ val = code
+ }
+ }
+ if (encoding !== undefined && typeof encoding !== 'string') {
+ throw new TypeError('encoding must be a string')
+ }
+ if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
+ throw new TypeError('Unknown encoding: ' + encoding)
+ }
+ } else if (typeof val === 'number') {
+ val = val & 255
+ }
+
+ // Invalid ranges are not set to a default, so can range check early.
+ if (start < 0 || this.length < start || this.length < end) {
+ throw new RangeError('Out of range index')
+ }
+
+ if (end <= start) {
+ return this
+ }
+
+ start = start >>> 0
+ end = end === undefined ? this.length : end >>> 0
+
+ if (!val) val = 0
+
+ var i
+ if (typeof val === 'number') {
+ for (i = start; i < end; ++i) {
+ this[i] = val
+ }
+ } else {
+ var bytes = internalIsBuffer(val)
+ ? val
+ : utf8ToBytes(new Buffer(val, encoding).toString())
+ var len = bytes.length
+ for (i = 0; i < end - start; ++i) {
+ this[i + start] = bytes[i % len]
+ }
+ }
+
+ return this
+}
+
+// HELPER FUNCTIONS
+// ================
+
+var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
+
+function base64clean(str) {
+ // Node strips out invalid characters like \n and \t from the string, base64-js does not
+ str = stringtrim(str).replace(INVALID_BASE64_RE, '')
+ // Node converts strings with length < 2 to ''
+ if (str.length < 2) return ''
+ // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
+ while (str.length % 4 !== 0) {
+ str = str + '='
+ }
+ return str
+}
+
+function stringtrim(str) {
+ if (str.trim) return str.trim()
+ return str.replace(/^\s+|\s+$/g, '')
+}
+
+function toHex(n) {
+ if (n < 16) return '0' + n.toString(16)
+ return n.toString(16)
+}
+
+function utf8ToBytes(string, units) {
+ units = units || Infinity
+ var codePoint
+ var length = string.length
+ var leadSurrogate = null
+ var bytes = []
+
+ for (var i = 0; i < length; ++i) {
+ codePoint = string.charCodeAt(i)
+
+ // is surrogate component
+ if (codePoint > 0xd7ff && codePoint < 0xe000) {
+ // last char was a lead
+ if (!leadSurrogate) {
+ // no lead yet
+ if (codePoint > 0xdbff) {
+ // unexpected trail
+ if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)
+ continue
+ } else if (i + 1 === length) {
+ // unpaired lead
+ if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)
+ continue
+ }
+
+ // valid lead
+ leadSurrogate = codePoint
+
+ continue
+ }
+
+ // 2 leads in a row
+ if (codePoint < 0xdc00) {
+ if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)
+ leadSurrogate = codePoint
+ continue
+ }
+
+ // valid surrogate pair
+ codePoint =
+ (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +
+ 0x10000
+ } else if (leadSurrogate) {
+ // valid bmp char, but last char was a lead
+ if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)
+ }
+
+ leadSurrogate = null
+
+ // encode utf8
+ if (codePoint < 0x80) {
+ if ((units -= 1) < 0) break
+ bytes.push(codePoint)
+ } else if (codePoint < 0x800) {
+ if ((units -= 2) < 0) break
+ bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)
+ } else if (codePoint < 0x10000) {
+ if ((units -= 3) < 0) break
+ bytes.push(
+ (codePoint >> 0xc) | 0xe0,
+ ((codePoint >> 0x6) & 0x3f) | 0x80,
+ (codePoint & 0x3f) | 0x80,
+ )
+ } else if (codePoint < 0x110000) {
+ if ((units -= 4) < 0) break
+ bytes.push(
+ (codePoint >> 0x12) | 0xf0,
+ ((codePoint >> 0xc) & 0x3f) | 0x80,
+ ((codePoint >> 0x6) & 0x3f) | 0x80,
+ (codePoint & 0x3f) | 0x80,
+ )
+ } else {
+ throw new Error('Invalid code point')
+ }
+ }
+
+ return bytes
+}
+
+function asciiToBytes(str) {
+ var byteArray = []
+ for (var i = 0; i < str.length; ++i) {
+ // Node's code seems to be doing this and not & 0x7F..
+ byteArray.push(str.charCodeAt(i) & 0xff)
+ }
+ return byteArray
+}
+
+function utf16leToBytes(str, units) {
+ var c, hi, lo
+ var byteArray = []
+ for (var i = 0; i < str.length; ++i) {
+ if ((units -= 2) < 0) break
+
+ c = str.charCodeAt(i)
+ hi = c >> 8
+ lo = c % 256
+ byteArray.push(lo)
+ byteArray.push(hi)
+ }
+
+ return byteArray
+}
+
+function base64ToBytes(str) {
+ return base64toByteArray(base64clean(str))
+}
+
+function blitBuffer(src, dst, offset, length) {
+ for (var i = 0; i < length; ++i) {
+ if (i + offset >= dst.length || i >= src.length) break
+ dst[i + offset] = src[i]
+ }
+ return i
+}
+
+function isnan(val) {
+ return val !== val // eslint-disable-line no-self-compare
+}
+
+// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence
+// The _isBuffer check is for Safari 5-7 support, because it's missing
+// Object.prototype.constructor. Remove this eventually
+function isBuffer(obj) {
+ return (
+ obj != null &&
+ (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))
+ )
+}
+
+function isFastBuffer(obj) {
+ return (
+ !!obj.constructor &&
+ typeof obj.constructor.isBuffer === 'function' &&
+ obj.constructor.isBuffer(obj)
+ )
+}
+
+// For Node v0.10 support. Remove this eventually.
+function isSlowBuffer(obj) {
+ return (
+ typeof obj.readFloatLE === 'function' &&
+ typeof obj.slice === 'function' &&
+ isFastBuffer(obj.slice(0, 0))
+ )
+}
+
+function ieee754read(buffer, offset, isLE, mLen, nBytes) {
+ var e, m
+ var eLen = nBytes * 8 - mLen - 1
+ var eMax = (1 << eLen) - 1
+ var eBias = eMax >> 1
+ var nBits = -7
+ var i = isLE ? nBytes - 1 : 0
+ var d = isLE ? -1 : 1
+ var s = buffer[offset + i]
+
+ i += d
+
+ e = s & ((1 << -nBits) - 1)
+ s >>= -nBits
+ nBits += eLen
+ for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+ m = e & ((1 << -nBits) - 1)
+ e >>= -nBits
+ nBits += mLen
+ for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+ if (e === 0) {
+ e = 1 - eBias
+ } else if (e === eMax) {
+ return m ? NaN : (s ? -1 : 1) * Infinity
+ } else {
+ m = m + Math.pow(2, mLen)
+ e = e - eBias
+ }
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
+}
+
+function ieee754write(buffer, value, offset, isLE, mLen, nBytes) {
+ var e, m, c
+ var eLen = nBytes * 8 - mLen - 1
+ var eMax = (1 << eLen) - 1
+ var eBias = eMax >> 1
+ var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0
+ var i = isLE ? 0 : nBytes - 1
+ var d = isLE ? 1 : -1
+ var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
+
+ value = Math.abs(value)
+
+ if (isNaN(value) || value === Infinity) {
+ m = isNaN(value) ? 1 : 0
+ e = eMax
+ } else {
+ e = Math.floor(Math.log(value) / Math.LN2)
+ if (value * (c = Math.pow(2, -e)) < 1) {
+ e--
+ c *= 2
+ }
+ if (e + eBias >= 1) {
+ value += rt / c
+ } else {
+ value += rt * Math.pow(2, 1 - eBias)
+ }
+ if (value * c >= 2) {
+ e++
+ c /= 2
+ }
+
+ if (e + eBias >= eMax) {
+ m = 0
+ e = eMax
+ } else if (e + eBias >= 1) {
+ m = (value * c - 1) * Math.pow(2, mLen)
+ e = e + eBias
+ } else {
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
+ e = 0
+ }
+ }
+
+ for (
+ ;
+ mLen >= 8;
+ buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8
+ ) {}
+
+ e = (e << mLen) | m
+ eLen += mLen
+ for (
+ ;
+ eLen > 0;
+ buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8
+ ) {}
+
+ buffer[offset + i - d] |= s * 128
+}
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js b/node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js
new file mode 100644
index 0000000..66103f8
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js
@@ -0,0 +1 @@
+export { Buffer } from '_node-buffer-polyfill_.js'
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/_process.js b/node_modules/@esbuild-plugins/node-globals-polyfill/_process.js
new file mode 100644
index 0000000..e9d08e8
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/_process.js
@@ -0,0 +1 @@
+export { process } from '_node-process-polyfill_.js'
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts
new file mode 100644
index 0000000..2f1104e
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts
@@ -0,0 +1,7 @@
+import * as esbuild from 'esbuild';
+export declare function NodeGlobalsPolyfillPlugin({ buffer, process, }?: {
+ buffer?: boolean | undefined;
+ process?: boolean | undefined;
+}): esbuild.Plugin;
+export default NodeGlobalsPolyfillPlugin;
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts.map b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts.map
new file mode 100644
index 0000000..2d38864
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,wBAAgB,yBAAyB,CAAC,EACtC,MAAc,EAEd,OAAc,GACjB;;;CAAK,GAAG,OAAO,CAAC,MAAM,CAyEtB;AAED,eAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js
new file mode 100644
index 0000000..1bd8fb8
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js
@@ -0,0 +1,80 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.NodeGlobalsPolyfillPlugin = void 0;
+const path_1 = __importDefault(require("path"));
+function NodeGlobalsPolyfillPlugin({ buffer = false,
+// define = {},
+process = true, } = {}) {
+ return {
+ name: 'node-globals-polyfill',
+ setup({ initialOptions, onResolve, onLoad }) {
+ onResolve({ filter: /_node-buffer-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path_1.default.resolve(__dirname, '../Buffer.js'),
+ };
+ });
+ onResolve({ filter: /_node-process-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path_1.default.resolve(__dirname, '../process.js'),
+ };
+ });
+ // TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+ // onLoad({ filter: /_virtual-process-polyfill_\.js/ }, (arg) => {
+ // const data = fs
+ // .readFileSync(path.resolve(__dirname, '../process.js'))
+ // .toString()
+ // const keys = Object.keys(define)
+ // return {
+ // loader: 'js',
+ // contents: data.replace(
+ // `const defines = {}`,
+ // 'const defines = {\n' +
+ // keys
+ // .filter((x) => x.startsWith('process.'))
+ // .sort((a, b) => a.length - b.length)
+ // .map(
+ // (k) =>
+ // ` ${JSON.stringify(k).replace(
+ // 'process.',
+ // '',
+ // )}: ${define[k]},`,
+ // )
+ // .join('\n') +
+ // '\n}',
+ // ),
+ // }
+ // })
+ onResolve({ filter: /_virtual-process-polyfill_\.js/ }, () => {
+ return {
+ path: path_1.default.resolve(__dirname, '../process.js'),
+ };
+ });
+ onResolve({ filter: /_virtual-buffer-polyfill_\.js/ }, () => {
+ return {
+ path: path_1.default.resolve(__dirname, '../_buffer.js'),
+ };
+ });
+ const polyfills = [];
+ if (process) {
+ polyfills.push(path_1.default.resolve(__dirname, '../_virtual-process-polyfill_.js'));
+ }
+ if (buffer) {
+ polyfills.push(path_1.default.resolve(__dirname, '../_virtual-buffer-polyfill_.js'));
+ }
+ if (initialOptions.inject) {
+ initialOptions.inject.push(...polyfills);
+ // handle duplicate plugin
+ initialOptions.inject = [...new Set(initialOptions.inject)];
+ }
+ else {
+ initialOptions.inject = [...polyfills];
+ }
+ },
+ };
+}
+exports.NodeGlobalsPolyfillPlugin = NodeGlobalsPolyfillPlugin;
+exports.default = NodeGlobalsPolyfillPlugin;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js.map b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js.map
new file mode 100644
index 0000000..8f8a451
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAIvB,SAAgB,yBAAyB,CAAC,EACtC,MAAM,GAAG,KAAK;AACd,eAAe;AACf,OAAO,GAAG,IAAI,GACjB,GAAG,EAAE;IACF,OAAO;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACvC,SAAS,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxD,OAAO;oBACH,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;iBAChD,CAAA;YACL,CAAC,CAAC,CAAA;YACF,SAAS,CAAC,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzD,OAAO;oBACH,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,mGAAmG;YACnG,kEAAkE;YAClE,sBAAsB;YACtB,kEAAkE;YAClE,sBAAsB;YAEtB,uCAAuC;YACvC,eAAe;YACf,wBAAwB;YACxB,kCAAkC;YAClC,oCAAoC;YACpC,sCAAsC;YACtC,uBAAuB;YACvB,+DAA+D;YAC/D,2DAA2D;YAC3D,4BAA4B;YAC5B,iCAAiC;YACjC,8DAA8D;YAC9D,8CAA8C;YAC9C,sCAAsC;YACtC,kDAAkD;YAClD,wBAAwB;YACxB,oCAAoC;YACpC,yBAAyB;YACzB,aAAa;YACb,QAAQ;YACR,KAAK;YACL,SAAS,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,GAAG,EAAE;gBACzD,OAAO;oBACH,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YACF,SAAS,CAAC,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,GAAG,EAAE;gBACxD,OAAO;oBACH,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,MAAM,SAAS,GAAa,EAAE,CAAA;YAC9B,IAAI,OAAO,EAAE;gBACT,SAAS,CAAC,IAAI,CACV,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAC9D,CAAA;aACJ;YACD,IAAI,MAAM,EAAE;gBACR,SAAS,CAAC,IAAI,CACV,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAC7D,CAAA;aACJ;YACD,IAAI,cAAc,CAAC,MAAM,EAAE;gBACvB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;gBACxC,0BAA0B;gBAC1B,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;aAC9D;iBAAM;gBACH,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;aACzC;QACL,CAAC;KACJ,CAAA;AACL,CAAC;AA7ED,8DA6EC;AAED,kBAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts
new file mode 100644
index 0000000..121d59b
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts
@@ -0,0 +1,2 @@
+export {};
+//# sourceMappingURL=index.test.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts.map b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts.map
new file mode 100644
index 0000000..b5774e1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js
new file mode 100644
index 0000000..3f9f406
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js
@@ -0,0 +1,139 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const esbuild_1 = require("esbuild");
+const test_support_1 = require("test-support");
+const _1 = require(".");
+require('debug').enable(require('../package.json').name);
+test('process works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `process.version`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('process is tree shaken', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ });
+ const output = res.outputFiles[0].text;
+ expect(output).not.toContain('process');
+ unlink();
+}));
+// TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+test('process env vars are replaced with ones from define', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `if (process.env.VAR !== 'hello') { throw new Error('process.env.VAR not right: ' + process.env.VAR) }`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ define: {
+ 'process.env.VAR': '"hello"',
+ },
+ plugins: [_1.NodeGlobalsPolyfillPlugin({})],
+ });
+ const output = res.outputFiles[0].text;
+ eval(output);
+ unlink();
+}));
+test('Buffer works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `console.log(Buffer.from('xxx').toString())`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('Buffer is tree shaken', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ });
+ const output = res.outputFiles[0].text;
+ expect(output).not.toContain('Buffer');
+ unlink();
+}));
+test('Buffer works using plugin', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `
+ let buf = new Buffer(256);
+ let len = buf.write("Simply Easy Learning");
+ console.log("Octets written : "+ len);`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.NodeGlobalsPolyfillPlugin({ buffer: true })],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('process works using plugin', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `console.log(process.cwd())`,
+ });
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.NodeGlobalsPolyfillPlugin({ process: true })],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+//# sourceMappingURL=index.test.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js.map b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js.map
new file mode 100644
index 0000000..cef0110
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts
new file mode 100644
index 0000000..2f1104e
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts
@@ -0,0 +1,7 @@
+import * as esbuild from 'esbuild';
+export declare function NodeGlobalsPolyfillPlugin({ buffer, process, }?: {
+ buffer?: boolean | undefined;
+ process?: boolean | undefined;
+}): esbuild.Plugin;
+export default NodeGlobalsPolyfillPlugin;
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts.map b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts.map
new file mode 100644
index 0000000..2d38864
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,wBAAgB,yBAAyB,CAAC,EACtC,MAAc,EAEd,OAAc,GACjB;;;CAAK,GAAG,OAAO,CAAC,MAAM,CAyEtB;AAED,eAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js
new file mode 100644
index 0000000..aa0bceb
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js
@@ -0,0 +1,73 @@
+import path from 'path';
+export function NodeGlobalsPolyfillPlugin({ buffer = false,
+// define = {},
+process = true, } = {}) {
+ return {
+ name: 'node-globals-polyfill',
+ setup({ initialOptions, onResolve, onLoad }) {
+ onResolve({ filter: /_node-buffer-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path.resolve(__dirname, '../Buffer.js'),
+ };
+ });
+ onResolve({ filter: /_node-process-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path.resolve(__dirname, '../process.js'),
+ };
+ });
+ // TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+ // onLoad({ filter: /_virtual-process-polyfill_\.js/ }, (arg) => {
+ // const data = fs
+ // .readFileSync(path.resolve(__dirname, '../process.js'))
+ // .toString()
+ // const keys = Object.keys(define)
+ // return {
+ // loader: 'js',
+ // contents: data.replace(
+ // `const defines = {}`,
+ // 'const defines = {\n' +
+ // keys
+ // .filter((x) => x.startsWith('process.'))
+ // .sort((a, b) => a.length - b.length)
+ // .map(
+ // (k) =>
+ // ` ${JSON.stringify(k).replace(
+ // 'process.',
+ // '',
+ // )}: ${define[k]},`,
+ // )
+ // .join('\n') +
+ // '\n}',
+ // ),
+ // }
+ // })
+ onResolve({ filter: /_virtual-process-polyfill_\.js/ }, () => {
+ return {
+ path: path.resolve(__dirname, '../process.js'),
+ };
+ });
+ onResolve({ filter: /_virtual-buffer-polyfill_\.js/ }, () => {
+ return {
+ path: path.resolve(__dirname, '../_buffer.js'),
+ };
+ });
+ const polyfills = [];
+ if (process) {
+ polyfills.push(path.resolve(__dirname, '../_virtual-process-polyfill_.js'));
+ }
+ if (buffer) {
+ polyfills.push(path.resolve(__dirname, '../_virtual-buffer-polyfill_.js'));
+ }
+ if (initialOptions.inject) {
+ initialOptions.inject.push(...polyfills);
+ // handle duplicate plugin
+ initialOptions.inject = [...new Set(initialOptions.inject)];
+ }
+ else {
+ initialOptions.inject = [...polyfills];
+ }
+ },
+ };
+}
+export default NodeGlobalsPolyfillPlugin;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js.map b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js.map
new file mode 100644
index 0000000..0ebb938
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,MAAM,UAAU,yBAAyB,CAAC,EACtC,MAAM,GAAG,KAAK;AACd,eAAe;AACf,OAAO,GAAG,IAAI,GACjB,GAAG,EAAE;IACF,OAAO;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACvC,SAAS,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxD,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;iBAChD,CAAA;YACL,CAAC,CAAC,CAAA;YACF,SAAS,CAAC,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzD,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,mGAAmG;YACnG,kEAAkE;YAClE,sBAAsB;YACtB,kEAAkE;YAClE,sBAAsB;YAEtB,uCAAuC;YACvC,eAAe;YACf,wBAAwB;YACxB,kCAAkC;YAClC,oCAAoC;YACpC,sCAAsC;YACtC,uBAAuB;YACvB,+DAA+D;YAC/D,2DAA2D;YAC3D,4BAA4B;YAC5B,iCAAiC;YACjC,8DAA8D;YAC9D,8CAA8C;YAC9C,sCAAsC;YACtC,kDAAkD;YAClD,wBAAwB;YACxB,oCAAoC;YACpC,yBAAyB;YACzB,aAAa;YACb,QAAQ;YACR,KAAK;YACL,SAAS,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,GAAG,EAAE;gBACzD,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YACF,SAAS,CAAC,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,GAAG,EAAE;gBACxD,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjD,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,MAAM,SAAS,GAAa,EAAE,CAAA;YAC9B,IAAI,OAAO,EAAE;gBACT,SAAS,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAC9D,CAAA;aACJ;YACD,IAAI,MAAM,EAAE;gBACR,SAAS,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAC7D,CAAA;aACJ;YACD,IAAI,cAAc,CAAC,MAAM,EAAE;gBACvB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;gBACxC,0BAA0B;gBAC1B,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;aAC9D;iBAAM;gBACH,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;aACzC;QACL,CAAC;KACJ,CAAA;AACL,CAAC;AAED,eAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts
new file mode 100644
index 0000000..121d59b
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts
@@ -0,0 +1,2 @@
+export {};
+//# sourceMappingURL=index.test.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts.map b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts.map
new file mode 100644
index 0000000..b5774e1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js
new file mode 100644
index 0000000..c3177d5
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js
@@ -0,0 +1,137 @@
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+import { build } from 'esbuild';
+import { writeFiles } from 'test-support';
+import { NodeGlobalsPolyfillPlugin } from '.';
+require('debug').enable(require('../package.json').name);
+test('process works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `process.version`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('process is tree shaken', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ });
+ const output = res.outputFiles[0].text;
+ expect(output).not.toContain('process');
+ unlink();
+}));
+// TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+test('process env vars are replaced with ones from define', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `if (process.env.VAR !== 'hello') { throw new Error('process.env.VAR not right: ' + process.env.VAR) }`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ define: {
+ 'process.env.VAR': '"hello"',
+ },
+ plugins: [NodeGlobalsPolyfillPlugin({})],
+ });
+ const output = res.outputFiles[0].text;
+ eval(output);
+ unlink();
+}));
+test('Buffer works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `console.log(Buffer.from('xxx').toString())`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('Buffer is tree shaken', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ });
+ const output = res.outputFiles[0].text;
+ expect(output).not.toContain('Buffer');
+ unlink();
+}));
+test('Buffer works using plugin', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `
+ let buf = new Buffer(256);
+ let len = buf.write("Simply Easy Learning");
+ console.log("Octets written : "+ len);`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeGlobalsPolyfillPlugin({ buffer: true })],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+test('process works using plugin', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `console.log(process.cwd())`,
+ });
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeGlobalsPolyfillPlugin({ process: true })],
+ });
+ const output = res.outputFiles[0].text;
+ // console.log(output)
+ eval(output);
+ unlink();
+}));
+//# sourceMappingURL=index.test.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js.map b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js.map
new file mode 100644
index 0000000..9e46b21
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/esm/index.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/package.json b/node_modules/@esbuild-plugins/node-globals-polyfill/package.json
new file mode 100644
index 0000000..f62b1fc
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "@esbuild-plugins/node-globals-polyfill",
+ "version": "0.2.3",
+ "description": "",
+ "preferUnplugged": true,
+ "sideEffects": false,
+ "main": "dist/index.js",
+ "module": "esm/index.js",
+ "types": "dist/index.d.ts",
+ "repository": "https://github.com/remorses/esbuild-plugins.git",
+ "scripts": {
+ "build": "tsc && tsc -m es6 --outDir esm",
+ "watch": "tsc -w"
+ },
+ "files": [
+ "dist",
+ "src",
+ "esm",
+ "Buffer.js",
+ "process.js",
+ "_buffer.js",
+ "_process.js"
+ ],
+ "keywords": [],
+ "author": "Tommaso De Rossi, morse <beats.by.morse@gmail.com>",
+ "license": "ISC",
+ "devDependencies": {
+ "test-support": "*"
+ },
+ "dependencies": {},
+ "peerDependencies": {
+ "esbuild": "*"
+ }
+}
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/process.js b/node_modules/@esbuild-plugins/node-globals-polyfill/process.js
new file mode 100644
index 0000000..cb43c28
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/process.js
@@ -0,0 +1,245 @@
+// shim for using process in browser
+// based off https://github.com/defunctzombie/node-process/blob/master/browser.js
+
+function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined')
+}
+function defaultClearTimeout() {
+ throw new Error('clearTimeout has not been defined')
+}
+var cachedSetTimeout = defaultSetTimout
+var cachedClearTimeout = defaultClearTimeout
+if (typeof global.setTimeout === 'function') {
+ cachedSetTimeout = setTimeout
+}
+if (typeof global.clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout
+}
+
+function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0)
+ }
+ // if setTimeout wasn't available but was latter defined
+ if (
+ (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&
+ setTimeout
+ ) {
+ cachedSetTimeout = setTimeout
+ return setTimeout(fun, 0)
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0)
+ } catch (e) {
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0)
+ } catch (e) {
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0)
+ }
+ }
+}
+function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker)
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if (
+ (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&
+ clearTimeout
+ ) {
+ cachedClearTimeout = clearTimeout
+ return clearTimeout(marker)
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker)
+ } catch (e) {
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker)
+ } catch (e) {
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker)
+ }
+ }
+}
+var queue = []
+var draining = false
+var currentQueue
+var queueIndex = -1
+
+function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return
+ }
+ draining = false
+ if (currentQueue.length) {
+ queue = currentQueue.concat(queue)
+ } else {
+ queueIndex = -1
+ }
+ if (queue.length) {
+ drainQueue()
+ }
+}
+
+function drainQueue() {
+ if (draining) {
+ return
+ }
+ var timeout = runTimeout(cleanUpNextTick)
+ draining = true
+
+ var len = queue.length
+ while (len) {
+ currentQueue = queue
+ queue = []
+ while (++queueIndex < len) {
+ if (currentQueue) {
+ currentQueue[queueIndex].run()
+ }
+ }
+ queueIndex = -1
+ len = queue.length
+ }
+ currentQueue = null
+ draining = false
+ runClearTimeout(timeout)
+}
+function nextTick(fun) {
+ var args = new Array(arguments.length - 1)
+ if (arguments.length > 1) {
+ for (var i = 1; i < arguments.length; i++) {
+ args[i - 1] = arguments[i]
+ }
+ }
+ queue.push(new Item(fun, args))
+ if (queue.length === 1 && !draining) {
+ runTimeout(drainQueue)
+ }
+}
+// v8 likes predictible objects
+function Item(fun, array) {
+ this.fun = fun
+ this.array = array
+}
+Item.prototype.run = function() {
+ this.fun.apply(null, this.array)
+}
+var title = 'browser'
+var platform = 'browser'
+var browser = true
+var env = {}
+var argv = []
+var version = '' // empty string to avoid regexp issues
+var versions = {}
+var release = {}
+var config = {}
+
+function noop() {}
+
+var on = noop
+var addListener = noop
+var once = noop
+var off = noop
+var removeListener = noop
+var removeAllListeners = noop
+var emit = noop
+
+function binding(name) {
+ throw new Error('process.binding is not supported')
+}
+
+function cwd() {
+ return '/'
+}
+function chdir(dir) {
+ throw new Error('process.chdir is not supported')
+}
+function umask() {
+ return 0
+}
+
+// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js
+var performance = global.performance || {}
+var performanceNow =
+ performance.now ||
+ performance.mozNow ||
+ performance.msNow ||
+ performance.oNow ||
+ performance.webkitNow ||
+ function() {
+ return new Date().getTime()
+ }
+
+// generate timestamp or delta
+// see http://nodejs.org/api/process.html#process_process_hrtime
+function hrtime(previousTimestamp) {
+ var clocktime = performanceNow.call(performance) * 1e-3
+ var seconds = Math.floor(clocktime)
+ var nanoseconds = Math.floor((clocktime % 1) * 1e9)
+ if (previousTimestamp) {
+ seconds = seconds - previousTimestamp[0]
+ nanoseconds = nanoseconds - previousTimestamp[1]
+ if (nanoseconds < 0) {
+ seconds--
+ nanoseconds += 1e9
+ }
+ }
+ return [seconds, nanoseconds]
+}
+
+var startTime = new Date()
+function uptime() {
+ var currentTime = new Date()
+ var dif = currentTime - startTime
+ return dif / 1000
+}
+
+export var process = {
+ nextTick: nextTick,
+ title: title,
+ browser: browser,
+ env: env,
+ argv: argv,
+ version: version,
+ versions: versions,
+ on: on,
+ addListener: addListener,
+ once: once,
+ off: off,
+ removeListener: removeListener,
+ removeAllListeners: removeAllListeners,
+ emit: emit,
+ binding: binding,
+ cwd: cwd,
+ chdir: chdir,
+ umask: umask,
+ hrtime: hrtime,
+ platform: platform,
+ release: release,
+ config: config,
+ uptime: uptime,
+}
+
+// replace process.env.VAR with define
+
+const defines = {}
+Object.keys(defines).forEach((key) => {
+ const segs = key.split('.')
+ let target = process
+ for (let i = 0; i < segs.length; i++) {
+ const seg = segs[i]
+ if (i === segs.length - 1) {
+ target[seg] = defines[key]
+ } else {
+ target = target[seg] || (target[seg] = {})
+ }
+ }
+})
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.test.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.test.ts
new file mode 100644
index 0000000..62e530e
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.test.ts
@@ -0,0 +1,155 @@
+import { build } from 'esbuild'
+import { writeFiles } from 'test-support'
+import { NodeGlobalsPolyfillPlugin } from '.'
+
+require('debug').enable(require('../package.json').name)
+
+test('process works', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `process.version`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ })
+ const output = res.outputFiles[0].text
+ // console.log(output)
+ eval(output)
+ unlink()
+})
+
+test('process is tree shaken', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../process')],
+ })
+ const output = res.outputFiles[0].text
+ expect(output).not.toContain('process')
+ unlink()
+})
+
+// TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+test('process env vars are replaced with ones from define', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `if (process.env.VAR !== 'hello') { throw new Error('process.env.VAR not right: ' + process.env.VAR) }`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ define: {
+ 'process.env.VAR': '"hello"',
+ },
+ plugins: [NodeGlobalsPolyfillPlugin({})],
+ })
+ const output = res.outputFiles[0].text
+ eval(output)
+ unlink()
+})
+
+test('Buffer works', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `console.log(Buffer.from('xxx').toString())`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ })
+ const output = res.outputFiles[0].text
+ // console.log(output)
+ eval(output)
+ unlink()
+})
+
+test('Buffer is tree shaken', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `console.log('hei')`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ inject: [require.resolve('../Buffer')],
+ })
+ const output = res.outputFiles[0].text
+ expect(output).not.toContain('Buffer')
+ unlink()
+})
+
+test('Buffer works using plugin', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `
+ let buf = new Buffer(256);
+ let len = buf.write("Simply Easy Learning");
+ console.log("Octets written : "+ len);`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeGlobalsPolyfillPlugin({ buffer: true })],
+ })
+ const output = res.outputFiles[0].text
+ // console.log(output)
+ eval(output)
+ unlink()
+})
+test('process works using plugin', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `console.log(process.cwd())`,
+ })
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeGlobalsPolyfillPlugin({ process: true })],
+ })
+ const output = res.outputFiles[0].text
+ // console.log(output)
+ eval(output)
+ unlink()
+})
diff --git a/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.ts b/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.ts
new file mode 100644
index 0000000..4b06c37
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.ts
@@ -0,0 +1,84 @@
+import path from 'path'
+import fs from 'fs'
+import * as esbuild from 'esbuild'
+
+export function NodeGlobalsPolyfillPlugin({
+ buffer = false,
+ // define = {},
+ process = true,
+} = {}): esbuild.Plugin {
+ return {
+ name: 'node-globals-polyfill',
+ setup({ initialOptions, onResolve, onLoad }) {
+ onResolve({ filter: /_node-buffer-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path.resolve(__dirname, '../Buffer.js'),
+ }
+ })
+ onResolve({ filter: /_node-process-polyfill_\.js/ }, (arg) => {
+ return {
+ path: path.resolve(__dirname, '../process.js'),
+ }
+ })
+
+ // TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
+ // onLoad({ filter: /_virtual-process-polyfill_\.js/ }, (arg) => {
+ // const data = fs
+ // .readFileSync(path.resolve(__dirname, '../process.js'))
+ // .toString()
+
+ // const keys = Object.keys(define)
+ // return {
+ // loader: 'js',
+ // contents: data.replace(
+ // `const defines = {}`,
+ // 'const defines = {\n' +
+ // keys
+ // .filter((x) => x.startsWith('process.'))
+ // .sort((a, b) => a.length - b.length)
+ // .map(
+ // (k) =>
+ // ` ${JSON.stringify(k).replace(
+ // 'process.',
+ // '',
+ // )}: ${define[k]},`,
+ // )
+ // .join('\n') +
+ // '\n}',
+ // ),
+ // }
+ // })
+ onResolve({ filter: /_virtual-process-polyfill_\.js/ }, () => {
+ return {
+ path: path.resolve(__dirname, '../process.js'),
+ }
+ })
+ onResolve({ filter: /_virtual-buffer-polyfill_\.js/ }, () => {
+ return {
+ path: path.resolve(__dirname, '../_buffer.js'),
+ }
+ })
+
+ const polyfills: string[] = []
+ if (process) {
+ polyfills.push(
+ path.resolve(__dirname, '../_virtual-process-polyfill_.js'),
+ )
+ }
+ if (buffer) {
+ polyfills.push(
+ path.resolve(__dirname, '../_virtual-buffer-polyfill_.js'),
+ )
+ }
+ if (initialOptions.inject) {
+ initialOptions.inject.push(...polyfills)
+ // handle duplicate plugin
+ initialOptions.inject = [...new Set(initialOptions.inject)]
+ } else {
+ initialOptions.inject = [...polyfills]
+ }
+ },
+ }
+}
+
+export default NodeGlobalsPolyfillPlugin
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts
new file mode 100644
index 0000000..65d4193
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts
@@ -0,0 +1,8 @@
+import { Plugin } from 'esbuild';
+export interface NodePolyfillsOptions {
+ name?: string;
+ namespace?: string;
+}
+export declare function NodeModulesPolyfillPlugin(options?: NodePolyfillsOptions): Plugin;
+export default NodeModulesPolyfillPlugin;
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts.map
new file mode 100644
index 0000000..c1151f9
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,SAAS,CAAA;AAkB/C,MAAM,WAAW,oBAAoB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,yBAAyB,CACrC,OAAO,GAAE,oBAAyB,GACnC,MAAM,CAwFR;AAmBD,eAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js
new file mode 100644
index 0000000..51f4d1a
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js
@@ -0,0 +1,127 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.NodeModulesPolyfillPlugin = void 0;
+const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
+const fs_1 = __importDefault(require("fs"));
+const path_1 = __importDefault(require("path"));
+const polyfills_1 = require("./polyfills");
+// import { NodeResolvePlugin } from '@esbuild-plugins/node-resolve'
+const NAME = 'node-modules-polyfills';
+const NAMESPACE = NAME;
+function removeEndingSlash(importee) {
+ if (importee && importee.slice(-1) === '/') {
+ importee = importee.slice(0, -1);
+ }
+ return importee;
+}
+function NodeModulesPolyfillPlugin(options = {}) {
+ const { namespace = NAMESPACE, name = NAME } = options;
+ if (namespace.endsWith('commonjs')) {
+ throw new Error(`namespace ${namespace} must not end with commonjs`);
+ }
+ // this namespace is needed to make ES modules expose their default export to require: require('assert') will give you import('assert').default
+ const commonjsNamespace = namespace + '-commonjs';
+ const polyfilledBuiltins = polyfills_1.builtinsPolyfills();
+ const polyfilledBuiltinsNames = [...polyfilledBuiltins.keys()];
+ return {
+ name,
+ setup: function setup({ onLoad, onResolve, initialOptions }) {
+ var _a;
+ // polyfills contain global keyword, it must be defined
+ if ((initialOptions === null || initialOptions === void 0 ? void 0 : initialOptions.define) && !((_a = initialOptions.define) === null || _a === void 0 ? void 0 : _a.global)) {
+ initialOptions.define['global'] = 'globalThis';
+ }
+ else if (!(initialOptions === null || initialOptions === void 0 ? void 0 : initialOptions.define)) {
+ initialOptions.define = { global: 'globalThis' };
+ }
+ // TODO these polyfill module cannot import anything, is that ok?
+ function loader(args) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const argsPath = args.path.replace(/^node:/, '');
+ const isCommonjs = args.namespace.endsWith('commonjs');
+ const resolved = polyfilledBuiltins.get(removeEndingSlash(argsPath));
+ const contents = yield (yield fs_1.default.promises.readFile(resolved)).toString();
+ let resolveDir = path_1.default.dirname(resolved);
+ if (isCommonjs) {
+ return {
+ loader: 'js',
+ contents: commonJsTemplate({
+ importPath: argsPath,
+ }),
+ resolveDir,
+ };
+ }
+ return {
+ loader: 'js',
+ contents,
+ resolveDir,
+ };
+ }
+ catch (e) {
+ console.error('node-modules-polyfill', e);
+ return {
+ contents: `export {}`,
+ loader: 'js',
+ };
+ }
+ });
+ }
+ onLoad({ filter: /.*/, namespace }, loader);
+ onLoad({ filter: /.*/, namespace: commonjsNamespace }, loader);
+ const filter = new RegExp([
+ ...polyfilledBuiltinsNames,
+ ...polyfilledBuiltinsNames.map((n) => `node:${n}`),
+ ]
+ .map(escape_string_regexp_1.default)
+ .join('|'));
+ function resolver(args) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const argsPath = args.path.replace(/^node:/, '');
+ const ignoreRequire = args.namespace === commonjsNamespace;
+ if (!polyfilledBuiltins.has(argsPath)) {
+ return;
+ }
+ const isCommonjs = !ignoreRequire && args.kind === 'require-call';
+ return {
+ namespace: isCommonjs ? commonjsNamespace : namespace,
+ path: argsPath,
+ };
+ });
+ }
+ onResolve({ filter }, resolver);
+ // onResolve({ filter: /.*/, namespace }, resolver)
+ },
+ };
+}
+exports.NodeModulesPolyfillPlugin = NodeModulesPolyfillPlugin;
+function commonJsTemplate({ importPath }) {
+ return `
+const polyfill = require('${importPath}')
+
+if (polyfill && polyfill.default) {
+ module.exports = polyfill.default
+ for (let k in polyfill) {
+ module.exports[k] = polyfill[k]
+ }
+} else if (polyfill) {
+ module.exports = polyfill
+}
+
+
+`;
+}
+exports.default = NodeModulesPolyfillPlugin;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js.map
new file mode 100644
index 0000000..c4bf9e4
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts
new file mode 100644
index 0000000..121d59b
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts
@@ -0,0 +1,2 @@
+export {};
+//# sourceMappingURL=index.test.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts.map
new file mode 100644
index 0000000..b5774e1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js
new file mode 100644
index 0000000..2923eec
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js
@@ -0,0 +1,183 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const esbuild_1 = require("esbuild");
+const test_support_1 = require("test-support");
+const fs_1 = __importDefault(require("fs"));
+const _1 = __importDefault(require("."));
+const node_globals_polyfill_1 = __importDefault(require("@esbuild-plugins/node-globals-polyfill"));
+require('debug').enable(require('../package.json').name);
+test('works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with SafeBuffer and other package consumers', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import {Buffer as SafeBuffer} from './safe-buffer'; console.log(SafeBuffer);`,
+ 'safe-buffer.ts': fs_1.default
+ .readFileSync(require.resolve('safe-buffer'))
+ .toString(),
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ // console.log(
+ // res.outputFiles[0].text
+ // .split('\n')
+ // .map((x, i) => i + ' ' + x)
+ // .join('\n'),
+ // )
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('events works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `
+ import EventEmitter from 'events';
+
+ class Test extends EventEmitter {
+ constructor() { };
+ }
+ console.log(Test)
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('require can use default export', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `
+ const assert = require('assert')
+ // console.log(assert)
+ assert('ok')
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test.skip('crypto', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import { randomBytes } from 'crypto'; console.log(randomBytes(20).toString('hex'))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test.skip('fs', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import { readFile } from 'fs'; console.log(readFile(''))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('does not include global keyword', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ expect(text).not.toContain(/\bglobal\b/);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with globals polyfills', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield test_support_1.writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield esbuild_1.build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [_1.default(), node_globals_polyfill_1.default()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ console.log(text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+//# sourceMappingURL=index.test.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js.map
new file mode 100644
index 0000000..e8a76e6
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts
new file mode 100644
index 0000000..564adc1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts
@@ -0,0 +1,2 @@
+export declare function builtinsPolyfills(): Map<any, any>;
+//# sourceMappingURL=polyfills.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts.map
new file mode 100644
index 0000000..2f7b592
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,kBA8IhC"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js
new file mode 100644
index 0000000..4f4f953
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js
@@ -0,0 +1,61 @@
+"use strict";
+// Taken from https://github.com/ionic-team/rollup-plugin-node-polyfills/blob/master/src/modules.ts
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.builtinsPolyfills = void 0;
+const EMPTY_PATH = require.resolve('rollup-plugin-node-polyfills/polyfills/empty.js');
+function builtinsPolyfills() {
+ const libs = new Map();
+ libs.set('process', require.resolve('rollup-plugin-node-polyfills/polyfills/process-es6'));
+ libs.set('buffer', require.resolve('rollup-plugin-node-polyfills/polyfills/buffer-es6'));
+ libs.set('util', require.resolve('rollup-plugin-node-polyfills/polyfills/util'));
+ libs.set('sys', libs.get('util'));
+ libs.set('events', require.resolve('rollup-plugin-node-polyfills/polyfills/events'));
+ libs.set('stream', require.resolve('rollup-plugin-node-polyfills/polyfills/stream'));
+ libs.set('path', require.resolve('rollup-plugin-node-polyfills/polyfills/path'));
+ libs.set('querystring', require.resolve('rollup-plugin-node-polyfills/polyfills/qs'));
+ libs.set('punycode', require.resolve('rollup-plugin-node-polyfills/polyfills/punycode'));
+ libs.set('url', require.resolve('rollup-plugin-node-polyfills/polyfills/url'));
+ libs.set('string_decoder', require.resolve('rollup-plugin-node-polyfills/polyfills/string-decoder'));
+ libs.set('http', require.resolve('rollup-plugin-node-polyfills/polyfills/http'));
+ libs.set('https', require.resolve('rollup-plugin-node-polyfills/polyfills/http'));
+ libs.set('os', require.resolve('rollup-plugin-node-polyfills/polyfills/os'));
+ libs.set('assert', require.resolve('rollup-plugin-node-polyfills/polyfills/assert'));
+ libs.set('constants', require.resolve('rollup-plugin-node-polyfills/polyfills/constants'));
+ libs.set('_stream_duplex', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/duplex'));
+ libs.set('_stream_passthrough', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough'));
+ libs.set('_stream_readable', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/readable'));
+ libs.set('_stream_writable', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/writable'));
+ libs.set('_stream_transform', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/transform'));
+ libs.set('timers', require.resolve('rollup-plugin-node-polyfills/polyfills/timers'));
+ libs.set('console', require.resolve('rollup-plugin-node-polyfills/polyfills/console'));
+ libs.set('vm', require.resolve('rollup-plugin-node-polyfills/polyfills/vm'));
+ libs.set('zlib', require.resolve('rollup-plugin-node-polyfills/polyfills/zlib'));
+ libs.set('tty', require.resolve('rollup-plugin-node-polyfills/polyfills/tty'));
+ libs.set('domain', require.resolve('rollup-plugin-node-polyfills/polyfills/domain'));
+ // not shimmed
+ libs.set('dns', EMPTY_PATH);
+ libs.set('dgram', EMPTY_PATH);
+ libs.set('child_process', EMPTY_PATH);
+ libs.set('cluster', EMPTY_PATH);
+ libs.set('module', EMPTY_PATH);
+ libs.set('net', EMPTY_PATH);
+ libs.set('readline', EMPTY_PATH);
+ libs.set('repl', EMPTY_PATH);
+ libs.set('tls', EMPTY_PATH);
+ libs.set('fs', EMPTY_PATH);
+ libs.set('crypto', EMPTY_PATH);
+ // libs.set(
+ // 'fs',
+ // require.resolve('rollup-plugin-node-polyfills/polyfills/browserify-fs'),
+ // )
+ // TODO enable crypto and fs https://github.com/ionic-team/rollup-plugin-node-polyfills/issues/20
+ // libs.set(
+ // 'crypto',
+ // require.resolve(
+ // 'rollup-plugin-node-polyfills/polyfills/crypto-browserify',
+ // ),
+ // )
+ return libs;
+}
+exports.builtinsPolyfills = builtinsPolyfills;
+//# sourceMappingURL=polyfills.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js.map
new file mode 100644
index 0000000..a7ef0e3
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/dist/polyfills.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts
new file mode 100644
index 0000000..65d4193
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts
@@ -0,0 +1,8 @@
+import { Plugin } from 'esbuild';
+export interface NodePolyfillsOptions {
+ name?: string;
+ namespace?: string;
+}
+export declare function NodeModulesPolyfillPlugin(options?: NodePolyfillsOptions): Plugin;
+export default NodeModulesPolyfillPlugin;
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts.map
new file mode 100644
index 0000000..c1151f9
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,SAAS,CAAA;AAkB/C,MAAM,WAAW,oBAAoB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,yBAAyB,CACrC,OAAO,GAAE,oBAAyB,GACnC,MAAM,CAwFR;AAmBD,eAAe,yBAAyB,CAAA"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js
new file mode 100644
index 0000000..69526b5
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js
@@ -0,0 +1,120 @@
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+import escapeStringRegexp from 'escape-string-regexp';
+import fs from 'fs';
+import path from 'path';
+import { builtinsPolyfills } from './polyfills';
+// import { NodeResolvePlugin } from '@esbuild-plugins/node-resolve'
+const NAME = 'node-modules-polyfills';
+const NAMESPACE = NAME;
+function removeEndingSlash(importee) {
+ if (importee && importee.slice(-1) === '/') {
+ importee = importee.slice(0, -1);
+ }
+ return importee;
+}
+export function NodeModulesPolyfillPlugin(options = {}) {
+ const { namespace = NAMESPACE, name = NAME } = options;
+ if (namespace.endsWith('commonjs')) {
+ throw new Error(`namespace ${namespace} must not end with commonjs`);
+ }
+ // this namespace is needed to make ES modules expose their default export to require: require('assert') will give you import('assert').default
+ const commonjsNamespace = namespace + '-commonjs';
+ const polyfilledBuiltins = builtinsPolyfills();
+ const polyfilledBuiltinsNames = [...polyfilledBuiltins.keys()];
+ return {
+ name,
+ setup: function setup({ onLoad, onResolve, initialOptions }) {
+ var _a;
+ // polyfills contain global keyword, it must be defined
+ if ((initialOptions === null || initialOptions === void 0 ? void 0 : initialOptions.define) && !((_a = initialOptions.define) === null || _a === void 0 ? void 0 : _a.global)) {
+ initialOptions.define['global'] = 'globalThis';
+ }
+ else if (!(initialOptions === null || initialOptions === void 0 ? void 0 : initialOptions.define)) {
+ initialOptions.define = { global: 'globalThis' };
+ }
+ // TODO these polyfill module cannot import anything, is that ok?
+ function loader(args) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const argsPath = args.path.replace(/^node:/, '');
+ const isCommonjs = args.namespace.endsWith('commonjs');
+ const resolved = polyfilledBuiltins.get(removeEndingSlash(argsPath));
+ const contents = yield (yield fs.promises.readFile(resolved)).toString();
+ let resolveDir = path.dirname(resolved);
+ if (isCommonjs) {
+ return {
+ loader: 'js',
+ contents: commonJsTemplate({
+ importPath: argsPath,
+ }),
+ resolveDir,
+ };
+ }
+ return {
+ loader: 'js',
+ contents,
+ resolveDir,
+ };
+ }
+ catch (e) {
+ console.error('node-modules-polyfill', e);
+ return {
+ contents: `export {}`,
+ loader: 'js',
+ };
+ }
+ });
+ }
+ onLoad({ filter: /.*/, namespace }, loader);
+ onLoad({ filter: /.*/, namespace: commonjsNamespace }, loader);
+ const filter = new RegExp([
+ ...polyfilledBuiltinsNames,
+ ...polyfilledBuiltinsNames.map((n) => `node:${n}`),
+ ]
+ .map(escapeStringRegexp)
+ .join('|'));
+ function resolver(args) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const argsPath = args.path.replace(/^node:/, '');
+ const ignoreRequire = args.namespace === commonjsNamespace;
+ if (!polyfilledBuiltins.has(argsPath)) {
+ return;
+ }
+ const isCommonjs = !ignoreRequire && args.kind === 'require-call';
+ return {
+ namespace: isCommonjs ? commonjsNamespace : namespace,
+ path: argsPath,
+ };
+ });
+ }
+ onResolve({ filter }, resolver);
+ // onResolve({ filter: /.*/, namespace }, resolver)
+ },
+ };
+}
+function commonJsTemplate({ importPath }) {
+ return `
+const polyfill = require('${importPath}')
+
+if (polyfill && polyfill.default) {
+ module.exports = polyfill.default
+ for (let k in polyfill) {
+ module.exports[k] = polyfill[k]
+ }
+} else if (polyfill) {
+ module.exports = polyfill
+}
+
+
+`;
+}
+export default NodeModulesPolyfillPlugin;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js.map
new file mode 100644
index 0000000..c8544ab
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts
new file mode 100644
index 0000000..121d59b
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts
@@ -0,0 +1,2 @@
+export {};
+//# sourceMappingURL=index.test.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts.map
new file mode 100644
index 0000000..b5774e1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
new file mode 100644
index 0000000..b4ff899
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
@@ -0,0 +1,178 @@
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+import { build } from 'esbuild';
+import { writeFiles } from 'test-support';
+import fs from 'fs';
+import NodeModulesPolyfillsPlugin from '.';
+import NodeGlobalsPolyfillsPlugin from '@esbuild-plugins/node-globals-polyfill';
+require('debug').enable(require('../package.json').name);
+test('works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with SafeBuffer and other package consumers', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {Buffer as SafeBuffer} from './safe-buffer'; console.log(SafeBuffer);`,
+ 'safe-buffer.ts': fs
+ .readFileSync(require.resolve('safe-buffer'))
+ .toString(),
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(
+ // res.outputFiles[0].text
+ // .split('\n')
+ // .map((x, i) => i + ' ' + x)
+ // .join('\n'),
+ // )
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('events works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `
+ import EventEmitter from 'events';
+
+ class Test extends EventEmitter {
+ constructor() { };
+ }
+ console.log(Test)
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('require can use default export', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `
+ const assert = require('assert')
+ // console.log(assert)
+ assert('ok')
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test.skip('crypto', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import { randomBytes } from 'crypto'; console.log(randomBytes(20).toString('hex'))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test.skip('fs', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import { readFile } from 'fs'; console.log(readFile(''))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('does not include global keyword', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ expect(text).not.toContain(/\bglobal\b/);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with globals polyfills', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin(), NodeGlobalsPolyfillsPlugin()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ console.log(text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+//# sourceMappingURL=index.test.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js.map
new file mode 100644
index 0000000..9e80cfd
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts
new file mode 100644
index 0000000..564adc1
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts
@@ -0,0 +1,2 @@
+export declare function builtinsPolyfills(): Map<any, any>;
+//# sourceMappingURL=polyfills.d.ts.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts.map
new file mode 100644
index 0000000..2f7b592
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,kBA8IhC"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js
new file mode 100644
index 0000000..28b0ea7
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js
@@ -0,0 +1,57 @@
+// Taken from https://github.com/ionic-team/rollup-plugin-node-polyfills/blob/master/src/modules.ts
+const EMPTY_PATH = require.resolve('rollup-plugin-node-polyfills/polyfills/empty.js');
+export function builtinsPolyfills() {
+ const libs = new Map();
+ libs.set('process', require.resolve('rollup-plugin-node-polyfills/polyfills/process-es6'));
+ libs.set('buffer', require.resolve('rollup-plugin-node-polyfills/polyfills/buffer-es6'));
+ libs.set('util', require.resolve('rollup-plugin-node-polyfills/polyfills/util'));
+ libs.set('sys', libs.get('util'));
+ libs.set('events', require.resolve('rollup-plugin-node-polyfills/polyfills/events'));
+ libs.set('stream', require.resolve('rollup-plugin-node-polyfills/polyfills/stream'));
+ libs.set('path', require.resolve('rollup-plugin-node-polyfills/polyfills/path'));
+ libs.set('querystring', require.resolve('rollup-plugin-node-polyfills/polyfills/qs'));
+ libs.set('punycode', require.resolve('rollup-plugin-node-polyfills/polyfills/punycode'));
+ libs.set('url', require.resolve('rollup-plugin-node-polyfills/polyfills/url'));
+ libs.set('string_decoder', require.resolve('rollup-plugin-node-polyfills/polyfills/string-decoder'));
+ libs.set('http', require.resolve('rollup-plugin-node-polyfills/polyfills/http'));
+ libs.set('https', require.resolve('rollup-plugin-node-polyfills/polyfills/http'));
+ libs.set('os', require.resolve('rollup-plugin-node-polyfills/polyfills/os'));
+ libs.set('assert', require.resolve('rollup-plugin-node-polyfills/polyfills/assert'));
+ libs.set('constants', require.resolve('rollup-plugin-node-polyfills/polyfills/constants'));
+ libs.set('_stream_duplex', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/duplex'));
+ libs.set('_stream_passthrough', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough'));
+ libs.set('_stream_readable', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/readable'));
+ libs.set('_stream_writable', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/writable'));
+ libs.set('_stream_transform', require.resolve('rollup-plugin-node-polyfills/polyfills/readable-stream/transform'));
+ libs.set('timers', require.resolve('rollup-plugin-node-polyfills/polyfills/timers'));
+ libs.set('console', require.resolve('rollup-plugin-node-polyfills/polyfills/console'));
+ libs.set('vm', require.resolve('rollup-plugin-node-polyfills/polyfills/vm'));
+ libs.set('zlib', require.resolve('rollup-plugin-node-polyfills/polyfills/zlib'));
+ libs.set('tty', require.resolve('rollup-plugin-node-polyfills/polyfills/tty'));
+ libs.set('domain', require.resolve('rollup-plugin-node-polyfills/polyfills/domain'));
+ // not shimmed
+ libs.set('dns', EMPTY_PATH);
+ libs.set('dgram', EMPTY_PATH);
+ libs.set('child_process', EMPTY_PATH);
+ libs.set('cluster', EMPTY_PATH);
+ libs.set('module', EMPTY_PATH);
+ libs.set('net', EMPTY_PATH);
+ libs.set('readline', EMPTY_PATH);
+ libs.set('repl', EMPTY_PATH);
+ libs.set('tls', EMPTY_PATH);
+ libs.set('fs', EMPTY_PATH);
+ libs.set('crypto', EMPTY_PATH);
+ // libs.set(
+ // 'fs',
+ // require.resolve('rollup-plugin-node-polyfills/polyfills/browserify-fs'),
+ // )
+ // TODO enable crypto and fs https://github.com/ionic-team/rollup-plugin-node-polyfills/issues/20
+ // libs.set(
+ // 'crypto',
+ // require.resolve(
+ // 'rollup-plugin-node-polyfills/polyfills/crypto-browserify',
+ // ),
+ // )
+ return libs;
+}
+//# sourceMappingURL=polyfills.js.map \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js.map b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js.map
new file mode 100644
index 0000000..3c35ae4
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/polyfills.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/package.json b/node_modules/@esbuild-plugins/node-modules-polyfill/package.json
new file mode 100644
index 0000000..d9a6e41
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@esbuild-plugins/node-modules-polyfill",
+ "version": "0.2.2",
+ "description": "",
+ "main": "dist/index.js",
+ "module": "esm/index.js",
+ "types": "dist/index.d.ts",
+ "repository": "https://github.com/remorses/esbuild-plugins.git",
+ "scripts": {
+ "build": "tsc && tsc -m es6 --outDir esm",
+ "watch": "tsc -w"
+ },
+ "files": [
+ "dist",
+ "src",
+ "esm"
+ ],
+ "keywords": [],
+ "author": "Tommaso De Rossi, morse <beats.by.morse@gmail.com>",
+ "license": "ISC",
+ "devDependencies": {
+ "safe-buffer": "^5.2.1",
+ "test-support": "*",
+ "@esbuild-plugins/node-globals-polyfill": "*"
+ },
+ "dependencies": {
+ "escape-string-regexp": "^4.0.0",
+ "rollup-plugin-node-polyfills": "^0.2.1"
+ },
+ "peerDependencies": {
+ "esbuild": "*"
+ }
+}
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.test.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.test.ts
new file mode 100644
index 0000000..92792e6
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.test.ts
@@ -0,0 +1,200 @@
+import { build } from 'esbuild'
+import { writeFiles } from 'test-support'
+import fs from 'fs'
+import NodeModulesPolyfillsPlugin from '.'
+import NodeGlobalsPolyfillsPlugin from '@esbuild-plugins/node-globals-polyfill'
+
+require('debug').enable(require('../package.json').name)
+
+test('works', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ eval(res.outputFiles[0].text)
+ // console.log(res.outputFiles[0].text)
+ unlink()
+})
+
+test('works with SafeBuffer and other package consumers', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import {Buffer as SafeBuffer} from './safe-buffer'; console.log(SafeBuffer);`,
+ 'safe-buffer.ts': fs
+ .readFileSync(require.resolve('safe-buffer'))
+ .toString(),
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ // console.log(
+ // res.outputFiles[0].text
+ // .split('\n')
+ // .map((x, i) => i + ' ' + x)
+ // .join('\n'),
+ // )
+ eval(res.outputFiles[0].text)
+ unlink()
+})
+
+test('events works', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `
+ import EventEmitter from 'events';
+
+ class Test extends EventEmitter {
+ constructor() { };
+ }
+ console.log(Test)
+ `,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text)
+ unlink()
+})
+
+test('require can use default export', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `
+ const assert = require('assert')
+ // console.log(assert)
+ assert('ok')
+ `,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text)
+ unlink()
+})
+
+test.skip('crypto', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import { randomBytes } from 'crypto'; console.log(randomBytes(20).toString('hex'))`,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ eval(res.outputFiles[0].text)
+ // console.log(res.outputFiles[0].text)
+ unlink()
+})
+test.skip('fs', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import { readFile } from 'fs'; console.log(readFile(''))`,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ eval(res.outputFiles[0].text)
+ // console.log(res.outputFiles[0].text)
+ unlink()
+})
+
+test('does not include global keyword', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ })
+ const text = res.outputFiles[0].text
+ eval(text)
+ expect(text).not.toContain(/\bglobal\b/)
+ // console.log(res.outputFiles[0].text)
+ unlink()
+})
+
+test('works with globals polyfills', async () => {
+ const {
+ unlink,
+ paths: [ENTRY],
+ } = await writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ })
+ // const outfile = randomOutputFile()
+ const res = await build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin(), NodeGlobalsPolyfillsPlugin()],
+ })
+ const text = res.outputFiles[0].text
+ eval(text)
+ console.log(text)
+ // console.log(res.outputFiles[0].text)
+ unlink()
+})
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.ts
new file mode 100644
index 0000000..f7397e4
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.ts
@@ -0,0 +1,133 @@
+import { OnResolveArgs, Plugin } from 'esbuild'
+import escapeStringRegexp from 'escape-string-regexp'
+import fs from 'fs'
+import path from 'path'
+import esbuild from 'esbuild'
+import { builtinsPolyfills } from './polyfills'
+
+// import { NodeResolvePlugin } from '@esbuild-plugins/node-resolve'
+const NAME = 'node-modules-polyfills'
+const NAMESPACE = NAME
+
+function removeEndingSlash(importee) {
+ if (importee && importee.slice(-1) === '/') {
+ importee = importee.slice(0, -1)
+ }
+ return importee
+}
+
+export interface NodePolyfillsOptions {
+ name?: string
+ namespace?: string
+}
+
+export function NodeModulesPolyfillPlugin(
+ options: NodePolyfillsOptions = {},
+): Plugin {
+ const { namespace = NAMESPACE, name = NAME } = options
+ if (namespace.endsWith('commonjs')) {
+ throw new Error(`namespace ${namespace} must not end with commonjs`)
+ }
+ // this namespace is needed to make ES modules expose their default export to require: require('assert') will give you import('assert').default
+ const commonjsNamespace = namespace + '-commonjs'
+ const polyfilledBuiltins = builtinsPolyfills()
+ const polyfilledBuiltinsNames = [...polyfilledBuiltins.keys()]
+
+ return {
+ name,
+ setup: function setup({ onLoad, onResolve, initialOptions }) {
+ // polyfills contain global keyword, it must be defined
+ if (initialOptions?.define && !initialOptions.define?.global) {
+ initialOptions.define['global'] = 'globalThis'
+ } else if (!initialOptions?.define) {
+ initialOptions.define = { global: 'globalThis' }
+ }
+
+ // TODO these polyfill module cannot import anything, is that ok?
+ async function loader(
+ args: esbuild.OnLoadArgs,
+ ): Promise<esbuild.OnLoadResult> {
+ try {
+ const argsPath = args.path.replace(/^node:/, '')
+ const isCommonjs = args.namespace.endsWith('commonjs')
+
+ const resolved = polyfilledBuiltins.get(
+ removeEndingSlash(argsPath),
+ )
+ const contents = await (
+ await fs.promises.readFile(resolved)
+ ).toString()
+ let resolveDir = path.dirname(resolved)
+
+ if (isCommonjs) {
+ return {
+ loader: 'js',
+ contents: commonJsTemplate({
+ importPath: argsPath,
+ }),
+ resolveDir,
+ }
+ }
+ return {
+ loader: 'js',
+ contents,
+ resolveDir,
+ }
+ } catch (e) {
+ console.error('node-modules-polyfill', e)
+ return {
+ contents: `export {}`,
+ loader: 'js',
+ }
+ }
+ }
+ onLoad({ filter: /.*/, namespace }, loader)
+ onLoad({ filter: /.*/, namespace: commonjsNamespace }, loader)
+ const filter = new RegExp(
+ [
+ ...polyfilledBuiltinsNames,
+ ...polyfilledBuiltinsNames.map((n) => `node:${n}`),
+ ]
+ .map(escapeStringRegexp)
+ .join('|'), // TODO builtins could end with slash, keep in mind in regex
+ )
+ async function resolver(args: OnResolveArgs) {
+ const argsPath = args.path.replace(/^node:/, '')
+ const ignoreRequire = args.namespace === commonjsNamespace
+
+ if (!polyfilledBuiltins.has(argsPath)) {
+ return
+ }
+
+ const isCommonjs =
+ !ignoreRequire && args.kind === 'require-call'
+
+ return {
+ namespace: isCommonjs ? commonjsNamespace : namespace,
+ path: argsPath,
+ }
+ }
+ onResolve({ filter }, resolver)
+ // onResolve({ filter: /.*/, namespace }, resolver)
+ },
+ }
+}
+
+function commonJsTemplate({ importPath }) {
+ return `
+const polyfill = require('${importPath}')
+
+if (polyfill && polyfill.default) {
+ module.exports = polyfill.default
+ for (let k in polyfill) {
+ module.exports[k] = polyfill[k]
+ }
+} else if (polyfill) {
+ module.exports = polyfill
+}
+
+
+`
+}
+
+export default NodeModulesPolyfillPlugin
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/src/polyfills.ts b/node_modules/@esbuild-plugins/node-modules-polyfill/src/polyfills.ts
new file mode 100644
index 0000000..cea5f8d
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/src/polyfills.ts
@@ -0,0 +1,151 @@
+// Taken from https://github.com/ionic-team/rollup-plugin-node-polyfills/blob/master/src/modules.ts
+
+import { NodePolyfillsOptions } from '.'
+
+const EMPTY_PATH = require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/empty.js',
+)
+
+export function builtinsPolyfills() {
+ const libs = new Map()
+
+ libs.set(
+ 'process',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/process-es6'),
+ )
+ libs.set(
+ 'buffer',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/buffer-es6'),
+ )
+ libs.set(
+ 'util',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/util'),
+ )
+ libs.set('sys', libs.get('util'))
+ libs.set(
+ 'events',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/events'),
+ )
+ libs.set(
+ 'stream',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/stream'),
+ )
+ libs.set(
+ 'path',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/path'),
+ )
+ libs.set(
+ 'querystring',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/qs'),
+ )
+ libs.set(
+ 'punycode',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/punycode'),
+ )
+ libs.set(
+ 'url',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/url'),
+ )
+ libs.set(
+ 'string_decoder',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/string-decoder',
+ ),
+ )
+ libs.set(
+ 'http',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/http'),
+ )
+ libs.set(
+ 'https',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/http'),
+ )
+ libs.set('os', require.resolve('rollup-plugin-node-polyfills/polyfills/os'))
+ libs.set(
+ 'assert',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/assert'),
+ )
+ libs.set(
+ 'constants',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/constants'),
+ )
+ libs.set(
+ '_stream_duplex',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex',
+ ),
+ )
+ libs.set(
+ '_stream_passthrough',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough',
+ ),
+ )
+ libs.set(
+ '_stream_readable',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/readable-stream/readable',
+ ),
+ )
+ libs.set(
+ '_stream_writable',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/readable-stream/writable',
+ ),
+ )
+ libs.set(
+ '_stream_transform',
+ require.resolve(
+ 'rollup-plugin-node-polyfills/polyfills/readable-stream/transform',
+ ),
+ )
+ libs.set(
+ 'timers',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/timers'),
+ )
+ libs.set(
+ 'console',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/console'),
+ )
+ libs.set('vm', require.resolve('rollup-plugin-node-polyfills/polyfills/vm'))
+ libs.set(
+ 'zlib',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/zlib'),
+ )
+ libs.set(
+ 'tty',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/tty'),
+ )
+ libs.set(
+ 'domain',
+ require.resolve('rollup-plugin-node-polyfills/polyfills/domain'),
+ )
+
+ // not shimmed
+ libs.set('dns', EMPTY_PATH)
+ libs.set('dgram', EMPTY_PATH)
+ libs.set('child_process', EMPTY_PATH)
+ libs.set('cluster', EMPTY_PATH)
+ libs.set('module', EMPTY_PATH)
+ libs.set('net', EMPTY_PATH)
+ libs.set('readline', EMPTY_PATH)
+ libs.set('repl', EMPTY_PATH)
+ libs.set('tls', EMPTY_PATH)
+ libs.set('fs', EMPTY_PATH)
+ libs.set('crypto', EMPTY_PATH)
+
+ // libs.set(
+ // 'fs',
+ // require.resolve('rollup-plugin-node-polyfills/polyfills/browserify-fs'),
+ // )
+
+ // TODO enable crypto and fs https://github.com/ionic-team/rollup-plugin-node-polyfills/issues/20
+ // libs.set(
+ // 'crypto',
+ // require.resolve(
+ // 'rollup-plugin-node-polyfills/polyfills/crypto-browserify',
+ // ),
+ // )
+
+ return libs
+}