From 0f09e356c38268ac10223d0d44dd253949bcbc59 Mon Sep 17 00:00:00 2001 From: Austaras Date: Sun, 19 Mar 2023 10:57:14 +0800 Subject: [PATCH] feat(es/resolver): Make scope context identical to the vars (#7095) --- crates/swc_ecma_minifier/src/lib.rs | 3 +- crates/swc_ecma_minifier/src/pass/mod.rs | 1 - .../src/pass/unique_scope.rs | 40 - .../src/resolver/mod.rs | 75 +- .../tests/resolver/babel/issue/973/output.js | 4 +- .../tests/resolver/basic/1/output.js | 4 +- .../resolver/block/scope/class/output.js | 4 +- .../export/default/fn_decl/scope/output.js | 4 +- .../tests/resolver/fn_expr/scope/output.js | 4 +- .../tests/resolver/function/hoist/output.js | 18 +- .../general/assignment/patterns/output.js | 6 +- .../tests/resolver/issue-4953/output.js | 2 +- .../tests/resolver/issues/1402/output.js | 4 +- .../tests/resolver/issues/281/2/output.js | 2 +- .../tests/resolver/issues/2854/1/output.js | 4 +- .../tests/resolver/issues/292/1/output.js | 10 +- .../tests/resolver/issues/369/2/output.js | 4 +- .../tests/resolver/issues/454/1/output.js | 2 +- .../tests/resolver/issues/454/2/output.js | 6 +- .../tests/resolver/issues/454/3/output.js | 8 +- .../tests/resolver/issues/461/output.js | 2 +- .../tests/resolver/issues/483/output.js | 2 +- .../tests/resolver/issues/699/1/output.js | 6 +- .../tests/resolver/issues/788/1/output.js | 4 +- .../tests/resolver/issues/788/2/output.js | 4 +- .../tests/resolver/minifier/1/output.js | 6 +- .../tests/resolver/minifier/13/output.js | 4 +- .../tests/resolver/minifier/14/output.js | 4 +- .../tests/resolver/minifier/15/output.js | 4 +- .../tests/resolver/minifier/16/output.js | 4 +- .../tests/resolver/minifier/2/output.js | 2 +- .../tests/resolver/minifier/3/output.js | 4 +- .../tests/resolver/minifier/4/output.js | 8 +- .../tests/resolver/minifier/9/output.js | 2 +- .../tests/resolver/pr_1171/1/output.js | 6 +- .../tests/resolver/regression/002/output.js | 16 +- .../vercel/next/server/render/1/output.js | 986 +++++++++--------- .../vercel/next/server/render/2/output.js | 26 +- .../vercel/next/server/render/3/input.js | 2 + .../vercel/next/server/render/3/output.js | 24 +- .../tests/ts-resolver/deno/9650/1/output.ts | 10 +- .../tests/ts-resolver/issue-5622/2/output.ts | 16 +- .../tests/ts-resolver/minifier/1/output.ts | 8 +- .../tests/ts-resolver/stc/1/output.ts | 6 +- .../tests/ts-resolver/stc/2/output.ts | 2 +- .../tests/ts-resolver/stc/3/output.ts | 2 +- .../ts_async_await_nested_class_es5/output.ts | 6 +- .../ts-resolver/ts_local_types_4_2/output.ts | 4 +- .../ts_resolver_catch_param/output.ts | 4 +- .../ts_resolver_parameter_property/output.ts | 4 +- .../tsc/computed/property/name/11/output.ts | 10 +- .../tsc/generatedContextualTyping/1/output.ts | 4 +- .../tests/ts-resolver/vercel/1/output.ts | 10 +- ...turing_collision_in_function_expression.rs | 10 +- .../block-scoping/issue-3235/1/output.js | 8 +- .../block-scoping/issue-4238/1/output.js | 18 +- .../block-scoping/issue-4238/2/output.js | 12 +- .../block-scoping/issue-4238/3/output.js | 18 +- .../block-scoping/issue-4238/4/output.js | 16 +- .../block-scoping/issue-4238/5/output.js | 16 +- .../block-scoping/issue-4286/1/output.js | 10 +- .../block-scoping/issue-4286/2/output.js | 4 +- .../block-scoping/issue-5048/1/output.js | 6 +- .../block-scoping/issue-5048/2/output.js | 6 +- .../block-scoping/issue-6344/1/output.js | 16 +- .../src/refresh/hook.rs | 14 +- 66 files changed, 757 insertions(+), 804 deletions(-) delete mode 100644 crates/swc_ecma_minifier/src/pass/unique_scope.rs diff --git a/crates/swc_ecma_minifier/src/lib.rs b/crates/swc_ecma_minifier/src/lib.rs index 39071532b6d3..f1089ff4e92e 100644 --- a/crates/swc_ecma_minifier/src/lib.rs +++ b/crates/swc_ecma_minifier/src/lib.rs @@ -46,7 +46,7 @@ use swc_ecma_usage_analyzer::marks::Marks; use swc_ecma_visit::VisitMutWith; use swc_timer::timer; -pub use crate::pass::{global_defs::globals_defs, unique_scope::unique_scope}; +pub use crate::pass::global_defs::globals_defs; use crate::{ compress::{compressor, pure_optimizer, PureOptimizerConfig}, metadata::info_marker, @@ -178,7 +178,6 @@ pub fn optimize( )); debug_assert_valid(&n); } - n.visit_mut_with(&mut unique_scope()); if options.wrap { // TODO: wrap_common_js diff --git a/crates/swc_ecma_minifier/src/pass/mod.rs b/crates/swc_ecma_minifier/src/pass/mod.rs index 7934cf04177e..17e07ec819aa 100644 --- a/crates/swc_ecma_minifier/src/pass/mod.rs +++ b/crates/swc_ecma_minifier/src/pass/mod.rs @@ -5,4 +5,3 @@ pub mod mangle_props; pub mod merge_exports; pub mod postcompress; pub mod precompress; -pub mod unique_scope; diff --git a/crates/swc_ecma_minifier/src/pass/unique_scope.rs b/crates/swc_ecma_minifier/src/pass/unique_scope.rs deleted file mode 100644 index c82132685b84..000000000000 --- a/crates/swc_ecma_minifier/src/pass/unique_scope.rs +++ /dev/null @@ -1,40 +0,0 @@ -use swc_common::{Mark, Span}; -use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; - -/// Makes [BlockStmt] and [Function] unique in aspect of span hygiene. -/// -/// Required for [crate::hygiene_optimizer] to work properly. -pub fn unique_scope() -> impl Fold + VisitMut { - as_folder(UniqueScope) -} - -struct UniqueScope; - -impl UniqueScope { - fn make_unique(&self, span: &mut Span) { - span.ctxt = span.ctxt.apply_mark(Mark::fresh(Mark::root())); - } -} - -impl VisitMut for UniqueScope { - noop_visit_mut_type!(); - - fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) { - n.visit_mut_children_with(self); - - self.make_unique(&mut n.span); - } - - fn visit_mut_block_stmt(&mut self, n: &mut BlockStmt) { - n.visit_mut_children_with(self); - - self.make_unique(&mut n.span); - } - - fn visit_mut_function(&mut self, n: &mut Function) { - n.visit_mut_children_with(self); - - self.make_unique(&mut n.span); - } -} diff --git a/crates/swc_ecma_transforms_base/src/resolver/mod.rs b/crates/swc_ecma_transforms_base/src/resolver/mod.rs index c66b60fbc7ed..839797f5c730 100644 --- a/crates/swc_ecma_transforms_base/src/resolver/mod.rs +++ b/crates/swc_ecma_transforms_base/src/resolver/mod.rs @@ -2,7 +2,7 @@ use rustc_hash::FxHashSet; use swc_atoms::{js_word, JsWord}; use swc_common::{ collections::{AHashMap, AHashSet}, - Mark, SyntaxContext, + Mark, Span, SyntaxContext, }; use swc_ecma_ast::*; use swc_ecma_utils::{find_pat_ids, IsDirective}; @@ -251,18 +251,13 @@ impl<'a> Resolver<'a> { } fn visit_mut_stmt_within_child_scope(&mut self, s: &mut Stmt) { - self.with_child(ScopeKind::Block, |child| { - child.visit_mut_stmt_within_same_scope(s) - }); - } - - fn visit_mut_stmt_within_same_scope(&mut self, s: &mut Stmt) { - match s { + self.with_child(ScopeKind::Block, |child| match s { Stmt::Block(s) => { - s.visit_mut_children_with(self); + child.mark_block(&mut s.span); + s.visit_mut_children_with(child); } - _ => s.visit_mut_with(self), - } + _ => s.visit_mut_with(child), + }); } /// Returns a [Mark] for an identifier reference. @@ -374,6 +369,18 @@ impl<'a> Resolver<'a> { }; } + fn mark_block(&mut self, span: &mut Span) { + if span.ctxt() != SyntaxContext::empty() { + return; + } + + let mark = self.current.mark; + + if mark != Mark::root() { + *span = span.apply_mark(mark) + } + } + fn try_resolving_as_type(&mut self, i: &mut Ident) { if i.span.ctxt.outer() == self.config.unresolved_mark { i.span.ctxt = SyntaxContext::empty() @@ -542,20 +549,21 @@ impl<'a> VisitMut for Resolver<'a> { e.params.visit_mut_with(child); child.ident_type = old; - { - match &mut *e.body { - BlockStmtOrExpr::BlockStmt(s) => { - let old_strict_mode = child.strict_mode; - child.strict_mode = s - .stmts - .first() - .map(|stmt| stmt.is_use_strict()) - .unwrap_or(false); - s.stmts.visit_mut_with(child); - child.strict_mode = old_strict_mode; - } - BlockStmtOrExpr::Expr(e) => e.visit_mut_with(child), + match &mut *e.body { + BlockStmtOrExpr::BlockStmt(s) => { + child.mark_block(&mut s.span); + + let old_strict_mode = child.strict_mode; + child.strict_mode = s + .stmts + .first() + .map(|stmt| stmt.is_use_strict()) + .unwrap_or(false); + // Prevent creating new scope. + s.stmts.visit_mut_with(child); + child.strict_mode = old_strict_mode; } + BlockStmtOrExpr::Expr(e) => e.visit_mut_with(child), } e.return_type.visit_mut_with(child); @@ -586,18 +594,11 @@ impl<'a> VisitMut for Resolver<'a> { fn visit_mut_block_stmt(&mut self, block: &mut BlockStmt) { self.with_child(ScopeKind::Block, |child| { + child.mark_block(&mut block.span); block.visit_mut_children_with(child); }) } - /// Handle body of the arrow functions - fn visit_mut_block_stmt_or_expr(&mut self, node: &mut BlockStmtOrExpr) { - match node { - BlockStmtOrExpr::BlockStmt(block) => block.visit_mut_children_with(self), - BlockStmtOrExpr::Expr(e) => e.visit_mut_with(self), - } - } - fn visit_mut_break_stmt(&mut self, s: &mut BreakStmt) { let old = self.ident_type; self.ident_type = IdentType::Label; @@ -613,6 +614,7 @@ impl<'a> VisitMut for Resolver<'a> { c.param.visit_mut_with(child); child.ident_type = IdentType::Ref; + child.mark_block(&mut c.body.span); c.body.visit_mut_children_with(child); }); } @@ -716,6 +718,7 @@ impl<'a> VisitMut for Resolver<'a> { match &mut c.body { Some(body) => { + child.mark_block(&mut body.span); body.visit_mut_children_with(child); } None => {} @@ -730,10 +733,6 @@ impl<'a> VisitMut for Resolver<'a> { self.ident_type = old; } - fn visit_mut_decl(&mut self, decl: &mut Decl) { - decl.visit_mut_children_with(self) - } - fn visit_mut_export_default_decl(&mut self, e: &mut ExportDefaultDecl) { // Treat default exported functions and classes as declarations // even though they are parsed as expressions. @@ -799,7 +798,7 @@ impl<'a> VisitMut for Resolver<'a> { } fn visit_mut_fn_decl(&mut self, node: &mut FnDecl) { - // We don't fold this as Hoister handles this. + // We don't fold ident as Hoister handles this. node.function.decorators.visit_mut_with(self); @@ -855,6 +854,7 @@ impl<'a> VisitMut for Resolver<'a> { } fn visit_mut_function(&mut self, f: &mut Function) { + self.mark_block(&mut f.span); f.type_params.visit_mut_with(self); self.ident_type = IdentType::Ref; @@ -880,6 +880,7 @@ impl<'a> VisitMut for Resolver<'a> { self.ident_type = IdentType::Ref; match &mut f.body { Some(body) => { + self.mark_block(&mut body.span); let old_strict_mode = self.strict_mode; self.strict_mode = body .stmts diff --git a/crates/swc_ecma_transforms_base/tests/resolver/babel/issue/973/output.js b/crates/swc_ecma_transforms_base/tests/resolver/babel/issue/973/output.js index 7c31dde8e049..d019368c28bd 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/babel/issue/973/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/babel/issue/973/output.js @@ -1,6 +1,6 @@ let arr__1 = []; for(let i__2 = 0; i__2 < 10; i__2++){ - for(let i__3 = 0; i__3 < 10; i__3++){ - arr__1.push(()=>i__3); + for(let i__4 = 0; i__4 < 10; i__4++){ + arr__1.push(()=>i__4); } } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/basic/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/basic/1/output.js index 9843a51689a8..148ab575be7c 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/basic/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/basic/1/output.js @@ -1,8 +1,8 @@ { var foo__1 = 1; { - let foo__2 = 2; - use(foo__2); + let foo__3 = 2; + use(foo__3); } use(foo__1); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/block/scope/class/output.js b/crates/swc_ecma_transforms_base/tests/resolver/block/scope/class/output.js index e7a96d828e4e..ff337ffb4461 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/block/scope/class/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/block/scope/class/output.js @@ -1,9 +1,9 @@ const g__1 = 20; function baz__1() { { - class g__2 { + class g__3 { } - console.log(g__2); + console.log(g__3); } return g__1; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/export/default/fn_decl/scope/output.js b/crates/swc_ecma_transforms_base/tests/resolver/export/default/fn_decl/scope/output.js index 0510759a81e1..398955ac45c1 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/export/default/fn_decl/scope/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/export/default/fn_decl/scope/output.js @@ -1,6 +1,6 @@ export default function foo__1() { - foo__1 = function foo__2(x__3) { - return x__3 === 0 ? 1 : 1 + foo__2(x__3 - 1); + foo__1 = function foo__3(x__4) { + return x__4 === 0 ? 1 : 1 + foo__3(x__4 - 1); }; return foo__1(10); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/fn_expr/scope/output.js b/crates/swc_ecma_transforms_base/tests/resolver/fn_expr/scope/output.js index dfc022ca4015..9547c0c30649 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/fn_expr/scope/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/fn_expr/scope/output.js @@ -1,6 +1,6 @@ test(function foo__2() { - foo__2 = function foo__3(x__4) { - return x__4 === 0 ? 1 : 1 + foo__3(x__4 - 1); + foo__2 = function foo__4(x__5) { + return x__5 === 0 ? 1 : 1 + foo__4(x__5 - 1); }; return foo__2(10); }); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/function/hoist/output.js b/crates/swc_ecma_transforms_base/tests/resolver/function/hoist/output.js index 81d508cf38d3..a8193e8c4a33 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/function/hoist/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/function/hoist/output.js @@ -8,30 +8,30 @@ function foo__1() { console.log(r__2()); } function bar__1() { - var r__5 = ()=>1; + var r__6 = ()=>1; if (true) { - function r__5() { + function r__6() { return 2; } } - console.log(r__5()); + console.log(r__6()); } function baz__1() { - function r__6() { + function r__9() { return 1; } if (true) { - function r__6() { + function r__9() { return 2; } } - console.log(r__6()); + console.log(r__9()); } -function quz__1(r__7 = ()=>1) { +function quz__1(r__13 = ()=>1) { if (true) { - function r__8() { + function r__14() { return 2; } } - console.log(r__7()); + console.log(r__13()); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/general/assignment/patterns/output.js b/crates/swc_ecma_transforms_base/tests/resolver/general/assignment/patterns/output.js index 19d0e95210ba..d15dd772deb6 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/general/assignment/patterns/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/general/assignment/patterns/output.js @@ -1,12 +1,12 @@ const foo__1 = "foo"; function foobar__1() { - for (let item__2 of [ + for (let item__3 of [ 1, 2, 3 ]){ - let foo__3 = "bar"; - [bar, foo__3] = [ + let foo__4 = "bar"; + [bar, foo__4] = [ 1, 2 ]; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issue-4953/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issue-4953/output.js index 2c67d10966c1..8383a2d863c1 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issue-4953/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issue-4953/output.js @@ -5,7 +5,7 @@ export default function(module__1, exports__1) { }(void 0, function(t__3) { "use strict"; function vr__3(e__4, r__4, o__4) { - try {} catch (t__5) {} + try {} catch (t__6) {} function t__4() { return '123'; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/1402/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/1402/output.js index 73b753a38eaa..6179955acdcd 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/1402/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/1402/output.js @@ -1,6 +1,6 @@ var e__1 = 1; try { throw 2; -} catch (e__2) { - console.log(e__2); +} catch (e__3) { + console.log(e__3); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/281/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/281/2/output.js index bd53be2ac317..357705eaf592 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/281/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/281/2/output.js @@ -1,6 +1,6 @@ function foo__1(e__2) { e__0: { - try {} catch (e1__3) { + try {} catch (e1__5) { o = null; break e__0; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/2854/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/2854/1/output.js index d030a78d4f4c..3f065aa3a465 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/2854/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/2854/1/output.js @@ -1,8 +1,8 @@ export function App__1() { return ; } -export function Form__1({ onChange__2 =function() {} }) { +export function Form__1({ onChange__3 =function() {} }) { return ; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/292/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/292/1/output.js index d990a7535f6d..855a890809b6 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/292/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/292/1/output.js @@ -1,10 +1,10 @@ var __assign__1 = function() { - __assign__1 = Object.assign || function __assign1__3(t__4) { - for(var s__4, i__4 = 1, n__4 = arguments.length; i__4 < n__4; i__4++){ - s__4 = arguments[i__4]; - for(var p__4 in s__4)if (Object.prototype.hasOwnProperty.call(s__4, p__4)) t__4[p__4] = s__4[p__4]; + __assign__1 = Object.assign || function __assign1__4(t__5) { + for(var s__5, i__5 = 1, n__5 = arguments.length; i__5 < n__5; i__5++){ + s__5 = arguments[i__5]; + for(var p__5 in s__5)if (Object.prototype.hasOwnProperty.call(s__5, p__5)) t__5[p__5] = s__5[p__5]; } - return t__4; + return t__5; }; return __assign__1.apply(this, arguments); }; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/369/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/369/2/output.js index 41252dae87eb..ea0c222e81cf 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/369/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/369/2/output.js @@ -1,7 +1,7 @@ function a__1() {} function b__1() {} -function foo__1({ a: b__2 }) { - expect(b__2).toBe("a"); +function foo__1({ a: b__4 }) { + expect(b__4).toBe("a"); } foo__1({ a: "a" diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/1/output.js index ae66bbb0ee9a..c8ab18b49c5d 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/1/output.js @@ -3,6 +3,6 @@ function foo__1() { try { var a__2 = 1; a__2; - } catch (err__3) {} + } catch (err__4) {} a__2; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/2/output.js index e5d73eca7b5d..3447329157e0 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/2/output.js @@ -1,7 +1,7 @@ function a__1() {} function foo__1() { - function b__2() { - a__2(); + function b__3() { + a__3(); } - function a__2() {} + function a__3() {} } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/3/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/3/output.js index e7c20d5327ab..60c19a39d323 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/454/3/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/454/3/output.js @@ -1,9 +1,9 @@ function a__1() {} function foo__1() { - function b__2() { - a__2(); + function b__3() { + a__3(); } - function a__2() { - b__2(); + function a__3() { + b__3(); } } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/461/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/461/output.js index b7b6309f1c99..22ab0055ef0e 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/461/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/461/output.js @@ -1,5 +1,5 @@ for(var x__1 in [ "" ]){ - ((x__2)=>0)(x__1); + ((x__3)=>0)(x__1); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/483/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/483/output.js index 566a9ef6bb8e..ec4e7bc20805 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/483/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/483/output.js @@ -1,7 +1,7 @@ function se__1(t__2, e__2, n__2, r__2) { try { return O.apply(n__2, f.querySelectorAll(c)), n__2; - } catch (e__4) { + } catch (e__5) { S(t__2, !0); } finally{ s === N && e__2.removeAttribute("id"); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/699/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/699/1/output.js index 1eb1dfa1c3f2..77b7ac4a46e9 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/699/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/699/1/output.js @@ -1,7 +1,7 @@ function foo__1() { return ()=>{ - function Bar__2() {} - Bar__2.qux = ""; - return Bar__2; + function Bar__3() {} + Bar__3.qux = ""; + return Bar__3; }; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/788/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/788/1/output.js index 81cefb624830..8681b45f38a2 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/788/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/788/1/output.js @@ -1,7 +1,7 @@ window.addEventListener("message", (e__2)=>{ try { console.log(e__2.data); - } catch (e__3) { - console.log(e__3); + } catch (e__4) { + console.log(e__4); } }); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/issues/788/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/issues/788/2/output.js index 95fd12d30da8..52e3d5efc239 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/issues/788/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/issues/788/2/output.js @@ -1,7 +1,7 @@ window.addEventListener("message", function(e__2) { try { console.log(e__2.data); - } catch (e__3) { - console.log(e__3); + } catch (e__4) { + console.log(e__4); } }); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/1/output.js index 394aef17c7e9..30e3dd020e00 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/1/output.js @@ -1,6 +1,6 @@ try { throw 42; -} catch (a__1) { - function a__1() {} - console.log(a__1); +} catch (a__2) { + function a__2() {} + console.log(a__2); } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/13/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/13/output.js index b208a9fdcb3e..23bf70c848ed 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/13/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/13/output.js @@ -1,7 +1,7 @@ try { console.log(111); -} catch (Ic__3) { - throw Ic__3; +} catch (Ic__4) { + throw Ic__4; } var jc__1, Ic__1; (Ic__1 = jc__1).PV = "page_view"; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/14/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/14/output.js index 01eb00f9ee52..c54b795af4de 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/14/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/14/output.js @@ -1,7 +1,7 @@ try { console.log(111); -} catch (Ic__3) { - throw Ic__3; +} catch (Ic__4) { + throw Ic__4; } export var jc__1, Ic__1; (Ic__1 = jc__1).PV = "page_view"; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/15/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/15/output.js index 88e248df6ef2..5340c52c3712 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/15/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/15/output.js @@ -1,8 +1,8 @@ (function aaa__1() { try { console.log(111); - } catch (Ic__4) { - throw Ic__4; + } catch (Ic__5) { + throw Ic__5; } var jc__2, Ic__2; (Ic__2 = jc__2).PV = "page_view"; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/16/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/16/output.js index 35a9ad063be7..e00a5d27497f 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/16/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/16/output.js @@ -3,8 +3,8 @@ function bbb__2() { try { console.log(111); - } catch (Ic__5) { - throw Ic__5; + } catch (Ic__6) { + throw Ic__6; } var jc__3, Ic__3; (Ic__3 = jc__3).PV = "page_view"; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/2/output.js index d23a54723963..68c7f5487a97 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/2/output.js @@ -1,7 +1,7 @@ var a__1 = "FAIL"; try { throw 1; -} catch (args__2) { +} catch (args__3) { var a__1 = "PASS"; } console.log(a__1); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/3/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/3/output.js index 0574c591a936..626c363433c1 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/3/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/3/output.js @@ -1,7 +1,7 @@ var a__1 = "PASS"; try { throw "FAIL1"; -} catch (a__2) { - var a__2 = "FAIL2"; +} catch (a__3) { + var a__3 = "FAIL2"; } console.log(a__1); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/4/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/4/output.js index 0549192d0c99..1111bb1bcefe 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/4/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/4/output.js @@ -1,12 +1,12 @@ var o__1 = "PASS"; try { throw 0; -} catch (o__2) { +} catch (o__3) { (function() { - function a__3() { - o__2 = "FAIL"; + function a__4() { + o__3 = "FAIL"; } - a__3(), a__3(); + a__4(), a__4(); })(); } console.log(o__1); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/minifier/9/output.js b/crates/swc_ecma_transforms_base/tests/resolver/minifier/9/output.js index ff97cf76750f..6e682b2e1ad8 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/minifier/9/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/minifier/9/output.js @@ -2,7 +2,7 @@ var o__1 = 0; function f__1() { try { throw 1; - } catch (c__3) { + } catch (c__4) { try { throw 2; } catch (o__2) { diff --git a/crates/swc_ecma_transforms_base/tests/resolver/pr_1171/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/pr_1171/1/output.js index d72eea2affd9..71c8f8c635fb 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/pr_1171/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/pr_1171/1/output.js @@ -1,5 +1,5 @@ function isAbsolute__1() {} -function parse__1(path__2) { - const isAbsolute__2 = path__2.charCodeAt(0) === CHAR_FORWARD_SLASH; - if (isAbsolute__2) {} +function parse__1(path__3) { + const isAbsolute__3 = path__3.charCodeAt(0) === CHAR_FORWARD_SLASH; + if (isAbsolute__3) {} } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/regression/002/output.js b/crates/swc_ecma_transforms_base/tests/resolver/regression/002/output.js index 1539b0993e99..60a1a7dfb4b5 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/regression/002/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/regression/002/output.js @@ -13,21 +13,21 @@ var Foo__1 = function() { ]); return Foo__3; }(); -var Bar__1 = function(_Foo__4) { - _inherits(Bar__4, _Foo__4); - function Bar__4() { - _classCallCheck(this, Bar__4); - return _possibleConstructorReturn(this, _getPrototypeOf(Bar__4).apply(this, arguments)); +var Bar__1 = function(_Foo__6) { + _inherits(Bar__6, _Foo__6); + function Bar__6() { + _classCallCheck(this, Bar__6); + return _possibleConstructorReturn(this, _getPrototypeOf(Bar__6).apply(this, arguments)); } - _createClass(Bar__4, [ + _createClass(Bar__6, [ { key: sym__1, value: function() { - return _get(_getPrototypeOf(Bar__4.prototype), sym__1, this)() + 2; + return _get(_getPrototypeOf(Bar__6.prototype), sym__1, this)() + 2; } } ]); - return Bar__4; + return Bar__6; }(Foo__1); var i__1 = new Bar__1(); expect(i__1[sym__1]()).toBe(3); diff --git a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/1/output.js b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/1/output.js index 4d2254324279..02e123890f7c 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/1/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/1/output.js @@ -62,217 +62,217 @@ class ServerRouter__1 { noRouter__1(); } } -function enhanceComponents__1(options__5, App__5, Component__5) { - if (typeof options__5 === "function") { +function enhanceComponents__1(options__11, App__11, Component__11) { + if (typeof options__11 === "function") { return { - App__5, - Component: options__5(Component__5) + App__11, + Component: options__11(Component__11) }; } return { - App: options__5.enhanceApp ? options__5.enhanceApp(App__5) : App__5, - Component: options__5.enhanceComponent ? options__5.enhanceComponent(Component__5) : Component__5 + App: options__11.enhanceApp ? options__11.enhanceApp(App__11) : App__11, + Component: options__11.enhanceComponent ? options__11.enhanceComponent(Component__11) : Component__11 }; } -const invalidKeysMsg__1 = (methodName__6, invalidKeys__6)=>{ - return `Additional keys were returned from \`${methodName__6}\`. Properties intended for your component must be nested under the \`props\` key, e.g.:` + `\n\n\treturn { props: { title: 'My Title', content: '...' } }` + `\n\nKeys that need to be moved: ${invalidKeys__6.join(", ")}.` + `\nRead more: https://nextjs.org/docs/messages/invalid-getstaticprops-value`; +const invalidKeysMsg__1 = (methodName__13, invalidKeys__13)=>{ + return `Additional keys were returned from \`${methodName__13}\`. Properties intended for your component must be nested under the \`props\` key, e.g.:` + `\n\n\treturn { props: { title: 'My Title', content: '...' } }` + `\n\nKeys that need to be moved: ${invalidKeys__13.join(", ")}.` + `\nRead more: https://nextjs.org/docs/messages/invalid-getstaticprops-value`; }; -function checkRedirectValues__1(redirect__7, req__7, method__7) { - const { destination__7 , permanent__7 , statusCode__7 , basePath__7 } = redirect__7; - let errors__7 = []; - const hasStatusCode__7 = typeof statusCode__7 !== "undefined"; - const hasPermanent__7 = typeof permanent__7 !== "undefined"; - if (hasPermanent__7 && hasStatusCode__7) { - errors__7.push(`\`permanent\` and \`statusCode\` can not both be provided`); - } else if (hasPermanent__7 && typeof permanent__7 !== "boolean") { - errors__7.push(`\`permanent\` must be \`true\` or \`false\``); - } else if (hasStatusCode__7 && !allowedStatusCodes__1.has(statusCode__7)) { - errors__7.push(`\`statusCode\` must undefined or one of ${[ +function checkRedirectValues__1(redirect__14, req__14, method__14) { + const { destination__14 , permanent__14 , statusCode__14 , basePath__14 } = redirect__14; + let errors__14 = []; + const hasStatusCode__14 = typeof statusCode__14 !== "undefined"; + const hasPermanent__14 = typeof permanent__14 !== "undefined"; + if (hasPermanent__14 && hasStatusCode__14) { + errors__14.push(`\`permanent\` and \`statusCode\` can not both be provided`); + } else if (hasPermanent__14 && typeof permanent__14 !== "boolean") { + errors__14.push(`\`permanent\` must be \`true\` or \`false\``); + } else if (hasStatusCode__14 && !allowedStatusCodes__1.has(statusCode__14)) { + errors__14.push(`\`statusCode\` must undefined or one of ${[ ...allowedStatusCodes__1 ].join(", ")}`); } - const destinationType__7 = typeof destination__7; - if (destinationType__7 !== "string") { - errors__7.push(`\`destination\` should be string but received ${destinationType__7}`); + const destinationType__14 = typeof destination__14; + if (destinationType__14 !== "string") { + errors__14.push(`\`destination\` should be string but received ${destinationType__14}`); } - const basePathType__7 = typeof basePath__7; - if (basePathType__7 !== "undefined" && basePathType__7 !== "boolean") { - errors__7.push(`\`basePath\` should be undefined or a false, received ${basePathType__7}`); + const basePathType__14 = typeof basePath__14; + if (basePathType__14 !== "undefined" && basePathType__14 !== "boolean") { + errors__14.push(`\`basePath\` should be undefined or a false, received ${basePathType__14}`); } - if (errors__7.length > 0) { - throw new Error(`Invalid redirect object returned from ${method__7} for ${req__7.url}\n` + errors__7.join(" and ") + "\n" + `See more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp`); + if (errors__14.length > 0) { + throw new Error(`Invalid redirect object returned from ${method__14} for ${req__14.url}\n` + errors__14.join(" and ") + "\n" + `See more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp`); } } -export async function renderToHTML__1(req__8, res__8, pathname__8, query__8, renderOpts__8) { - renderOpts__8.devOnlyCacheBusterQueryString = renderOpts__8.dev ? renderOpts__8.devOnlyCacheBusterQueryString || `?ts=${Date.now()}` : ""; - query__8 = Object.assign({}, query__8); - const { err__8 , dev__8 =false , ampPath__8 ="" , App__8 , Document__8 , pageConfig__8 ={} , Component__8 , buildManifest__8 , fontManifest__8 , reactLoadableManifest__8 , ErrorDebug__8 , getStaticProps__8 , getStaticPaths__8 , getServerSideProps__8 , isDataReq__8 , params__8 , previewProps__8 , basePath__8 , devOnlyCacheBusterQueryString__8 , supportsDynamicHTML__8 , concurrentFeatures__8 } = renderOpts__8; - const getFontDefinition__8 = (url__9)=>{ - if (fontManifest__8) { - return getFontDefinitionFromManifest__1(url__9, fontManifest__8); +export async function renderToHTML__1(req__21, res__21, pathname__21, query__21, renderOpts__21) { + renderOpts__21.devOnlyCacheBusterQueryString = renderOpts__21.dev ? renderOpts__21.devOnlyCacheBusterQueryString || `?ts=${Date.now()}` : ""; + query__21 = Object.assign({}, query__21); + const { err__21 , dev__21 =false , ampPath__21 ="" , App__21 , Document__21 , pageConfig__21 ={} , Component__21 , buildManifest__21 , fontManifest__21 , reactLoadableManifest__21 , ErrorDebug__21 , getStaticProps__21 , getStaticPaths__21 , getServerSideProps__21 , isDataReq__21 , params__21 , previewProps__21 , basePath__21 , devOnlyCacheBusterQueryString__21 , supportsDynamicHTML__21 , concurrentFeatures__21 } = renderOpts__21; + const getFontDefinition__21 = (url__22)=>{ + if (fontManifest__21) { + return getFontDefinitionFromManifest__1(url__22, fontManifest__21); } return ""; }; - const callMiddleware__8 = async (method__10, args__10, props__10 = false)=>{ - let results__10 = props__10 ? {} : []; - if (Document__8[`${method__10}Middleware`]) { - let middlewareFunc__11 = await Document__8[`${method__10}Middleware`]; - middlewareFunc__11 = middlewareFunc__11.default || middlewareFunc__11; - const curResults__11 = await middlewareFunc__11(...args__10); - if (props__10) { - for (const result__12 of curResults__11){ - results__10 = { - ...results__10, - ...result__12 + const callMiddleware__21 = async (method__24, args__24, props__24 = false)=>{ + let results__24 = props__24 ? {} : []; + if (Document__21[`${method__24}Middleware`]) { + let middlewareFunc__25 = await Document__21[`${method__24}Middleware`]; + middlewareFunc__25 = middlewareFunc__25.default || middlewareFunc__25; + const curResults__25 = await middlewareFunc__25(...args__24); + if (props__24) { + for (const result__27 of curResults__25){ + results__24 = { + ...results__24, + ...result__27 }; } } else { - results__10 = curResults__11; + results__24 = curResults__25; } } - return results__10; + return results__24; }; - const headTags__8 = (...args__13)=>callMiddleware__8("headTags", args__13); - const isFallback__8 = !!query__8.__nextFallback; - delete query__8.__nextFallback; - delete query__8.__nextLocale; - delete query__8.__nextDefaultLocale; - const isSSG__8 = !!getStaticProps__8; - const isBuildTimeSSG__8 = isSSG__8 && renderOpts__8.nextExport; - const defaultAppGetInitialProps__8 = App__8.getInitialProps === App__8.origGetInitialProps; - const hasPageGetInitialProps__8 = !!Component__8.getInitialProps; - const pageIsDynamic__8 = isDynamicRoute__1(pathname__8); - const isAutoExport__8 = !hasPageGetInitialProps__8 && defaultAppGetInitialProps__8 && !isSSG__8 && !getServerSideProps__8; - for (const methodName__14 of [ + const headTags__21 = (...args__30)=>callMiddleware__21("headTags", args__30); + const isFallback__21 = !!query__21.__nextFallback; + delete query__21.__nextFallback; + delete query__21.__nextLocale; + delete query__21.__nextDefaultLocale; + const isSSG__21 = !!getStaticProps__21; + const isBuildTimeSSG__21 = isSSG__21 && renderOpts__21.nextExport; + const defaultAppGetInitialProps__21 = App__21.getInitialProps === App__21.origGetInitialProps; + const hasPageGetInitialProps__21 = !!Component__21.getInitialProps; + const pageIsDynamic__21 = isDynamicRoute__1(pathname__21); + const isAutoExport__21 = !hasPageGetInitialProps__21 && defaultAppGetInitialProps__21 && !isSSG__21 && !getServerSideProps__21; + for (const methodName__31 of [ "getStaticProps", "getServerSideProps", "getStaticPaths" ]){ - if (Component__8[methodName__14]) { - throw new Error(`page ${pathname__8} ${methodName__14} ${GSSP_COMPONENT_MEMBER_ERROR__1}`); + if (Component__21[methodName__31]) { + throw new Error(`page ${pathname__21} ${methodName__31} ${GSSP_COMPONENT_MEMBER_ERROR__1}`); } } - if (hasPageGetInitialProps__8 && isSSG__8) { - throw new Error(SSG_GET_INITIAL_PROPS_CONFLICT__1 + ` ${pathname__8}`); + if (hasPageGetInitialProps__21 && isSSG__21) { + throw new Error(SSG_GET_INITIAL_PROPS_CONFLICT__1 + ` ${pathname__21}`); } - if (hasPageGetInitialProps__8 && getServerSideProps__8) { - throw new Error(SERVER_PROPS_GET_INIT_PROPS_CONFLICT__1 + ` ${pathname__8}`); + if (hasPageGetInitialProps__21 && getServerSideProps__21) { + throw new Error(SERVER_PROPS_GET_INIT_PROPS_CONFLICT__1 + ` ${pathname__21}`); } - if (getServerSideProps__8 && isSSG__8) { - throw new Error(SERVER_PROPS_SSG_CONFLICT__1 + ` ${pathname__8}`); + if (getServerSideProps__21 && isSSG__21) { + throw new Error(SERVER_PROPS_SSG_CONFLICT__1 + ` ${pathname__21}`); } - if (getStaticPaths__8 && !pageIsDynamic__8) { - throw new Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname__8}'.` + `\nRead more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`); + if (getStaticPaths__21 && !pageIsDynamic__21) { + throw new Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname__21}'.` + `\nRead more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`); } - if (!!getStaticPaths__8 && !isSSG__8) { - throw new Error(`getStaticPaths was added without a getStaticProps in ${pathname__8}. Without getStaticProps, getStaticPaths does nothing`); + if (!!getStaticPaths__21 && !isSSG__21) { + throw new Error(`getStaticPaths was added without a getStaticProps in ${pathname__21}. Without getStaticProps, getStaticPaths does nothing`); } - if (isSSG__8 && pageIsDynamic__8 && !getStaticPaths__8) { - throw new Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname__8}'.` + `\nRead more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`); + if (isSSG__21 && pageIsDynamic__21 && !getStaticPaths__21) { + throw new Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname__21}'.` + `\nRead more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`); } - let asPath__8 = renderOpts__8.resolvedAsPath || req__8.url; - if (dev__8) { - const { isValidElementType__15 } = require("react-is"); - if (!isValidElementType__15(Component__8)) { - throw new Error(`The default export is not a React Component in page: "${pathname__8}"`); + let asPath__21 = renderOpts__21.resolvedAsPath || req__21.url; + if (dev__21) { + const { isValidElementType__40 } = require("react-is"); + if (!isValidElementType__40(Component__21)) { + throw new Error(`The default export is not a React Component in page: "${pathname__21}"`); } - if (!isValidElementType__15(App__8)) { + if (!isValidElementType__40(App__21)) { throw new Error(`The default export is not a React Component in page: "/_app"`); } - if (!isValidElementType__15(Document__8)) { + if (!isValidElementType__40(Document__21)) { throw new Error(`The default export is not a React Component in page: "/_document"`); } - if (isAutoExport__8 || isFallback__8) { - query__8 = { - ...query__8.amp ? { - amp: query__8.amp + if (isAutoExport__21 || isFallback__21) { + query__21 = { + ...query__21.amp ? { + amp: query__21.amp } : {} }; - asPath__8 = `${pathname__8}${req__8.url.endsWith("/") && pathname__8 !== "/" && !pageIsDynamic__8 ? "/" : ""}`; - req__8.url = pathname__8; + asPath__21 = `${pathname__21}${req__21.url.endsWith("/") && pathname__21 !== "/" && !pageIsDynamic__21 ? "/" : ""}`; + req__21.url = pathname__21; } - if (pathname__8 === "/404" && (hasPageGetInitialProps__8 || getServerSideProps__8)) { + if (pathname__21 === "/404" && (hasPageGetInitialProps__21 || getServerSideProps__21)) { throw new Error(`\`pages/404\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR__1}`); } - if (STATIC_STATUS_PAGES__1.includes(pathname__8) && (hasPageGetInitialProps__8 || getServerSideProps__8)) { - throw new Error(`\`pages${pathname__8}\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR__1}`); + if (STATIC_STATUS_PAGES__1.includes(pathname__21) && (hasPageGetInitialProps__21 || getServerSideProps__21)) { + throw new Error(`\`pages${pathname__21}\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR__1}`); } } await Loadable__1.preloadAll(); - let isPreview__8; - let previewData__8; - if ((isSSG__8 || getServerSideProps__8) && !isFallback__8) { - previewData__8 = tryGetPreviewData__1(req__8, res__8, previewProps__8); - isPreview__8 = previewData__8 !== false; - } - const routerIsReady__8 = !!(getServerSideProps__8 || hasPageGetInitialProps__8 || !defaultAppGetInitialProps__8 && !isSSG__8); - const router__8 = new ServerRouter__1(pathname__8, query__8, asPath__8, { - isFallback: isFallback__8 - }, routerIsReady__8, basePath__8, renderOpts__8.locale, renderOpts__8.locales, renderOpts__8.defaultLocale, renderOpts__8.domainLocales, isPreview__8, req__8.__nextIsLocaleDomain); - const jsxStyleRegistry__8 = createStyleRegistry__1(); - const ctx__8 = { - err__8, - req: isAutoExport__8 ? undefined : req__8, - res: isAutoExport__8 ? undefined : res__8, - pathname__8, - query__8, - asPath__8, - locale: renderOpts__8.locale, - locales: renderOpts__8.locales, - defaultLocale: renderOpts__8.defaultLocale, - AppTree: (props__16)=>{ - return + let isPreview__21; + let previewData__21; + if ((isSSG__21 || getServerSideProps__21) && !isFallback__21) { + previewData__21 = tryGetPreviewData__1(req__21, res__21, previewProps__21); + isPreview__21 = previewData__21 !== false; + } + const routerIsReady__21 = !!(getServerSideProps__21 || hasPageGetInitialProps__21 || !defaultAppGetInitialProps__21 && !isSSG__21); + const router__21 = new ServerRouter__1(pathname__21, query__21, asPath__21, { + isFallback: isFallback__21 + }, routerIsReady__21, basePath__21, renderOpts__21.locale, renderOpts__21.locales, renderOpts__21.defaultLocale, renderOpts__21.domainLocales, isPreview__21, req__21.__nextIsLocaleDomain); + const jsxStyleRegistry__21 = createStyleRegistry__1(); + const ctx__21 = { + err__21, + req: isAutoExport__21 ? undefined : req__21, + res: isAutoExport__21 ? undefined : res__21, + pathname__21, + query__21, + asPath__21, + locale: renderOpts__21.locale, + locales: renderOpts__21.locales, + defaultLocale: renderOpts__21.defaultLocale, + AppTree: (props__48)=>{ + return - + - ; + ; }, - defaultGetInitialProps: async (docCtx__17)=>{ - const enhanceApp__17 = (AppComp__18)=>{ - return (props__19)=>; + defaultGetInitialProps: async (docCtx__49)=>{ + const enhanceApp__49 = (AppComp__50)=>{ + return (props__51)=>; }; - const { html__17 , head__17 } = await docCtx__17.renderPage({ - enhanceApp__17 + const { html__49 , head__49 } = await docCtx__49.renderPage({ + enhanceApp__49 }); - const styles__17 = jsxStyleRegistry__8.styles(); + const styles__49 = jsxStyleRegistry__21.styles(); return { - html__17, - head__17, - styles__17 + html__49, + head__49, + styles__49 }; } }; - let props__8; - const ampState__8 = { - ampFirst: pageConfig__8.amp === true, - hasQuery: Boolean(query__8.amp), - hybrid: pageConfig__8.amp === "hybrid" + let props__21; + const ampState__21 = { + ampFirst: pageConfig__21.amp === true, + hasQuery: Boolean(query__21.amp), + hybrid: pageConfig__21.amp === "hybrid" }; - const inAmpMode__8 = isInAmpMode__1(ampState__8); - const reactLoadableModules__8 = []; - let head__8 = defaultHead__1(inAmpMode__8); - let scriptLoader__8 = {}; - const nextExport__8 = !isSSG__8 && (renderOpts__8.nextExport || dev__8 && (isAutoExport__8 || isFallback__8)); - const AppContainer__8 = ({ children__20 })=> + const inAmpMode__21 = isInAmpMode__1(ampState__21); + const reactLoadableModules__21 = []; + let head__21 = defaultHead__1(inAmpMode__21); + let scriptLoader__21 = {}; + const nextExport__21 = !isSSG__21 && (renderOpts__21.nextExport || dev__21 && (isAutoExport__21 || isFallback__21)); + const AppContainer__21 = ({ children__52 })=> - + { - head__8 = state__21; + updateHead: (state__53)=>{ + head__21 = state__53; }, - updateScripts: (scripts__22)=>{ - scriptLoader__8 = scripts__22; + updateScripts: (scripts__54)=>{ + scriptLoader__21 = scripts__54; }, scripts: {}, mountedInstances: new Set() }}> - reactLoadableModules__8.push(moduleName__23)}> + reactLoadableModules__21.push(moduleName__55)}> - + - {children__20} + {children__52} @@ -283,433 +283,433 @@ export async function renderToHTML__1(req__8, res__8, pathname__8, query__8, ren ; - props__8 = await loadGetInitialProps__1(App__8, { - AppTree: ctx__8.AppTree, - Component__8, - router__8, - ctx__8 + props__21 = await loadGetInitialProps__1(App__21, { + AppTree: ctx__21.AppTree, + Component__21, + router__21, + ctx__21 }); - if ((isSSG__8 || getServerSideProps__8) && isPreview__8) { - props__8.__N_PREVIEW = true; + if ((isSSG__21 || getServerSideProps__21) && isPreview__21) { + props__21.__N_PREVIEW = true; } - if (isSSG__8) { - props__8[STATIC_PROPS_ID__1] = true; + if (isSSG__21) { + props__21[STATIC_PROPS_ID__1] = true; } - if (isSSG__8 && !isFallback__8) { - let data__24; + if (isSSG__21 && !isFallback__21) { + let data__58; try { - data__24 = await getStaticProps__8({ - ...pageIsDynamic__8 ? { - params: query__8 + data__58 = await getStaticProps__21({ + ...pageIsDynamic__21 ? { + params: query__21 } : undefined, - ...isPreview__8 ? { + ...isPreview__21 ? { preview: true, - previewData: previewData__8 + previewData: previewData__21 } : undefined, - locales: renderOpts__8.locales, - locale: renderOpts__8.locale, - defaultLocale: renderOpts__8.defaultLocale + locales: renderOpts__21.locales, + locale: renderOpts__21.locale, + defaultLocale: renderOpts__21.defaultLocale }); - } catch (staticPropsError__25) { - if (staticPropsError__25 && staticPropsError__25.code === "ENOENT") { - delete staticPropsError__25.code; + } catch (staticPropsError__60) { + if (staticPropsError__60 && staticPropsError__60.code === "ENOENT") { + delete staticPropsError__60.code; } - throw staticPropsError__25; + throw staticPropsError__60; } - if (data__24 == null) { + if (data__58 == null) { throw new Error(GSP_NO_RETURNED_VALUE__1); } - const invalidKeys__24 = Object.keys(data__24).filter((key__26)=>key__26 !== "revalidate" && key__26 !== "props" && key__26 !== "redirect" && key__26 !== "notFound"); - if (invalidKeys__24.includes("unstable_revalidate")) { + const invalidKeys__58 = Object.keys(data__58).filter((key__63)=>key__63 !== "revalidate" && key__63 !== "props" && key__63 !== "redirect" && key__63 !== "notFound"); + if (invalidKeys__58.includes("unstable_revalidate")) { throw new Error(UNSTABLE_REVALIDATE_RENAME_ERROR__1); } - if (invalidKeys__24.length) { - throw new Error(invalidKeysMsg__1("getStaticProps", invalidKeys__24)); + if (invalidKeys__58.length) { + throw new Error(invalidKeysMsg__1("getStaticProps", invalidKeys__58)); } if (process.env.NODE_ENV !== "production") { - if (typeof data__24.notFound !== "undefined" && typeof data__24.redirect !== "undefined") { - throw new Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG__8 ? "getStaticProps" : "getServerSideProps"} at the same time. Page: ${pathname__8}\nSee more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`); + if (typeof data__58.notFound !== "undefined" && typeof data__58.redirect !== "undefined") { + throw new Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG__21 ? "getStaticProps" : "getServerSideProps"} at the same time. Page: ${pathname__21}\nSee more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`); } } - if ("notFound" in data__24 && data__24.notFound) { - if (pathname__8 === "/404") { + if ("notFound" in data__58 && data__58.notFound) { + if (pathname__21 === "/404") { throw new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`); } - renderOpts__8.isNotFound = true; + renderOpts__21.isNotFound = true; } - if ("redirect" in data__24 && data__24.redirect && typeof data__24.redirect === "object") { - checkRedirectValues__1(data__24.redirect, req__8, "getStaticProps"); - if (isBuildTimeSSG__8) { - throw new Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req__8.url})\n` + `See more info here: https://nextjs.org/docs/messages/gsp-redirect-during-prerender`); + if ("redirect" in data__58 && data__58.redirect && typeof data__58.redirect === "object") { + checkRedirectValues__1(data__58.redirect, req__21, "getStaticProps"); + if (isBuildTimeSSG__21) { + throw new Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req__21.url})\n` + `See more info here: https://nextjs.org/docs/messages/gsp-redirect-during-prerender`); } - data__24.props = { - __N_REDIRECT: data__24.redirect.destination, - __N_REDIRECT_STATUS: getRedirectStatus__1(data__24.redirect) + data__58.props = { + __N_REDIRECT: data__58.redirect.destination, + __N_REDIRECT_STATUS: getRedirectStatus__1(data__58.redirect) }; - if (typeof data__24.redirect.basePath !== "undefined") { - data__24.props.__N_REDIRECT_BASE_PATH = data__24.redirect.basePath; + if (typeof data__58.redirect.basePath !== "undefined") { + data__58.props.__N_REDIRECT_BASE_PATH = data__58.redirect.basePath; } - renderOpts__8.isRedirect = true; + renderOpts__21.isRedirect = true; } - if ((dev__8 || isBuildTimeSSG__8) && !renderOpts__8.isNotFound && !isSerializableProps__1(pathname__8, "getStaticProps", data__24.props)) { + if ((dev__21 || isBuildTimeSSG__21) && !renderOpts__21.isNotFound && !isSerializableProps__1(pathname__21, "getStaticProps", data__58.props)) { throw new Error("invariant: getStaticProps did not return valid props. Please report this."); } - if ("revalidate" in data__24) { - if (typeof data__24.revalidate === "number") { - if (!Number.isInteger(data__24.revalidate)) { - throw new Error(`A page's revalidate option must be seconds expressed as a natural number for ${req__8.url}. Mixed numbers, such as '${data__24.revalidate}', cannot be used.` + `\nTry changing the value to '${Math.ceil(data__24.revalidate)}' or using \`Math.ceil()\` if you're computing the value.`); - } else if (data__24.revalidate <= 0) { - throw new Error(`A page's revalidate option can not be less than or equal to zero for ${req__8.url}. A revalidate option of zero means to revalidate after _every_ request, and implies stale data cannot be tolerated.` + `\n\nTo never revalidate, you can set revalidate to \`false\` (only ran once at build-time).` + `\nTo revalidate as soon as possible, you can set the value to \`1\`.`); - } else if (data__24.revalidate > 31536000) { - console.warn(`Warning: A page's revalidate option was set to more than a year for ${req__8.url}. This may have been done in error.` + `\nTo only run getStaticProps at build-time and not revalidate at runtime, you can set \`revalidate\` to \`false\`!`); + if ("revalidate" in data__58) { + if (typeof data__58.revalidate === "number") { + if (!Number.isInteger(data__58.revalidate)) { + throw new Error(`A page's revalidate option must be seconds expressed as a natural number for ${req__21.url}. Mixed numbers, such as '${data__58.revalidate}', cannot be used.` + `\nTry changing the value to '${Math.ceil(data__58.revalidate)}' or using \`Math.ceil()\` if you're computing the value.`); + } else if (data__58.revalidate <= 0) { + throw new Error(`A page's revalidate option can not be less than or equal to zero for ${req__21.url}. A revalidate option of zero means to revalidate after _every_ request, and implies stale data cannot be tolerated.` + `\n\nTo never revalidate, you can set revalidate to \`false\` (only ran once at build-time).` + `\nTo revalidate as soon as possible, you can set the value to \`1\`.`); + } else if (data__58.revalidate > 31536000) { + console.warn(`Warning: A page's revalidate option was set to more than a year for ${req__21.url}. This may have been done in error.` + `\nTo only run getStaticProps at build-time and not revalidate at runtime, you can set \`revalidate\` to \`false\`!`); } - } else if (data__24.revalidate === true) { - data__24.revalidate = 1; - } else if (data__24.revalidate === false || typeof data__24.revalidate === "undefined") { - data__24.revalidate = false; + } else if (data__58.revalidate === true) { + data__58.revalidate = 1; + } else if (data__58.revalidate === false || typeof data__58.revalidate === "undefined") { + data__58.revalidate = false; } else { - throw new Error(`A page's revalidate option must be seconds expressed as a natural number. Mixed numbers and strings cannot be used. Received '${JSON.stringify(data__24.revalidate)}' for ${req__8.url}`); + throw new Error(`A page's revalidate option must be seconds expressed as a natural number. Mixed numbers and strings cannot be used. Received '${JSON.stringify(data__58.revalidate)}' for ${req__21.url}`); } } else { - data__24.revalidate = false; + data__58.revalidate = false; } - props__8.pageProps = Object.assign({}, props__8.pageProps, "props" in data__24 ? data__24.props : undefined); - renderOpts__8.revalidate = "revalidate" in data__24 ? data__24.revalidate : undefined; - renderOpts__8.pageData = props__8; - if (renderOpts__8.isNotFound) { + props__21.pageProps = Object.assign({}, props__21.pageProps, "props" in data__58 ? data__58.props : undefined); + renderOpts__21.revalidate = "revalidate" in data__58 ? data__58.revalidate : undefined; + renderOpts__21.pageData = props__21; + if (renderOpts__21.isNotFound) { return null; } } - if (getServerSideProps__8) { - props__8[SERVER_PROPS_ID__1] = true; + if (getServerSideProps__21) { + props__21[SERVER_PROPS_ID__1] = true; } - if (getServerSideProps__8 && !isFallback__8) { - let data__27; - let canAccessRes__27 = true; - let resOrProxy__27 = res__8; + if (getServerSideProps__21 && !isFallback__21) { + let data__85; + let canAccessRes__85 = true; + let resOrProxy__85 = res__21; if (process.env.NODE_ENV !== "production") { - resOrProxy__27 = new Proxy(res__8, { - get: function(obj__28, prop__28, receiver__28) { - if (!canAccessRes__27) { + resOrProxy__85 = new Proxy(res__21, { + get: function(obj__87, prop__87, receiver__87) { + if (!canAccessRes__85) { throw new Error(`You should not access 'res' after getServerSideProps resolves.` + `\nRead more: https://nextjs.org/docs/messages/gssp-no-mutating-res`); } - return Reflect.get(obj__28, prop__28, receiver__28); + return Reflect.get(obj__87, prop__87, receiver__87); } }); } try { - data__27 = await getServerSideProps__8({ - req: req__8, - res: resOrProxy__27, - query__8, - resolvedUrl: renderOpts__8.resolvedUrl, - ...pageIsDynamic__8 ? { - params: params__8 + data__85 = await getServerSideProps__21({ + req: req__21, + res: resOrProxy__85, + query__21, + resolvedUrl: renderOpts__21.resolvedUrl, + ...pageIsDynamic__21 ? { + params: params__21 } : undefined, - ...previewData__8 !== false ? { + ...previewData__21 !== false ? { preview: true, - previewData: previewData__8 + previewData: previewData__21 } : undefined, - locales: renderOpts__8.locales, - locale: renderOpts__8.locale, - defaultLocale: renderOpts__8.defaultLocale + locales: renderOpts__21.locales, + locale: renderOpts__21.locale, + defaultLocale: renderOpts__21.defaultLocale }); - canAccessRes__27 = false; - } catch (serverSidePropsError__29) { - if (isError__1(serverSidePropsError__29) && serverSidePropsError__29.code === "ENOENT") { - delete serverSidePropsError__29.code; + canAccessRes__85 = false; + } catch (serverSidePropsError__90) { + if (isError__1(serverSidePropsError__90) && serverSidePropsError__90.code === "ENOENT") { + delete serverSidePropsError__90.code; } - throw serverSidePropsError__29; + throw serverSidePropsError__90; } - if (data__27 == null) { + if (data__85 == null) { throw new Error(GSSP_NO_RETURNED_VALUE__1); } - const invalidKeys__27 = Object.keys(data__27).filter((key__30)=>key__30 !== "props" && key__30 !== "redirect" && key__30 !== "notFound"); - if (data__27.unstable_notFound) { - throw new Error(`unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname__8}`); + const invalidKeys__85 = Object.keys(data__85).filter((key__93)=>key__93 !== "props" && key__93 !== "redirect" && key__93 !== "notFound"); + if (data__85.unstable_notFound) { + throw new Error(`unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname__21}`); } - if (data__27.unstable_redirect) { - throw new Error(`unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname__8}`); + if (data__85.unstable_redirect) { + throw new Error(`unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname__21}`); } - if (invalidKeys__27.length) { - throw new Error(invalidKeysMsg__1("getServerSideProps", invalidKeys__27)); + if (invalidKeys__85.length) { + throw new Error(invalidKeysMsg__1("getServerSideProps", invalidKeys__85)); } - if ("notFound" in data__27 && data__27.notFound) { - if (pathname__8 === "/404") { + if ("notFound" in data__85 && data__85.notFound) { + if (pathname__21 === "/404") { throw new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`); } - renderOpts__8.isNotFound = true; + renderOpts__21.isNotFound = true; return null; } - if ("redirect" in data__27 && typeof data__27.redirect === "object") { - checkRedirectValues__1(data__27.redirect, req__8, "getServerSideProps"); - data__27.props = { - __N_REDIRECT: data__27.redirect.destination, - __N_REDIRECT_STATUS: getRedirectStatus__1(data__27.redirect) + if ("redirect" in data__85 && typeof data__85.redirect === "object") { + checkRedirectValues__1(data__85.redirect, req__21, "getServerSideProps"); + data__85.props = { + __N_REDIRECT: data__85.redirect.destination, + __N_REDIRECT_STATUS: getRedirectStatus__1(data__85.redirect) }; - if (typeof data__27.redirect.basePath !== "undefined") { - data__27.props.__N_REDIRECT_BASE_PATH = data__27.redirect.basePath; + if (typeof data__85.redirect.basePath !== "undefined") { + data__85.props.__N_REDIRECT_BASE_PATH = data__85.redirect.basePath; } - renderOpts__8.isRedirect = true; + renderOpts__21.isRedirect = true; } - if (data__27.props instanceof Promise) { - data__27.props = await data__27.props; + if (data__85.props instanceof Promise) { + data__85.props = await data__85.props; } - if ((dev__8 || isBuildTimeSSG__8) && !isSerializableProps__1(pathname__8, "getServerSideProps", data__27.props)) { + if ((dev__21 || isBuildTimeSSG__21) && !isSerializableProps__1(pathname__21, "getServerSideProps", data__85.props)) { throw new Error("invariant: getServerSideProps did not return valid props. Please report this."); } - props__8.pageProps = Object.assign({}, props__8.pageProps, data__27.props); - renderOpts__8.pageData = props__8; + props__21.pageProps = Object.assign({}, props__21.pageProps, data__85.props); + renderOpts__21.pageData = props__21; } - if (!isSSG__8 && !getServerSideProps__8 && process.env.NODE_ENV !== "production" && Object.keys(props__8?.pageProps || {}).includes("url")) { - console.warn(`The prop \`url\` is a reserved prop in Next.js for legacy reasons and will be overridden on page ${pathname__8}\n` + `See more info here: https://nextjs.org/docs/messages/reserved-page-prop`); + if (!isSSG__21 && !getServerSideProps__21 && process.env.NODE_ENV !== "production" && Object.keys(props__21?.pageProps || {}).includes("url")) { + console.warn(`The prop \`url\` is a reserved prop in Next.js for legacy reasons and will be overridden on page ${pathname__21}\n` + `See more info here: https://nextjs.org/docs/messages/reserved-page-prop`); } - if (isDataReq__8 && !isSSG__8 || renderOpts__8.isRedirect) { - return RenderResult__1.fromStatic(JSON.stringify(props__8)); + if (isDataReq__21 && !isSSG__21 || renderOpts__21.isRedirect) { + return RenderResult__1.fromStatic(JSON.stringify(props__21)); } - if (isFallback__8) { - props__8.pageProps = {}; + if (isFallback__21) { + props__21.pageProps = {}; } - if (isResSent__1(res__8) && !isSSG__8) return null; - let filteredBuildManifest__8 = buildManifest__8; - if (isAutoExport__8 && pageIsDynamic__8) { - const page__31 = denormalizePagePath__1(normalizePagePath__1(pathname__8)); - if (page__31 in filteredBuildManifest__8.pages) { - filteredBuildManifest__8 = { - ...filteredBuildManifest__8, + if (isResSent__1(res__21) && !isSSG__21) return null; + let filteredBuildManifest__21 = buildManifest__21; + if (isAutoExport__21 && pageIsDynamic__21) { + const page__106 = denormalizePagePath__1(normalizePagePath__1(pathname__21)); + if (page__106 in filteredBuildManifest__21.pages) { + filteredBuildManifest__21 = { + ...filteredBuildManifest__21, pages: { - ...filteredBuildManifest__8.pages, - [page__31]: [ - ...filteredBuildManifest__8.pages[page__31], - ...filteredBuildManifest__8.lowPriorityFiles.filter((f__32)=>f__32.includes("_buildManifest")) + ...filteredBuildManifest__21.pages, + [page__106]: [ + ...filteredBuildManifest__21.pages[page__106], + ...filteredBuildManifest__21.lowPriorityFiles.filter((f__108)=>f__108.includes("_buildManifest")) ] }, - lowPriorityFiles: filteredBuildManifest__8.lowPriorityFiles.filter((f__33)=>!f__33.includes("_buildManifest")) + lowPriorityFiles: filteredBuildManifest__21.lowPriorityFiles.filter((f__109)=>!f__109.includes("_buildManifest")) }; } } - const generateStaticHTML__8 = supportsDynamicHTML__8 !== true; - const renderDocument__8 = async ()=>{ - if (Document__8.getInitialProps) { - const renderPage__34 = (options__35 = {})=>{ - if (ctx__8.err && ErrorDebug__8) { - const html__36 = ReactDOMServer__1.renderToString(); + const generateStaticHTML__21 = supportsDynamicHTML__21 !== true; + const renderDocument__21 = async ()=>{ + if (Document__21.getInitialProps) { + const renderPage__111 = (options__112 = {})=>{ + if (ctx__21.err && ErrorDebug__21) { + const html__113 = ReactDOMServer__1.renderToString(); return { - html__36, - head__8 + html__113, + head__21 }; } - if (dev__8 && (props__8.router || props__8.Component)) { + if (dev__21 && (props__21.router || props__21.Component)) { throw new Error(`'router' and 'Component' can not be returned in getInitialProps from _app.js https://nextjs.org/docs/messages/cant-override-next-props`); } - const { App: EnhancedApp__35 , Component: EnhancedComponent__35 } = enhanceComponents__1(options__35, App__8, Component__8); - const html__35 = ReactDOMServer__1.renderToString( + const { App: EnhancedApp__112 , Component: EnhancedComponent__112 } = enhanceComponents__1(options__112, App__21, Component__21); + const html__112 = ReactDOMServer__1.renderToString( - + - ); + ); return { - html__35, - head__8 + html__112, + head__21 }; }; - const documentCtx__34 = { - ...ctx__8, - renderPage__34 + const documentCtx__111 = { + ...ctx__21, + renderPage__111 }; - const docProps__34 = await loadGetInitialProps__1(Document__8, documentCtx__34); - if (isResSent__1(res__8) && !isSSG__8) return null; - if (!docProps__34 || typeof docProps__34.html !== "string") { - const message__37 = `"${getDisplayName__1(Document__8)}.getInitialProps()" should resolve to an object with a "html" prop set with a valid html string`; - throw new Error(message__37); + const docProps__111 = await loadGetInitialProps__1(Document__21, documentCtx__111); + if (isResSent__1(res__21) && !isSSG__21) return null; + if (!docProps__111 || typeof docProps__111.html !== "string") { + const message__115 = `"${getDisplayName__1(Document__21)}.getInitialProps()" should resolve to an object with a "html" prop set with a valid html string`; + throw new Error(message__115); } return { bodyResult: piperFromArray__1([ - docProps__34.html + docProps__111.html ]), - documentElement: (htmlProps__38)=>, - head: docProps__34.head, - headTags: await headTags__8(documentCtx__34), - styles: docProps__34.styles + documentElement: (htmlProps__116)=>, + head: docProps__111.head, + headTags: await headTags__21(documentCtx__111), + styles: docProps__111.styles }; } else { - const content__39 = ctx__8.err && ErrorDebug__8 ? : + const content__117 = ctx__21.err && ErrorDebug__21 ? : - + - ; - const bodyResult__39 = concurrentFeatures__8 ? await renderToStream__1(content__39, generateStaticHTML__8) : piperFromArray__1([ - ReactDOMServer__1.renderToString(content__39) + ; + const bodyResult__117 = concurrentFeatures__21 ? await renderToStream__1(content__117, generateStaticHTML__21) : piperFromArray__1([ + ReactDOMServer__1.renderToString(content__117) ]); return { - bodyResult__39, - documentElement: ()=>Document__8(), - head__8, + bodyResult__117, + documentElement: ()=>Document__21(), + head__21, headTags: [], - styles: jsxStyleRegistry__8.styles() + styles: jsxStyleRegistry__21.styles() }; } }; - const documentResult__8 = await renderDocument__8(); - if (!documentResult__8) { + const documentResult__21 = await renderDocument__21(); + if (!documentResult__21) { return null; } - const dynamicImportsIds__8 = new Set(); - const dynamicImports__8 = new Set(); - for (const mod__40 of reactLoadableModules__8){ - const manifestItem__41 = reactLoadableManifest__8[mod__40]; - if (manifestItem__41) { - dynamicImportsIds__8.add(manifestItem__41.id); - manifestItem__41.files.forEach((item__42)=>{ - dynamicImports__8.add(item__42); + const dynamicImportsIds__21 = new Set(); + const dynamicImports__21 = new Set(); + for (const mod__119 of reactLoadableModules__21){ + const manifestItem__120 = reactLoadableManifest__21[mod__119]; + if (manifestItem__120) { + dynamicImportsIds__21.add(manifestItem__120.id); + manifestItem__120.files.forEach((item__122)=>{ + dynamicImports__21.add(item__122); }); } } - const hybridAmp__8 = ampState__8.hybrid; - const docComponentsRendered__8 = {}; - const { assetPrefix__8 , buildId__8 , customServer__8 , defaultLocale__8 , disableOptimizedLoading__8 , domainLocales__8 , locale__8 , locales__8 , runtimeConfig__8 } = renderOpts__8; - const htmlProps__8 = { + const hybridAmp__21 = ampState__21.hybrid; + const docComponentsRendered__21 = {}; + const { assetPrefix__21 , buildId__21 , customServer__21 , defaultLocale__21 , disableOptimizedLoading__21 , domainLocales__21 , locale__21 , locales__21 , runtimeConfig__21 } = renderOpts__21; + const htmlProps__21 = { __NEXT_DATA__: { - props__8, - page: pathname__8, - query__8, - buildId__8, - assetPrefix: assetPrefix__8 === "" ? undefined : assetPrefix__8, - runtimeConfig__8, - nextExport: nextExport__8 === true ? true : undefined, - autoExport: isAutoExport__8 === true ? true : undefined, - isFallback__8, - dynamicIds: dynamicImportsIds__8.size === 0 ? undefined : Array.from(dynamicImportsIds__8), - err: renderOpts__8.err ? serializeError__1(dev__8, renderOpts__8.err) : undefined, - gsp: !!getStaticProps__8 ? true : undefined, - gssp: !!getServerSideProps__8 ? true : undefined, - customServer__8, - gip: hasPageGetInitialProps__8 ? true : undefined, - appGip: !defaultAppGetInitialProps__8 ? true : undefined, - locale__8, - locales__8, - defaultLocale__8, - domainLocales__8, - isPreview: isPreview__8 === true ? true : undefined + props__21, + page: pathname__21, + query__21, + buildId__21, + assetPrefix: assetPrefix__21 === "" ? undefined : assetPrefix__21, + runtimeConfig__21, + nextExport: nextExport__21 === true ? true : undefined, + autoExport: isAutoExport__21 === true ? true : undefined, + isFallback__21, + dynamicIds: dynamicImportsIds__21.size === 0 ? undefined : Array.from(dynamicImportsIds__21), + err: renderOpts__21.err ? serializeError__1(dev__21, renderOpts__21.err) : undefined, + gsp: !!getStaticProps__21 ? true : undefined, + gssp: !!getServerSideProps__21 ? true : undefined, + customServer__21, + gip: hasPageGetInitialProps__21 ? true : undefined, + appGip: !defaultAppGetInitialProps__21 ? true : undefined, + locale__21, + locales__21, + defaultLocale__21, + domainLocales__21, + isPreview: isPreview__21 === true ? true : undefined }, - buildManifest: filteredBuildManifest__8, - docComponentsRendered__8, - dangerousAsPath: router__8.asPath, - canonicalBase: !renderOpts__8.ampPath && req__8.__nextStrippedLocale ? `${renderOpts__8.canonicalBase || ""}/${renderOpts__8.locale}` : renderOpts__8.canonicalBase, - ampPath__8, - inAmpMode__8, - isDevelopment: !!dev__8, - hybridAmp__8, - dynamicImports: Array.from(dynamicImports__8), - assetPrefix__8, - unstable_runtimeJS: process.env.NODE_ENV === "production" ? pageConfig__8.unstable_runtimeJS : undefined, - unstable_JsPreload: pageConfig__8.unstable_JsPreload, - devOnlyCacheBusterQueryString__8, - scriptLoader__8, - locale__8, - disableOptimizedLoading__8, - head: documentResult__8.head, - headTags: documentResult__8.headTags, - styles: documentResult__8.styles, + buildManifest: filteredBuildManifest__21, + docComponentsRendered__21, + dangerousAsPath: router__21.asPath, + canonicalBase: !renderOpts__21.ampPath && req__21.__nextStrippedLocale ? `${renderOpts__21.canonicalBase || ""}/${renderOpts__21.locale}` : renderOpts__21.canonicalBase, + ampPath__21, + inAmpMode__21, + isDevelopment: !!dev__21, + hybridAmp__21, + dynamicImports: Array.from(dynamicImports__21), + assetPrefix__21, + unstable_runtimeJS: process.env.NODE_ENV === "production" ? pageConfig__21.unstable_runtimeJS : undefined, + unstable_JsPreload: pageConfig__21.unstable_JsPreload, + devOnlyCacheBusterQueryString__21, + scriptLoader__21, + locale__21, + disableOptimizedLoading__21, + head: documentResult__21.head, + headTags: documentResult__21.headTags, + styles: documentResult__21.styles, useMaybeDeferContent__1 }; - const documentHTML__8 = ReactDOMServer__1.renderToStaticMarkup( + const documentHTML__21 = ReactDOMServer__1.renderToStaticMarkup( - + - {documentResult__8.documentElement(htmlProps__8)} + {documentResult__21.documentElement(htmlProps__21)} ); if (process.env.NODE_ENV !== "production") { - const nonRenderedComponents__43 = []; - const expectedDocComponents__43 = [ + const nonRenderedComponents__123 = []; + const expectedDocComponents__123 = [ "Main", "Head", "NextScript", "Html" ]; - for (const comp__44 of expectedDocComponents__43){ - if (!docComponentsRendered__8[comp__44]) { - nonRenderedComponents__43.push(comp__44); + for (const comp__124 of expectedDocComponents__123){ + if (!docComponentsRendered__21[comp__124]) { + nonRenderedComponents__123.push(comp__124); } } - const plural__43 = nonRenderedComponents__43.length !== 1 ? "s" : ""; - if (nonRenderedComponents__43.length) { - const missingComponentList__45 = nonRenderedComponents__43.map((e__46)=>`<${e__46} />`).join(", "); - warn__1(`Your custom Document (pages/_document) did not render all the required subcomponent${plural__43}.\n` + `Missing component${plural__43}: ${missingComponentList__45}\n` + "Read how to fix here: https://nextjs.org/docs/messages/missing-document-component"); + const plural__123 = nonRenderedComponents__123.length !== 1 ? "s" : ""; + if (nonRenderedComponents__123.length) { + const missingComponentList__127 = nonRenderedComponents__123.map((e__128)=>`<${e__128} />`).join(", "); + warn__1(`Your custom Document (pages/_document) did not render all the required subcomponent${plural__123}.\n` + `Missing component${plural__123}: ${missingComponentList__127}\n` + "Read how to fix here: https://nextjs.org/docs/messages/missing-document-component"); } } - const renderTargetIdx__8 = documentHTML__8.indexOf(BODY_RENDER_TARGET__1); - const prefix__8 = []; - prefix__8.push(""); - prefix__8.push(documentHTML__8.substring(0, renderTargetIdx__8)); - if (inAmpMode__8) { - prefix__8.push(""); + const renderTargetIdx__21 = documentHTML__21.indexOf(BODY_RENDER_TARGET__1); + const prefix__21 = []; + prefix__21.push(""); + prefix__21.push(documentHTML__21.substring(0, renderTargetIdx__21)); + if (inAmpMode__21) { + prefix__21.push(""); } - let pipers__8 = [ - piperFromArray__1(prefix__8), - documentResult__8.bodyResult, + let pipers__21 = [ + piperFromArray__1(prefix__21), + documentResult__21.bodyResult, piperFromArray__1([ - documentHTML__8.substring(renderTargetIdx__8 + BODY_RENDER_TARGET__1.length) + documentHTML__21.substring(renderTargetIdx__21 + BODY_RENDER_TARGET__1.length) ]) ]; - const postProcessors__8 = (generateStaticHTML__8 ? [ - inAmpMode__8 ? async (html__47)=>{ - html__47 = await optimizeAmp__1(html__47, renderOpts__8.ampOptimizerConfig); - if (!renderOpts__8.ampSkipValidation && renderOpts__8.ampValidator) { - await renderOpts__8.ampValidator(html__47, pathname__8); + const postProcessors__21 = (generateStaticHTML__21 ? [ + inAmpMode__21 ? async (html__130)=>{ + html__130 = await optimizeAmp__1(html__130, renderOpts__21.ampOptimizerConfig); + if (!renderOpts__21.ampSkipValidation && renderOpts__21.ampValidator) { + await renderOpts__21.ampValidator(html__130, pathname__21); } - return html__47; + return html__130; } : null, - process.env.__NEXT_OPTIMIZE_FONTS || process.env.__NEXT_OPTIMIZE_IMAGES ? async (html__48)=>{ - return await postProcess__1(html__48, { - getFontDefinition__8 + process.env.__NEXT_OPTIMIZE_FONTS || process.env.__NEXT_OPTIMIZE_IMAGES ? async (html__132)=>{ + return await postProcess__1(html__132, { + getFontDefinition__21 }, { - optimizeFonts: renderOpts__8.optimizeFonts, - optimizeImages: renderOpts__8.optimizeImages + optimizeFonts: renderOpts__21.optimizeFonts, + optimizeImages: renderOpts__21.optimizeImages }); } : null, - renderOpts__8.optimizeCss ? async (html__49)=>{ - const Critters__49 = require("critters"); - const cssOptimizer__49 = new Critters__49({ + renderOpts__21.optimizeCss ? async (html__133)=>{ + const Critters__133 = require("critters"); + const cssOptimizer__133 = new Critters__133({ ssrMode: true, reduceInlineStyles: false, - path: renderOpts__8.distDir, - publicPath: `${renderOpts__8.assetPrefix}/_next/`, + path: renderOpts__21.distDir, + publicPath: `${renderOpts__21.assetPrefix}/_next/`, preload: "media", fonts: false, - ...renderOpts__8.optimizeCss + ...renderOpts__21.optimizeCss }); - return await cssOptimizer__49.process(html__49); + return await cssOptimizer__133.process(html__133); } : null, - inAmpMode__8 || hybridAmp__8 ? async (html__50)=>{ - return html__50.replace(/&amp=1/g, "&=1"); + inAmpMode__21 || hybridAmp__21 ? async (html__134)=>{ + return html__134.replace(/&amp=1/g, "&=1"); } : null ] : []).filter(Boolean); - if (generateStaticHTML__8 || postProcessors__8.length > 0) { - let html__51 = await piperToString__1(chainPipers__1(pipers__8)); - for (const postProcessor__52 of postProcessors__8){ - if (postProcessor__52) { - html__51 = await postProcessor__52(html__51); + if (generateStaticHTML__21 || postProcessors__21.length > 0) { + let html__135 = await piperToString__1(chainPipers__1(pipers__21)); + for (const postProcessor__136 of postProcessors__21){ + if (postProcessor__136) { + html__135 = await postProcessor__136(html__135); } } - return new RenderResult__1(html__51); + return new RenderResult__1(html__135); } - return new RenderResult__1(chainPipers__1(pipers__8)); + return new RenderResult__1(chainPipers__1(pipers__21)); } -function errorToJSON__1(err__53) { - const { name__53 , message__53 , stack__53 } = err__53; +function errorToJSON__1(err__139) { + const { name__139 , message__139 , stack__139 } = err__139; return { - name__53, - message__53, - stack__53 + name__139, + message__139, + stack__139 }; } -function serializeError__1(dev__54, err__54) { - if (dev__54) { - return errorToJSON__1(err__54); +function serializeError__1(dev__140, err__140) { + if (dev__140) { + return errorToJSON__1(err__140); } return { name: "Internal Server Error.", @@ -717,129 +717,129 @@ function serializeError__1(dev__54, err__54) { statusCode: 500 }; } -function renderToStream__1(element__55, generateStaticHTML__55) { - return new Promise((resolve__56, reject__56)=>{ - let underlyingStream__56 = null; - const stream__56 = new Writable__1({ +function renderToStream__1(element__142, generateStaticHTML__142) { + return new Promise((resolve__143, reject__143)=>{ + let underlyingStream__143 = null; + const stream__143 = new Writable__1({ highWaterMark: 0, - write (chunk__57, encoding__57, callback__57) { - if (!underlyingStream__56) { + write (chunk__144, encoding__144, callback__144) { + if (!underlyingStream__143) { throw new Error("invariant: write called without an underlying stream. This is a bug in Next.js"); } - if (!underlyingStream__56.writable.write(chunk__57, encoding__57)) { - underlyingStream__56.queuedCallbacks.push(()=>callback__57()); + if (!underlyingStream__143.writable.write(chunk__144, encoding__144)) { + underlyingStream__143.queuedCallbacks.push(()=>callback__144()); } else { - callback__57(); + callback__144(); } } }); - stream__56.once("finish", ()=>{ - if (!underlyingStream__56) { + stream__143.once("finish", ()=>{ + if (!underlyingStream__143) { throw new Error("invariant: finish called without an underlying stream. This is a bug in Next.js"); } - underlyingStream__56.resolve(); + underlyingStream__143.resolve(); }); - stream__56.once("error", (err__58)=>{ - if (!underlyingStream__56) { + stream__143.once("error", (err__150)=>{ + if (!underlyingStream__143) { throw new Error("invariant: error called without an underlying stream. This is a bug in Next.js"); } - underlyingStream__56.resolve(err__58); + underlyingStream__143.resolve(err__150); }); - Object.defineProperty(stream__56, "flush", { + Object.defineProperty(stream__143, "flush", { value: ()=>{ - if (!underlyingStream__56) { + if (!underlyingStream__143) { throw new Error("invariant: flush called without an underlying stream. This is a bug in Next.js"); } - if (typeof underlyingStream__56.writable.flush === "function") { - underlyingStream__56.writable.flush(); + if (typeof underlyingStream__143.writable.flush === "function") { + underlyingStream__143.writable.flush(); } }, enumerable: true }); - let resolved__56 = false; - const doResolve__56 = ()=>{ - if (!resolved__56) { - resolved__56 = true; - resolve__56((res__59, next__59)=>{ - const drainHandler__59 = ()=>{ - const prevCallbacks__60 = underlyingStream__56.queuedCallbacks; - underlyingStream__56.queuedCallbacks = []; - prevCallbacks__60.forEach((callback__61)=>callback__61()); + let resolved__143 = false; + const doResolve__143 = ()=>{ + if (!resolved__143) { + resolved__143 = true; + resolve__143((res__157, next__157)=>{ + const drainHandler__157 = ()=>{ + const prevCallbacks__158 = underlyingStream__143.queuedCallbacks; + underlyingStream__143.queuedCallbacks = []; + prevCallbacks__158.forEach((callback__159)=>callback__159()); }; - res__59.on("drain", drainHandler__59); - underlyingStream__56 = { - resolve: (err__62)=>{ - underlyingStream__56 = null; - res__59.removeListener("drain", drainHandler__59); - next__59(err__62); + res__157.on("drain", drainHandler__157); + underlyingStream__143 = { + resolve: (err__160)=>{ + underlyingStream__143 = null; + res__157.removeListener("drain", drainHandler__157); + next__157(err__160); }, - writable: res__59, + writable: res__157, queuedCallbacks: [] }; - startWriting__56(); + startWriting__143(); }); } }; - const { abort__56 , startWriting__56 } = ReactDOMServer__1.pipeToNodeWritable(element__55, stream__56, { - onError (error__63) { - if (!resolved__56) { - resolved__56 = true; - reject__56(error__63); + const { abort__143 , startWriting__143 } = ReactDOMServer__1.pipeToNodeWritable(element__142, stream__143, { + onError (error__161) { + if (!resolved__143) { + resolved__143 = true; + reject__143(error__161); } - abort__56(); + abort__143(); }, onCompleteShell () { - if (!generateStaticHTML__55) { - doResolve__56(); + if (!generateStaticHTML__142) { + doResolve__143(); } }, onCompleteAll () { - doResolve__56(); + doResolve__143(); } }); }); } -function chainPipers__1(pipers__64) { - return pipers__64.reduceRight((lhs__65, rhs__65)=>(res__66, next__66)=>{ - rhs__65(res__66, (err__67)=>err__67 ? next__66(err__67) : lhs__65(res__66, next__66)); - }, (res__68, next__68)=>{ - res__68.end(); - next__68(); +function chainPipers__1(pipers__166) { + return pipers__166.reduceRight((lhs__167, rhs__167)=>(res__168, next__168)=>{ + rhs__167(res__168, (err__169)=>err__169 ? next__168(err__169) : lhs__167(res__168, next__168)); + }, (res__170, next__170)=>{ + res__170.end(); + next__170(); }); } -function piperFromArray__1(chunks__69) { - return (res__70, next__70)=>{ - if (typeof res__70.cork === "function") { - res__70.cork(); +function piperFromArray__1(chunks__171) { + return (res__172, next__172)=>{ + if (typeof res__172.cork === "function") { + res__172.cork(); } - chunks__69.forEach((chunk__71)=>res__70.write(chunk__71)); - if (typeof res__70.uncork === "function") { - res__70.uncork(); + chunks__171.forEach((chunk__174)=>res__172.write(chunk__174)); + if (typeof res__172.uncork === "function") { + res__172.uncork(); } - next__70(); + next__172(); }; } -function piperToString__1(input__72) { - return new Promise((resolve__73, reject__73)=>{ - const bufferedChunks__73 = []; - const stream__73 = new Writable__1({ - writev (chunks__74, callback__74) { - chunks__74.forEach((chunk__75)=>bufferedChunks__73.push(chunk__75.chunk)); - callback__74(); +function piperToString__1(input__176) { + return new Promise((resolve__177, reject__177)=>{ + const bufferedChunks__177 = []; + const stream__177 = new Writable__1({ + writev (chunks__178, callback__178) { + chunks__178.forEach((chunk__179)=>bufferedChunks__177.push(chunk__179.chunk)); + callback__178(); } }); - input__72(stream__73, (err__76)=>{ - if (err__76) { - reject__73(err__76); + input__176(stream__177, (err__180)=>{ + if (err__180) { + reject__177(err__180); } else { - resolve__73(Buffer.concat(bufferedChunks__73).toString()); + resolve__177(Buffer.concat(bufferedChunks__177).toString()); } }); }); } -export function useMaybeDeferContent__1(_name__77, contentFn__77) { +export function useMaybeDeferContent__1(_name__183, contentFn__183) { return [ false, - contentFn__77() + contentFn__183() ]; } diff --git a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/2/output.js b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/2/output.js index 0d2874566b71..1482cff9d35a 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/2/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/2/output.js @@ -20,11 +20,11 @@ function renderToStream__1(element__2, generateStaticHTML__2) { } underlyingStream__4.resolve(); }); - stream__4.once("error", (err__6)=>{ + stream__4.once("error", (err__11)=>{ if (!underlyingStream__4) { throw new Error("invariant: error called without an underlying stream. This is a bug in Next.js"); } - underlyingStream__4.resolve(err__6); + underlyingStream__4.resolve(err__11); }); Object.defineProperty(stream__4, "flush", { value: ()=>{ @@ -41,20 +41,20 @@ function renderToStream__1(element__2, generateStaticHTML__2) { const doResolve__4 = ()=>{ if (!resolved__4) { resolved__4 = true; - resolve__4((res__7, next__7)=>{ - const drainHandler__7 = ()=>{ - const prevCallbacks__8 = underlyingStream__4.queuedCallbacks; + resolve__4((res__18, next__18)=>{ + const drainHandler__18 = ()=>{ + const prevCallbacks__19 = underlyingStream__4.queuedCallbacks; underlyingStream__4.queuedCallbacks = []; - prevCallbacks__8.forEach((callback__9)=>callback__9()); + prevCallbacks__19.forEach((callback__20)=>callback__20()); }; - res__7.on("drain", drainHandler__7); + res__18.on("drain", drainHandler__18); underlyingStream__4 = { - resolve: (err__10)=>{ + resolve: (err__21)=>{ underlyingStream__4 = null; - res__7.removeListener("drain", drainHandler__7); - next__7(err__10); + res__18.removeListener("drain", drainHandler__18); + next__18(err__21); }, - writable: res__7, + writable: res__18, queuedCallbacks: [] }; startWriting__4(); @@ -62,10 +62,10 @@ function renderToStream__1(element__2, generateStaticHTML__2) { } }; const { abort__4 , startWriting__4 } = ReactDOMServer.pipeToNodeWritable(element__2, stream__4, { - onError (error__11) { + onError (error__22) { if (!resolved__4) { resolved__4 = true; - reject__4(error__11); + reject__4(error__22); } abort__4(); }, diff --git a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/input.js b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/input.js index 911ac511c888..e2cbd4793659 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/input.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/input.js @@ -1,8 +1,10 @@ function top() { let resolved = false; const doResolve = () => { + let aaa = 3; if (!resolved) { resolved = true; + let bbb = 4; resolve((res, next) => { const drainHandler = () => { const prevCallbacks = underlyingStream.queuedCallbacks; diff --git a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/output.js b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/output.js index 9e405b1a679e..09b2c252b71b 100644 --- a/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/output.js +++ b/crates/swc_ecma_transforms_base/tests/resolver/vercel/next/server/render/3/output.js @@ -1,22 +1,24 @@ function top__1() { let resolved__2 = false; const doResolve__2 = ()=>{ + let aaa__3 = 3; if (!resolved__2) { resolved__2 = true; - resolve((res__4, next__4)=>{ - const drainHandler__4 = ()=>{ - const prevCallbacks__5 = underlyingStream.queuedCallbacks; + let bbb__4 = 4; + resolve((res__6, next__6)=>{ + const drainHandler__6 = ()=>{ + const prevCallbacks__7 = underlyingStream.queuedCallbacks; underlyingStream.queuedCallbacks = []; - prevCallbacks__5.forEach((callback__6)=>callback__6()); + prevCallbacks__7.forEach((callback__8)=>callback__8()); }; - res__4.on("drain", drainHandler__4); + res__6.on("drain", drainHandler__6); underlyingStream = { - resolve: (err__7)=>{ + resolve: (err__9)=>{ underlyingStream = null; - res__4.removeListener("drain", drainHandler__4); - next__4(err__7); + res__6.removeListener("drain", drainHandler__6); + next__6(err__9); }, - writable: res__4, + writable: res__6, queuedCallbacks: [] }; startWriting__2(); @@ -24,10 +26,10 @@ function top__1() { } }; const { abort__2 , startWriting__2 } = ReactDOMServer.pipeToNodeWritable(element, stream, { - onError (error__8) { + onError (error__10) { if (!resolved__2) { resolved__2 = true; - reject(error__8); + reject(error__10); } abort__2(); }, diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/deno/9650/1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/deno/9650/1/output.ts index fe96a9694c5d..c9bef095a5e5 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/deno/9650/1/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/deno/9650/1/output.ts @@ -1,9 +1,9 @@ export class X__1 { constructor(){} - bad(target__2: number) { - const d__2 = 1; - const min__2 = 0; - const max__2 = 100; - console.log("x", `duration ${d__2} not in range - ${min__2} ≥ ${d__2} && ${max__2} ≥ ${d__2}`); + bad(target__3: number) { + const d__3 = 1; + const min__3 = 0; + const max__3 = 100; + console.log("x", `duration ${d__3} not in range - ${min__3} ≥ ${d__3} && ${max__3} ≥ ${d__3}`); } } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/issue-5622/2/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/issue-5622/2/output.ts index 326b886cdc50..d4926f7a163e 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/issue-5622/2/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/issue-5622/2/output.ts @@ -23,14 +23,14 @@ function outside__1() { function defaultArgFunction__1(a__9 = function() { return b__9; }, b__9 = 1) {} -function defaultArgArrow__1(a__10 = ()=>()=>b__10, b__10 = 3) {} +function defaultArgArrow__1(a__11 = ()=>()=>b__11, b__11 = 3) {} class C__1 { - constructor(a__11 = b, b__11 = 1){} - method(a__12 = b__12, b__12 = 1) {} + constructor(a__12 = b, b__12 = 1){} + method(a__13 = b__13, b__13 = 1) {} } -var x__1 = (a__13 = b, b__13 = c, c__13 = d)=>{ - var d__13; +var x__1 = (a__14 = b, b__14 = c, c__14 = d)=>{ + var d__14; }; -function f__1(a__14, b__14 = function() { - return c__14; -}, c__14 = b__14()) {} +function f__1(a__15, b__15 = function() { + return c__15; +}, c__15 = b__15()) {} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/minifier/1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/minifier/1/output.ts index fa7f72ede1f9..5983ad444fea 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/minifier/1/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/minifier/1/output.ts @@ -1,10 +1,10 @@ function foo__1() { try { foo__1(); - } catch (ex__2) { - let x__2 = 10; - const y__2 = 10; - class Zee__2 { + } catch (ex__4) { + let x__4 = 10; + const y__4 = 10; + class Zee__4 { } } console.log(x, y, Zee); diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/1/output.ts index 20b97579d4ac..5279d2eb4b42 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/1/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/1/output.ts @@ -4,12 +4,12 @@ interface Mixin1__1 { class AbstractBase__1 { abstractBaseMethod(): void; } -function Mixin2__1 any>(baseClass__2: TBase__2) { - class MixinClass__2 extends baseClass__2 implements Mixin1__1 { +function Mixin2__1 any>(baseClass__3: TBase__3) { + class MixinClass__3 extends baseClass__3 implements Mixin1__1 { mixinMethod(): void {} static staticMixinMethod(): void {} } - return MixinClass__2; + return MixinClass__3; } class DerivedFromAbstract2__1 extends Mixin2__1(AbstractBase__1) { abstractBaseMethod() {} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/2/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/2/output.ts index 116681a13d8b..ec27c6459901 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/2/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/2/output.ts @@ -3,6 +3,6 @@ type Movable__1 = { }; const car__1 = { start () {}, - move (d__3) {}, + move (d__4) {}, stop () {} } satisfies Movable__1 & Record; diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/3/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/3/output.ts index 9b84927bf215..1dc1a78742df 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/3/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/stc/3/output.ts @@ -3,6 +3,6 @@ type Movable__1 = { }; const car__1 = { start () {}, - move (d__3) {}, + move (d__4) {}, stop () {} } as Movable__1 & Record; diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_async_await_nested_class_es5/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_async_await_nested_class_es5/output.ts index 0d790fb519f7..1f406d2ff6d2 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_async_await_nested_class_es5/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_async_await_nested_class_es5/output.ts @@ -1,11 +1,11 @@ class A__1 { static B = class B__2 { static func2(): Promise { - return new Promise((resolve__4)=>{ - resolve__4(null); + return new Promise((resolve__5)=>{ + resolve__5(null); }); } - static C = class C__5 { + static C = class C__6 { static async func() { await B__2.func2(); } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_local_types_4_2/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_local_types_4_2/output.ts index 1e9a53a8dba3..7a1b35b617cc 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_local_types_4_2/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_local_types_4_2/output.ts @@ -1,6 +1,6 @@ function f2__1() { - function f__2(x__4: T): T { - interface T__4 { + function f__2(x__3: T): T { + interface T__3 { } return undefined; } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_catch_param/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_catch_param/output.ts index f89f71a23b48..dcc138bf5edf 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_catch_param/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_catch_param/output.ts @@ -1,8 +1,8 @@ function wrapper__1(...args__2) { try { return target(...args__2); - } catch (err__4) { - switch(err__4.name){ + } catch (err__5) { + switch(err__5.name){ } } } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_parameter_property/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_parameter_property/output.ts index a9d1a25986a5..f4ee7537a87a 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_parameter_property/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/ts_resolver_parameter_property/output.ts @@ -6,8 +6,8 @@ class PartWriter__1 implements Deno.Writer { } else { buf__3 += `\r\n--${boundary__3}\r\n`; } - for (const [key__4, value__4] of headers__3.entries()){ - buf__3 += `${key__4}: ${value__4}\r\n`; + for (const [key__6, value__6] of headers__3.entries()){ + buf__3 += `${key__6}: ${value__6}\r\n`; } buf__3 += `\r\n`; this.partHeader = buf__3; diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/computed/property/name/11/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/computed/property/name/11/output.ts index fe7c74e75601..f703af19f229 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/computed/property/name/11/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/computed/property/name/11/output.ts @@ -5,23 +5,23 @@ var v__1 = { get [s__1] () { return 0; }, - set [n__1] (v__2){}, + set [n__1] (v__3){}, get [s__1 + s__1] () { return 0; }, - set [s__1 + n__1] (v__3){}, + set [s__1 + n__1] (v__6){}, get [+s__1] () { return 0; }, - set [""] (v__4){}, + set [""] (v__9){}, get [0] () { return 0; }, - set [a__1] (v__5){}, + set [a__1] (v__12){}, get [true] () { return 0; }, - set [`hello bye`] (v__6){}, + set [`hello bye`] (v__15){}, get [`hello ${a__1} bye`] () { return 0; } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/generatedContextualTyping/1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/generatedContextualTyping/1/output.ts index d23e42e3a33d..7cddf4aec0fc 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/generatedContextualTyping/1/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/tsc/generatedContextualTyping/1/output.ts @@ -7,9 +7,9 @@ class x87__1 { }){} } class x90__1 { - constructor(parm__5: { + constructor(parm__6: { () : Base[]; - } = function named__6() { + } = function named__7() { return [ d1, d2 diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/vercel/1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/vercel/1/output.ts index 8a23b5a07347..dabe494fe4ac 100644 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/vercel/1/output.ts +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/vercel/1/output.ts @@ -3,15 +3,15 @@ function o__1(e__3) { const r__3 = e__3.nextUrl; if ("/log" !== r__3.pathname) { if ("/throw-error-internal" === r__3.pathname) { - function r__4() { + function r__5() { return e__3(); } try { - r__4(); - } catch (o__5) { - console.error(o__5); + r__5(); + } catch (o__8) { + console.error(o__8); } - return new Promise((e__6, r__6)=>r__6(new Error("oh no!"))); + return new Promise((e__9, r__9)=>r__9(new Error("oh no!"))); } } } diff --git a/crates/swc_ecma_transforms_compat/src/bugfixes/safari_id_destructuring_collision_in_function_expression.rs b/crates/swc_ecma_transforms_compat/src/bugfixes/safari_id_destructuring_collision_in_function_expression.rs index 3675b1da18fd..06c2d925dc24 100644 --- a/crates/swc_ecma_transforms_compat/src/bugfixes/safari_id_destructuring_collision_in_function_expression.rs +++ b/crates/swc_ecma_transforms_compat/src/bugfixes/safari_id_destructuring_collision_in_function_expression.rs @@ -194,13 +194,13 @@ mod tests { ", " export default function _typeof__1() { - if (Date__2.now() > 0) { - _typeof__1 = function _typeof__3() { - console__2.log(0); + if (Date__3.now() > 0) { + _typeof__1 = function _typeof__5() { + console__3.log(0); }; } else { - _typeof__1 = function _typeof__4() { - console__2.log(2); + _typeof__1 = function _typeof__8() { + console__3.log(2); }; } return _typeof__1(); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-3235/1/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-3235/1/output.js index 94f8c604cfe7..adc82bf369ec 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-3235/1/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-3235/1/output.js @@ -2,15 +2,15 @@ var res__1 = []; var a__1 = 2; res__1.push(a__1 === 2); { - var _$b__7 = 1; + var _$b__8 = 1; }res__1.push(typeof b === "undefined"); if (true) { - var _$b__8 = 0; + var _$b__9 = 0; } res__1.push(typeof b === "undefined"); -for(var _$b__9 = 0; _$b__9 < 10; _$b__9++){} +for(var _$b__10 = 0; _$b__10 < 10; _$b__10++){} res__1.push(typeof b === "undefined"); function test__1() { - var _$b__10 = 7; + var _$b__11 = 7; } res__1.push(typeof b === "undefined"); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/1/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/1/output.js index 42d82edda29b..25f49607ad99 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/1/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/1/output.js @@ -1,23 +1,23 @@ -var _loop__7 = function(i__1) { - var _loop__5 = function(j__2) { +var _loop__9 = function(i__1) { + var _loop__7 = function(j__3) { if (i__1 < 2) return "continue|out"; [ 1 - ].forEach((___3)=>{ - console.log(i__1, j__2); + ].forEach((___5)=>{ + console.log(i__1, j__3); }); }; - for(var j__2 = 0; j__2 < 4; ++j__2){ - var _ret__6 = _loop__5(j__2); - switch(_ret__6){ + for(var j__3 = 0; j__3 < 4; ++j__3){ + var _ret__8 = _loop__7(j__3); + switch(_ret__8){ case "continue|out": return "continue|out"; } } }; out__0: for(var i__1 = 0; i__1 < 4; i__1++){ - var _ret__8 = _loop__7(i__1); - switch(_ret__8){ + var _ret__10 = _loop__9(i__1); + switch(_ret__10){ case "continue|out": continue out__0; } diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/2/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/2/output.js index daa6e964e062..da4c9d3d82a7 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/2/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/2/output.js @@ -1,12 +1,12 @@ -var _loop__6 = function(i__1) { - var _loop__5 = function(j__2) { +var _loop__8 = function(i__1) { + var _loop__7 = function(j__3) { if (i__1 < 2) return "continue"; [ 1 - ].forEach((___3)=>{ - console.log(i__1, j__2); + ].forEach((___5)=>{ + console.log(i__1, j__3); }); }; - for(var j__2 = 0; j__2 < 4; ++j__2)_loop__5(j__2); + for(var j__3 = 0; j__3 < 4; ++j__3)_loop__7(j__3); }; -for(var i__1 = 0; i__1 < 4; i__1++)_loop__6(i__1); +for(var i__1 = 0; i__1 < 4; i__1++)_loop__8(i__1); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/3/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/3/output.js index 97402fcce261..c9c1672b6170 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/3/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/3/output.js @@ -1,23 +1,23 @@ -var _loop__7 = function(i__1) { - var _loop__5 = function(j__2) { +var _loop__9 = function(i__1) { + var _loop__7 = function(j__3) { if (i__1 > 2) return "break|out"; [ 1 - ].forEach((___3)=>{ - console.log(i__1, j__2); + ].forEach((___5)=>{ + console.log(i__1, j__3); }); }; - for(var j__2 = 0; j__2 < 4; ++j__2){ - var _ret__6 = _loop__5(j__2); - switch(_ret__6){ + for(var j__3 = 0; j__3 < 4; ++j__3){ + var _ret__8 = _loop__7(j__3); + switch(_ret__8){ case "break|out": return "break|out"; } } }; out__0: for(var i__1 = 0; i__1 < 4; i__1++){ - var _ret__8 = _loop__7(i__1); - switch(_ret__8){ + var _ret__10 = _loop__9(i__1); + switch(_ret__10){ case "break|out": break out__0; } diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/4/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/4/output.js index 30403f743e6f..4da6f8dd0e01 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/4/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/4/output.js @@ -1,15 +1,15 @@ -var _loop__7 = function(i__1) { - var _loop__5 = function(j__2) { +var _loop__9 = function(i__1) { + var _loop__7 = function(j__3) { if (i__1 > 2) return "break"; [ 1 - ].forEach((___3)=>{ - console.log(i__1, j__2); + ].forEach((___5)=>{ + console.log(i__1, j__3); }); }; - for(var j__2 = 0; j__2 < 4; ++j__2){ - var _ret__6 = _loop__5(j__2); - if (_ret__6 === "break") break; + for(var j__3 = 0; j__3 < 4; ++j__3){ + var _ret__8 = _loop__7(j__3); + if (_ret__8 === "break") break; } }; -for(var i__1 = 0; i__1 < 4; i__1++)_loop__7(i__1); +for(var i__1 = 0; i__1 < 4; i__1++)_loop__9(i__1); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/5/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/5/output.js index 5fbef8d37eee..b15d1cd2b4b4 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/5/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4238/5/output.js @@ -1,18 +1,18 @@ -var _loop__7 = function(i__1) { - var _loop__5 = function(j__2) { +var _loop__9 = function(i__1) { + var _loop__7 = function(j__3) { if (i__1 < 2) return "continue|b"; [ 1 - ].forEach((___3)=>{ - console.log(i__1, j__2); + ].forEach((___5)=>{ + console.log(i__1, j__3); }); }; - b__0: for(var j__2 = 0; j__2 < 4; ++j__2){ - var _ret__6 = _loop__5(j__2); - switch(_ret__6){ + b__0: for(var j__3 = 0; j__3 < 4; ++j__3){ + var _ret__8 = _loop__7(j__3); + switch(_ret__8){ case "continue|b": continue b__0; } } }; -for(var i__1 = 0; i__1 < 4; i__1++)_loop__7(i__1); +for(var i__1 = 0; i__1 < 4; i__1++)_loop__9(i__1); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/1/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/1/output.js index 78548959bfb0..acc642cf98ed 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/1/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/1/output.js @@ -1,15 +1,15 @@ console.log([ ...function*() { - var _loop__3 = function*(i__2) { + var _loop__6 = function*(i__3) { Promise.resolve().then(()=>{ - console.log(`async: ${i__2}`); + console.log(`async: ${i__3}`); }); - yield i__2; + yield i__3; }; - for (var i__2 of [ + for (var i__3 of [ 1, 2, 3 - ])yield* _loop__3(i__2); + ])yield* _loop__6(i__3); }() ]); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/2/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/2/output.js index d3ea0fced6f1..751f81643112 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/2/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-4286/2/output.js @@ -1,4 +1,4 @@ -var _loop__3 = function(i__1) { +var _loop__5 = function(i__1) { Promise.resolve().then(()=>{ console.log(`async: ${i__1}`); }); @@ -7,4 +7,4 @@ for (var i__1 of [ 1, 2, 3 -])_loop__3(i__1); +])_loop__5(i__1); diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/1/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/1/output.js index f5e84ebc5cdd..5b56ebb20f8c 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/1/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/1/output.js @@ -1,8 +1,8 @@ class C__1 { mount() { - var _this__6 = this, _loop__7 = function(v__3) { + var _this__8 = this, _loop__9 = function(v__3) { //when you put this inside the for...of loop, the 'this' inside function declare will lose - var overrideTarget__4 = _this__6.$cardsBox; + var overrideTarget__4 = _this__8.$cardsBox; var origiFuc__4 = overrideTarget__4[v__3]; overrideTarget__4[v__3] = function() { if (this.width > cardWidth__2) { @@ -18,6 +18,6 @@ class C__1 { "removeChildAt" ]; var cardWidth__2 = 1275; - for (var v__3 of overrideFucNames__2)_loop__7(v__3); + for (var v__3 of overrideFucNames__2)_loop__9(v__3); } } diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/2/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/2/output.js index a03050ebcf57..6b9a89f7b7d9 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/2/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-5048/2/output.js @@ -1,7 +1,7 @@ class C__1 extends D { mount() { - var _this__6 = this, _superprop_get_mount__5 = ()=>super.mount, _loop__7 = function(v__4) { - setTimeout(()=>_superprop_get_mount__5().call(_this__6, v__4)); + var _this__7 = this, _superprop_get_mount__6 = ()=>super.mount, _loop__8 = function(v__4) { + setTimeout(()=>_superprop_get_mount__6().call(_this__7, v__4)); }; var overrideFucNames__3 = [ "addChild", @@ -9,6 +9,6 @@ class C__1 extends D { "removeChild", "removeChildAt" ]; - for (var v__4 of overrideFucNames__3)_loop__7(v__4); + for (var v__4 of overrideFucNames__3)_loop__8(v__4); } } diff --git a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-6344/1/output.js b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-6344/1/output.js index 0cf21b2d4a5d..b41ede2756a0 100644 --- a/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-6344/1/output.js +++ b/crates/swc_ecma_transforms_compat/tests/block-scoping/issue-6344/1/output.js @@ -1,23 +1,23 @@ "use strict"; function a__1() {} var te__1 = function() { - var n__2 = function n__3(e__4) {}; - var t__2 = null; + var n__3 = function n__4(e__5) {}; + var t__3 = null; return { - init: function init__5(e__6) { - return t__2 = new n__2(e__6); + init: function init__6(e__7) { + return t__3 = new n__3(e__7); } }; }(); var he__1 = function() { - var n__7 = function n__8() { + var n__8 = function n__9() { a__1(); }; ; - var t__7 = null; + var t__8 = null; return { - init: function init__9(e__10) { - return t__7; + init: function init__11(e__12) { + return t__8; } }; }(); diff --git a/crates/swc_ecma_transforms_react/src/refresh/hook.rs b/crates/swc_ecma_transforms_react/src/refresh/hook.rs index 18c59caba36e..b7e2eadaed0f 100644 --- a/crates/swc_ecma_transforms_react/src/refresh/hook.rs +++ b/crates/swc_ecma_transforms_react/src/refresh/hook.rs @@ -5,7 +5,7 @@ use regex::Regex; use sha1::{Digest, Sha1}; use swc_common::{util::take::Take, SourceMap, SourceMapper, Spanned, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_utils::{find_pat_ids, private_ident, quote_ident, ExprFactory}; +use swc_ecma_utils::{private_ident, quote_ident, ExprFactory}; use swc_ecma_visit::{ noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, }; @@ -209,17 +209,7 @@ impl<'a> VisitMut for HookRegister<'a> { let old_ident = self.ident.take(); let old_stmts = self.extra_stmt.take(); - self.current_scope.push( - b.stmts - .iter() - .find_map(|stmt| match stmt { - Stmt::Decl(decl) => find_pat_ids::<_, Ident>(decl) - .into_iter() - .find_map(|id| (!id.span.is_dummy()).then(|| id.span.ctxt())), - _ => None, - }) - .unwrap_or(SyntaxContext::empty()), - ); + self.current_scope.push(b.span.ctxt); let stmt_count = b.stmts.len(); let stmts = mem::replace(&mut b.stmts, Vec::with_capacity(stmt_count));