Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/better-poems-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@qwik.dev/core': patch
---

feat: Enhance optimizer to use `_fnSignal` for derived signal expressions and improve constant detection for safe global calls.
74 changes: 73 additions & 1 deletion packages/qwik/src/optimizer/core/src/inlined_fn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,63 @@ pub fn convert_inlined_fn(
)
}

pub fn is_safe_global_call(
node: &ast::CallExpr,
scoped_idents_opt: Option<&Vec<Id>>,
global_collect_opt: Option<&crate::collector::GlobalCollect>,
) -> bool {
let mut root_ident: Option<&ast::Ident> = None;

match &node.callee {
ast::Callee::Expr(expr) => {
let mut current_expr = &**expr;
loop {
match current_expr {
ast::Expr::Ident(ident) => {
root_ident = Some(ident);
break;
}
ast::Expr::Member(member) => {
current_expr = &*member.obj;
}
ast::Expr::Call(call) => {
if let ast::Callee::Expr(callee_expr) = &call.callee {
current_expr = &**callee_expr;
} else {
break;
}
}
_ => {
break;
}
}
}
}
_ => return false,
}

if let Some(ident) = root_ident {
// If the identifier is tracked as a locally captured variable, it's not a safe global
if let Some(scoped_idents) = scoped_idents_opt {
if scoped_idents.iter().any(|id| id.0 == ident.sym) {
return false;
}
}

// If the identifier is tracked as a module import or top-level declaration, it's not a safe global
if let Some(global_collect) = global_collect_opt {
if global_collect.is_global(&id!(ident)) {
return false;
}
}

// If it's neither locally captured nor a module-level global, it's an unbound global!
return true;
}

false
}

struct ReplaceIdentifiers {
pub identifiers: HashMap<Id, ast::Expr>,
pub accept_call_expr: bool,
Expand All @@ -138,6 +195,17 @@ impl VisitMut for ReplaceIdentifiers {
*node = expr.clone();
}
}
ast::Expr::Call(call) => {
if is_safe_global_call(
call,
Some(&self.identifiers.keys().cloned().collect()),
None,
) {
call.visit_mut_children_with(self);
} else {
self.abort = true;
}
}
_ => {
node.visit_mut_children_with(self);
}
Expand Down Expand Up @@ -261,7 +329,11 @@ impl<'a> ObjectUsageChecker<'a> {
}

impl<'a> Visit for ObjectUsageChecker<'a> {
fn visit_call_expr(&mut self, _: &ast::CallExpr) {
fn visit_call_expr(&mut self, node: &ast::CallExpr) {
if is_safe_global_call(node, Some(self.identifiers), None) {
node.visit_children_with(self);
return;
}
// If we're in a call expression, we can't wrap it in a signal
// because it's a function call, and later we need to serialize it
self.used_as_call = true;
Expand Down
13 changes: 10 additions & 3 deletions packages/qwik/src/optimizer/core/src/is_const.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::collector::GlobalCollect;
use crate::transform::{IdPlusType, IdentType};
use swc_ecmascript::ast;
use swc_ecmascript::visit::{noop_visit_type, Visit};
use swc_ecmascript::visit::{noop_visit_type, Visit, VisitWith};

macro_rules! id {
($ident: expr) => {
Expand Down Expand Up @@ -43,8 +43,15 @@ impl<'a> ConstCollector<'a> {
impl<'a> Visit for ConstCollector<'a> {
noop_visit_type!();

fn visit_call_expr(&mut self, _: &ast::CallExpr) {
self.is_const = false;
fn visit_call_expr(&mut self, node: &ast::CallExpr) {
let scoped_idents = self
.const_idents
.map(|v| v.iter().map(|id| id.0.clone()).collect::<Vec<_>>());
if crate::inlined_fn::is_safe_global_call(node, scoped_idents.as_ref(), Some(self.global)) {
node.visit_children_with(self);
} else {
self.is_const = false;
}
}

fn visit_member_expr(&mut self, _: &ast::MemberExpr) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,11 @@ const App_component_ckEPmXZlub0 = ()=>{
/*#__PURE__*/ _jsxSorted("div", null, null, dep, 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, dep.thing, 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, dep.thing + 'stuff', 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, globalThing, 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, globalThing.thing, 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, globalThing.thing + 'stuff', 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, globalThing, 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, _wrapProp(globalThing, "thing"), 3, null),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ok

/*#__PURE__*/ _jsxSorted("div", null, null, globalThing.thing + 'stuff', 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, signal.value(), 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, signal.value + unknown(), 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, signal.value + unknown(), 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, mutable(signal), 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, signal.value + dep, 1, null)
], 1, "u6_1");
Expand All @@ -121,7 +121,7 @@ q_App_component_ckEPmXZlub0.s(App_component_ckEPmXZlub0);
export const App = /*#__PURE__*/ componentQrl(q_App_component_ckEPmXZlub0);


Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;;mBAwBlB,KAAK,GAAO,KAAK;;mBACjB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACvB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;;0CAxBN,CAAC;IACtC,qBACC;sBACC,WAAC;YAAI;sBAAU;;sBACf,WAAC;YAAI;sBAAQ;;;AAGhB;;AAPA,OAAO,MAAM,4BAAc,kDAOxB;kCAE2B;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC;sBACC,WAAC,mBAAI;sBACL,WAAC,mBAAK,CAAC,IAAI,CAAC;sBACZ,WAAC,mBAAK;sBACN,WAAC,mBAAK;sBACN,WAAC,mBAAK,CAAC,IAAI,EAAE,IAAI;sBACjB,WAAC,mBAAK,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;sBAC7C,WAAC,mBAAK;sBACN,WAAC,6BAAK;sBACN,WAAC;;;sBACD,WAAC;;;sBACD,WAAC;;;sBACD,WAAC,mBAAK;sBACN,WAAC,mBAAK,IAAI,KAAK;sBACf,WAAC,mBAAK,IAAI,KAAK,GAAG;sBAClB,WAAC,mBAAK;sBACN,WAAC,mBAAK,YAAY,KAAK;sBACvB,WAAC,mBAAK,YAAY,KAAK,GAAG;sBAC1B,WAAC,mBAAK,OAAO,KAAK;sBAClB,WAAC,mBAAK,OAAO,KAAK,GAAG;sBACrB,WAAC,mBAAK,QAAQ;sBACd,WAAC,mBAAK,OAAO,KAAK,GAAG;;AAGxB;;AA5BA,OAAO,MAAM,oBAAM,0CA4BhB\"}")
Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;;mBAwBlB,KAAK,GAAO,KAAK;;mBACjB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACvB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;;0CAxBN,CAAC;IACtC,qBACC;sBACC,WAAC;YAAI;sBAAU;;sBACf,WAAC;YAAI;sBAAQ;;;AAGhB;;AAPA,OAAO,MAAM,4BAAc,kDAOxB;kCAE2B;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC;sBACC,WAAC,mBAAI;sBACL,WAAC,mBAAK,CAAC,IAAI,CAAC;sBACZ,WAAC,mBAAK;sBACN,WAAC,mBAAK;sBACN,WAAC,mBAAK,CAAC,IAAI,EAAE,IAAI;sBACjB,WAAC,mBAAK,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;sBAC7C,WAAC,mBAAK;sBACN,WAAC,6BAAK;sBACN,WAAC;;;sBACD,WAAC;;;sBACD,WAAC;;;sBACD,WAAC,mBAAK;sBACN,WAAC,mBAAK,IAAI,KAAK;sBACf,WAAC,mBAAK,IAAI,KAAK,GAAG;sBAClB,WAAC,mBAAK;sBACN,WAAC,6BAAK;sBACN,WAAC,mBAAK,YAAY,KAAK,GAAG;sBAC1B,WAAC,mBAAK,OAAO,KAAK;sBAClB,WAAC,mBAAK,OAAO,KAAK,GAAG;sBACrB,WAAC,mBAAK,QAAQ;sBACd,WAAC,mBAAK,OAAO,KAAK,GAAG;;AAGxB;;AA5BA,OAAO,MAAM,oBAAM,0CA4BhB\"}")
== DIAGNOSTICS ==

[]
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,16 @@ const _hf1 = (p0)=>p0.address.city.name;
const _hf1_str = "p0.address.city.name";
const _hf2 = (p0)=>p0.address.city.name ? 'true' : 'false';
const _hf2_str = 'p0.address.city.name?"true":"false"';
const _hf3 = (p0)=>p0.value + unknown();
const _hf3_str = "p0.value+unknown()";
//
const q_App_component_ckEPmXZlub0 = /*#__PURE__*/ _noopQrl("App_component_ckEPmXZlub0");
//
const App_component_ckEPmXZlub0 = ()=>{
const signal = useSignal(0);
const store = useStore({});
return /*#__PURE__*/ _jsxSorted(Cmp, {
global: globalThing,
globalAccess: globalThing.thing,
globalComputed: globalThing.thing + 'stuff',
noInline: signal.value(),
noInline2: signal.value + unknown(),
noInline3: mutable(signal),
noInline4: signal.value + dep
}, {
Expand All @@ -98,14 +96,20 @@ const App_component_ckEPmXZlub0 = ()=>{
], _hf2_str),
dep: dep,
depAccess: dep.thing,
depComputed: dep.thing + 'stuff'
depComputed: dep.thing + 'stuff',
global: globalThing,
globalAccess: _wrapProp(globalThing, "thing"),
globalComputed: globalThing.thing + 'stuff',
noInline2: _fnSignal(_hf3, [
signal
], _hf3_str)
}, null, 3, "u6_0");
};
q_App_component_ckEPmXZlub0.s(App_component_ckEPmXZlub0);
export const App = /*#__PURE__*/ componentQrl(q_App_component_ckEPmXZlub0);


Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;AAC3B,SAAQ,GAAG,QAAO,QAAQ;;mBAgBF,KAAK,GAAO,KAAK;;mBAE/B,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACf,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;kCAjBvB;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC,WAAC;QAmBA,QAAQ;QACR,cAAc,YAAY,KAAK;QAC/B,gBAAgB,YAAY,KAAK,GAAG;QAGpC,UAAU,OAAO,KAAK;QACtB,WAAW,OAAO,KAAK,GAAG;QAC1B,WAAW,QAAQ;QACnB,WAAW,OAAO,KAAK,GAAG;;QA1B1B,YAAW;QACX,aAAa,CAAC,IAAI,CAAC;QACnB,cAAc;QACd,eAAe;QACf,YAAY,CAAC,IAAI,EAAE,IAAI;QACvB,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;QAEpD,QAAQ;QACR,WAAW,YAAE;QACb,mBAAmB;;;QAEnB,KAAK;;;QACL,aAAa;;;QAEb,KAAK;QACL,WAAW,IAAI,KAAK;QACpB,aAAa,IAAI,KAAK,GAAG;;AAa5B;;AAlCA,OAAO,MAAM,oBAAM,0CAkChB\"}")
Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;AAC3B,SAAQ,GAAG,QAAO,QAAQ;;mBAgBF,KAAK,GAAO,KAAK;;mBAE/B,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACf,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;mBAYvC,GAAO,KAAK,GAAG;;;;;kCA7BC;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC,WAAC;QAwBA,UAAU,OAAO,KAAK;QAEtB,WAAW,QAAQ;QACnB,WAAW,OAAO,KAAK,GAAG;;QA1B1B,YAAW;QACX,aAAa,CAAC,IAAI,CAAC;QACnB,cAAc;QACd,eAAe;QACf,YAAY,CAAC,IAAI,EAAE,IAAI;QACvB,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;QAEpD,QAAQ;QACR,WAAW,YAAE;QACb,mBAAmB;;;QAEnB,KAAK;;;QACL,aAAa;;;QAEb,KAAK;QACL,WAAW,IAAI,KAAK;QACpB,aAAa,IAAI,KAAK,GAAG;QAEzB,QAAQ;QACR,YAAY,YAAE;QACd,gBAAgB,YAAY,KAAK,GAAG;QAIpC,SAAS;;;;AAKZ;;AAlCA,OAAO,MAAM,oBAAM,0CAkChB\"}")
== DIAGNOSTICS ==

[]
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ const _hf1 = (p0)=>p0.address.city.name;
const _hf1_str = "p0.address.city.name";
const _hf2 = (p0)=>p0.address.city.name ? 'true' : 'false';
const _hf2_str = 'p0.address.city.name?"true":"false"';
const _hf3 = (p0)=>p0.value + unknown();
const _hf3_str = "p0.value+unknown()";
//
const q_App_component_ckEPmXZlub0 = /*#__PURE__*/ _noopQrl("App_component_ckEPmXZlub0");
//
Expand All @@ -89,16 +91,12 @@ const App_component_ckEPmXZlub0 = (props)=>{
stable0: true,
hidden: false
},
global: globalThing,
globalAccess: globalThing.thing,
globalComputed: globalThing.thing + 'stuff',
noInline: signal.value(),
noInline2: signal.value + unknown(),
noInline3: mutable(signal),
noInline4: signal.value + dep,
staticDocument: window.document
noInline4: signal.value + dep
}, {
staticClass: styles.foo,
staticDocument: _wrapProp(window, "document"),
staticText: "text",
staticText2: `text`,
staticNumber: 1,
Expand All @@ -118,14 +116,20 @@ const App_component_ckEPmXZlub0 = (props)=>{
], _hf2_str),
dep: dep,
depAccess: dep.thing,
depComputed: dep.thing + 'stuff'
depComputed: dep.thing + 'stuff',
global: globalThing,
globalAccess: _wrapProp(globalThing, "thing"),
globalComputed: globalThing.thing + 'stuff',
noInline2: _fnSignal(_hf3, [
signal
], _hf3_str)
}, null, 3, "u6_0");
};
q_App_component_ckEPmXZlub0.s(App_component_ckEPmXZlub0);
export const App = /*#__PURE__*/ componentQrl(q_App_component_ckEPmXZlub0);


Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;AAC3B,OAAO,YAAY,sBAAsB;;mBA0BjB,KAAK,GAAO,KAAK;;mBAE/B,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACf,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;kCA3BvB,CAAC;IAC9B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,MAAM,QAAQ,MAAM,OAAO,CAAC,KAAK;IAEjC,qBACC,WAAC;QACA,OAAO;YACN,MAAM,QAAQ,MAAM;YACpB,KAAK,QAAQ,MAAM;YACnB,SAAS;YACT,QAAQ;QACT;QAqBA,QAAQ;QACR,cAAc,YAAY,KAAK;QAC/B,gBAAgB,YAAY,KAAK,GAAG;QAGpC,UAAU,OAAO,KAAK;QACtB,WAAW,OAAO,KAAK,GAAG;QAC1B,WAAW,QAAQ;QACnB,WAAW,OAAO,KAAK,GAAG;QA3B1B,gBAAgB,OAAO,QAAQ;;QAD/B,aAAa,OAAO,GAAG;QAEvB,YAAW;QACX,aAAa,CAAC,IAAI,CAAC;QACnB,cAAc;QACd,eAAe;QACf,YAAY,CAAC,IAAI,EAAE,IAAI;QACvB,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;QAEpD,QAAQ;QACR,WAAW,YAAE;QACb,mBAAmB;;;QAEnB,KAAK;;;QACL,aAAa;;;QAEb,KAAK;QACL,WAAW,IAAI,KAAK;QACpB,aAAa,IAAI,KAAK,GAAG;;AAc5B;;AA7CA,OAAO,MAAM,oBAAM,0CA6ChB\"}")
Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;AAC3B,OAAO,YAAY,sBAAsB;;mBA0BjB,KAAK,GAAO,KAAK;;mBAE/B,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACf,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;mBAYvC,GAAO,KAAK,GAAG;;;;;kCAvCC,CAAC;IAC9B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,MAAM,QAAQ,MAAM,OAAO,CAAC,KAAK;IAEjC,qBACC,WAAC;QACA,OAAO;YACN,MAAM,QAAQ,MAAM;YACpB,KAAK,QAAQ,MAAM;YACnB,SAAS;YACT,QAAQ;QACT;QA0BA,UAAU,OAAO,KAAK;QAEtB,WAAW,QAAQ;QACnB,WAAW,OAAO,KAAK,GAAG;;QA5B1B,aAAa,OAAO,GAAG;QACvB,cAAc,YAAE;QAChB,YAAW;QACX,aAAa,CAAC,IAAI,CAAC;QACnB,cAAc;QACd,eAAe;QACf,YAAY,CAAC,IAAI,EAAE,IAAI;QACvB,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;QAEpD,QAAQ;QACR,WAAW,YAAE;QACb,mBAAmB;;;QAEnB,KAAK;;;QACL,aAAa;;;QAEb,KAAK;QACL,WAAW,IAAI,KAAK;QACpB,aAAa,IAAI,KAAK,GAAG;QAEzB,QAAQ;QACR,YAAY,YAAE;QACd,gBAAgB,YAAY,KAAK,GAAG;QAIpC,SAAS;;;;AAMZ;;AA7CA,OAAO,MAAM,oBAAM,0CA6ChB\"}")
== DIAGNOSTICS ==

[]
Original file line number Diff line number Diff line change
Expand Up @@ -126,23 +126,23 @@ const App_component_ckEPmXZlub0 = ()=>{
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
globalThing
], 1, null),
], 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
globalThing.thing
], 1, null),
_wrapProp(globalThing, "thing")
], 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
globalThing.thing + 'stuff'
], 1, null),
], 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
signal.value()
], 1, null),
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
signal.value + unknown()
], 1, null),
], 3, null),
/*#__PURE__*/ _jsxSorted("div", null, null, [
"First ",
mutable(signal)
Expand All @@ -157,7 +157,7 @@ q_App_component_ckEPmXZlub0.s(App_component_ckEPmXZlub0);
export const App = /*#__PURE__*/ componentQrl(q_App_component_ckEPmXZlub0);


Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;;mBAeZ,KAAK,GAAO,KAAK;;mBACjB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACvB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;kCAfpB;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC;sBACC,WAAC,mBAAI;sBACL,WAAC;YAAI;YAAO,CAAC,IAAI,CAAC;;sBAClB,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO,CAAC,IAAI,EAAE,IAAI;;sBACvB,WAAC;YAAI;YAAO,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;;sBACnD,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;sBAAO;;sBACZ,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO,IAAI,KAAK;;sBACrB,WAAC;YAAI;YAAO,IAAI,KAAK,GAAG;;sBACxB,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO,YAAY,KAAK;;sBAC7B,WAAC;YAAI;YAAO,YAAY,KAAK,GAAG;;sBAChC,WAAC;YAAI;YAAO,OAAO,KAAK;;sBACxB,WAAC;YAAI;YAAO,OAAO,KAAK,GAAG;;sBAC3B,WAAC;YAAI;YAAO,QAAQ;;sBACpB,WAAC;YAAI;YAAO,OAAO,KAAK,GAAG;;;AAG9B;;AA5BA,OAAO,MAAM,oBAAM,0CA4BhB\"}")
Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;AACA,SAAqB,QAAQ,EAAE,OAAO,QAAQ,iBAAiB;AAE/D,SAAQ,GAAG,QAAO,SAAS;;mBAeZ,KAAK,GAAO,KAAK;;mBACjB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI;;mBACvB,GAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;kCAfpB;IAC7B,MAAM,SAAS,UAAU;IACzB,MAAM,QAAQ,SAAS,CAAC;IACxB,qBACC;sBACC,WAAC,mBAAI;sBACL,WAAC;YAAI;YAAO,CAAC,IAAI,CAAC;;sBAClB,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO,CAAC,IAAI,EAAE,IAAI;;sBACvB,WAAC;YAAI;YAAO,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,KAAK;;sBACnD,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;sBAAO;;sBACZ,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;;;;;sBACL,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;YAAO,IAAI,KAAK;;sBACrB,WAAC;YAAI;YAAO,IAAI,KAAK,GAAG;;sBACxB,WAAC;YAAI;YAAO;;sBACZ,WAAC;YAAI;sBAAO;;sBACZ,WAAC;YAAI;YAAO,YAAY,KAAK,GAAG;;sBAChC,WAAC;YAAI;YAAO,OAAO,KAAK;;sBACxB,WAAC;YAAI;YAAO,OAAO,KAAK,GAAG;;sBAC3B,WAAC;YAAI;YAAO,QAAQ;;sBACpB,WAAC;YAAI;YAAO,OAAO,KAAK,GAAG;;;AAG9B;;AA5BA,OAAO,MAAM,oBAAM,0CA4BhB\"}")
== DIAGNOSTICS ==

[]
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma
import { Fragment as _Fragment } from "@qwik.dev/core/jsx-runtime";
import { _fnSignal } from "@qwik.dev/core";
import { _jsxSorted } from "@qwik.dev/core";
import { _wrapProp } from "@qwik.dev/core";
import importedValue from "v";
import { qrl } from "@qwik.dev/core";
import styles from "./styles.module.css";
Expand Down Expand Up @@ -193,10 +194,10 @@ export const App_component_ckEPmXZlub0 = (props)=>{
class: "stuff"
}, "Hello Qwik", 2, null),
/*#__PURE__*/ _jsxSorted(Div, {
document: window.document,
onClick$: props.onClick$
}, {
class: styles.foo,
document: _wrapProp(window, "document"),
onEvent$: q_App_component_Fragment_Div_onEvent_zrFduYbT3xM,
transparent$: q_App_component_Fragment_Div_transparent_eeDEK6EM1oo,
immutable1: "stuff",
Expand Down Expand Up @@ -238,7 +239,7 @@ export const App_component_ckEPmXZlub0 = (props)=>{
};


Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;;;mBAuCe,CAAA;QACT,KAAK;QACL,KAAK,GAAM,KAAK,GAAG,OAAO;IAC3B,CAAA;;;;;;;;yCArCyB,CAAC;IAE9B,MAAM,QAAQ,SAAS;QAAC,OAAO;IAAC;IAChC,MAAM;;;IAON,qBACC;sBACC,WAAC;YAAgB,aAAU,MAAM,QAAQ;;YAAtC,OAAM;WAAkC;sBAC3C,WAAC;YAEA,UAAU,OAAO,QAAQ;YACzB,UAAU,MAAM,QAAQ;;YAFxB,OAAO,OAAO,GAAG;YAGjB,QAAQ;YACR,YAAY;YACZ,YAAW;YACX,YAAY;gBACX,KAAK;gBACL,KAAK,gBAAgB,OAAO;YAC7B;YACA,YAAY;YACZ,WAAW;;;YACX,YAAY;gBAAC;gBAAG;gBAAG;gBAAe;gBAAM,CAAC;aAAE;yBAE3C,WAAC,iBAAE;QACE;sBAEL,WA9Ba,MAAT;YAqCH,UAAU,CAAC,IAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC;;YANzC,OAAO;YACP,SAAS;YACT,QAAQ;;;YAKR,UAAU;gBAAC;gBAAG;gBAAG;gBAAO;gBAAM,CAAC;aAAE;;QAChC;;AAIN\"}")
Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;;;;;;;;mBAuCe,CAAA;QACT,KAAK;QACL,KAAK,GAAM,KAAK,GAAG,OAAO;IAC3B,CAAA;;;;;;;;yCArCyB,CAAC;IAE9B,MAAM,QAAQ,SAAS;QAAC,OAAO;IAAC;IAChC,MAAM;;;IAON,qBACC;sBACC,WAAC;YAAgB,aAAU,MAAM,QAAQ;;YAAtC,OAAM;WAAkC;sBAC3C,WAAC;YAGA,UAAU,MAAM,QAAQ;;YAFxB,OAAO,OAAO,GAAG;YACjB,QAAQ,YAAE;YAEV,QAAQ;YACR,YAAY;YACZ,YAAW;YACX,YAAY;gBACX,KAAK;gBACL,KAAK,gBAAgB,OAAO;YAC7B;YACA,YAAY;YACZ,WAAW;;;YACX,YAAY;gBAAC;gBAAG;gBAAG;gBAAe;gBAAM,CAAC;aAAE;yBAE3C,WAAC,iBAAE;QACE;sBAEL,WA9Ba,MAAT;YAqCH,UAAU,CAAC,IAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC;;YANzC,OAAO;YACP,SAAS;YACT,QAAQ;;;YAKR,UAAU;gBAAC;gBAAG;gBAAG;gBAAO;gBAAM,CAAC;aAAE;;QAChC;;AAIN\"}")
/*
{
"origin": "test.tsx",
Expand Down
Loading
Loading