fix(es/minifier): Remove hack for built-in class names (#8293)

**Description:**

Regarding https://github.com/vercel/next.js/issues/55682, I made a mistake while investigating. I assumed it's `swcMinify`-only but it seems like `node-fetch` is fundamentally incompatible with our minification options.

I thought `node-fetch` works with terser, but it did not, and it **should not**. But as I thought `terser` works, I assumed that `terser` has a hack for `AbortSignal`. And that's how I fixed `swcMinify: true`. The correct fix is `keep_classnames: true` but it will result in +~10% bundle size bloat.
At first, I used the correct way (`keep_classnames: true`), but it resulted in the bundle size bloat, so I mimicked the hack of terser with https://github.com/vercel/next.js/pull/57904.

While working on other minification issues, I found that there's no such hack in `terser` and I need to remove the hack in the SWC minifier.
The repro in https://github.com/vercel/next.js/issues/55682 does not work with `swcMinify: false`, even with next@14. The problem of minifier and node-fetch was not exploited before `serverMinification: true`.


**Related issue:**

 - https://github.com/brix/crypto-js/issues/415
This commit is contained in:
Donny/강동윤 2023-11-16 09:17:42 +09:00 committed by GitHub
parent f88d6f3c8d
commit 7985e02fc8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 455 additions and 206 deletions

View File

@ -0,0 +1,204 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[354], {
/***/ 2153:
/***/ (function (module, exports, __webpack_require__) {
; (function (root, factory) {
if (true) {
// CommonJS
module.exports = exports = factory(__webpack_require__(8249));
}
else { }
}(this, function (CryptoJS) {
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Initialization and round constants tables
var H = [];
var K = [];
// Compute constants
(function () {
function isPrime(n) {
var sqrtN = Math.sqrt(n);
for (var factor = 2; factor <= sqrtN; factor++) {
if (!(n % factor)) {
return false;
}
}
return true;
}
function getFractionalBits(n) {
return ((n - (n | 0)) * 0x100000000) | 0;
}
var n = 2;
var nPrime = 0;
while (nPrime < 64) {
if (isPrime(n)) {
if (nPrime < 8) {
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
}
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
nPrime++;
}
n++;
}
}());
// Reusable object
var W = [];
/**
* SHA-256 hash algorithm.
*/
var SHA256 = C_algo.SHA256 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init(H.slice(0));
},
_doProcessBlock: function (M, offset) {
// Shortcut
var H = this._hash.words;
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
var e = H[4];
var f = H[5];
var g = H[6];
var h = H[7];
// Computation
for (var i = 0; i < 64; i++) {
if (i < 16) {
W[i] = M[offset + i] | 0;
} else {
var gamma0x = W[i - 15];
var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
((gamma0x << 14) | (gamma0x >>> 18)) ^
(gamma0x >>> 3);
var gamma1x = W[i - 2];
var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
((gamma1x << 13) | (gamma1x >>> 19)) ^
(gamma1x >>> 10);
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
}
var ch = (e & f) ^ (~e & g);
var maj = (a & b) ^ (a & c) ^ (b & c);
var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
var t1 = h + sigma1 + ch + K[i] + W[i];
var t2 = sigma0 + maj;
h = g;
g = f;
f = e;
e = (d + t1) | 0;
d = c;
c = b;
b = a;
a = (t1 + t2) | 0;
}
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
H[4] = (H[4] + e) | 0;
H[5] = (H[5] + f) | 0;
H[6] = (H[6] + g) | 0;
H[7] = (H[7] + h) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Return final computed hash
return this._hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA256('message');
* var hash = CryptoJS.SHA256(wordArray);
*/
C.SHA256 = Hasher._createHelper(SHA256);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA256(message, key);
*/
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
}(Math));
return CryptoJS.SHA256;
}));
/***/
}),
}]);

View File

@ -0,0 +1,3 @@
{
"toplevel": true
}

View File

@ -0,0 +1,43 @@
(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
[
354
],
{
2153: function(e, r, t) {
var s, n, a, o, i, h, c, l, _, f;
e.exports = (s = t(8249), n = Math, o = (a = s.lib).WordArray, i = a.Hasher, h = s.algo, c = [], l = [], function() {
function e(e) {
return (e - (0 | e)) * 0x100000000 | 0;
}
for(var r = 2, t = 0; t < 64;)(function(e) {
for(var r = n.sqrt(e), t = 2; t <= r; t++)if (!(e % t)) return !1;
return !0;
})(r) && (t < 8 && (c[t] = e(n.pow(r, 0.5))), l[t] = e(n.pow(r, 1 / 3)), t++), r++;
}(), _ = [], f = h.SHA256 = i.extend({
_doReset: function() {
this._hash = new o.init(c.slice(0));
},
_doProcessBlock: function(e, r) {
for(var t = this._hash.words, s = t[0], n = t[1], a = t[2], o = t[3], i = t[4], h = t[5], c = t[6], f = t[7], u = 0; u < 64; u++){
if (u < 16) _[u] = 0 | e[r + u];
else {
var p = _[u - 15], H = (p << 25 | p >>> 7) ^ (p << 14 | p >>> 18) ^ p >>> 3, d = _[u - 2], v = (d << 15 | d >>> 17) ^ (d << 13 | d >>> 19) ^ d >>> 10;
_[u] = H + _[u - 7] + v + _[u - 16];
}
var w = i & h ^ ~i & c, k = s & n ^ s & a ^ n & a, A = (s << 30 | s >>> 2) ^ (s << 19 | s >>> 13) ^ (s << 10 | s >>> 22), g = f + ((i << 26 | i >>> 6) ^ (i << 21 | i >>> 11) ^ (i << 7 | i >>> 25)) + w + l[u] + _[u], y = A + k;
f = c, c = h, h = i, i = o + g | 0, o = a, a = n, n = s, s = g + y | 0;
}
t[0] = t[0] + s | 0, t[1] = t[1] + n | 0, t[2] = t[2] + a | 0, t[3] = t[3] + o | 0, t[4] = t[4] + i | 0, t[5] = t[5] + h | 0, t[6] = t[6] + c | 0, t[7] = t[7] + f | 0;
},
_doFinalize: function() {
var e = this._data, r = e.words, t = 8 * this._nDataBytes, s = 8 * e.sigBytes;
return r[s >>> 5] |= 0x80 << 24 - s % 32, r[(s + 64 >>> 9 << 4) + 14] = n.floor(t / 0x100000000), r[(s + 64 >>> 9 << 4) + 15] = t, e.sigBytes = 4 * r.length, this._process(), this._hash;
},
clone: function() {
var e = i.clone.call(this);
return e._hash = this._hash.clone(), e;
}
}), s.SHA256 = i._createHelper(f), s.HmacSHA256 = i._createHmacHelper(f), s.SHA256);
}
}
]);

View File

@ -2992,79 +2992,79 @@
"use strict";
r.r(t), r.d(t, {
Canvas: function() {
return y;
return v;
},
Circle: function() {
return g;
return b;
},
ClipPath: function() {
return D;
return _;
},
Defs: function() {
return p;
return h;
},
Document: function() {
return Document;
return w;
},
Ellipse: function() {
return v;
return m;
},
G: function() {
return n;
},
Image: function() {
return Image;
return y;
},
Line: function() {
return f;
return d;
},
LinearGradient: function() {
return E;
return S;
},
Link: function() {
return a;
},
Note: function() {
return l;
},
Page: function() {
return u;
},
Path: function() {
Note: function() {
return s;
},
Polygon: function() {
return b;
Page: function() {
return l;
},
Polyline: function() {
return m;
},
RadialGradient: function() {
return _;
},
Rect: function() {
Path: function() {
return c;
},
Polygon: function() {
return D;
},
Polyline: function() {
return E;
},
RadialGradient: function() {
return A;
},
Rect: function() {
return f;
},
Stop: function() {
return d;
return p;
},
Svg: function() {
return i;
},
Text: function() {
return Text;
return a;
},
TextInstance: function() {
return w;
return x;
},
Tspan: function() {
return h;
return g;
},
View: function() {
return o;
}
});
const n = "G", i = "SVG", o = "VIEW", Text = "TEXT", a = "LINK", u = "PAGE", l = "NOTE", s = "PATH", c = "RECT", f = "LINE", d = "STOP", p = "DEFS", Image = "IMAGE", h = "TSPAN", y = "CANVAS", g = "CIRCLE", v = "ELLIPSE", b = "POLYGON", Document = "DOCUMENT", m = "POLYLINE", D = "CLIP_PATH", w = "TEXT_INSTANCE", E = "LINEAR_GRADIENT", _ = "RADIAL_GRADIENT";
const n = "G", i = "SVG", o = "VIEW", a = "TEXT", u = "LINK", l = "PAGE", s = "NOTE", c = "PATH", f = "RECT", d = "LINE", p = "STOP", h = "DEFS", y = "IMAGE", g = "TSPAN", v = "CANVAS", b = "CIRCLE", m = "ELLIPSE", D = "POLYGON", w = "DOCUMENT", E = "POLYLINE", _ = "CLIP_PATH", x = "TEXT_INSTANCE", S = "LINEAR_GRADIENT", A = "RADIAL_GRADIENT";
},
2837: function(e, t, r) {
"use strict";
@ -5662,14 +5662,14 @@
4561: function(e, t) {
"use strict";
t.__esModule = !0, t.default = void 0;
var Node = function() {
function Node(e) {
var r = function() {
function e(e) {
this.prev = null, this.next = null, this.data = e;
}
return Node.prototype.toString = function() {
return e.prototype.toString = function() {
return this.data.toString();
}, Node;
}(), r = function() {
}, e;
}(), n = function() {
function e() {
this.head = null, this.tail = null, this.listSize = 0;
}
@ -5725,7 +5725,7 @@
return this.head.next.prev = null, this.head = this.head.next, this.listSize -= 1, e.prev = null, e.next = null, e;
}, e;
}();
r.Node = Node, t.default = r;
n.Node = r, t.default = n;
},
9276: function(e, t, r) {
"use strict";
@ -7267,24 +7267,24 @@
};
},
7152: function(e, t, r) {
var WritableStream = r(9681).Writable, n = r(9720), Blob = r(5548), URL = r.g.URL || r.g.webkitURL || r.g.mozURL;
function i() {
if (!(this instanceof i)) return new i();
WritableStream.call(this), this._chunks = [], this._blob = null, this.length = 0;
var n = r(9681).Writable, i = r(9720), o = r(5548), a = r.g.URL || r.g.webkitURL || r.g.mozURL;
function u() {
if (!(this instanceof u)) return new u();
n.call(this), this._chunks = [], this._blob = null, this.length = 0;
}
n.inherits(i, WritableStream), i.prototype._write = function(e, t, r) {
i.inherits(u, n), u.prototype._write = function(e, t, r) {
e instanceof Uint8Array || (e = new Uint8Array(e)), this.length += e.length, this._chunks.push(e), r();
}, i.prototype.toBlob = function(e) {
return e = e || "application/octet-stream", this._blob || (this._blob = new Blob(this._chunks, {
}, u.prototype.toBlob = function(e) {
return e = e || "application/octet-stream", this._blob || (this._blob = new o(this._chunks, {
type: e
}), this._chunks = []), this._blob.type !== e && (this._blob = new Blob([
}), this._chunks = []), this._blob.type !== e && (this._blob = new o([
this._blob
], {
type: e
})), this._blob;
}, i.prototype.toBlobURL = function(e) {
return URL.createObjectURL(this.toBlob(e));
}, e.exports = i;
}, u.prototype.toBlobURL = function(e) {
return a.createObjectURL(this.toBlob(e));
}, e.exports = u;
},
5548: function(e, t, r) {
var n = r.g.BlobBuilder || r.g.WebKitBlobBuilder || r.g.MSBlobBuilder || r.g.MozBlobBuilder, i = function() {
@ -8316,8 +8316,8 @@
return r;
}), r;
}
function Headers(e) {
this.map = {}, e instanceof Headers ? e.forEach(function(e, t) {
function l(e) {
this.map = {}, e instanceof l ? e.forEach(function(e, t) {
this.append(t, e);
}, this) : Array.isArray(e) ? e.forEach(function(e) {
this.append(e[0], e[1]);
@ -8325,11 +8325,11 @@
this.append(t, e[t]);
}, this);
}
function l(e) {
function s(e) {
if (e.bodyUsed) return Promise.reject(TypeError("Already read"));
e.bodyUsed = !0;
}
function s(e) {
function c(e) {
return new Promise(function(t, r) {
e.onload = function() {
t(e.result);
@ -8338,16 +8338,16 @@
};
});
}
function c(e) {
var t = new FileReader(), r = s(t);
function f(e) {
var t = new FileReader(), r = c(t);
return t.readAsArrayBuffer(e), r;
}
function f(e) {
function d(e) {
if (e.slice) return e.slice(0);
var t = new Uint8Array(e.byteLength);
return t.set(new Uint8Array(e)), t.buffer;
}
function d() {
function p() {
return this.bodyUsed = !1, this._initBody = function(e) {
if (this._bodyInit = e, e) {
if ("string" == typeof e) this._bodyText = e;
@ -8356,14 +8356,14 @@
else if (t.searchParams && URLSearchParams.prototype.isPrototypeOf(e)) this._bodyText = e.toString();
else {
var r;
t.arrayBuffer && t.blob && (r = e) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = f(e.buffer), this._bodyInit = new Blob([
t.arrayBuffer && t.blob && (r = e) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = d(e.buffer), this._bodyInit = new Blob([
this._bodyArrayBuffer
])) : t.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || i(e)) ? this._bodyArrayBuffer = f(e) : this._bodyText = e = Object.prototype.toString.call(e);
])) : t.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || i(e)) ? this._bodyArrayBuffer = d(e) : this._bodyText = e = Object.prototype.toString.call(e);
}
} else this._bodyText = "";
!this.headers.get("content-type") && ("string" == typeof e ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : t.searchParams && URLSearchParams.prototype.isPrototypeOf(e) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
}, t.blob && (this.blob = function() {
var e = l(this);
var e = s(this);
if (e) return e;
if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
if (this._bodyArrayBuffer) return Promise.resolve(new Blob([
@ -8374,11 +8374,11 @@
]));
throw Error("could not read FormData body as blob");
}, this.arrayBuffer = function() {
return this._bodyArrayBuffer ? l(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(c);
return this._bodyArrayBuffer ? s(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(f);
}), this.text = function() {
var e, t, r, n = l(this);
var e, t, r, n = s(this);
if (n) return n;
if (this._bodyBlob) return e = this._bodyBlob, r = s(t = new FileReader()), t.readAsText(e), r;
if (this._bodyBlob) return e = this._bodyBlob, r = c(t = new FileReader()), t.readAsText(e), r;
if (this._bodyArrayBuffer) return Promise.resolve(function(e) {
for(var t = new Uint8Array(e), r = Array(t.length), n = 0; n < t.length; n++)r[n] = String.fromCharCode(t[n]);
return r.join("");
@ -8386,36 +8386,36 @@
if (!this._bodyFormData) return Promise.resolve(this._bodyText);
throw Error("could not read FormData body as text");
}, t.formData && (this.formData = function() {
return this.text().then(h);
return this.text().then(g);
}), this.json = function() {
return this.text().then(JSON.parse);
}, this;
}
Headers.prototype.append = function(e, t) {
l.prototype.append = function(e, t) {
e = o(e), t = a(t);
var r = this.map[e];
this.map[e] = r ? r + ", " + t : t;
}, Headers.prototype.delete = function(e) {
}, l.prototype.delete = function(e) {
delete this.map[o(e)];
}, Headers.prototype.get = function(e) {
}, l.prototype.get = function(e) {
return e = o(e), this.has(e) ? this.map[e] : null;
}, Headers.prototype.has = function(e) {
}, l.prototype.has = function(e) {
return this.map.hasOwnProperty(o(e));
}, Headers.prototype.set = function(e, t) {
}, l.prototype.set = function(e, t) {
this.map[o(e)] = a(t);
}, Headers.prototype.forEach = function(e, t) {
}, l.prototype.forEach = function(e, t) {
for(var r in this.map)this.map.hasOwnProperty(r) && e.call(t, this.map[r], r, this);
}, Headers.prototype.keys = function() {
}, l.prototype.keys = function() {
var e = [];
return this.forEach(function(t, r) {
e.push(r);
}), u(e);
}, Headers.prototype.values = function() {
}, l.prototype.values = function() {
var e = [];
return this.forEach(function(t) {
e.push(t);
}), u(e);
}, Headers.prototype.entries = function() {
}, l.prototype.entries = function() {
var e = [];
return this.forEach(function(t, r) {
e.push([
@ -8423,8 +8423,8 @@
t
]);
}), u(e);
}, t.iterable && (Headers.prototype[Symbol.iterator] = Headers.prototype.entries);
var p = [
}, t.iterable && (l.prototype[Symbol.iterator] = l.prototype.entries);
var h = [
"DELETE",
"GET",
"HEAD",
@ -8432,16 +8432,16 @@
"POST",
"PUT"
];
function Request(e, t) {
function y(e, t) {
var r, n, i = (t = t || {}).body;
if (e instanceof Request) {
if (e instanceof y) {
if (e.bodyUsed) throw TypeError("Already read");
this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new Headers(e.headers)), this.method = e.method, this.mode = e.mode, this.signal = e.signal, i || null == e._bodyInit || (i = e._bodyInit, e.bodyUsed = !0);
this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new l(e.headers)), this.method = e.method, this.mode = e.mode, this.signal = e.signal, i || null == e._bodyInit || (i = e._bodyInit, e.bodyUsed = !0);
} else this.url = String(e);
if (this.credentials = t.credentials || this.credentials || "same-origin", (t.headers || !this.headers) && (this.headers = new Headers(t.headers)), this.method = (n = (r = t.method || this.method || "GET").toUpperCase(), p.indexOf(n) > -1 ? n : r), this.mode = t.mode || this.mode || null, this.signal = t.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && i) throw TypeError("Body not allowed for GET or HEAD requests");
if (this.credentials = t.credentials || this.credentials || "same-origin", (t.headers || !this.headers) && (this.headers = new l(t.headers)), this.method = (n = (r = t.method || this.method || "GET").toUpperCase(), h.indexOf(n) > -1 ? n : r), this.mode = t.mode || this.mode || null, this.signal = t.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && i) throw TypeError("Body not allowed for GET or HEAD requests");
this._initBody(i);
}
function h(e) {
function g(e) {
var t = new FormData();
return e.trim().split("&").forEach(function(e) {
if (e) {
@ -8450,37 +8450,37 @@
}
}), t;
}
function Response(e, t) {
t || (t = {}), this.type = "default", this.status = void 0 === t.status ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in t ? t.statusText : "OK", this.headers = new Headers(t.headers), this.url = t.url || "", this._initBody(e);
function v(e, t) {
t || (t = {}), this.type = "default", this.status = void 0 === t.status ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in t ? t.statusText : "OK", this.headers = new l(t.headers), this.url = t.url || "", this._initBody(e);
}
Request.prototype.clone = function() {
return new Request(this, {
y.prototype.clone = function() {
return new y(this, {
body: this._bodyInit
});
}, d.call(Request.prototype), d.call(Response.prototype), Response.prototype.clone = function() {
return new Response(this._bodyInit, {
}, p.call(y.prototype), p.call(v.prototype), v.prototype.clone = function() {
return new v(this._bodyInit, {
status: this.status,
statusText: this.statusText,
headers: new Headers(this.headers),
headers: new l(this.headers),
url: this.url
});
}, Response.error = function() {
var e = new Response(null, {
}, v.error = function() {
var e = new v(null, {
status: 0,
statusText: ""
});
return e.type = "error", e;
};
var y = [
var b = [
301,
302,
303,
307,
308
];
Response.redirect = function(e, t) {
if (-1 === y.indexOf(t)) throw RangeError("Invalid status code");
return new Response(null, {
v.redirect = function(e, t) {
if (-1 === b.indexOf(t)) throw RangeError("Invalid status code");
return new v(null, {
status: t,
headers: {
location: e
@ -8496,19 +8496,19 @@
this.stack = r.stack;
}, e.DOMException.prototype = Object.create(Error.prototype), e.DOMException.prototype.constructor = e.DOMException;
}
function g(r, n) {
function m(r, n) {
return new Promise(function(i, o) {
var a = new Request(r, n);
var a = new y(r, n);
if (a.signal && a.signal.aborted) return o(new e.DOMException("Aborted", "AbortError"));
var u = new XMLHttpRequest();
function l() {
function s() {
u.abort();
}
u.onload = function() {
var e, t, r = {
status: u.status,
statusText: u.statusText,
headers: (e = u.getAllResponseHeaders() || "", t = new Headers(), e.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function(e) {
headers: (e = u.getAllResponseHeaders() || "", t = new l(), e.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function(e) {
var r = e.split(":"), n = r.shift().trim();
if (n) {
var i = r.join(":").trim();
@ -8516,7 +8516,7 @@
}
}), t)
};
r.url = "responseURL" in u ? u.responseURL : r.headers.get("X-Request-URL"), i(new Response("response" in u ? u.response : u.responseText, r));
r.url = "responseURL" in u ? u.responseURL : r.headers.get("X-Request-URL"), i(new v("response" in u ? u.response : u.responseText, r));
}, u.onerror = function() {
o(TypeError("Network request failed"));
}, u.ontimeout = function() {
@ -8525,41 +8525,41 @@
o(new e.DOMException("Aborted", "AbortError"));
}, u.open(a.method, a.url, !0), "include" === a.credentials ? u.withCredentials = !0 : "omit" === a.credentials && (u.withCredentials = !1), "responseType" in u && t.blob && (u.responseType = "blob"), a.headers.forEach(function(e, t) {
u.setRequestHeader(t, e);
}), a.signal && (a.signal.addEventListener("abort", l), u.onreadystatechange = function() {
4 === u.readyState && a.signal.removeEventListener("abort", l);
}), a.signal && (a.signal.addEventListener("abort", s), u.onreadystatechange = function() {
4 === u.readyState && a.signal.removeEventListener("abort", s);
}), u.send(void 0 === a._bodyInit ? null : a._bodyInit);
});
}
g.polyfill = !0, n.fetch || (n.fetch = g, n.Headers = Headers, n.Request = Request, n.Response = Response), e.Headers = Headers, e.Request = Request, e.Response = Response, e.fetch = g, Object.defineProperty(e, "__esModule", {
m.polyfill = !0, n.fetch || (n.fetch = m, n.Headers = l, n.Request = y, n.Response = v), e.Headers = l, e.Request = y, e.Response = v, e.fetch = m, Object.defineProperty(e, "__esModule", {
value: !0
});
})({}), n.fetch.ponyfill = !0, delete n.fetch.polyfill, (t = n.fetch).default = n.fetch, t.fetch = n.fetch, t.Headers = n.Headers, t.Request = n.Request, t.Response = n.Response, e.exports = t;
},
8249: function(e, t, r) {
var n;
e.exports = n || function(Math, e) {
if ("undefined" != typeof window && window.crypto && (t = window.crypto), "undefined" != typeof self && self.crypto && (t = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (t = globalThis.crypto), !t && "undefined" != typeof window && window.msCrypto && (t = window.msCrypto), !t && void 0 !== r.g && r.g.crypto && (t = r.g.crypto), !t) try {
t = r(2480);
e.exports = n || function(e, t) {
if ("undefined" != typeof window && window.crypto && (n = window.crypto), "undefined" != typeof self && self.crypto && (n = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (n = globalThis.crypto), !n && "undefined" != typeof window && window.msCrypto && (n = window.msCrypto), !n && void 0 !== r.g && r.g.crypto && (n = r.g.crypto), !n) try {
n = r(2480);
} catch (e) {}
var t, n = function() {
if (t) {
if ("function" == typeof t.getRandomValues) try {
return t.getRandomValues(new Uint32Array(1))[0];
var n, i = function() {
if (n) {
if ("function" == typeof n.getRandomValues) try {
return n.getRandomValues(new Uint32Array(1))[0];
} catch (e) {}
if ("function" == typeof t.randomBytes) try {
return t.randomBytes(4).readInt32LE();
if ("function" == typeof n.randomBytes) try {
return n.randomBytes(4).readInt32LE();
} catch (e) {}
}
throw Error("Native crypto module could not be used to get secure random number.");
}, i = Object.create || function() {
}, o = Object.create || function() {
function e() {}
return function(t) {
var r;
return e.prototype = t, r = new e(), e.prototype = null, r;
};
}(), o = {}, a = o.lib = {}, u = a.Base = {
}(), a = {}, u = a.lib = {}, l = u.Base = {
extend: function(e) {
var t = i(this);
var t = o(this);
return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function() {
t.$super.init.apply(this, arguments);
}), t.init.prototype = t, t.$super = this, t;
@ -8576,12 +8576,12 @@
clone: function() {
return this.init.prototype.extend(this);
}
}, l = a.WordArray = u.extend({
}, s = u.WordArray = l.extend({
init: function(e, t) {
e = this.words = e || [], void 0 != t ? this.sigBytes = t : this.sigBytes = 4 * e.length;
},
toString: function(e) {
return (e || c).stringify(this);
return (e || f).stringify(this);
},
concat: function(e) {
var t = this.words, r = e.words, n = this.sigBytes, i = e.sigBytes;
@ -8593,18 +8593,18 @@
return this.sigBytes += i, this;
},
clamp: function() {
var e = this.words, t = this.sigBytes;
e[t >>> 2] &= 0xffffffff << 32 - t % 4 * 8, e.length = Math.ceil(t / 4);
var t = this.words, r = this.sigBytes;
t[r >>> 2] &= 0xffffffff << 32 - r % 4 * 8, t.length = e.ceil(r / 4);
},
clone: function() {
var e = u.clone.call(this);
var e = l.clone.call(this);
return e.words = this.words.slice(0), e;
},
random: function(e) {
for(var t = [], r = 0; r < e; r += 4)t.push(n());
return new l.init(t, e);
for(var t = [], r = 0; r < e; r += 4)t.push(i());
return new s.init(t, e);
}
}), s = o.enc = {}, c = s.Hex = {
}), c = a.enc = {}, f = c.Hex = {
stringify: function(e) {
for(var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++){
var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
@ -8614,9 +8614,9 @@
},
parse: function(e) {
for(var t = e.length, r = [], n = 0; n < t; n += 2)r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;
return new l.init(r, t / 2);
return new s.init(r, t / 2);
}
}, f = s.Latin1 = {
}, d = c.Latin1 = {
stringify: function(e) {
for(var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++){
var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
@ -8626,47 +8626,47 @@
},
parse: function(e) {
for(var t = e.length, r = [], n = 0; n < t; n++)r[n >>> 2] |= (0xff & e.charCodeAt(n)) << 24 - n % 4 * 8;
return new l.init(r, t);
return new s.init(r, t);
}
}, d = s.Utf8 = {
}, p = c.Utf8 = {
stringify: function(e) {
try {
return decodeURIComponent(escape(f.stringify(e)));
return decodeURIComponent(escape(d.stringify(e)));
} catch (e) {
throw Error("Malformed UTF-8 data");
}
},
parse: function(e) {
return f.parse(unescape(encodeURIComponent(e)));
return d.parse(unescape(encodeURIComponent(e)));
}
}, p = a.BufferedBlockAlgorithm = u.extend({
}, h = u.BufferedBlockAlgorithm = l.extend({
reset: function() {
this._data = new l.init(), this._nDataBytes = 0;
this._data = new s.init(), this._nDataBytes = 0;
},
_append: function(e) {
"string" == typeof e && (e = d.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;
"string" == typeof e && (e = p.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;
},
_process: function(e) {
var t, r = this._data, n = r.words, i = r.sigBytes, o = this.blockSize, a = i / (4 * o), u = (a = e ? Math.ceil(a) : Math.max((0 | a) - this._minBufferSize, 0)) * o, s = Math.min(4 * u, i);
if (u) {
for(var c = 0; c < u; c += o)this._doProcessBlock(n, c);
t = n.splice(0, u), r.sigBytes -= s;
_process: function(t) {
var r, n = this._data, i = n.words, o = n.sigBytes, a = this.blockSize, u = o / (4 * a), l = (u = t ? e.ceil(u) : e.max((0 | u) - this._minBufferSize, 0)) * a, c = e.min(4 * l, o);
if (l) {
for(var f = 0; f < l; f += a)this._doProcessBlock(i, f);
r = i.splice(0, l), n.sigBytes -= c;
}
return new l.init(t, s);
return new s.init(r, c);
},
clone: function() {
var e = u.clone.call(this);
var e = l.clone.call(this);
return e._data = this._data.clone(), e;
},
_minBufferSize: 0
});
a.Hasher = p.extend({
cfg: u.extend(),
u.Hasher = h.extend({
cfg: l.extend(),
init: function(e) {
this.cfg = this.cfg.extend(e), this.reset();
},
reset: function() {
p.reset.call(this), this._doReset();
h.reset.call(this), this._doReset();
},
update: function(e) {
return this._append(e), this._process(), this;
@ -8682,24 +8682,24 @@
},
_createHmacHelper: function(e) {
return function(t, r) {
return new h.HMAC.init(e, r).finalize(t);
return new y.HMAC.init(e, r).finalize(t);
};
}
});
var h = o.algo = {};
return o;
var y = a.algo = {};
return a;
}(Math);
},
8214: function(e, t, r) {
var n;
e.exports = (n = r(8249), function(Math) {
var e = n.lib, t = e.WordArray, r = e.Hasher, i = n.algo, o = [];
e.exports = (n = r(8249), function(e) {
var t = n.lib, r = t.WordArray, i = t.Hasher, o = n.algo, a = [];
!function() {
for(var e = 0; e < 64; e++)o[e] = 0x100000000 * Math.abs(Math.sin(e + 1)) | 0;
for(var t = 0; t < 64; t++)a[t] = 0x100000000 * e.abs(e.sin(t + 1)) | 0;
}();
var a = i.MD5 = r.extend({
var u = o.MD5 = i.extend({
_doReset: function() {
this._hash = new t.init([
this._hash = new r.init([
0x67452301,
0xefcdab89,
0x98badcfe,
@ -8711,42 +8711,42 @@
var n = t + r, i = e[n];
e[n] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00;
}
var a = this._hash.words, f = e[t + 0], d = e[t + 1], p = e[t + 2], h = e[t + 3], y = e[t + 4], g = e[t + 5], v = e[t + 6], b = e[t + 7], m = e[t + 8], D = e[t + 9], w = e[t + 10], E = e[t + 11], _ = e[t + 12], x = e[t + 13], S = e[t + 14], A = e[t + 15], k = a[0], T = a[1], O = a[2], C = a[3];
k = u(k, T, O, C, f, 7, o[0]), C = u(C, k, T, O, d, 12, o[1]), O = u(O, C, k, T, p, 17, o[2]), T = u(T, O, C, k, h, 22, o[3]), k = u(k, T, O, C, y, 7, o[4]), C = u(C, k, T, O, g, 12, o[5]), O = u(O, C, k, T, v, 17, o[6]), T = u(T, O, C, k, b, 22, o[7]), k = u(k, T, O, C, m, 7, o[8]), C = u(C, k, T, O, D, 12, o[9]), O = u(O, C, k, T, w, 17, o[10]), T = u(T, O, C, k, E, 22, o[11]), k = u(k, T, O, C, _, 7, o[12]), C = u(C, k, T, O, x, 12, o[13]), O = u(O, C, k, T, S, 17, o[14]), T = u(T, O, C, k, A, 22, o[15]), k = l(k, T, O, C, d, 5, o[16]), C = l(C, k, T, O, v, 9, o[17]), O = l(O, C, k, T, E, 14, o[18]), T = l(T, O, C, k, f, 20, o[19]), k = l(k, T, O, C, g, 5, o[20]), C = l(C, k, T, O, w, 9, o[21]), O = l(O, C, k, T, A, 14, o[22]), T = l(T, O, C, k, y, 20, o[23]), k = l(k, T, O, C, D, 5, o[24]), C = l(C, k, T, O, S, 9, o[25]), O = l(O, C, k, T, h, 14, o[26]), T = l(T, O, C, k, m, 20, o[27]), k = l(k, T, O, C, x, 5, o[28]), C = l(C, k, T, O, p, 9, o[29]), O = l(O, C, k, T, b, 14, o[30]), T = l(T, O, C, k, _, 20, o[31]), k = s(k, T, O, C, g, 4, o[32]), C = s(C, k, T, O, m, 11, o[33]), O = s(O, C, k, T, E, 16, o[34]), T = s(T, O, C, k, S, 23, o[35]), k = s(k, T, O, C, d, 4, o[36]), C = s(C, k, T, O, y, 11, o[37]), O = s(O, C, k, T, b, 16, o[38]), T = s(T, O, C, k, w, 23, o[39]), k = s(k, T, O, C, x, 4, o[40]), C = s(C, k, T, O, f, 11, o[41]), O = s(O, C, k, T, h, 16, o[42]), T = s(T, O, C, k, v, 23, o[43]), k = s(k, T, O, C, D, 4, o[44]), C = s(C, k, T, O, _, 11, o[45]), O = s(O, C, k, T, A, 16, o[46]), T = s(T, O, C, k, p, 23, o[47]), k = c(k, T, O, C, f, 6, o[48]), C = c(C, k, T, O, b, 10, o[49]), O = c(O, C, k, T, S, 15, o[50]), T = c(T, O, C, k, g, 21, o[51]), k = c(k, T, O, C, _, 6, o[52]), C = c(C, k, T, O, h, 10, o[53]), O = c(O, C, k, T, w, 15, o[54]), T = c(T, O, C, k, d, 21, o[55]), k = c(k, T, O, C, m, 6, o[56]), C = c(C, k, T, O, A, 10, o[57]), O = c(O, C, k, T, v, 15, o[58]), T = c(T, O, C, k, x, 21, o[59]), k = c(k, T, O, C, y, 6, o[60]), C = c(C, k, T, O, E, 10, o[61]), O = c(O, C, k, T, p, 15, o[62]), T = c(T, O, C, k, D, 21, o[63]), a[0] = a[0] + k | 0, a[1] = a[1] + T | 0, a[2] = a[2] + O | 0, a[3] = a[3] + C | 0;
var o = this._hash.words, u = e[t + 0], d = e[t + 1], p = e[t + 2], h = e[t + 3], y = e[t + 4], g = e[t + 5], v = e[t + 6], b = e[t + 7], m = e[t + 8], D = e[t + 9], w = e[t + 10], E = e[t + 11], _ = e[t + 12], x = e[t + 13], S = e[t + 14], A = e[t + 15], k = o[0], T = o[1], O = o[2], C = o[3];
k = l(k, T, O, C, u, 7, a[0]), C = l(C, k, T, O, d, 12, a[1]), O = l(O, C, k, T, p, 17, a[2]), T = l(T, O, C, k, h, 22, a[3]), k = l(k, T, O, C, y, 7, a[4]), C = l(C, k, T, O, g, 12, a[5]), O = l(O, C, k, T, v, 17, a[6]), T = l(T, O, C, k, b, 22, a[7]), k = l(k, T, O, C, m, 7, a[8]), C = l(C, k, T, O, D, 12, a[9]), O = l(O, C, k, T, w, 17, a[10]), T = l(T, O, C, k, E, 22, a[11]), k = l(k, T, O, C, _, 7, a[12]), C = l(C, k, T, O, x, 12, a[13]), O = l(O, C, k, T, S, 17, a[14]), T = l(T, O, C, k, A, 22, a[15]), k = s(k, T, O, C, d, 5, a[16]), C = s(C, k, T, O, v, 9, a[17]), O = s(O, C, k, T, E, 14, a[18]), T = s(T, O, C, k, u, 20, a[19]), k = s(k, T, O, C, g, 5, a[20]), C = s(C, k, T, O, w, 9, a[21]), O = s(O, C, k, T, A, 14, a[22]), T = s(T, O, C, k, y, 20, a[23]), k = s(k, T, O, C, D, 5, a[24]), C = s(C, k, T, O, S, 9, a[25]), O = s(O, C, k, T, h, 14, a[26]), T = s(T, O, C, k, m, 20, a[27]), k = s(k, T, O, C, x, 5, a[28]), C = s(C, k, T, O, p, 9, a[29]), O = s(O, C, k, T, b, 14, a[30]), T = s(T, O, C, k, _, 20, a[31]), k = c(k, T, O, C, g, 4, a[32]), C = c(C, k, T, O, m, 11, a[33]), O = c(O, C, k, T, E, 16, a[34]), T = c(T, O, C, k, S, 23, a[35]), k = c(k, T, O, C, d, 4, a[36]), C = c(C, k, T, O, y, 11, a[37]), O = c(O, C, k, T, b, 16, a[38]), T = c(T, O, C, k, w, 23, a[39]), k = c(k, T, O, C, x, 4, a[40]), C = c(C, k, T, O, u, 11, a[41]), O = c(O, C, k, T, h, 16, a[42]), T = c(T, O, C, k, v, 23, a[43]), k = c(k, T, O, C, D, 4, a[44]), C = c(C, k, T, O, _, 11, a[45]), O = c(O, C, k, T, A, 16, a[46]), T = c(T, O, C, k, p, 23, a[47]), k = f(k, T, O, C, u, 6, a[48]), C = f(C, k, T, O, b, 10, a[49]), O = f(O, C, k, T, S, 15, a[50]), T = f(T, O, C, k, g, 21, a[51]), k = f(k, T, O, C, _, 6, a[52]), C = f(C, k, T, O, h, 10, a[53]), O = f(O, C, k, T, w, 15, a[54]), T = f(T, O, C, k, d, 21, a[55]), k = f(k, T, O, C, m, 6, a[56]), C = f(C, k, T, O, A, 10, a[57]), O = f(O, C, k, T, v, 15, a[58]), T = f(T, O, C, k, x, 21, a[59]), k = f(k, T, O, C, y, 6, a[60]), C = f(C, k, T, O, E, 10, a[61]), O = f(O, C, k, T, p, 15, a[62]), T = f(T, O, C, k, D, 21, a[63]), o[0] = o[0] + k | 0, o[1] = o[1] + T | 0, o[2] = o[2] + O | 0, o[3] = o[3] + C | 0;
},
_doFinalize: function() {
var e = this._data, t = e.words, r = 8 * this._nDataBytes, n = 8 * e.sigBytes;
t[n >>> 5] |= 0x80 << 24 - n % 32;
var i = Math.floor(r / 0x100000000);
t[(n + 64 >>> 9 << 4) + 15] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00, t[(n + 64 >>> 9 << 4) + 14] = (r << 8 | r >>> 24) & 0x00ff00ff | (r << 24 | r >>> 8) & 0xff00ff00, e.sigBytes = (t.length + 1) * 4, this._process();
for(var o = this._hash, a = o.words, u = 0; u < 4; u++){
var l = a[u];
a[u] = (l << 8 | l >>> 24) & 0x00ff00ff | (l << 24 | l >>> 8) & 0xff00ff00;
var t = this._data, r = t.words, n = 8 * this._nDataBytes, i = 8 * t.sigBytes;
r[i >>> 5] |= 0x80 << 24 - i % 32;
var o = e.floor(n / 0x100000000);
r[(i + 64 >>> 9 << 4) + 15] = (o << 8 | o >>> 24) & 0x00ff00ff | (o << 24 | o >>> 8) & 0xff00ff00, r[(i + 64 >>> 9 << 4) + 14] = (n << 8 | n >>> 24) & 0x00ff00ff | (n << 24 | n >>> 8) & 0xff00ff00, t.sigBytes = (r.length + 1) * 4, this._process();
for(var a = this._hash, u = a.words, l = 0; l < 4; l++){
var s = u[l];
u[l] = (s << 8 | s >>> 24) & 0x00ff00ff | (s << 24 | s >>> 8) & 0xff00ff00;
}
return o;
return a;
},
clone: function() {
var e = r.clone.call(this);
var e = i.clone.call(this);
return e._hash = this._hash.clone(), e;
}
});
function u(e, t, r, n, i, o, a) {
function l(e, t, r, n, i, o, a) {
var u = e + (t & r | ~t & n) + i + a;
return (u << o | u >>> 32 - o) + t;
}
function l(e, t, r, n, i, o, a) {
function s(e, t, r, n, i, o, a) {
var u = e + (t & n | r & ~n) + i + a;
return (u << o | u >>> 32 - o) + t;
}
function s(e, t, r, n, i, o, a) {
function c(e, t, r, n, i, o, a) {
var u = e + (t ^ r ^ n) + i + a;
return (u << o | u >>> 32 - o) + t;
}
function c(e, t, r, n, i, o, a) {
function f(e, t, r, n, i, o, a) {
var u = e + (r ^ (t | ~n)) + i + a;
return (u << o | u >>> 32 - o) + t;
}
n.MD5 = r._createHelper(a), n.HmacMD5 = r._createHmacHelper(a);
n.MD5 = i._createHelper(u), n.HmacMD5 = i._createHmacHelper(u);
}(Math), n.MD5);
},
251: function(e, t, r) {

File diff suppressed because one or more lines are too long

View File

@ -1,16 +1,16 @@
function XMLHttpRequest() {
function e() {
this.onreadystatechange = "PASS";
}
global.xhrDesc = {};
function e() {
return n();
}
function n() {
return t();
}
function t() {
if (xhrDesc) {
var e = new XMLHttpRequest();
var n = e.onreadystatechange;
Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {});
return n;
var n = new e();
var t = n.onreadystatechange;
Object.defineProperty(e.prototype, "onreadystatechange", xhrDesc || {});
return t;
}
}
console.log(e());
console.log(n());

View File

@ -1,19 +1,19 @@
function XMLHttpRequest() {
function n() {
this.onreadystatechange = "PASS";
}
global.SYMBOL_FAKE_ONREADYSTATECHANGE_1 = Symbol();
global.xhrDesc = null;
function n() {
return e();
}
function e() {
return a();
}
function a() {
if (!xhrDesc) {
var n = new XMLHttpRequest();
var e = function() {};
n.onreadystatechange = e;
var a = n[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === e;
n.onreadystatechange = null;
return a;
var e = new n();
var a = function() {};
e.onreadystatechange = a;
var o = e[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === a;
e.onreadystatechange = null;
return o;
}
}
console.log(n());
console.log(e());

View File

@ -1,10 +1,10 @@
var RegExp;
var a;
Array.isArray;
RegExp;
a;
UndeclaredGlobal;
function a() {
var Number;
function r() {
var a;
AnotherUndeclaredGlobal;
Math.sin;
Number.isNaN;
a.isNaN;
}

View File

@ -1,10 +1,10 @@
var RegExp;
var a;
Array.isArray;
RegExp;
a;
UndeclaredGlobal;
function a() {
var Number;
function r() {
var a;
AnotherUndeclaredGlobal;
Math.sin;
Number.isNaN;
a.isNaN;
}

View File

@ -1,7 +1,7 @@
!(function(o) {
try {
throw 0;
} catch (Infinity) {
} catch (c) {
o = 123456789 / 0;
}
console.log(o);

View File

@ -1,2 +1,2 @@
var String, Number, Boolean;
f(String(x), Number(x, x), Boolean(x));
var a, r, v;
f(a(x), r(x, x), v(x));

View File

@ -1,3 +1,3 @@
var Infinity, t;
var t, i;
Infinity.toString();
NaN.toString();

View File

@ -1,3 +1,3 @@
var Infinity, o;
var o, t;
(123456789 / 0).toString();
(+"foo").toString();

View File

@ -1,12 +1,12 @@
(function(n, t) {
n.CryptoJS = t();
})(this, function() {
var n = n || (function(Math) {
var n = {};
n.demo = function(n) {
return Math.ceil(n);
var n = n || (function(n) {
var t = {};
t.demo = function(t) {
return n.ceil(t);
};
return n;
return t;
})(Math);
return n;
});

View File

@ -1,4 +1,4 @@
!(function(Infinity, o, n) {
!(function(o, n, e) {
console.log("a"[1 / 0], "b"["Infinity"]);
console.log("c"[0 / 0], "d"["NaN"]);
console.log("e"[void 0], "f"["undefined"]);

View File

@ -14,7 +14,7 @@ use swc_ecma_ast::*;
use tracing::debug;
use super::reverse_map::ReverseMap;
use crate::{native::is_native, rename::Renamer};
use crate::rename::Renamer;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) enum ScopeKind {
@ -306,7 +306,6 @@ impl Scope {
|| to.get(&fid).is_some()
|| previous.get(&fid).is_some()
|| id.0 == "eval"
|| is_native(&id.0)
{
continue;
}