Skip to content

Commit

Permalink
refactor(es/ast): Reimplement optional chaining (#7441)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #7003.
 - Closes #7156.
  • Loading branch information
kdy1 committed Jun 12, 2023
1 parent d8f5158 commit aa83584
Show file tree
Hide file tree
Showing 231 changed files with 7,984 additions and 8,441 deletions.
2 changes: 1 addition & 1 deletion crates/swc/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ impl<'a, 'b, P: swc_ecma_visit::Fold> PassBuilder<'a, 'b, P> {
nullish_coalescing: compat::es2020::nullish_coalescing::Config {
no_document_all: assumptions.no_document_all
},
optional_chaining: compat::es2020::opt_chaining::Config {
optional_chaining: compat::es2020::optional_chaining::Config {
no_document_all: assumptions.no_document_all,
pure_getter: assumptions.pure_getters
}
Expand Down
10 changes: 0 additions & 10 deletions crates/swc/tests/errors/lints/no-alert/es-2020/output.swc-stderr
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,6 @@
10 | (window?.alert)(foo);
`----

x Unexpected alert
,-[6:1]
6 | globalThis.alert();
7 | }
8 | globalThis.alert();
9 | window?.alert(foo);
: ^^^^^^^^^^^^^^^^^^
10 | (window?.alert)(foo);
`----

x Unexpected alert
,-[7:1]
7 | }
Expand Down
25 changes: 0 additions & 25 deletions crates/swc/tests/errors/lints/radix/default/output.swc-stderr
Original file line number Diff line number Diff line change
Expand Up @@ -193,31 +193,6 @@ Error:
43 | globalThis?.parseInt("12");
`----

x Missing radix parameter
,-[40:1]
40 | globalThis.parseInt("12");
41 |
42 | // requires add radix equals 10
43 | globalThis?.parseInt("12");
: ^^^^^^^^^^^^^^^^^^^^^^^^^^
44 |
45 | // requires add radix equals 10
46 | parseInt("12", ("abc"));
`----

Error:
> Add radix parameter `10` for parsing decimal numbers
,-[40:1]
40 | globalThis.parseInt("12");
41 |
42 | // requires add radix equals 10
43 | globalThis?.parseInt("12");
: ^^^^^^^^^^^^^^^^^^^^^^^^^^
44 |
45 | // requires add radix equals 10
46 | parseInt("12", ("abc"));
`----

x Invalid radix parameter, must be an integer between 2 and 36
,-[43:1]
43 | globalThis?.parseInt("12");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ class RequestHandler {
* @param {Response} res
* @return {* | Promise<any>}
*/ static async parseResponse(res) {
var _res_headers_get;
if ((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.startsWith("application/json")) {
var _res_headers_get_startsWith, _object;
if ((_object = res.headers.get("Content-Type")) === null || _object === void 0 ? void 0 : (_res_headers_get_startsWith = _object.startsWith) === null || _res_headers_get_startsWith === void 0 ? void 0 : _res_headers_get_startsWith.call(_object, "application/json")) {
return await res.json();
}
return res.buffer();
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"use strict";const createRegisterItems=registerType=>{return async(a,b)=>{const a=root===null||root===void 0?void 0:root.test}};
"use strict";const createRegisterItems=registerType=>async(a,b)=>{var _root;const a=(_root=root)===null||_root===void 0?void 0:_root.test};
4 changes: 2 additions & 2 deletions crates/swc/tests/fixture/issues-2xxx/2063/output/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var _myVar_target_value, _myVar_target_value_toLowerCase;
var _myVar_target_value_toLowerCase, _object;
var myVar = {
target: {
value: "ABC"
}
};
console.log((_myVar_target_value_toLowerCase = (_myVar_target_value = myVar.target.value).toLowerCase) === null || _myVar_target_value_toLowerCase === void 0 ? void 0 : _myVar_target_value_toLowerCase.call(_myVar_target_value));
console.log((_object = myVar.target.value) === null || _object === void 0 ? void 0 : (_myVar_target_value_toLowerCase = _object.toLowerCase) === null || _myVar_target_value_toLowerCase === void 0 ? void 0 : _myVar_target_value_toLowerCase.call(_object));
8 changes: 5 additions & 3 deletions crates/swc/tests/fixture/issues-3xxx/3381/1/output/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ var dummyTsFunction = function() {
2
];
var func1 = function(array) {
// Mapping array
return array === null || array === void 0 ? void 0 : array.map(function(i) {
var // Mapping array
_array_map, _object;
return (_object = array) === null || _object === void 0 ? void 0 : (_array_map = _object.map) === null || _array_map === void 0 ? void 0 : _array_map.call(_object, function(i) {
return i;
});
};
var func2 = function(array) {
return array === null || array === void 0 ? void 0 : array.map(function(i) {
var _array_map, _object;
return (_object = array) === null || _object === void 0 ? void 0 : (_array_map = _object.map) === null || _array_map === void 0 ? void 0 : _array_map.call(_object, function(i) {
return i;
});
};
Expand Down
14 changes: 7 additions & 7 deletions crates/swc/tests/fixture/issues-4xxx/4108/1/output/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { Transaction } from "@solana/web3.js";
import { WalletNotConnectedError } from "@solana/wallet-adapter-base";
export var getErrorForTransaction = function() {
var _ref = _async_to_generator(function(connection, txid) {
var tx, errors;
var _tx, tx, errors;
return _ts_generator(this, function(_state) {
switch(_state.label){
case 0:
Expand All @@ -26,7 +26,7 @@ export var getErrorForTransaction = function() {
case 2:
tx = _state.sent();
errors = [];
if ((tx === null || tx === void 0 ? void 0 : tx.meta) && tx.meta.logMessages) {
if (((_tx = tx) === null || _tx === void 0 ? void 0 : _tx.meta) && tx.meta.logMessages) {
tx.meta.logMessages.forEach(function(log) {
var regex = /Error: (.*)/gm;
var m;
Expand Down Expand Up @@ -366,7 +366,7 @@ export var sendTransactions = function() {
}();
export var sendTransaction = function() {
var _ref = _async_to_generator(function(connection, wallet, instructions, signers) {
var awaitConfirmation, commitment, includesFeePayer, block, transaction, _tmp, _transaction, _transaction1, _transaction2, rawTransaction, options, txid, slot, confirmation, errors;
var awaitConfirmation, commitment, includesFeePayer, block, transaction, _tmp, _transaction, _transaction1, _transaction2, rawTransaction, options, txid, slot, _confirmation, _confirmation1, confirmation, errors;
var _arguments = arguments;
return _ts_generator(this, function(_state) {
switch(_state.label){
Expand Down Expand Up @@ -454,8 +454,8 @@ export var sendTransaction = function() {
case 7:
confirmation = _state.sent();
if (!confirmation) throw new Error("Timed out awaiting confirmation on transaction");
slot = (confirmation === null || confirmation === void 0 ? void 0 : confirmation.slot) || 0;
if (!(confirmation === null || confirmation === void 0 ? void 0 : confirmation.err)) return [
slot = ((_confirmation = confirmation) === null || _confirmation === void 0 ? void 0 : _confirmation.slot) || 0;
if (!((_confirmation1 = confirmation) === null || _confirmation1 === void 0 ? void 0 : _confirmation1.err)) return [
3,
9
];
Expand Down Expand Up @@ -574,7 +574,7 @@ export function sendSignedTransaction(_) {
}
function _sendSignedTransaction() {
_sendSignedTransaction = _async_to_generator(function(param) {
var signedTransaction, connection, _param_timeout, timeout, rawTransaction, startTime, slot, txid, done, confirmation, err, simulateResult, e, i, line;
var signedTransaction, connection, _param_timeout, timeout, rawTransaction, startTime, slot, txid, done, _confirmation, confirmation, err, simulateResult, e, i, line;
return _ts_generator(this, function(_state) {
switch(_state.label){
case 0:
Expand Down Expand Up @@ -639,7 +639,7 @@ function _sendSignedTransaction() {
console.error(confirmation.err);
throw new Error("Transaction failed: Custom instruction error");
}
slot = (confirmation === null || confirmation === void 0 ? void 0 : confirmation.slot) || 0;
slot = ((_confirmation = confirmation) === null || _confirmation === void 0 ? void 0 : _confirmation.slot) || 0;
return [
3,
10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ var Router = /*#__PURE__*/ function() {
value: function change(method, url, as, options, forcedScroll) {
var _this = this;
return _async_to_generator(function() {
var shouldResolveHref, prevLocale, parsedAs, localePathResult, didNavigate, _this_locales, detectedDomain, asNoBasePath, _options_shallow, shallow, routeProps, cleanedAs, localeChange, parsed, pathname, query, pages, rewrites, ref, err, resolvedAs, rewritesResult, route, parsedAs1, asPathname, routeRegex, routeMatch, shouldInterpolate, interpolatedAs, missingParams, _self___NEXT_DATA___props, _self___NEXT_DATA___props_pageProps, routeInfo, error, props, __N_SSG, __N_SSP, destination, parsedHref, _prepareUrlAs, newUrl, newAs, notFoundRoute, _, isValidShallowRoute, _options_scroll, shouldScroll, resetScroll, err1;
var shouldResolveHref, prevLocale, parsedAs, localePathResult, didNavigate, _this_locales_includes, _object, detectedDomain, asNoBasePath, _options_shallow, shallow, routeProps, cleanedAs, localeChange, parsed, pathname, query, pages, rewrites, ref, err, resolvedAs, rewritesResult, route, parsedAs1, asPathname, routeRegex, routeMatch, shouldInterpolate, interpolatedAs, missingParams, _self___NEXT_DATA___props_pageProps, _self___NEXT_DATA___props, _props, routeInfo, error, props, __N_SSG, __N_SSP, destination, parsedHref, _prepareUrlAs, newUrl, newAs, notFoundRoute, _, isValidShallowRoute, _options_scroll, shouldScroll, resetScroll, err1;
return _ts_generator(this, function(_state) {
switch(_state.label){
case 0:
Expand Down Expand Up @@ -50,7 +50,7 @@ var Router = /*#__PURE__*/ function() {
if (process.env.__NEXT_I18N_SUPPORT) {
;
// if the locale isn't configured hard navigate to show 404 page
if (!((_this_locales = _this.locales) === null || _this_locales === void 0 ? void 0 : _this_locales.includes(_this.locale))) {
if (!((_object = _this.locales) === null || _object === void 0 ? void 0 : (_this_locales_includes = _object.includes) === null || _this_locales_includes === void 0 ? void 0 : _this_locales_includes.call(_object, _this.locale))) {
parsedAs.pathname = addLocale(parsedAs.pathname, _this.locale);
window.location.href = formatWithValidation(parsedAs);
// this was previously a return but was removed in favor
Expand Down Expand Up @@ -310,7 +310,7 @@ var Router = /*#__PURE__*/ function() {
case 13:
Router.events.emit("beforeHistoryChange", as, routeProps);
_this.changeState(method, url, as, options);
if (options._h && pathname === "/_error" && ((_self___NEXT_DATA___props = self.__NEXT_DATA__.props) === null || _self___NEXT_DATA___props === void 0 ? void 0 : (_self___NEXT_DATA___props_pageProps = _self___NEXT_DATA___props.pageProps) === null || _self___NEXT_DATA___props_pageProps === void 0 ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && (props === null || props === void 0 ? void 0 : props.pageProps)) {
if (options._h && pathname === "/_error" && ((_self___NEXT_DATA___props_pageProps = (_self___NEXT_DATA___props = self.__NEXT_DATA__.props) === null || _self___NEXT_DATA___props === void 0 ? void 0 : _self___NEXT_DATA___props.pageProps) === null || _self___NEXT_DATA___props_pageProps === void 0 ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && ((_props = props) === null || _props === void 0 ? void 0 : _props.pageProps)) {
// ensure statusCode is still correct for static 500 page
// when updating query information
props.pageProps.statusCode = 500;
Expand Down
88 changes: 46 additions & 42 deletions crates/swc/tests/tsc-references/callChain.1.normal.js
Original file line number Diff line number Diff line change
@@ -1,86 +1,90 @@
//// [callChain.ts]
var _o2, _o21, _o22, _o23, _o3_b, _o3_b1, _o3_b2, _o3_b3, _o3_b4, _o3_b5;
var _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o5;
o1 === null || o1 === void 0 ? void 0 : o1();
o1 === null || o1 === void 0 ? void 0 : o1(1);
o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [
var _o2_b, _o2_b1, _o2_b2, _o2_b3, _o3_b, _o3_b1, _o3_b2, _o3_b3, _o3_b4, _o3_b5;
var _o1, _o11, _o12, _o13, _o2_b4, _object, _o2_b5, _object1, _o2_b6, _object2, _o2_b7, _object3, _o2_b8, _object4, _o2_b9, _object5, _o2_b10, _object6, _o2_b11, _object7, _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o3_b18, _o3_b19, _o3_b20, _o3_b21, _o3_b22, _o3_b23, _o3_b24, _o3_b25, _o3_b26, _o3_b27, _o3_b28, _o3_b29, _o4, _o5, // GH#36031
_o2_b12, _object8, _o2_b13, _object9;
(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1();
(_o11 = o1) === null || _o11 === void 0 ? void 0 : _o11(1);
(_o12 = o1) === null || _o12 === void 0 ? void 0 : _o12.apply(void 0, [
1,
2
]);
o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [
(_o13 = o1) === null || _o13 === void 0 ? void 0 : _o13.apply(void 0, [
1,
2,
3,
4
]);
o2 === null || o2 === void 0 ? void 0 : o2.b();
o2 === null || o2 === void 0 ? void 0 : o2.b(1);
o2 === null || o2 === void 0 ? void 0 : (_o2 = o2).b.apply(_o2, [
(_object = o2) === null || _object === void 0 ? void 0 : (_o2_b4 = _object.b) === null || _o2_b4 === void 0 ? void 0 : _o2_b4.call(_object);
(_object1 = o2) === null || _object1 === void 0 ? void 0 : (_o2_b5 = _object1.b) === null || _o2_b5 === void 0 ? void 0 : _o2_b5.call(_object1, 1);
(_object2 = o2) === null || _object2 === void 0 ? void 0 : (_o2_b6 = _object2.b) === null || _o2_b6 === void 0 ? void 0 : (_o2_b = _o2_b6).call.apply(_o2_b, [
_object2,
1,
2
]);
o2 === null || o2 === void 0 ? void 0 : (_o21 = o2).b.apply(_o21, [
(_object3 = o2) === null || _object3 === void 0 ? void 0 : (_o2_b7 = _object3.b) === null || _o2_b7 === void 0 ? void 0 : (_o2_b1 = _o2_b7).call.apply(_o2_b1, [
_object3,
1,
2,
3,
4
]);
o2 === null || o2 === void 0 ? void 0 : o2["b"]();
o2 === null || o2 === void 0 ? void 0 : o2["b"](1);
o2 === null || o2 === void 0 ? void 0 : (_o22 = o2)["b"].apply(_o22, [
(_object4 = o2) === null || _object4 === void 0 ? void 0 : (_o2_b8 = _object4["b"]) === null || _o2_b8 === void 0 ? void 0 : _o2_b8.call(_object4);
(_object5 = o2) === null || _object5 === void 0 ? void 0 : (_o2_b9 = _object5["b"]) === null || _o2_b9 === void 0 ? void 0 : _o2_b9.call(_object5, 1);
(_object6 = o2) === null || _object6 === void 0 ? void 0 : (_o2_b10 = _object6["b"]) === null || _o2_b10 === void 0 ? void 0 : (_o2_b2 = _o2_b10).call.apply(_o2_b2, [
_object6,
1,
2
]);
o2 === null || o2 === void 0 ? void 0 : (_o23 = o2)["b"].apply(_o23, [
(_object7 = o2) === null || _object7 === void 0 ? void 0 : (_o2_b11 = _object7["b"]) === null || _o2_b11 === void 0 ? void 0 : (_o2_b3 = _o2_b11).call.apply(_o2_b3, [
_object7,
1,
2,
3,
4
]);
(_o3_b6 = o3.b) === null || _o3_b6 === void 0 ? void 0 : _o3_b6.call(o3).c;
(_o3_b7 = o3.b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(o3, 1).c;
(_o3_b8 = o3.b) === null || _o3_b8 === void 0 ? void 0 : (_o3_b = _o3_b8).call.apply(_o3_b, [
o3,
(_o3_b6 = o3) === null || _o3_b6 === void 0 ? void 0 : ((_o3_b7 = _o3_b6.b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(_o3_b6)).c;
(_o3_b8 = o3) === null || _o3_b8 === void 0 ? void 0 : ((_o3_b9 = _o3_b8.b) === null || _o3_b9 === void 0 ? void 0 : _o3_b9.call(_o3_b8, 1)).c;
(_o3_b10 = o3) === null || _o3_b10 === void 0 ? void 0 : ((_o3_b11 = _o3_b10.b) === null || _o3_b11 === void 0 ? void 0 : (_o3_b = _o3_b11).call.apply(_o3_b, [
_o3_b10,
1,
2
]).c;
(_o3_b9 = o3.b) === null || _o3_b9 === void 0 ? void 0 : (_o3_b1 = _o3_b9).call.apply(_o3_b1, [
o3,
])).c;
(_o3_b12 = o3) === null || _o3_b12 === void 0 ? void 0 : ((_o3_b13 = _o3_b12.b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b1 = _o3_b13).call.apply(_o3_b1, [
_o3_b12,
1,
2,
3,
4
]).c;
(_o3_b10 = o3.b) === null || _o3_b10 === void 0 ? void 0 : _o3_b10.call(o3)["c"];
(_o3_b11 = o3.b) === null || _o3_b11 === void 0 ? void 0 : _o3_b11.call(o3, 1)["c"];
(_o3_b12 = o3.b) === null || _o3_b12 === void 0 ? void 0 : (_o3_b2 = _o3_b12).call.apply(_o3_b2, [
o3,
])).c;
(_o3_b14 = o3) === null || _o3_b14 === void 0 ? void 0 : ((_o3_b15 = _o3_b14.b) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(_o3_b14))["c"];
(_o3_b16 = o3) === null || _o3_b16 === void 0 ? void 0 : ((_o3_b17 = _o3_b16.b) === null || _o3_b17 === void 0 ? void 0 : _o3_b17.call(_o3_b16, 1))["c"];
(_o3_b18 = o3) === null || _o3_b18 === void 0 ? void 0 : ((_o3_b19 = _o3_b18.b) === null || _o3_b19 === void 0 ? void 0 : (_o3_b2 = _o3_b19).call.apply(_o3_b2, [
_o3_b18,
1,
2
])["c"];
(_o3_b13 = o3.b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b3 = _o3_b13).call.apply(_o3_b3, [
o3,
]))["c"];
(_o3_b20 = o3) === null || _o3_b20 === void 0 ? void 0 : ((_o3_b21 = _o3_b20.b) === null || _o3_b21 === void 0 ? void 0 : (_o3_b3 = _o3_b21).call.apply(_o3_b3, [
_o3_b20,
1,
2,
3,
4
])["c"];
(_o3_b14 = o3["b"]) === null || _o3_b14 === void 0 ? void 0 : _o3_b14.call(o3).c;
(_o3_b15 = o3["b"]) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(o3, 1).c;
(_o3_b16 = o3["b"]) === null || _o3_b16 === void 0 ? void 0 : (_o3_b4 = _o3_b16).call.apply(_o3_b4, [
o3,
]))["c"];
(_o3_b22 = o3) === null || _o3_b22 === void 0 ? void 0 : ((_o3_b23 = _o3_b22["b"]) === null || _o3_b23 === void 0 ? void 0 : _o3_b23.call(_o3_b22)).c;
(_o3_b24 = o3) === null || _o3_b24 === void 0 ? void 0 : ((_o3_b25 = _o3_b24["b"]) === null || _o3_b25 === void 0 ? void 0 : _o3_b25.call(_o3_b24, 1)).c;
(_o3_b26 = o3) === null || _o3_b26 === void 0 ? void 0 : ((_o3_b27 = _o3_b26["b"]) === null || _o3_b27 === void 0 ? void 0 : (_o3_b4 = _o3_b27).call.apply(_o3_b4, [
_o3_b26,
1,
2
]).c;
(_o3_b17 = o3["b"]) === null || _o3_b17 === void 0 ? void 0 : (_o3_b5 = _o3_b17).call.apply(_o3_b5, [
o3,
])).c;
(_o3_b28 = o3) === null || _o3_b28 === void 0 ? void 0 : ((_o3_b29 = _o3_b28["b"]) === null || _o3_b29 === void 0 ? void 0 : (_o3_b5 = _o3_b29).call.apply(_o3_b5, [
_o3_b28,
1,
2,
3,
4
]).c;
var v = o4 === null || o4 === void 0 ? void 0 : o4(incr);
])).c;
var v = (_o4 = o4) === null || _o4 === void 0 ? void 0 : _o4(incr);
(_o5 = o5()) === null || _o5 === void 0 ? void 0 : _o5();
// GH#36031
o2 === null || o2 === void 0 ? void 0 : o2.b().toString;
o2 === null || o2 === void 0 ? void 0 : o2.b().toString;
((_object8 = o2) === null || _object8 === void 0 ? void 0 : (_o2_b12 = _object8.b) === null || _o2_b12 === void 0 ? void 0 : _o2_b12.call(_object8)).toString;
((_object9 = o2) === null || _object9 === void 0 ? void 0 : (_o2_b13 = _object9.b) === null || _o2_b13 === void 0 ? void 0 : _o2_b13.call(_object9)).toString;
8 changes: 4 additions & 4 deletions crates/swc/tests/tsc-references/callChain.2.1.normal.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//// [callChain.2.ts]
var _o3_b;
o1 === null || o1 === void 0 ? void 0 : o1();
o2 === null || o2 === void 0 ? void 0 : o2.b();
(_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(o3).c;
var _o1, _o2_b, _object, _o3_b, _o3_b1;
(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1();
(_object = o2) === null || _object === void 0 ? void 0 : (_o2_b = _object.b) === null || _o2_b === void 0 ? void 0 : _o2_b.call(_object);
(_o3_b = o3) === null || _o3_b === void 0 ? void 0 : ((_o3_b1 = _o3_b.b) === null || _o3_b1 === void 0 ? void 0 : _o3_b1.call(_o3_b)).c;

1 comment on commit aa83584

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: aa83584 Previous: 8e933c8 Ratio
es/full/bugs-1 359294 ns/iter (± 5949) 356734 ns/iter (± 10512) 1.01
es/full/minify/libraries/antd 1927901500 ns/iter (± 20703065) 1965760348 ns/iter (± 14004631) 0.98
es/full/minify/libraries/d3 403282520 ns/iter (± 3491392) 408157250 ns/iter (± 3066049) 0.99
es/full/minify/libraries/echarts 1520686560 ns/iter (± 23854584) 1550684544 ns/iter (± 16108428) 0.98
es/full/minify/libraries/jquery 111388438 ns/iter (± 732215) 112990325 ns/iter (± 990479) 0.99
es/full/minify/libraries/lodash 135045298 ns/iter (± 908406) 137009485 ns/iter (± 1177718) 0.99
es/full/minify/libraries/moment 66105822 ns/iter (± 435294) 66154204 ns/iter (± 432242) 1.00
es/full/minify/libraries/react 23441437 ns/iter (± 151514) 23400048 ns/iter (± 224858) 1.00
es/full/minify/libraries/terser 306340258 ns/iter (± 3872685) 300686473 ns/iter (± 4618058) 1.02
es/full/minify/libraries/three 554829700 ns/iter (± 3163432) 537217720 ns/iter (± 7949077) 1.03
es/full/minify/libraries/typescript 3783017529 ns/iter (± 46213333) 3754049616 ns/iter (± 70139983) 1.01
es/full/minify/libraries/victory 813631987 ns/iter (± 19427288) 813033247 ns/iter (± 23654028) 1.00
es/full/minify/libraries/vue 162195406 ns/iter (± 2777889) 160550214 ns/iter (± 1011425) 1.01
es/full/codegen/es3 40952 ns/iter (± 88) 40711 ns/iter (± 107) 1.01
es/full/codegen/es5 41106 ns/iter (± 262) 40863 ns/iter (± 59) 1.01
es/full/codegen/es2015 41044 ns/iter (± 78) 40731 ns/iter (± 42) 1.01
es/full/codegen/es2016 41046 ns/iter (± 71) 40718 ns/iter (± 98) 1.01
es/full/codegen/es2017 41048 ns/iter (± 92) 40635 ns/iter (± 107) 1.01
es/full/codegen/es2018 41124 ns/iter (± 62) 40663 ns/iter (± 97) 1.01
es/full/codegen/es2019 41065 ns/iter (± 37) 40705 ns/iter (± 73) 1.01
es/full/codegen/es2020 41136 ns/iter (± 48) 40719 ns/iter (± 74) 1.01
es/full/all/es3 211602469 ns/iter (± 3208748) 209123503 ns/iter (± 1544617) 1.01
es/full/all/es5 199357938 ns/iter (± 2290952) 199675839 ns/iter (± 2757488) 1.00
es/full/all/es2015 158053527 ns/iter (± 2508246) 157302943 ns/iter (± 1839456) 1.00
es/full/all/es2016 157024835 ns/iter (± 2634793) 153033148 ns/iter (± 3594527) 1.03
es/full/all/es2017 155406512 ns/iter (± 1941962) 154539560 ns/iter (± 3003815) 1.01
es/full/all/es2018 153667132 ns/iter (± 2151060) 152007694 ns/iter (± 1004747) 1.01
es/full/all/es2019 154564965 ns/iter (± 1892514) 151018179 ns/iter (± 2463789) 1.02
es/full/all/es2020 145767895 ns/iter (± 2827757) 144655578 ns/iter (± 1524263) 1.01
es/full/parser 611408 ns/iter (± 12842) 600710 ns/iter (± 10250) 1.02
es/full/base/fixer 24627 ns/iter (± 39) 24618 ns/iter (± 38) 1.00
es/full/base/resolver_and_hygiene 104456 ns/iter (± 114) 107007 ns/iter (± 256) 0.98
serialization of serde 282 ns/iter (± 2) 282 ns/iter (± 0) 1
css/minify/libraries/bootstrap 37510483 ns/iter (± 228857) 37276764 ns/iter (± 176425) 1.01
css/visitor/compare/clone 2697521 ns/iter (± 61128) 2702902 ns/iter (± 71240) 1.00
css/visitor/compare/visit_mut_span 2968429 ns/iter (± 8934) 2966977 ns/iter (± 11751) 1.00
css/visitor/compare/visit_mut_span_panic 3040260 ns/iter (± 8472) 3003193 ns/iter (± 8862) 1.01
css/visitor/compare/fold_span 3756894 ns/iter (± 22013) 3757470 ns/iter (± 17796) 1.00
css/visitor/compare/fold_span_panic 3959964 ns/iter (± 34513) 3924238 ns/iter (± 28180) 1.01
css/lexer/bootstrap_5_1_3 5559090 ns/iter (± 34530) 5542207 ns/iter (± 4267) 1.00
css/lexer/foundation_6_7_4 4697623 ns/iter (± 4113) 4685770 ns/iter (± 3809) 1.00
css/lexer/tailwind_3_1_1 893726 ns/iter (± 1001) 885984 ns/iter (± 3703) 1.01
css/parser/bootstrap_5_1_3 24517091 ns/iter (± 192532) 23938083 ns/iter (± 73287) 1.02
css/parser/foundation_6_7_4 19359512 ns/iter (± 47053) 19106054 ns/iter (± 69809) 1.01
css/parser/tailwind_3_1_1 3723374 ns/iter (± 4166) 3700133 ns/iter (± 2889) 1.01
es/codegen/colors 723928 ns/iter (± 392829) 720604 ns/iter (± 391305) 1.00
es/codegen/large 3128445 ns/iter (± 1629519) 3105982 ns/iter (± 1620519) 1.01
es/codegen/with-parser/colors 57661 ns/iter (± 508) 57715 ns/iter (± 481) 1.00
es/codegen/with-parser/large 570846 ns/iter (± 988) 568495 ns/iter (± 2342) 1.00
es/minify/libraries/antd 1811619977 ns/iter (± 55715069) 1704416223 ns/iter (± 47016578) 1.06
es/minify/libraries/d3 363032435 ns/iter (± 5367565) 351170891 ns/iter (± 4923434) 1.03
es/minify/libraries/echarts 1347667350 ns/iter (± 11732748) 1311644627 ns/iter (± 9463121) 1.03
es/minify/libraries/jquery 98655281 ns/iter (± 1176786) 97584249 ns/iter (± 671844) 1.01
es/minify/libraries/lodash 123766432 ns/iter (± 1419470) 121847259 ns/iter (± 1071666) 1.02
es/minify/libraries/moment 58927521 ns/iter (± 376144) 58148030 ns/iter (± 602964) 1.01
es/minify/libraries/react 20934740 ns/iter (± 98496) 20791356 ns/iter (± 250592) 1.01
es/minify/libraries/terser 262302857 ns/iter (± 3048645) 261441239 ns/iter (± 6459216) 1.00
es/minify/libraries/three 474922665 ns/iter (± 5480620) 472471499 ns/iter (± 4762350) 1.01
es/minify/libraries/typescript 3268780849 ns/iter (± 36969915) 3218121710 ns/iter (± 39760280) 1.02
es/minify/libraries/victory 699803779 ns/iter (± 25206140) 748340047 ns/iter (± 24459829) 0.94
es/minify/libraries/vue 144315305 ns/iter (± 710631) 145442558 ns/iter (± 750286) 0.99
es/visitor/compare/clone 2717118 ns/iter (± 7808) 2550982 ns/iter (± 57110) 1.07
es/visitor/compare/visit_mut_span 3103571 ns/iter (± 7094) 3104764 ns/iter (± 3574) 1.00
es/visitor/compare/visit_mut_span_panic 3174242 ns/iter (± 7787) 3153867 ns/iter (± 8132) 1.01
es/visitor/compare/fold_span 4284137 ns/iter (± 8765) 4274023 ns/iter (± 15546) 1.00
es/visitor/compare/fold_span_panic 4425718 ns/iter (± 9610) 4378262 ns/iter (± 11900) 1.01
es/lexer/colors 14632 ns/iter (± 18) 14799 ns/iter (± 48) 0.99
es/lexer/angular 6938690 ns/iter (± 6011) 6937095 ns/iter (± 13309) 1.00
es/lexer/backbone 846102 ns/iter (± 1053) 847423 ns/iter (± 623) 1.00
es/lexer/jquery 4762889 ns/iter (± 3957) 4769402 ns/iter (± 60385) 1.00
es/lexer/jquery mobile 7369031 ns/iter (± 17673) 7378108 ns/iter (± 10109) 1.00
es/lexer/mootools 3734506 ns/iter (± 5152) 3738099 ns/iter (± 9320) 1.00
es/lexer/underscore 698061 ns/iter (± 1505) 700085 ns/iter (± 610) 1.00
es/lexer/three 22461732 ns/iter (± 21015) 22409983 ns/iter (± 32387) 1.00
es/lexer/yui 4299964 ns/iter (± 1954) 4279668 ns/iter (± 6267) 1.00
es/parser/colors 33525 ns/iter (± 89) 33923 ns/iter (± 77) 0.99
es/parser/angular 16947595 ns/iter (± 186333) 16929361 ns/iter (± 150089) 1.00
es/parser/backbone 2429716 ns/iter (± 11925) 2433825 ns/iter (± 12634) 1.00
es/parser/jquery 13304031 ns/iter (± 233351) 13291036 ns/iter (± 80028) 1.00
es/parser/jquery mobile 21673409 ns/iter (± 331836) 21790053 ns/iter (± 339120) 0.99
es/parser/mootools 10073288 ns/iter (± 28325) 10137160 ns/iter (± 46531) 0.99
es/parser/underscore 2071241 ns/iter (± 12110) 2077238 ns/iter (± 9887) 1.00
es/parser/three 60914739 ns/iter (± 561933) 61268174 ns/iter (± 649632) 0.99
es/parser/yui 10221097 ns/iter (± 69169) 10221908 ns/iter (± 65642) 1.00
es/preset-env/usage/builtin_type 154849 ns/iter (± 34402) 151126 ns/iter (± 33113) 1.02
es/preset-env/usage/property 29395 ns/iter (± 64) 29233 ns/iter (± 110) 1.01
es/resolver/typescript 141803038 ns/iter (± 2574590) 139674683 ns/iter (± 2826595) 1.02
es/fixer/typescript 97297573 ns/iter (± 5367957) 96779874 ns/iter (± 2699290) 1.01
es/hygiene/typescript 219756193 ns/iter (± 3077788) 214838947 ns/iter (± 5560512) 1.02
es/resolver_with_hygiene/typescript 435979339 ns/iter (± 4365102) 433768721 ns/iter (± 5152775) 1.01
es/visitor/base-perf/module_clone 84321 ns/iter (± 303) 83764 ns/iter (± 617) 1.01
es/visitor/base-perf/fold_empty 94180 ns/iter (± 458) 94276 ns/iter (± 351) 1.00
es/visitor/base-perf/fold_noop_impl_all 94175 ns/iter (± 377) 94033 ns/iter (± 644) 1.00
es/visitor/base-perf/fold_noop_impl_vec 94490 ns/iter (± 491) 94671 ns/iter (± 631) 1.00
es/visitor/base-perf/boxing_boxed_clone 61 ns/iter (± 0) 60 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 44 ns/iter (± 0) 45 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 113 ns/iter (± 6) 105 ns/iter (± 0) 1.08
es/visitor/base-perf/boxing_unboxed 82 ns/iter (± 0) 81 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 3424 ns/iter (± 44) 3424 ns/iter (± 47) 1
es/base/parallel/resolver/typescript 7416636769 ns/iter (± 418399096) 7092906499 ns/iter (± 297422578) 1.05
es/base/parallel/hygiene/typescript 2381030417 ns/iter (± 31505483) 2414701469 ns/iter (± 26664788) 0.99
misc/visitors/time-complexity/time 5 105 ns/iter (± 0) 105 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 351 ns/iter (± 7) 347 ns/iter (± 0) 1.01
misc/visitors/time-complexity/time 15 692 ns/iter (± 0) 693 ns/iter (± 15) 1.00
misc/visitors/time-complexity/time 20 1278 ns/iter (± 4) 1271 ns/iter (± 24) 1.01
misc/visitors/time-complexity/time 40 6810 ns/iter (± 65) 6991 ns/iter (± 12) 0.97
misc/visitors/time-complexity/time 60 17636 ns/iter (± 13) 17464 ns/iter (± 56) 1.01
es/full-target/es2016 269618 ns/iter (± 2372) 269399 ns/iter (± 684) 1.00
es/full-target/es2017 259951 ns/iter (± 417) 259503 ns/iter (± 513) 1.00
es/full-target/es2018 249088 ns/iter (± 299) 248738 ns/iter (± 425) 1.00
es2020_nullish_coalescing 98115 ns/iter (± 267) 97258 ns/iter (± 268) 1.01
es2020_optional_chaining 121110 ns/iter (± 586) 131635 ns/iter (± 267) 0.92
es2022_class_properties 155953 ns/iter (± 369) 157418 ns/iter (± 351) 0.99
es2018_object_rest_spread 99519 ns/iter (± 295) 99233 ns/iter (± 286) 1.00
es2019_optional_catch_binding 88371 ns/iter (± 228) 87554 ns/iter (± 172) 1.01
es2017_async_to_generator 89090 ns/iter (± 278) 88379 ns/iter (± 310) 1.01
es2016_exponentiation 95613 ns/iter (± 225) 95110 ns/iter (± 261) 1.01
es2015_arrow 98564 ns/iter (± 176) 97985 ns/iter (± 210) 1.01
es2015_block_scoped_fn 96011 ns/iter (± 325) 95982 ns/iter (± 154) 1.00
es2015_block_scoping 184122 ns/iter (± 266) 183980 ns/iter (± 272) 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.