@stacksjs/stx 0.2.93 → 0.2.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/a11y.js +1 -1
- package/dist/analytics.js +1 -1
- package/dist/analyzer.js +1 -1
- package/dist/animation.js +1 -1
- package/dist/app-shell.js +1 -1
- package/dist/app.js +1 -1
- package/dist/assets.js +1 -1
- package/dist/ast.js +1 -1
- package/dist/async-components.js +1 -1
- package/dist/auth.js +1 -1
- package/dist/broadcasting.js +1 -1
- package/dist/browser-composables.js +1 -1
- package/dist/build-assets.js +1 -1
- package/dist/build-mode-detector.js +1 -1
- package/dist/build-optimizer.js +1 -1
- package/dist/build-views.js +1 -1
- package/dist/build.js +1 -1
- package/dist/builtins/drawer.js +1 -1
- package/dist/builtins/escape.js +1 -1
- package/dist/builtins/icon.js +1 -1
- package/dist/builtins/index.js +1 -1
- package/dist/builtins/modal.js +1 -1
- package/dist/builtins/safe-image.js +1 -1
- package/dist/builtins/stx-image.js +1 -1
- package/dist/builtins/stx-link.js +1 -1
- package/dist/builtins/stx-loading-indicator.js +1 -1
- package/dist/builtins/suspense.js +1 -1
- package/dist/builtins/toast.js +1 -1
- package/dist/builtins/tooltip.js +1 -1
- package/dist/builtins/transition-group.js +1 -1
- package/dist/bundle-analyzer/collector.js +1 -1
- package/dist/bundle-analyzer/index.js +1 -1
- package/dist/bundle-analyzer/report.js +1 -1
- package/dist/bundle-analyzer/treemap.js +1 -1
- package/dist/caching.js +1 -1
- package/dist/{chunk-7074g241.js → chunk-03c26pjz.js} +1 -1
- package/dist/{chunk-n9dhs1dw.js → chunk-04mvcmcr.js} +1 -1
- package/dist/{chunk-hc2mf5h6.js → chunk-05hgyyqc.js} +1 -1
- package/dist/{chunk-kx6eb6ma.js → chunk-0g4gece6.js} +1 -1
- package/dist/{chunk-1v49fwr5.js → chunk-0jkwrcwj.js} +1 -1
- package/dist/{chunk-47kpewks.js → chunk-0m9tdm7t.js} +1 -1
- package/dist/{chunk-4deg33rw.js → chunk-0tatqxj2.js} +2 -2
- package/dist/{chunk-akf1r75r.js → chunk-0wdar532.js} +1 -1
- package/dist/{chunk-9cf97f9p.js → chunk-13yz561y.js} +2 -2
- package/dist/{chunk-rpx5fa65.js → chunk-174z0cd0.js} +2 -2
- package/dist/{chunk-wkz2vwkr.js → chunk-1mmykse5.js} +1 -1
- package/dist/{chunk-3te20hqw.js → chunk-1z2yq9em.js} +2 -2
- package/dist/{chunk-rw26rpek.js → chunk-25s7bckb.js} +2 -2
- package/dist/{chunk-xgkv66q5.js → chunk-268adc7r.js} +1 -1
- package/dist/{chunk-a87qqft6.js → chunk-26r6zh3t.js} +2 -2
- package/dist/{chunk-t0c9wvpr.js → chunk-2w3302dh.js} +1 -1
- package/dist/{chunk-vjbefncc.js → chunk-2xen423s.js} +1 -1
- package/dist/{chunk-jjdq01dv.js → chunk-3bjtemm6.js} +1 -1
- package/dist/{chunk-xv34zbp4.js → chunk-3jm3snz8.js} +1 -1
- package/dist/{chunk-e98v1bc6.js → chunk-3ngm57nt.js} +2 -2
- package/dist/{chunk-gz5fmp3q.js → chunk-3rh7va1z.js} +1 -1
- package/dist/{chunk-kypas8vy.js → chunk-3yg9hbmb.js} +1 -1
- package/dist/{chunk-qygvvygy.js → chunk-46mkpbkk.js} +2 -2
- package/dist/chunk-48cw2nde.js +2 -0
- package/dist/chunk-48r3qe0k.js +3 -0
- package/dist/{chunk-azkegjd8.js → chunk-4bt81cg3.js} +1 -1
- package/dist/{chunk-07y6m5xx.js → chunk-4j188175.js} +1 -1
- package/dist/{chunk-h7aq56qj.js → chunk-4qq8ffke.js} +1 -1
- package/dist/{chunk-hrnnh4tq.js → chunk-50vqeesm.js} +2 -2
- package/dist/{chunk-7n8g0nfn.js → chunk-52agge4n.js} +1 -1
- package/dist/{chunk-9t14se2t.js → chunk-57p201gb.js} +1 -1
- package/dist/{chunk-jpndqst5.js → chunk-5ggw1dyv.js} +1 -1
- package/dist/{chunk-ah88wzbg.js → chunk-5kt3ay7x.js} +1 -1
- package/dist/{chunk-x24s4heg.js → chunk-5p568px4.js} +1 -1
- package/dist/{chunk-q6zhd9yf.js → chunk-5ppkfyn2.js} +1 -1
- package/dist/{chunk-khdn7jwe.js → chunk-5q87fgkk.js} +2 -2
- package/dist/{chunk-0p1h3p3w.js → chunk-5qb761h2.js} +1 -1
- package/dist/{chunk-rtr974rc.js → chunk-5xvbq2gs.js} +2 -2
- package/dist/{chunk-p3e0cqtt.js → chunk-647849kf.js} +2 -2
- package/dist/{chunk-gkzq8zw4.js → chunk-6cr3eeh4.js} +1 -1
- package/dist/{chunk-mhgk632d.js → chunk-6djgb0hr.js} +1 -1
- package/dist/{chunk-tffh3b1e.js → chunk-6dqzky7x.js} +1 -1
- package/dist/{chunk-drjq2zwg.js → chunk-6w03t7h6.js} +2 -2
- package/dist/{chunk-ek2w6zvy.js → chunk-6wn85hn6.js} +1 -1
- package/dist/{chunk-jz73j3qs.js → chunk-6y4gqs1q.js} +1 -1
- package/dist/{chunk-nd9rmddh.js → chunk-75rndzbd.js} +1 -1
- package/dist/{chunk-7dkz6z2s.js → chunk-77tga15w.js} +2 -2
- package/dist/{chunk-wvf31nzs.js → chunk-7a51hkpf.js} +1 -1
- package/dist/{chunk-a2g2qb2y.js → chunk-7b0xdy5h.js} +1 -1
- package/dist/{chunk-ewa88139.js → chunk-7dy588as.js} +1 -1
- package/dist/{chunk-8ahwt6a4.js → chunk-7rvh2wwv.js} +1 -1
- package/dist/{chunk-jt0ezawy.js → chunk-7sm05m0j.js} +1 -1
- package/dist/{chunk-m167kjhv.js → chunk-7xcfy2fn.js} +1 -1
- package/dist/{chunk-keawsbpn.js → chunk-82t27pvd.js} +1 -1
- package/dist/{chunk-psc3wfcf.js → chunk-87kx8byz.js} +1 -1
- package/dist/{chunk-31dr4bys.js → chunk-8fgwhhb8.js} +2 -2
- package/dist/{chunk-rz2ec6g7.js → chunk-8qbax8xn.js} +1 -1
- package/dist/{chunk-e2q9c5vq.js → chunk-91s2hres.js} +1 -1
- package/dist/{chunk-yb1t2h8h.js → chunk-94g3cahw.js} +2 -2
- package/dist/{chunk-n98x35xd.js → chunk-957amb71.js} +1 -1
- package/dist/{chunk-v8j49spx.js → chunk-95w08s8v.js} +1 -1
- package/dist/{chunk-zy3rp1ab.js → chunk-9agvhp1x.js} +1 -1
- package/dist/{chunk-vgv7jvyz.js → chunk-9tmbrwwx.js} +1 -1
- package/dist/{chunk-3a4qsygv.js → chunk-9yz5d003.js} +2 -2
- package/dist/{chunk-4qcy5tx6.js → chunk-a69tvya5.js} +2 -2
- package/dist/{chunk-p52yzjq6.js → chunk-adjcg6wa.js} +2 -2
- package/dist/{chunk-w3b6m427.js → chunk-adqh2m9z.js} +1 -1
- package/dist/{chunk-h0hjy0kn.js → chunk-asarebzq.js} +1 -1
- package/dist/{chunk-43t7faps.js → chunk-aw3rp9ac.js} +1 -1
- package/dist/{chunk-7gd339hd.js → chunk-b0cyc09a.js} +1 -1
- package/dist/{chunk-09k66d8a.js → chunk-b3kkjcdh.js} +1 -1
- package/dist/{chunk-jnmgm2xw.js → chunk-b3prs7y0.js} +1 -1
- package/dist/{chunk-xw36p73h.js → chunk-b5zc9y0y.js} +2 -2
- package/dist/{chunk-krqn0ddk.js → chunk-baa7h4yz.js} +2 -2
- package/dist/{chunk-15nesxgt.js → chunk-bgec9r1v.js} +2 -2
- package/dist/{chunk-kdfe4t91.js → chunk-bjnjpsgn.js} +2 -2
- package/dist/{chunk-0a61y94n.js → chunk-bk8ew8ze.js} +2 -2
- package/dist/{chunk-pcntd9h4.js → chunk-bn08k7yy.js} +2 -2
- package/dist/{chunk-8va64c9n.js → chunk-bwxda6n1.js} +2 -2
- package/dist/{chunk-pa9zb7ty.js → chunk-bykjk6vj.js} +1 -1
- package/dist/{chunk-p3fpb79v.js → chunk-c53hyw5c.js} +1 -1
- package/dist/{chunk-km25cwz6.js → chunk-ca6qd1dx.js} +1 -1
- package/dist/{chunk-x3r64r0c.js → chunk-cdbwprfv.js} +2 -2
- package/dist/{chunk-tg2f1mzq.js → chunk-ceg2c2q2.js} +2 -2
- package/dist/{chunk-80g54ncj.js → chunk-cn409b69.js} +1 -1
- package/dist/{chunk-8xj7c3mf.js → chunk-cp3kwv17.js} +1 -1
- package/dist/{chunk-nm15ccsg.js → chunk-cpcc11vp.js} +2 -2
- package/dist/{chunk-y6xsqe9a.js → chunk-cr3wbrcr.js} +2 -2
- package/dist/{chunk-4d2y57k7.js → chunk-cygfdk1n.js} +2 -2
- package/dist/{chunk-xys2sxh6.js → chunk-cyp4m0vh.js} +1 -1
- package/dist/{chunk-27zsyhrd.js → chunk-cz25azze.js} +1 -1
- package/dist/{chunk-4x7kae4j.js → chunk-d77yxcds.js} +2 -2
- package/dist/{chunk-x05nxhyv.js → chunk-dyjnn5k8.js} +2 -2
- package/dist/{chunk-9jtj77jx.js → chunk-dzw95th7.js} +2 -2
- package/dist/{chunk-7b6s3g65.js → chunk-e0zytzdh.js} +1 -1
- package/dist/{chunk-b77wjyn7.js → chunk-e53h9qhd.js} +1 -1
- package/dist/{chunk-wazkqv7n.js → chunk-eds0f8f1.js} +2 -2
- package/dist/{chunk-04n64bnt.js → chunk-eh8hact1.js} +1 -1
- package/dist/{chunk-scpkdrdb.js → chunk-epj957jf.js} +1 -1
- package/dist/{chunk-trfswy66.js → chunk-eqeyaq6g.js} +1 -1
- package/dist/{chunk-x5g9w4hh.js → chunk-fbxt2mrx.js} +2 -2
- package/dist/{chunk-5shey2e4.js → chunk-fch9tk1k.js} +1 -1
- package/dist/{chunk-988dw6q3.js → chunk-fe7r1mq1.js} +2 -2
- package/dist/{chunk-8b3z0zd5.js → chunk-fhawx87n.js} +1 -1
- package/dist/{chunk-ynhngsdh.js → chunk-fk51yyrw.js} +1 -1
- package/dist/{chunk-dqn9gyhb.js → chunk-fms20x0n.js} +1 -1
- package/dist/{chunk-bk3j0n82.js → chunk-fs0qezn5.js} +1 -1
- package/dist/{chunk-2j21d3ka.js → chunk-g2hekckm.js} +1 -1
- package/dist/{chunk-55nwdnsd.js → chunk-g8b81pzc.js} +1 -1
- package/dist/{chunk-avx8aydt.js → chunk-ganag9dm.js} +2 -2
- package/dist/{chunk-hbgxbgam.js → chunk-gc84b1d2.js} +2 -2
- package/dist/{chunk-djddhmcc.js → chunk-gcf5v18y.js} +1 -1
- package/dist/{chunk-v7f8jj15.js → chunk-ghrx0hn1.js} +1 -1
- package/dist/{chunk-ckxjqqn9.js → chunk-gqpkp459.js} +2 -2
- package/dist/chunk-h45py5w5.js +2 -0
- package/dist/{chunk-aywxfqev.js → chunk-haecq01c.js} +1 -1
- package/dist/{chunk-hbehnm18.js → chunk-hepg894w.js} +2 -2
- package/dist/{chunk-29y0hk5z.js → chunk-hjdc99kb.js} +2 -2
- package/dist/{chunk-8n9nnqr6.js → chunk-hje9v2zh.js} +1 -1
- package/dist/{chunk-bdk6g1vj.js → chunk-hke99a0v.js} +2 -2
- package/dist/{chunk-qvrbjpdc.js → chunk-hpqr9e3x.js} +2 -2
- package/dist/{chunk-ht43ds42.js → chunk-hq5cem49.js} +1 -1
- package/dist/{chunk-8vtm0m84.js → chunk-hrampcrj.js} +1 -1
- package/dist/{chunk-fjk3x41y.js → chunk-ht4j68cs.js} +2 -2
- package/dist/{chunk-xyg1r5w0.js → chunk-j4s5qwd7.js} +2 -2
- package/dist/{chunk-9eq3ht5f.js → chunk-jbejwejg.js} +1 -1
- package/dist/{chunk-baf1hfwh.js → chunk-jfm69keq.js} +2 -2
- package/dist/chunk-jfrn43vh.js +2 -0
- package/dist/{chunk-zen6ax1y.js → chunk-jjvp4t5w.js} +2 -2
- package/dist/{chunk-vmxjghsm.js → chunk-jt44av4j.js} +1 -1
- package/dist/{chunk-k21df0pg.js → chunk-jt98jhpt.js} +1 -1
- package/dist/{chunk-0p0nyq50.js → chunk-k8440jxh.js} +2 -2
- package/dist/{chunk-y1k17c8b.js → chunk-kdxa9epn.js} +2 -2
- package/dist/{chunk-p1h8065h.js → chunk-kfd2hf6f.js} +2 -2
- package/dist/{chunk-x0770gt9.js → chunk-kh6rfz2v.js} +1 -1
- package/dist/{chunk-bhqgmyqw.js → chunk-kkp6rs2n.js} +1 -1
- package/dist/{chunk-jjb05d21.js → chunk-m59y310j.js} +2 -2
- package/dist/{chunk-ay9qf4zj.js → chunk-mgmyr1b9.js} +1 -1
- package/dist/{chunk-vw7vqd76.js → chunk-mqwbpamc.js} +1 -1
- package/dist/{chunk-bs3gmfxz.js → chunk-mrehzhxv.js} +1 -1
- package/dist/{chunk-1sr54zp8.js → chunk-mv03qb75.js} +1 -1
- package/dist/chunk-mwbng54r.js +2 -0
- package/dist/{chunk-rwrv9wbf.js → chunk-n46a5g1g.js} +1 -1
- package/dist/{chunk-zf2pek72.js → chunk-n944baxp.js} +1 -1
- package/dist/{chunk-6djzdes9.js → chunk-nanw7yhz.js} +1 -1
- package/dist/{chunk-g1vt329s.js → chunk-nap11ntr.js} +2 -2
- package/dist/{chunk-d0zjtdw4.js → chunk-ncnfa8ae.js} +2 -2
- package/dist/{chunk-knm8a8yx.js → chunk-pc31m5x5.js} +1 -1
- package/dist/{chunk-7ed3tean.js → chunk-q60knhjf.js} +1 -1
- package/dist/{chunk-shv88d2d.js → chunk-q6h6yvzb.js} +2 -2
- package/dist/{chunk-9wmq2272.js → chunk-qd5461tt.js} +1 -1
- package/dist/{chunk-0dx4q6yq.js → chunk-qdc3aav1.js} +1 -1
- package/dist/{chunk-d1qh1x2g.js → chunk-qfwzdffx.js} +2 -2
- package/dist/{chunk-p73meypx.js → chunk-qgxwmagw.js} +1 -1
- package/dist/{chunk-rw7937v4.js → chunk-qhdtssn1.js} +2 -2
- package/dist/{chunk-pcm1vd8w.js → chunk-qk584whs.js} +1 -1
- package/dist/{chunk-9zbk5zx5.js → chunk-qm4yppj5.js} +2 -2
- package/dist/chunk-qwyd9a1d.js +2 -0
- package/dist/{chunk-xs03kc1h.js → chunk-qxs6et76.js} +1 -1
- package/dist/{chunk-8qc1bsym.js → chunk-rb1e4cnb.js} +1 -1
- package/dist/{chunk-9ecv8aqj.js → chunk-rv002yn0.js} +1 -1
- package/dist/chunk-sjagg9qz.js +66 -0
- package/dist/{chunk-bndmdahk.js → chunk-sn07azv3.js} +2 -2
- package/dist/{chunk-5f43yz6z.js → chunk-svahbw0w.js} +2 -2
- package/dist/{chunk-pznnww6k.js → chunk-svhtdb0s.js} +1 -1
- package/dist/{chunk-tzwtg722.js → chunk-t37dp99j.js} +1 -1
- package/dist/{chunk-mgj88zeq.js → chunk-tj6zfxeb.js} +2 -2
- package/dist/{chunk-rqxf5hns.js → chunk-tmgz5t2g.js} +1 -1
- package/dist/{chunk-hjm2xab3.js → chunk-tr0z0e1g.js} +1 -1
- package/dist/{chunk-2cdvw21b.js → chunk-tx6br9r4.js} +1 -1
- package/dist/{chunk-hy8820vc.js → chunk-vdfwv0fp.js} +1 -1
- package/dist/{chunk-yrsb6j3z.js → chunk-vp2395eb.js} +2 -2
- package/dist/{chunk-j447q024.js → chunk-vpe6napb.js} +2 -2
- package/dist/{chunk-wg9k6h8w.js → chunk-vv9wfz1c.js} +2 -2
- package/dist/{chunk-yj4x5ehw.js → chunk-vw6ejgmy.js} +1 -1
- package/dist/{chunk-1xz0w746.js → chunk-w01y57f5.js} +2 -2
- package/dist/{chunk-8a5bxece.js → chunk-w21mwxdd.js} +1 -1
- package/dist/{chunk-20swzkx3.js → chunk-w4n8fqp7.js} +1 -1
- package/dist/{chunk-m491r0rj.js → chunk-w959hm8j.js} +1 -1
- package/dist/{chunk-9b6cec0v.js → chunk-wk07pwtd.js} +1 -1
- package/dist/{chunk-amaa1bev.js → chunk-wxvyj65q.js} +1 -1
- package/dist/{chunk-m8448qby.js → chunk-x1hjv24z.js} +1 -1
- package/dist/{chunk-frg705zq.js → chunk-x39sfpvm.js} +1 -1
- package/dist/{chunk-j58vh0w6.js → chunk-x4fze3q2.js} +1 -1
- package/dist/{chunk-35faj94w.js → chunk-x64kb787.js} +1 -1
- package/dist/{chunk-vg5kt6az.js → chunk-xcb0pbr6.js} +1 -1
- package/dist/{chunk-p077sw22.js → chunk-xhkjhxsp.js} +1 -1
- package/dist/{chunk-zcxzdrn7.js → chunk-xhnpsngj.js} +2 -2
- package/dist/{chunk-7j5e8sdj.js → chunk-xsqbk4yk.js} +2 -2
- package/dist/{chunk-r0jcmpv6.js → chunk-xygc53vr.js} +1 -1
- package/dist/{chunk-nhv099jv.js → chunk-y25pr13j.js} +1 -1
- package/dist/{chunk-rvptcndz.js → chunk-y4c744dk.js} +2 -2
- package/dist/{chunk-wfg2gm11.js → chunk-y4md9hp0.js} +1 -1
- package/dist/{chunk-n5kg7fpx.js → chunk-y5wazw6j.js} +1 -1
- package/dist/{chunk-8dhdpa5h.js → chunk-y86m1wr4.js} +2 -2
- package/dist/{chunk-veeerpwa.js → chunk-yaan98dd.js} +1 -1
- package/dist/{chunk-bxc7kjsk.js → chunk-yach037f.js} +1 -1
- package/dist/{chunk-06w68hyg.js → chunk-yexjrg9d.js} +2 -2
- package/dist/{chunk-6eqbxcrd.js → chunk-yj560gp8.js} +1 -1
- package/dist/{chunk-ejh8fyak.js → chunk-yr1gdceh.js} +1 -1
- package/dist/{chunk-r5m9xtm7.js → chunk-yw2fzq86.js} +2 -2
- package/dist/{chunk-h5jxydqq.js → chunk-ywkrxp2h.js} +1 -1
- package/dist/{chunk-j8tn8enq.js → chunk-z37xq5rx.js} +2 -2
- package/dist/{chunk-npfmdb6y.js → chunk-z4djtgt0.js} +1 -1
- package/dist/{chunk-zk3d0jjf.js → chunk-z8cjr9n9.js} +1 -1
- package/dist/{chunk-10debkj5.js → chunk-znxp3zha.js} +1 -1
- package/dist/{chunk-k848dzsa.js → chunk-zt2yag10.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/client/directive.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client-helpers.js +1 -1
- package/dist/client-script-bundler.js +1 -1
- package/dist/client-script.js +1 -1
- package/dist/component-hmr.js +1 -1
- package/dist/component-processing.js +1 -1
- package/dist/component-registry.js +1 -1
- package/dist/component-renderer.js +1 -1
- package/dist/components.js +1 -1
- package/dist/composables/index.js +1 -1
- package/dist/composables/use-battery.js +1 -1
- package/dist/composables/use-broadcast-channel.js +1 -1
- package/dist/composables/use-channel.js +1 -1
- package/dist/composables/use-clipboard.js +1 -1
- package/dist/composables/use-color-mode.js +1 -1
- package/dist/composables/use-cookie.js +1 -1
- package/dist/composables/use-device-orientation.js +1 -1
- package/dist/composables/use-event-listener.js +1 -1
- package/dist/composables/use-event-source.js +1 -1
- package/dist/composables/use-eye-dropper.js +1 -1
- package/dist/composables/use-fetch.js +1 -1
- package/dist/composables/use-fullscreen.js +1 -1
- package/dist/composables/use-geolocation.js +1 -1
- package/dist/composables/use-idle.js +1 -1
- package/dist/composables/use-intersection-observer.js +1 -1
- package/dist/composables/use-keyboard.js +1 -1
- package/dist/composables/use-media-query.js +1 -1
- package/dist/composables/use-meta.js +1 -1
- package/dist/composables/use-mouse.js +1 -1
- package/dist/composables/use-mutation-observer.js +1 -1
- package/dist/composables/use-network.js +1 -1
- package/dist/composables/use-notification.js +1 -1
- package/dist/composables/use-permissions.js +1 -1
- package/dist/composables/use-resize-observer.js +1 -1
- package/dist/composables/use-router.js +1 -1
- package/dist/composables/use-share.js +1 -1
- package/dist/composables/use-speech.js +1 -1
- package/dist/composables/use-storage.js +1 -1
- package/dist/composables/use-text-selection.js +1 -1
- package/dist/composables/use-timer.js +1 -1
- package/dist/composables/use-utilities.js +1 -1
- package/dist/composables/use-wake-lock.js +1 -1
- package/dist/composables/use-websocket.js +1 -1
- package/dist/composables/use-window.js +1 -1
- package/dist/composables.js +1 -1
- package/dist/composition-api.js +1 -1
- package/dist/computed.js +1 -1
- package/dist/conditionals.js +1 -1
- package/dist/config.js +1 -1
- package/dist/craft-bridge.js +1 -1
- package/dist/craft-compiler.js +1 -1
- package/dist/craft-components.js +1 -1
- package/dist/craft-entry.js +1 -1
- package/dist/craft-ssr.js +1 -1
- package/dist/csp.js +1 -1
- package/dist/csrf.js +1 -1
- package/dist/custom-directives.js +1 -1
- package/dist/defer.js +1 -1
- package/dist/deploy/config-generators.js +1 -1
- package/dist/deploy/index.js +1 -1
- package/dist/deploy/netlify.js +1 -1
- package/dist/dev-server/crosswind.js +1 -1
- package/dist/dev-server/index.js +1 -1
- package/dist/dev-server/keyboard-shortcuts.js +1 -1
- package/dist/dev-server/native-window.js +1 -1
- package/dist/dev-server/port-utils.js +1 -1
- package/dist/dev-server/serve-app.js +6 -1
- package/dist/dev-server/serve-file.js +6 -1
- package/dist/dev-server/serve-markdown.js +1 -1
- package/dist/dev-server/serve-multi.js +171 -1
- package/dist/dev-server/terminal-colors.js +1 -1
- package/dist/dev-server/theme-selector.js +1 -1
- package/dist/dev-server/types.js +1 -1
- package/dist/dev-server.js +1 -1
- package/dist/devtools.js +1 -1
- package/dist/directive-api.js +1 -1
- package/dist/docs.js +1 -1
- package/dist/doctor.js +1 -1
- package/dist/document-shell.js +1 -1
- package/dist/dynamic-components.js +1 -1
- package/dist/edge-runtime.js +1 -1
- package/dist/env.js +1 -1
- package/dist/error-boundaries.js +1 -1
- package/dist/error-handling.js +1 -1
- package/dist/errors/codes.js +1 -1
- package/dist/errors/formatter.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/logger.js +1 -1
- package/dist/errors/sanitizer.js +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events.js +1 -1
- package/dist/expressions.js +1 -1
- package/dist/formatter.js +1 -1
- package/dist/forms-validation.js +1 -1
- package/dist/forms.js +1 -1
- package/dist/head.js +1 -1
- package/dist/heatmap.js +1 -1
- package/dist/hot-reload.js +1 -1
- package/dist/html-masking.js +1 -1
- package/dist/hydration-runtime.js +1 -1
- package/dist/hydration.js +1 -1
- package/dist/i18n.js +1 -1
- package/dist/image-optimization/auto-sibling.js +1 -1
- package/dist/image-optimization/build-plugin.js +1 -1
- package/dist/image-optimization/component.js +1 -1
- package/dist/image-optimization/directive.js +1 -1
- package/dist/image-optimization/index.js +1 -1
- package/dist/image-optimization/processor.js +1 -1
- package/dist/image-optimization/serve.js +1 -1
- package/dist/includes.js +1 -1
- package/dist/index.js +1 -1
- package/dist/init.js +1 -1
- package/dist/inline-assets.js +1 -1
- package/dist/interactive.js +1 -1
- package/dist/internal-markdown.js +1 -1
- package/dist/island-chunking.js +1 -1
- package/dist/js-ts.js +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/keep-alive.js +1 -1
- package/dist/lazy-loader.js +1 -1
- package/dist/loading-indicator.js +1 -1
- package/dist/loops.js +1 -1
- package/dist/manifest.js +1 -1
- package/dist/markdown.js +1 -1
- package/dist/media/client/blur-up.js +1 -1
- package/dist/media/client/index.js +1 -1
- package/dist/media/client/lazy-load.js +1 -1
- package/dist/media/client/upload-handler.js +1 -1
- package/dist/media/image/component.js +1 -1
- package/dist/media/image/directive.js +1 -1
- package/dist/media/image/editing.js +1 -1
- package/dist/media/image/index.js +1 -1
- package/dist/media/image/placeholder.js +1 -1
- package/dist/media/image/processor/cache.js +1 -1
- package/dist/media/image/processor/index.js +1 -1
- package/dist/media/image/processor/optimizer.js +1 -1
- package/dist/media/image/processor/responsive.js +1 -1
- package/dist/media/image/srcset.js +1 -1
- package/dist/media/index.js +1 -1
- package/dist/media/manager/embed.js +1 -1
- package/dist/media/protected/component.js +1 -1
- package/dist/media/protected/index.js +1 -1
- package/dist/media/protected/signature.js +1 -1
- package/dist/media/shared/cache.js +1 -1
- package/dist/media/shared/hash.js +1 -1
- package/dist/media/shared/index.js +1 -1
- package/dist/media/upload/component.js +1 -1
- package/dist/media/upload/index.js +1 -1
- package/dist/media/video/directive.js +1 -1
- package/dist/media/video/index.js +1 -1
- package/dist/media/video/processor/cache.js +1 -1
- package/dist/media/video/processor/index.js +1 -1
- package/dist/media/video/processor/streaming.js +1 -1
- package/dist/media/video/processor/thumbnail.js +1 -1
- package/dist/media/video/processor/transcoder.js +1 -1
- package/dist/method-spoofing.js +1 -1
- package/dist/middleware.js +1 -1
- package/dist/misc-directives.js +1 -1
- package/dist/native-build.js +1 -1
- package/dist/parser/directive-parser.js +1 -1
- package/dist/parser/expression-parser.js +1 -1
- package/dist/parser/index.js +1 -1
- package/dist/parser/tokenizer.js +1 -1
- package/dist/partial-hydration.js +1 -1
- package/dist/performance-utils.js +1 -1
- package/dist/placeholder.js +1 -1
- package/dist/plugin-system.js +1 -1
- package/dist/plugin.js +1 -1
- package/dist/precompiler.js +1 -1
- package/dist/process.js +1 -1
- package/dist/production-build.js +1 -1
- package/dist/production-builder.js +1 -1
- package/dist/production-server.js +1 -1
- package/dist/props.js +1 -1
- package/dist/public-env.js +1 -1
- package/dist/pwa/audit.js +1 -1
- package/dist/pwa/directives.js +1 -1
- package/dist/pwa/icons.js +1 -1
- package/dist/pwa/index.js +1 -1
- package/dist/pwa/inject.js +1 -1
- package/dist/pwa/manifest.js +1 -1
- package/dist/pwa/offline.js +1 -1
- package/dist/pwa/precache.js +1 -1
- package/dist/pwa/service-worker.js +1 -1
- package/dist/pwa/workbox-strategies.js +1 -1
- package/dist/pwa/workbox.js +1 -1
- package/dist/reactive-bindings.js +1 -1
- package/dist/reactive.js +1 -1
- package/dist/reactivity.js +1 -1
- package/dist/release.js +1 -1
- package/dist/render.js +1 -1
- package/dist/route-middleware.js +1 -1
- package/dist/router.js +1 -1
- package/dist/routes.js +1 -1
- package/dist/runtime-injection.js +1 -1
- package/dist/runtime.js +1 -1
- package/dist/safe-evaluator.js +1 -1
- package/dist/scaffolding.js +1 -1
- package/dist/screenshot.js +1 -1
- package/dist/script-classifier.js +1 -1
- package/dist/script-validation.js +1 -1
- package/dist/seo.js +1 -1
- package/dist/serve.js +1 -1
- package/dist/server-bindings.js +1 -1
- package/dist/server-components.js +1 -1
- package/dist/signal-processing.js +1 -1
- package/dist/signals-api.js +1 -1
- package/dist/signals.js +1 -1
- package/dist/site-builder/build.js +1 -1
- package/dist/site-builder/i18n.js +1 -1
- package/dist/site-builder/index.js +1 -1
- package/dist/site-builder/robots.js +1 -1
- package/dist/site-builder/router.js +1 -1
- package/dist/site-builder/seo.js +1 -1
- package/dist/site-builder/sitemap.js +1 -1
- package/dist/site-builder/theme.js +1 -1
- package/dist/slots.js +1 -1
- package/dist/source-maps.js +1 -1
- package/dist/spa-shell.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/state-management.js +1 -1
- package/dist/store-imports.js +1 -1
- package/dist/store-loader.js +1 -1
- package/dist/stores-client.js +1 -1
- package/dist/story/addons.js +1 -1
- package/dist/story/analytics.js +1 -1
- package/dist/story/auto-stories.js +1 -1
- package/dist/story/bookmarks.js +1 -1
- package/dist/story/bun-test.js +1 -1
- package/dist/story/cli.js +1 -1
- package/dist/story/collect/analyzer.js +1 -1
- package/dist/story/collect/index.js +1 -1
- package/dist/story/collect/parser.js +1 -1
- package/dist/story/collect/scanner.js +1 -1
- package/dist/story/collect/tree.js +1 -1
- package/dist/story/commands/build.js +1 -1
- package/dist/story/commands/dev.js +1 -1
- package/dist/story/commands/index.js +1 -1
- package/dist/story/commands/preview.js +1 -1
- package/dist/story/compiled-output.js +1 -1
- package/dist/story/composition.js +1 -1
- package/dist/story/config-watcher.js +1 -1
- package/dist/story/config.js +1 -1
- package/dist/story/context.js +1 -1
- package/dist/story/controls/index.js +1 -1
- package/dist/story/crosswind.js +1 -1
- package/dist/story/desktop-preview.js +1 -1
- package/dist/story/docs-generator.js +1 -1
- package/dist/story/errors.js +1 -1
- package/dist/story/figma-export.js +1 -1
- package/dist/story/generator.js +1 -1
- package/dist/story/hmr.js +1 -1
- package/dist/story/hot-swap.js +1 -1
- package/dist/story/index.js +1 -1
- package/dist/story/interactions.js +1 -1
- package/dist/story/keyboard-shortcuts.js +1 -1
- package/dist/story/output.js +1 -1
- package/dist/story/performance.js +1 -1
- package/dist/story/presets.js +1 -1
- package/dist/story/props-validation.js +1 -1
- package/dist/story/renderer.js +1 -1
- package/dist/story/search-index.js +1 -1
- package/dist/story/search.js +1 -1
- package/dist/story/server.js +1 -1
- package/dist/story/setup.js +1 -1
- package/dist/story/snapshots.js +1 -1
- package/dist/story/testing.js +1 -1
- package/dist/story/theme.js +1 -1
- package/dist/story/ui/code-panel.js +1 -1
- package/dist/story/ui/controls-panel.js +1 -1
- package/dist/story/ui/index.js +1 -1
- package/dist/story/ui/navigation.js +1 -1
- package/dist/story/ui/preview.js +1 -1
- package/dist/story/visual-testing.js +1 -1
- package/dist/streaming.js +1 -1
- package/dist/strict-lint.js +1 -1
- package/dist/style-scoping.js +1 -1
- package/dist/suspense.js +1 -1
- package/dist/teleport.js +1 -1
- package/dist/template-compiler.js +1 -1
- package/dist/template-hydrator.js +1 -1
- package/dist/template-tag-balance.js +1 -1
- package/dist/testing.js +1 -1
- package/dist/transitions.js +1 -1
- package/dist/type-checker.js +1 -1
- package/dist/types/directive-types.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types.js +1 -1
- package/dist/typescript-templates.js +1 -1
- package/dist/utils.js +1 -1
- package/dist/validator.js +1 -1
- package/dist/variable-extractor.js +1 -1
- package/dist/view-composers.js +1 -1
- package/dist/virtual-scrolling.js +1 -1
- package/dist/visual-editor.js +1 -1
- package/dist/vue-template.js +1 -1
- package/dist/web-components/css-scoping.js +1 -1
- package/dist/web-components/index.js +1 -1
- package/dist/web-components/reactive-generator.js +1 -1
- package/dist/web-components.js +1 -1
- package/dist/x-element.js +1 -1
- package/package.json +5 -5
- package/dist/chunk-2jxbwnkz.js +0 -2
- package/dist/chunk-ejayeex8.js +0 -2
- package/dist/chunk-qa59zejf.js +0 -246
- package/dist/chunk-xqq1vxb6.js +0 -1
- package/dist/chunk-yywfvfph.js +0 -2
package/dist/web-components.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Er as a,Fr as b,Gr as c,Hr as d,Ir as e,Jr as f,Kr as g,Lr as h,Mr as i,Nr as j,Or as k,Pr as l,Qr as m}from"./chunk-w01y57f5.js";import"./chunk-x1hjv24z.js";import"./chunk-0g4gece6.js";import"./chunk-nap11ntr.js";import"./chunk-03c26pjz.js";import"./chunk-13yz561y.js";import"./chunk-nanw7yhz.js";import"./chunk-ghrx0hn1.js";import"./chunk-82t27pvd.js";import"./chunk-fhawx87n.js";import"./chunk-gc84b1d2.js";import"./chunk-yr1gdceh.js";import"./chunk-baa7h4yz.js";import"./chunk-kdxa9epn.js";import"./chunk-g2hekckm.js";import"./chunk-x39sfpvm.js";import"./chunk-tr0z0e1g.js";import"./chunk-4j188175.js";import"./chunk-eds0f8f1.js";import"./chunk-dyjnn5k8.js";import"./chunk-8fgwhhb8.js";import"./chunk-tj6zfxeb.js";import"./chunk-7xcfy2fn.js";import"./chunk-9yz5d003.js";import"./chunk-fms20x0n.js";import"./chunk-fe7r1mq1.js";import"./chunk-rb1e4cnb.js";import"./chunk-j4s5qwd7.js";import"./chunk-b0cyc09a.js";import"./chunk-0tatqxj2.js";import"./chunk-bykjk6vj.js";import"./chunk-7b0xdy5h.js";import"./chunk-ywkrxp2h.js";import"./chunk-y25pr13j.js";import"./chunk-q6h6yvzb.js";import"./chunk-qdc3aav1.js";import"./chunk-6wn85hn6.js";import"./chunk-qd5461tt.js";import"./chunk-77tga15w.js";import"./chunk-rv002yn0.js";import"./chunk-hke99a0v.js";import"./chunk-mwbng54r.js";import"./chunk-wxvyj65q.js";import"./chunk-yw2fzq86.js";import"./chunk-mrehzhxv.js";import"./chunk-1zgsgk4b.js";import"./chunk-48cw2nde.js";import"./chunk-jjvp4t5w.js";import"./chunk-94g3cahw.js";import"./chunk-ht4j68cs.js";import"./chunk-fch9tk1k.js";import"./chunk-cz25azze.js";import"./chunk-q60knhjf.js";import"./chunk-hrampcrj.js";import"./chunk-t37dp99j.js";import"./chunk-5kt3ay7x.js";import"./chunk-95w08s8v.js";import"./chunk-ceg2c2q2.js";import"./chunk-04mvcmcr.js";import"./chunk-n46a5g1g.js";import"./chunk-vv9wfz1c.js";import"./chunk-dzw95th7.js";import"./chunk-46mkpbkk.js";import"./chunk-3rh7va1z.js";import"./chunk-2xen423s.js";import"./chunk-cp3kwv17.js";import"./chunk-hpqr9e3x.js";import"./chunk-adqh2m9z.js";import"./chunk-8qbax8xn.js";import"./chunk-x64kb787.js";import"./chunk-gcf5v18y.js";import"./chunk-pc31m5x5.js";import"./chunk-3jm3snz8.js";export{m as webComponentDirectiveHandler,d as scopeHTML,c as scopeCSS,k as parseSFCComponent,e as getScopeAttribute,b as generateScopeId,l as generateSFCWebComponent,h as generateReactiveWebComponentTS,g as generateReactiveWebComponent,j as generateReactiveRuntime,i as generateReactiveMixin,f as extractAndScopeStyles,a as buildWebComponents};
|
package/dist/x-element.js
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@stacksjs/stx",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.94",
|
|
6
6
|
"description": "A performant UI Framework. Powered by Bun.",
|
|
7
7
|
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
8
8
|
"license": "MIT",
|
|
@@ -118,16 +118,16 @@
|
|
|
118
118
|
"dependencies": {
|
|
119
119
|
"@cwcss/crosswind": "^0.2.6",
|
|
120
120
|
"@stacksjs/clapp": "^0.2.0",
|
|
121
|
-
"@stacksjs/sanitizer": "0.2.
|
|
121
|
+
"@stacksjs/sanitizer": "0.2.94",
|
|
122
122
|
"@stacksjs/ts-i18n": "^0.1.11",
|
|
123
|
-
"bun-plugin-stx": "0.2.
|
|
123
|
+
"bun-plugin-stx": "0.2.94",
|
|
124
124
|
"bunfig": "^0.15.14",
|
|
125
|
-
"stx-router": "0.2.
|
|
125
|
+
"stx-router": "0.2.94",
|
|
126
126
|
"ts-broadcasting": "^0.0.5",
|
|
127
127
|
"ts-images": "^0.1.9",
|
|
128
128
|
"ts-syntax-highlighter": "^0.2.1"
|
|
129
129
|
},
|
|
130
130
|
"optionalDependencies": {
|
|
131
|
-
"@stacksjs/desktop": "0.2.
|
|
131
|
+
"@stacksjs/desktop": "0.2.94"
|
|
132
132
|
}
|
|
133
133
|
}
|
package/dist/chunk-2jxbwnkz.js
DELETED
package/dist/chunk-ejayeex8.js
DELETED
package/dist/chunk-qa59zejf.js
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Ch as zJ,ph as $J,rh as VJ,sh as KJ,xh as YJ,zh as _J}from"./chunk-ynhngsdh.js";import{Gi as uG,Ii as UJ,Ji as LJ,Mi as pG}from"./chunk-t0c9wvpr.js";import{jm as $G,km as vG,lm as xG,mm as TG,nm as SG,om as EG}from"./chunk-xs03kc1h.js";import{Ln as mG}from"./chunk-rw26rpek.js";import{fo as wG,ho as DG}from"./chunk-x3r64r0c.js";import{jo as IG}from"./chunk-1sr54zp8.js";import{mo as tG,no as eG,oo as GJ,po as JJ}from"./chunk-9t14se2t.js";import{vo as NG}from"./chunk-nm15ccsg.js";import{rp as HJ,sp as AJ}from"./chunk-jjb05d21.js";import{up as QJ}from"./chunk-j58vh0w6.js";import{Iq as kJ,Jq as cG,Kq as RG,Lq as yG,Mq as BJ,Nq as WJ,Oq as OJ}from"./chunk-d0zjtdw4.js";import{Dr as FJ,Ks as MJ,Rr as EJ,Sr as dG,Vs as LG,Yr as oG,ps as UG,tr as BG}from"./chunk-1xz0w746.js";import{dt as qJ}from"./chunk-g1vt329s.js";import{Rt as jJ}from"./chunk-y1k17c8b.js";import{aw as ZJ}from"./chunk-pa9zb7ty.js";import{Mw as jG,Nw as MG,Rw as s}from"./chunk-shv88d2d.js";import{Sw as G}from"./chunk-0dx4q6yq.js";import{Mx as iG}from"./chunk-9ecv8aqj.js";import{ty as aG}from"./chunk-zen6ax1y.js";import{wy as nG,xy as NJ}from"./chunk-yb1t2h8h.js";import{Ey as lG,Gy as sG}from"./chunk-fjk3x41y.js";import{Jy as IJ}from"./chunk-5shey2e4.js";import{pB as m}from"./chunk-xv34zbp4.js";import qG from"path";var{serve:vJ}=globalThis.Bun;import XG from"fs";import i from"path";async function xJ(S,B={}){let I=B.port||3000,y=B.watch!==!1,v=B.hotReload!==!1&&y,j=null,_=B.hmrPort||I+1,X=i.resolve(S);if(!XG.existsSync(X))return console.error(`${G.red}Error: File not found: ${G.bright}${X}${G.reset}`),!1;if(X.endsWith(".md"))return mG(X,B);else if(!X.endsWith(".stx"))return console.error(`${G.red}Error: Unsupported file type: ${G.bright}${X}${G.reset}. Only .stx and .md files are supported.`),!1;let C=i.join(process.cwd(),".stx/output");XG.mkdirSync(C,{recursive:!0}),console.log(`${G.blue}Building ${G.bright}${S}${G.reset}...`);let b=null,f=async()=>{try{let U={name:"public-assets",setup(O){O.onResolve({filter:/^\/(images|fonts|assets|public)\//},(H)=>{return{path:H.path,external:!0}})}},K=await Bun.build({entrypoints:[X],outdir:C,plugins:[U,kG],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...B.stxOptions});if(!K.success)return console.error(`${G.red}Build failed:${G.reset}`,K.logs),!1;let k=K.outputs.find((O)=>O.path.endsWith(".html"));if(!k)return console.error(`${G.red}No HTML output found${G.reset}`),!1;return b=await Bun.file(k.path).text(),!0}catch(U){return console.error(`${G.red}Error building stx file:${G.reset}`,U),!1}};if(!await f())return!1;let l=i.dirname(X);await jG(l);let R=I;try{if(R=await IG(I),R!==I)console.log(`${G.yellow}Port ${I} is busy, using port ${R} instead${G.reset}`)}catch{return console.error(`${G.red}Could not find an available port${G.reset}`),!1}if(v){let U=B.hmrPort||R+1;j=SG({wsPort:U,verbose:!1}),_=j.start(U)}let $={},Z=null;try{let{loadStxConfig:U}=await import("././index.js"),K=await U();if(K?.apiRouter)Z=K?.apiRouter,console.log(`${G.blue}Using custom router for API handling${G.reset}`);if(K?.apiRoutes){$=K.apiRoutes;let k=Object.keys($).length;if(k>0)console.log(`${G.blue}Loaded ${G.bright}${k} API route${k>1?"s":""}${G.reset}`)}if(K?.broadcasting?.enabled)try{let{startBroadcasting:k,loadChannels:Q}=await import("././broadcasting.js"),O=K.broadcasting;await k(O);let H=O.port??6001;console.log(`${G.magenta}Broadcasting on ${G.cyan}ws://localhost:${H}/ws${G.reset}`);let E=i.join(process.cwd(),"channels.ts");if(XG.existsSync(E))try{let V=await Q(E);console.log(`${G.blue}Loaded ${G.bright}${V} broadcast channel${V!==1?"s":""}${G.blue} from channels.ts${G.reset}`)}catch(V){console.warn(`${G.yellow}Failed to load channels.ts: ${V.message}${G.reset}`)}}catch(k){console.warn(`${G.yellow}Broadcasting failed to start: ${k.message}${G.reset}`)}}catch{}if(console.log(`${G.blue}Starting server on ${G.cyan}http://localhost:${R}/${G.reset}...`),v)console.log(`${G.magenta}Hot reload enabled on ws://localhost:${_}${G.reset}`);let M=vJ({port:R,async fetch(U){let K=new URL(U.url);if(Z)try{let E=await Z.handleRequest(U);if(E.status!==404)return E}catch{}if($[K.pathname])try{return await $[K.pathname](U)}catch(E){return new Response(JSON.stringify({error:E.message}),{status:500,headers:{"Content-Type":"application/json"}})}if(K.pathname==="/")return(async()=>{let V=await s(b||"");if(v)V=$G(V,_);if(B.native)if(V.includes("<head>"))V=V.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else if(V.includes("<html"))V=V.replace(/(<html[^>]*>)/,"$1<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>");else V="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+V;if(B.titlebarHidden)if(V.includes("<head>"))V=V.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else if(V.includes("<html"))V=V.replace(/(<html[^>]*>)/,"$1<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>");else V=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${V}`;return V})().then((V)=>new Response(V,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}}));let k=i.join(C,K.pathname);if(XG.existsSync(k)&&XG.statSync(k).isFile()){let E=Bun.file(k),V=i.extname(k).toLowerCase(),Y="text/plain";if(V===".ts"||V===".tsx"){let u=new Bun.Transpiler({loader:V===".tsx"?"tsx":"ts"}),n=await E.text(),WG=u.transformSync(n);return new Response(WG,{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}switch(V){case".html":Y="text/html";break;case".css":Y="text/css";break;case".js":Y="text/javascript";break;case".json":Y="application/json";break;case".png":Y="image/png";break;case".jpg":case".jpeg":Y="image/jpeg";break;case".gif":Y="image/gif";break;case".woff":Y="font/woff";break;case".woff2":Y="font/woff2";break;case".ttf":Y="font/ttf";break;case".otf":Y="font/otf";break;case".eot":Y="application/vnd.ms-fontobject";break}return new Response(E,{headers:{"Content-Type":Y}})}let Q=i.dirname(X),O=i.join(Q,K.pathname);if(XG.existsSync(O)&&XG.statSync(O).isFile()){let E=Bun.file(O),V=i.extname(O).toLowerCase(),Y="text/plain";if(V===".ts"||V===".tsx"){let u=new Bun.Transpiler({loader:V===".tsx"?"tsx":"ts"}),n=await E.text(),WG=u.transformSync(n);return new Response(WG,{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}switch(V){case".html":Y="text/html";break;case".css":Y="text/css";break;case".js":Y="text/javascript";break;case".json":Y="application/json";break;case".png":Y="image/png";break;case".jpg":case".jpeg":Y="image/jpeg";break;case".gif":Y="image/gif";break;case".svg":Y="image/svg+xml";break;case".ico":Y="image/x-icon";break;case".woff":Y="font/woff";break;case".woff2":Y="font/woff2";break;case".ttf":Y="font/ttf";break;case".otf":Y="font/otf";break;case".eot":Y="application/vnd.ms-fontobject";break}return new Response(E,{headers:{"Content-Type":Y}})}let H=i.join(process.cwd(),"public",K.pathname);if(XG.existsSync(H)&&XG.statSync(H).isFile()){let E=Bun.file(H),V=i.extname(H).toLowerCase(),Y="application/octet-stream";if(V===".ts"||V===".tsx"){let u=new Bun.Transpiler({loader:V===".tsx"?"tsx":"ts"}),n=await E.text(),WG=u.transformSync(n);return new Response(WG,{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}switch(V){case".html":Y="text/html";break;case".css":Y="text/css";break;case".js":Y="text/javascript";break;case".json":Y="application/json";break;case".png":Y="image/png";break;case".jpg":case".jpeg":Y="image/jpeg";break;case".gif":Y="image/gif";break;case".svg":Y="image/svg+xml";break;case".ico":Y="image/x-icon";break;case".woff":Y="font/woff";break;case".woff2":Y="font/woff2";break;case".ttf":Y="font/ttf";break;case".otf":Y="font/otf";break;case".eot":Y="application/vnd.ms-fontobject";break}return new Response(E,{headers:{"Content-Type":Y}})}return new Response("Not Found",{status:404})},error(U){return new Response(`<pre>${U}
|
|
3
|
-
${U.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),console.log(`
|
|
4
|
-
${G.blue}stx${G.reset} ${G.green}${process.env.stx_VERSION||"v0.0.10"}${G.reset} ${G.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${G.reset}`),console.log(`
|
|
5
|
-
${G.bright}\u2192 ${G.cyan}http://localhost:${R}/${G.reset}`),console.log(`
|
|
6
|
-
${G.yellow}Routes:${G.reset}`);let F=i.relative(process.cwd(),X);if(console.log(` ${G.green}\u2514\u2500 /${G.reset} \u2192 ${G.bright}${F}${G.reset}`),console.log(`
|
|
7
|
-
Press ${G.cyan}h${G.reset} + ${G.cyan}Enter${G.reset} to show shortcuts`),NG(M.url.toString(),()=>{if(y)XG.watch(i.dirname(X),{recursive:!0}).close();M.stop()}),B.native){let U=await Bun.file(X).text(),K=DG(U);await wG(R,{title:i.basename(X,".stx"),titlebarHidden:B.titlebarHidden===!0,nativeSidebar:!!K,sidebarConfig:K})}if(y){let U=i.dirname(X);console.log(`${G.blue}Watching ${G.bright}${U}${G.reset} for changes...`);let K=XG.watch(U,{recursive:!0},async(k,Q)=>{if(!Q||TG(Q))return;if(xG(Q)){console.log(`${G.yellow}File ${G.bright}${Q}${G.yellow} changed, rebuilding...${G.reset}`),UG.clear(),LG();let O=await f();if(await MG(l),v&&j)if(O)j.reload(Q);else j.error("Build failed - check console for details")}else if(vG(Q)){if(console.log(`${G.cyan}CSS ${G.bright}${Q}${G.cyan} changed${G.reset}`),v&&j)j.updateCss(Q)}});process.on("SIGINT",()=>{if(K.close(),j)EG();M.stop(),process.exit(0)})}return!0}var{serve:TJ}=globalThis.Bun;import _G from"fs";import d from"path";function XJ(S){if(S.length===0)return"";if(S.length===1)return S[0];let B=S.map((y)=>y.split(d.sep)),I=[];for(let y=0;y<B[0].length;y++){let v=B[0][y];if(B.every((j)=>j[y]===v))I.push(v);else break}return I.join(d.sep)}async function SJ(S,B={}){let I=B.port||3000,y=B.watch!==!1;for(let $ of S){let Z=d.resolve($);if(!_G.existsSync(Z))return console.error(`${G.red}Error: File not found: ${G.bright}${Z}${G.reset}`),!1;if(!Z.endsWith(".stx")&&!Z.endsWith(".md"))return console.error(`${G.red}Error: Unsupported file type: ${G.bright}${Z}${G.reset}. Only .stx and .md files are supported.`),!1}let v=d.join(process.cwd(),".stx/output");_G.mkdirSync(v,{recursive:!0});let j=XJ(S.map(($)=>d.dirname(d.resolve($))));console.log(`${G.blue}Processing ${G.bright}${S.length}${G.reset} files...`);let _={},X=[],C=async()=>{try{for(let $ of S){let Z=d.resolve($);if(Z.endsWith(".md"))try{let{content:F,data:U}=await oG(Z,{markdown:{syntaxHighlighting:{serverSide:!0,enabled:!0,defaultTheme:dG.markdown?.syntaxHighlighting?.defaultTheme||"github-dark",highlightUnknownLanguages:!0}}}),K=B.markdown?.syntaxHighlighting||dG.markdown?.syntaxHighlighting,k=K?.defaultTheme||"github-dark",Q=["github-dark"],O=K?.additionalThemes||[],E=[...new Set([...Q,...O])].map((n)=>`<option value="${n}"${n===k?" selected":""}>${n}</option>`).join(`
|
|
8
|
-
`),V=`
|
|
9
|
-
<!DOCTYPE html>
|
|
10
|
-
<html lang="en">
|
|
11
|
-
<head>
|
|
12
|
-
<meta charset="UTF-8">
|
|
13
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
14
|
-
<title>${U.title||d.basename(Z)}</title>
|
|
15
|
-
<!-- Syntax highlighting styles -->
|
|
16
|
-
<style id="syntax-theme">
|
|
17
|
-
:root {
|
|
18
|
-
--shiki-color-text: #24292e;
|
|
19
|
-
--shiki-color-background: #ffffff;
|
|
20
|
-
--shiki-token-constant: #005cc5;
|
|
21
|
-
--shiki-token-string: #032f62;
|
|
22
|
-
--shiki-token-comment: #6a737d;
|
|
23
|
-
--shiki-token-keyword: #d73a49;
|
|
24
|
-
--shiki-token-parameter: #24292e;
|
|
25
|
-
--shiki-token-function: #6f42c1;
|
|
26
|
-
--shiki-token-string-expression: #032f62;
|
|
27
|
-
--shiki-token-punctuation: #24292e;
|
|
28
|
-
--shiki-token-link: #032f62;
|
|
29
|
-
}
|
|
30
|
-
pre {
|
|
31
|
-
background-color: var(--shiki-color-background);
|
|
32
|
-
padding: 1rem;
|
|
33
|
-
border-radius: 4px;
|
|
34
|
-
}
|
|
35
|
-
code {
|
|
36
|
-
color: var(--shiki-color-text);
|
|
37
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
38
|
-
}
|
|
39
|
-
.dark-mode {
|
|
40
|
-
--shiki-color-text: #e1e4e8;
|
|
41
|
-
--shiki-color-background: #24292e;
|
|
42
|
-
--shiki-token-constant: #79b8ff;
|
|
43
|
-
--shiki-token-string: #9ecbff;
|
|
44
|
-
--shiki-token-comment: #6a737d;
|
|
45
|
-
--shiki-token-keyword: #f97583;
|
|
46
|
-
--shiki-token-parameter: #e1e4e8;
|
|
47
|
-
--shiki-token-function: #b392f0;
|
|
48
|
-
--shiki-token-string-expression: #9ecbff;
|
|
49
|
-
--shiki-token-punctuation: #e1e4e8;
|
|
50
|
-
--shiki-token-link: #9ecbff;
|
|
51
|
-
}
|
|
52
|
-
</style>
|
|
53
|
-
<style>
|
|
54
|
-
body {
|
|
55
|
-
font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
|
|
56
|
-
line-height: 1.6;
|
|
57
|
-
color: #333;
|
|
58
|
-
max-width: 800px;
|
|
59
|
-
margin: 0 auto;
|
|
60
|
-
padding: 2rem;
|
|
61
|
-
}
|
|
62
|
-
pre, code {
|
|
63
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
64
|
-
}
|
|
65
|
-
pre {
|
|
66
|
-
border-radius: 4px;
|
|
67
|
-
padding: 0;
|
|
68
|
-
margin: 1.5rem 0;
|
|
69
|
-
overflow-x: auto;
|
|
70
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
71
|
-
}
|
|
72
|
-
pre code {
|
|
73
|
-
display: block;
|
|
74
|
-
padding: 1rem;
|
|
75
|
-
overflow-x: auto;
|
|
76
|
-
}
|
|
77
|
-
/* Apply background color to code blocks based on theme */
|
|
78
|
-
pre.syntax-highlighter {
|
|
79
|
-
background-color: var(--shiki-color-background) !important;
|
|
80
|
-
}
|
|
81
|
-
.dark-mode pre.syntax-highlighter {
|
|
82
|
-
background-color: var(--shiki-color-background) !important;
|
|
83
|
-
}
|
|
84
|
-
code {
|
|
85
|
-
padding: 0.2rem 0.4rem;
|
|
86
|
-
border-radius: 3px;
|
|
87
|
-
}
|
|
88
|
-
h1, h2, h3, h4 {
|
|
89
|
-
margin-top: 2rem;
|
|
90
|
-
margin-bottom: 1rem;
|
|
91
|
-
}
|
|
92
|
-
h1 { color: #111; border-bottom: 1px solid #eee; padding-bottom: 0.5rem; }
|
|
93
|
-
h2 { color: #333; border-bottom: 1px solid #f0f0f0; padding-bottom: 0.3rem; }
|
|
94
|
-
h3 { color: #444; }
|
|
95
|
-
img {
|
|
96
|
-
max-width: 100%;
|
|
97
|
-
border-radius: 4px;
|
|
98
|
-
margin: 1rem 0;
|
|
99
|
-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
100
|
-
}
|
|
101
|
-
blockquote {
|
|
102
|
-
border-left: 4px solid #ddd;
|
|
103
|
-
padding-left: 1rem;
|
|
104
|
-
margin-left: 0;
|
|
105
|
-
color: #555;
|
|
106
|
-
background: #f9f9f9;
|
|
107
|
-
padding: 0.5rem 1rem;
|
|
108
|
-
margin: 1.5rem 0;
|
|
109
|
-
}
|
|
110
|
-
table {
|
|
111
|
-
border-collapse: collapse;
|
|
112
|
-
width: 100%;
|
|
113
|
-
margin: 1.5rem 0;
|
|
114
|
-
}
|
|
115
|
-
th, td {
|
|
116
|
-
border: 1px solid #ddd;
|
|
117
|
-
padding: 0.5rem;
|
|
118
|
-
}
|
|
119
|
-
th {
|
|
120
|
-
background: #f0f0f0;
|
|
121
|
-
text-align: left;
|
|
122
|
-
}
|
|
123
|
-
tr:nth-child(even) {
|
|
124
|
-
background-color: #f8f8f8;
|
|
125
|
-
}
|
|
126
|
-
a {
|
|
127
|
-
color: #0066cc;
|
|
128
|
-
text-decoration: none;
|
|
129
|
-
}
|
|
130
|
-
a:hover {
|
|
131
|
-
text-decoration: underline;
|
|
132
|
-
}
|
|
133
|
-
hr {
|
|
134
|
-
border: 0;
|
|
135
|
-
border-top: 1px solid #eee;
|
|
136
|
-
margin: 2rem 0;
|
|
137
|
-
}
|
|
138
|
-
.frontmatter {
|
|
139
|
-
background: #f8f8f8;
|
|
140
|
-
border-radius: 4px;
|
|
141
|
-
padding: 1.5rem;
|
|
142
|
-
margin-bottom: 2rem;
|
|
143
|
-
font-size: 0.9rem;
|
|
144
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
145
|
-
border-left: 4px solid #ddd;
|
|
146
|
-
}
|
|
147
|
-
.frontmatter-item {
|
|
148
|
-
margin-bottom: 0.5rem;
|
|
149
|
-
display: flex;
|
|
150
|
-
}
|
|
151
|
-
.frontmatter-label {
|
|
152
|
-
font-weight: bold;
|
|
153
|
-
min-width: 100px;
|
|
154
|
-
color: #555;
|
|
155
|
-
}
|
|
156
|
-
${tG()}
|
|
157
|
-
</style>
|
|
158
|
-
</head>
|
|
159
|
-
<body>
|
|
160
|
-
${JJ(U)}
|
|
161
|
-
${eG(E)}
|
|
162
|
-
|
|
163
|
-
${F}
|
|
164
|
-
|
|
165
|
-
<script>
|
|
166
|
-
${GJ()}
|
|
167
|
-
</script>
|
|
168
|
-
</body>
|
|
169
|
-
</html>
|
|
170
|
-
`,u=`/${d.relative(j,Z).replace(/\.md$/,"")}`;if(u.endsWith("/index"))u=u.slice(0,-6)||"/";_[u||"/"]={filePath:Z,content:V,fileType:"md"}}catch(F){console.error(`${G.red}Error processing Markdown file ${G.bright}${$}${G.reset}:`,F);continue}else{let F={name:"public-assets",setup(H){H.onResolve({filter:/^\/(images|fonts|assets|public)\//},(E)=>{return{path:E.path,external:!0}})}},U=await Bun.build({entrypoints:[Z],outdir:v,plugins:[F,kG],define:{"process.env.NODE_ENV":'"development"'},...B.stxOptions});if(!U.success){console.error(`${G.red}Build failed for ${G.bright}${$}${G.reset}:`,U.logs);continue}let K=U.outputs.find((H)=>H.path.endsWith(".html"));if(!K){console.error(`${G.red}No HTML output found for ${G.bright}${$}${G.reset}`);continue}let k=await Bun.file(K.path).text(),O=`/${d.relative(j,Z).replace(/\.stx$/,"")}`;if(O.endsWith("/index"))O=O.slice(0,-6)||"/";if(O.includes("[")){let H=[...O.matchAll(/\[([^\]]+)\]/g)].map((V)=>V[1]),E=O.replace(/\[([^\]]+)\]/g,"([^/]+)");X.push({pattern:new RegExp(`^${E}$`),paramNames:H,filePath:Z,routeTemplate:O,fileType:"stx"}),_[O]={filePath:Z,content:k,fileType:"stx"}}else _[O||"/"]={filePath:Z,content:k,fileType:"stx"}}}if(Object.keys(_).length===0)return console.error(`${G.red}No files were successfully processed${G.reset}`),!1;return!0}catch($){return console.error(`${G.red}Error processing files:${G.reset}`,$),!1}};if(!await C())return!1;let f=I;try{if(f=await IG(I),f!==I)console.log(`${G.yellow}Port ${I} is busy, using port ${f} instead${G.reset}`)}catch{return console.error(`${G.red}Could not find an available port${G.reset}`),!1}console.log(`${G.blue}Starting server on ${G.cyan}http://localhost:${f}/${G.reset}...`);let h=TJ({port:f,async fetch($){let Z=new URL($.url),M=d.join(process.cwd(),"public",Z.pathname);if(_G.existsSync(M)&&_G.statSync(M).isFile()){let K=Bun.file(M),k=d.extname(M).toLowerCase(),Q="application/octet-stream";if(k===".ts"||k===".tsx"){let O=new Bun.Transpiler({loader:k===".tsx"?"tsx":"ts"}),H=await K.text(),E=O.transformSync(H);return new Response(E,{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}switch(k){case".html":Q="text/html";break;case".css":Q="text/css";break;case".js":Q="text/javascript";break;case".json":Q="application/json";break;case".png":Q="image/png";break;case".jpg":case".jpeg":Q="image/jpeg";break;case".gif":Q="image/gif";break;case".svg":Q="image/svg+xml";break;case".ico":Q="image/x-icon";break;case".woff":Q="font/woff";break;case".woff2":Q="font/woff2";break;case".ttf":Q="font/ttf";break;case".otf":Q="font/otf";break;case".eot":Q="application/vnd.ms-fontobject";break}return new Response(K,{headers:{"Content-Type":Q}})}let F=_[Z.pathname];if(!F&&!Z.pathname.endsWith("/"))F=_[`${Z.pathname}/`];if(!F)for(let K of X){let k=Z.pathname.match(K.pattern);if(k){let Q=_[K.routeTemplate];if(Q){let O={};for(let V=0;V<K.paramNames.length;V++)O[K.paramNames[V]]=decodeURIComponent(k[V+1]);let H=Q.content,E=`<script>window.__routeParams = ${JSON.stringify(O)};</script>`;if(H.includes("</head>"))H=H.replace("</head>",`${E}
|
|
171
|
-
</head>`);else H=E+H;F={...Q,content:H}}break}}if(F)return s(F.content).then((K)=>{if(K.includes("</head>"))K=K.replace("</head>",`${QJ}
|
|
172
|
-
</head>`);return new Response(K,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})});let U=d.join(v,Z.pathname);if(_G.existsSync(U)&&_G.statSync(U).isFile()){let K=Bun.file(U),k=d.extname(U).toLowerCase(),Q="text/plain";if(k===".ts"||k===".tsx"){let O=new Bun.Transpiler({loader:k===".tsx"?"tsx":"ts"}),H=await K.text(),E=O.transformSync(H);return new Response(E,{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}switch(k){case".html":Q="text/html";break;case".css":Q="text/css";break;case".js":Q="text/javascript";break;case".json":Q="application/json";break;case".png":Q="image/png";break;case".jpg":case".jpeg":Q="image/jpeg";break;case".gif":Q="image/gif";break;case".svg":Q="image/svg+xml";break;case".ico":Q="image/x-icon";break;case".woff":Q="font/woff";break;case".woff2":Q="font/woff2";break;case".ttf":Q="font/ttf";break;case".otf":Q="font/otf";break;case".eot":Q="application/vnd.ms-fontobject";break}return new Response(K,{headers:{"Content-Type":Q}})}if(Z.pathname!=="/"&&_["/"]){let K=$.headers.get("X-STX-Router")==="true";return s(_["/"].content).then((k)=>{if(K){let Q=k.match(/<main[^>]*>([\s\S]*?)<\/main>/i);if(Q){let O=k.match(/<title[^>]*>([\s\S]*?)<\/title>/i),E=`<!DOCTYPE html><html><head><title>${O?O[1]:""}</title></head><body><main>${Q[1]}</main></body></html>`;return new Response(E,{headers:{"Content-Type":"text/html","X-STX-Partial":"true","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}return new Response(k,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})})}return new Response("Not Found",{status:404})},error($){return new Response(`<pre>${$}
|
|
173
|
-
${$.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),console.log(`
|
|
174
|
-
${G.blue}stx${G.reset} ${G.green}${process.env.stx_VERSION||"v0.0.10"}${G.reset} ${G.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${G.reset}`),console.log(`
|
|
175
|
-
${G.bright}\u2192 ${G.cyan}http://localhost:${f}/${G.reset}`),console.log(`
|
|
176
|
-
${G.yellow}Routes:${G.reset}`);let l=new Set(X.map(($)=>$.routeTemplate)),R=Object.entries(_).filter(([$])=>!l.has($)).sort(([$],[Z])=>$.localeCompare(Z)).map(([$,Z])=>({route:$==="/"?"/":$,filePath:d.relative(process.cwd(),Z.filePath),fileType:Z.fileType}));for(let $ of X){let Z=$.routeTemplate.replace(/\[([^\]]+)\]/g,":$1");R.push({route:Z,filePath:d.relative(process.cwd(),$.filePath),fileType:"stx"})}if(R.sort(($,Z)=>$.route.localeCompare(Z.route)),R.forEach(($,Z)=>{let F=Z===R.length-1?"\u2514\u2500 ":"\u251C\u2500 ",U=$.fileType==="md"?`${G.magenta}(markdown)${G.reset}`:"";console.log(` ${G.green}${F}${$.route}${G.reset} \u2192 ${G.bright}${$.filePath}${G.reset} ${U}`)}),console.log(`
|
|
177
|
-
Press ${G.cyan}h${G.reset} + ${G.cyan}Enter${G.reset} to show shortcuts`),NG(h.url.toString(),()=>{if(y)_G.watch(j,{recursive:!0}).close();h.stop()}),y){console.log(`${G.blue}Watching for changes...${G.reset}`);let $=_G.watch(j,{recursive:!0},async(Z,M)=>{if(!M)return;if(M.endsWith(".stx")||M.endsWith(".js")||M.endsWith(".ts")||M.endsWith(".md"))console.log(`${G.yellow}File ${G.bright}${M}${G.yellow} changed, rebuilding...${G.reset}`),UG.clear(),LG(),await C()});process.on("SIGINT",()=>{$.close(),h.stop(),process.exit(0)})}return!0}var{serve:RJ}=globalThis.Bun;import a from"fs";import D from"path";function hG(S){let B=Bun.file(S),I=D.extname(S).toLowerCase(),y={".html":"text/html",".css":"text/css",".js":"text/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"},j=[".js",".css",".json"].includes(I)?{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}:{};return new Response(B,{headers:{"Content-Type":y[I]||"application/octet-stream",...j}})}async function yJ(S=".",B={}){let I=B.port||3000,y=B.watch!==!1,v=B.hotReload!==!1&&y,j=null,_=B.hmrPort||I+1,X=D.resolve(S),{loadStxConfig:C}=await import("././index.js"),b=await C(X),f=b.root&&b.root!=="."?D.join(X,b.root):X,h=b.pagesDir||"pages",l=D.join(f,h);if(!a.existsSync(l))return console.error(`${G.red}Error: No '${h}' directory found in ${G.bright}${f}${G.reset}`),console.log(`${G.dim}Create a ${h}/ directory with .stx files to define your routes.${G.reset}`),console.log(`${G.dim}Example: ${h}/index.stx for the homepage.${G.reset}`),!1;let R=uG(f);if(R.length===0)return console.error(`${G.red}Error: No page files found in ${G.bright}${l}${G.reset}`),!1;console.log(`${G.blue}Found ${G.bright}${R.length}${G.blue} routes${G.reset}`);let $=b?._pluginPageDirs||[],Z=[];for(let{dir:J,prefix:L}of $)if(a.existsSync(J)){let N=uG(D.dirname(J),{pagesDir:D.basename(J)});for(let A of N){let q=L==="/"?A.pattern:`${L}${A.pattern==="/"?"":A.pattern}`;Z.push({route:{...A,pattern:q},prefix:L})}if(N.length>0)console.log(`${G.blue}Plugin pages: ${G.bright}${N.length}${G.blue} routes at ${G.cyan}${L}${G.reset}`)}let M=new Map,F=null,U=null;if(B.stxOptions?.shell!==!1){if(U=await kJ(X,B.stxOptions?.shell),U){if(F=await cG(U,B.stxOptions||{}),F)console.log(`${G.blue}Using app shell: ${G.bright}${D.relative(X,U)}${G.reset} ${G.dim}(deprecated: use layouts/default.stx instead)${G.reset}`)}}$J(),await _J(X);let K=YJ();if(K.length>0)console.log(`${G.blue}Loaded ${G.bright}${K.length}${G.blue} middleware: ${G.dim}${K.join(", ")}${G.reset}`);let k={},Q=null;try{let{loadStxConfig:J}=await import("././index.js"),L=await J(X);if(L?.apiRouter)Q=L?.apiRouter,console.log(`${G.blue}Using custom router for API handling${G.reset}`);if(L?.apiRoutes){k=L.apiRoutes;let N=Object.keys(k).length;if(N>0)console.log(`${G.blue}Loaded ${G.bright}${N} API route${N>1?"s":""}${G.reset}`)}if(L?.broadcasting?.enabled)try{let{startBroadcasting:N,loadChannels:A}=await import("././broadcasting.js"),q=L.broadcasting;await N(q);let o=q.port??6001;console.log(`${G.magenta}Broadcasting on ${G.cyan}ws://localhost:${o}/ws${G.reset}`);let r=D.join(process.cwd(),"channels.ts");if(a.existsSync(r))try{let VG=await A(r);console.log(`${G.blue}Loaded ${G.bright}${VG} broadcast channel${VG!==1?"s":""}${G.blue} from channels.ts${G.reset}`)}catch(VG){console.warn(`${G.yellow}Failed to load channels.ts: ${VG.message}${G.reset}`)}}catch(N){console.warn(`${G.yellow}Broadcasting failed to start: ${N.message}${G.reset}`)}}catch{}let O=D.join(X,".stx/output");a.mkdirSync(O,{recursive:!0});let H=new Map,E=new Set,V=async(J)=>{let L=UJ(l,J);if(!L)return null;try{let N=await Bun.build({entrypoints:[L],outdir:O,plugins:[kG],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...B.stxOptions});if(!N.success)return null;let A=N.outputs.find((q)=>q.path.endsWith(".html"));if(!A)return null;return await Bun.file(A.path).text()}catch{return null}},Y=async(J,L)=>{try{let{processDirectives:N,extractVariables:A,defaultConfig:q,loadStxConfig:o,injectRouterScript:r}=await import("././index.js"),{checkCache:VG,cacheTemplate:PG,readFileCached:p,templateCache:HG}=await import("././caching.js"),AG=await o(X),W=(x)=>{if(!x)return x;if(D.isAbsolute(x))return x;return D.resolve(X,x)},w={...q,...AG,...B.stxOptions,autoShell:!0};if(B.debugDirectives)w.debug=!0;w.partialsDir=W(w.partialsDir),w.componentsDir=W(w.componentsDir),w.layoutsDir=W(w.layoutsDir),w.storesDir=W(w.storesDir||"stores"),w.cachePath=W(w.cachePath||".stx/cache");let T=!L&&!B.profile,z=w.cache!==!1;if(z&&T){let x=HG.get(J.filePath);if(x)try{if((await a.promises.stat(J.filePath)).mtime.getTime()<=x.mtime){let YG=!0;for(let c of x.dependencies){if(!a.existsSync(c)){YG=!1;break}if((await a.promises.stat(c)).mtime.getTime()>x.mtime){YG=!1;break}}if(YG){let c=x.output;if(F)c=yG(c,{preserveHead:!0});return{route:J,content:c}}}}catch{}let JG=await VG(J.filePath,w);if(JG){let QG=JG;if(F)QG=yG(QG,{preserveHead:!0});return{route:J,content:QG}}}let g=z?await p(J.filePath):await Bun.file(J.filePath).text(),{classifyAllScripts:t}=await import("././index.js"),P=t(g),e=P.server.map((x)=>x.content),KG=g;for(let x of P.server)KG=KG.replace(x.fullTag,"");let GG={__filename:J.filePath,__dirname:D.dirname(J.filePath),params:L??{}},{resetHead:wJ}=await import("././head.js");wJ();for(let x of e)try{await A(x,GG,J.filePath)}catch(JG){if(B.stxOptions?.debug)console.error("[stx] variable extraction error",J.filePath,JG?.message||JG)}let fG=new Set,ZG;if(B.profile){let x=performance.now();ZG=await N(KG,GG,J.filePath,w,fG);let JG=performance.now()-x,QG=D.relative(X,J.filePath)||J.filePath;console.log(`[stx:profile] ${QG} \u2192 ${JG.toFixed(2)}ms`)}else ZG=await N(KG,GG,J.filePath,w,fG);if(!F)ZG=await r(ZG);{let{interpolateScriptExpressions:x}=await import("././expressions.js");ZG=ZG.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/g,(JG,QG,YG)=>{if(!/function\s+__stx_setup_/.test(YG))return JG;return`<script${QG}>${x(YG,GG)}</script>`})}if(F)ZG=yG(ZG,{preserveHead:!0});if(z&&T)await PG(J.filePath,ZG,fG,w);let{extractStreamBoundaries:DJ}=await import("././streaming.js"),OG=DJ(GG),FG=GG.__streamTemplates;if(FG&&typeof FG==="object"&&Object.keys(FG).length>0){let x=GG.streamBoundaries||{},JG={...w,autoShell:!1},QG=Object.keys(FG).map((c)=>({id:c,render:async()=>{let rG=typeof x[c]==="function"?await x[c]():void 0;return N(FG[c],{...GG,$boundary:rG},J.filePath,JG,new Set)}})),YG=new Set(QG.map((c)=>c.id));OG=[...(OG||[]).filter((c)=>!YG.has(c.id)),...QG]}if(OG&&OG.length>0)E.add(J.pattern);else OG=void 0;return{route:J,content:ZG,boundaries:OG}}catch(N){return console.error(`${G.red}Error building ${G.bright}${J.pattern}${G.reset}:`,N),null}},u=8,n=async()=>{H.clear(),M.clear();for(let J=0;J<R.length;J+=u){let L=R.slice(J,J+u),N=await Promise.all(L.map((A)=>Y(A)));for(let A of N)if(A)H.set(A.route.pattern,A)}for(let J=0;J<Z.length;J+=u){let L=Z.slice(J,J+u),N=await Promise.all(L.map(({route:A})=>Y(A)));for(let A of N)if(A)M.set(A.route.pattern,A)}return H.size>0};if(console.log(`${G.blue}Building pages...${G.reset}`),!await n())return console.error(`${G.red}No pages were successfully built${G.reset}`),!1;await jG(X);let zG=I;try{if(zG=await IG(I),zG!==I)console.log(`${G.yellow}Port ${I} is busy, using port ${zG} instead${G.reset}`)}catch{return console.error(`${G.red}Could not find an available port${G.reset}`),!1}if(v){let J=B.hmrPort||zG+1;j=SG({wsPort:J,verbose:!1}),_=j.start(J)}let CG=(J,L)=>{let N=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._rp=${JSON.stringify(L)};if(s.setRouteParams)s.setRouteParams(s._rp);})()</script>`;if(J.includes("</head>"))return J.replace("</head>",`${N}</head>`);if(J.includes("<body"))return J.replace(/<body([^>]*)>/,`<body$1>${N}`);return N+J};console.log(`${G.blue}Starting server...${G.reset}`);let bG=RJ({port:zG,async fetch(J){let L=new URL(J.url),N=b?.publicDir||"public",A=D.join(X,N,L.pathname),q=D.join(X,L.pathname),o=D.join(O,L.pathname),[r,VG,PG]=await Promise.all([a.promises.stat(A).catch(()=>null),a.promises.stat(q).catch(()=>null),a.promises.stat(o).catch(()=>null)]);if(r?.isFile())return hG(A);if(VG?.isFile())return hG(q);if(PG?.isFile())return hG(o);if(L.pathname.startsWith("/_stx/component/")){let W=decodeURIComponent(L.pathname.slice(16));if(W)try{let w=`<${W} />`,T={...buildConfig,autoShell:!1},z=await processDirectives(w,{},D.join(X,"components",`${W}.stx`),T,new Set);return new Response(z,{headers:{"Content-Type":"text/html"}})}catch(w){return new Response(`<div class="stx-async-error">${w.message}</div>`,{status:500,headers:{"Content-Type":"text/html"}})}}if(L.pathname==="/_stx/img"){let{handleImageRequest:W}=await import("./image-optimization/serve.js"),w=await W(J,{publicDir:D.join(X,N),cacheDir:D.join(X,".stx/cache/img")});if(w)return w}if(Q)try{let W=await Q.handleRequest(J);if(W.status!==404)return W}catch{}if(k[L.pathname])try{return await k[L.pathname](J)}catch(W){return new Response(JSON.stringify({error:W.message}),{status:500,headers:{"Content-Type":"application/json"}})}let p=pG(L.pathname,R);if(p){let W=H.get(p.route.pattern),w=E.has(p.route.pattern);if(p.route.isDynamic&&Object.keys(p.params).length>0||w){let T=await Y(p.route,p.params);if(T)W=T}if(W){let T=ZJ();if(T.validate){if(!await T.validate({params:p.params})){let t=await V(404);if(t){let P=t;if(P=await s(P,X),v)P=$G(P,_);return new Response(P,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})}}if(T.middleware){let g=KJ(L.pathname,p.params,T,L.search),t=VJ(g,null,J),P=await zJ(T.middleware,t);if(P.redirect){let e=P.redirect.path,KG=P.redirect.options.redirectCode||302,GG=new Headers(P.responseHeaders);return GG.set("Location",e),new Response(null,{status:KG,headers:GG})}if(P.abort){let{statusCode:e,message:KG}=P.abort.error;return new Response(`<!DOCTYPE html><html><head><title>Error ${e}</title></head><body><h1>Error ${e}</h1><p>${KG}</p></body></html>`,{status:e,headers:{"Content-Type":"text/html"}})}if(Object.keys(P.state).length>0){let e=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._ms=${JSON.stringify(P.state)};if(s.setMiddlewareState)s.setMiddlewareState(s._ms);})()</script>`;W.content=W.content.replace("</head>",`${e}</head>`)}}let z=W.content;if(F&&BJ(J)){let g=OJ(z),t=z.match(/<title[^>]*>([\s\S]*?)<\/title>/i),P=t?t[1].trim():"";if(Object.keys(p.params).length>0)z=CG(z,p.params);z=await s(z,X);let e=b?.router?.container||"main";return z=WJ(z,e),new Response(z,{headers:{"Content-Type":"text/html","X-STX-Fragment":"true","X-STX-Layout":g.layout,"X-STX-Layout-Group":g.group,...P&&{"X-STX-Title":encodeURIComponent(P)},"Cache-Control":"no-store, no-cache, must-revalidate"}})}if(F)z=RG(F,z);if(Object.keys(p.params).length>0)z=CG(z,p.params);if(z=await s(z,X),v)z=$G(z,_);if(B.native)if(z.includes("<head>"))z=z.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else z="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+z;if(B.titlebarHidden)if(z.includes("<head>"))z=z.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else z=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${z}`;if(W.boundaries&&W.boundaries.length>0){let{renderStreamingPage:g,streamToResponse:t}=await import("././streaming.js");return t(g(z,W.boundaries,{timeoutMs:30000}),{headers:{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}return new Response(z,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}if(Z.length>0){let W=Z.map((T)=>T.route),w=pG(L.pathname,W);if(w){let T=M.get(w.route.pattern);if(T){let z=T.content;if(F)z=RG(F,z);if(Object.keys(w.params).length>0)z=CG(z,w.params);if(z=await s(z,X),v)z=$G(z,_);return new Response(z,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}for(let{prefix:T}of $)if(T!=="/"&&L.pathname.startsWith(T)){let z=M.get(T)||M.get(T+"/");if(z){let g=z.content;if(F)g=RG(F,g);if(g=await s(g,X),v)g=$G(g,_);return new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}}let HG=H.get("/");if(HG){let W=HG.content;if(W=await s(W,X),v)W=$G(W,_);if(B.native)if(W.includes("<head>"))W=W.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else W="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+W;return new Response(W,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}let AG=await V(404);if(AG){let W=AG;if(W=await s(W,X),v)W=$G(W,_);return new Response(W,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})},async error(J){let L=await V(500);if(L)return new Response(L,{status:500,headers:{"Content-Type":"text/html"}});return new Response(`<pre>${J}
|
|
178
|
-
${J.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});if(console.clear(),console.log(`
|
|
179
|
-
${G.blue}stx${G.reset} ${G.green}${process.env.stx_VERSION||"v0.0.10"}${G.reset} ${G.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${G.reset}`),console.log(`
|
|
180
|
-
${G.bright}\u2192 ${G.cyan}http://localhost:${zG}/${G.reset}`),v)console.log(`${G.dim} HMR: ws://localhost:${_}${G.reset}`);console.log(`
|
|
181
|
-
${G.yellow}Routes:${G.reset}`);let gG=[...LJ(R,X)];for(let{route:J}of Z)gG.push(`${J.pattern}`);if(gG.forEach((J,L)=>{let A=L===gG.length-1?"\u2514\u2500 ":"\u251C\u2500 ";console.log(` ${G.green}${A}${G.reset}${J}`)}),console.log(`
|
|
182
|
-
Press ${G.cyan}h${G.reset} + ${G.cyan}Enter${G.reset} to show shortcuts`),NG(bG.url.toString(),()=>{if(j)EG();bG.stop()}),B.native){let J,L=D.join(l,"index.stx");if(a.existsSync(L)){let A=await Bun.file(L).text();J=DG(A)}let N=b?.app?.window??{};await wG(zG,{title:b?.app?.head?.title||D.basename(X)||"stx App",width:N.width,height:N.height,darkMode:N.darkMode,hotReload:N.hotReload,titlebarHidden:N.titlebarHidden??B.titlebarHidden===!0,nativeSidebar:!!J,sidebarConfig:J})}if(y){console.log(`${G.blue}Watching for changes...${G.reset}`);let J=(A)=>{return A.startsWith("public/")||A.startsWith("public\\")},L=(A)=>{let q=A.toLowerCase();return q.endsWith(".stx")||q.endsWith(".html")||q.endsWith(".md")},N=a.watch(X,{recursive:!0},async(A,q)=>{if(!q||TG(q))return;if(xG(q))if(J(q)){if(console.log(`${G.cyan}${q} changed${G.reset}`),v&&j)j.reload(q)}else if(L(q)){console.log(`${G.yellow}${q} changed, rebuilding...${G.reset}`),UG.clear(),LG();try{let{invalidateFileCache:o,templateCache:r}=await import("././caching.js");o(D.resolve(X,q)),r.delete(D.resolve(X,q))}catch{}if(U&&q){if(D.resolve(X,q)===U||D.basename(U)===q){let r=await cG(U,B.stxOptions||{});if(r)F=r}}if(await n(),await MG(X),v&&j)j.reload(q)}else{console.log(`${G.yellow}${q} changed, rebuilding...${G.reset}`),UG.clear(),LG();try{let{invalidateFileCache:o,templateCache:r}=await import("././caching.js");o(D.resolve(X,q)),r.delete(D.resolve(X,q))}catch{}if(await n(),v&&j)j.reload(q)}else if(vG(q)){if(console.log(`${G.cyan}CSS ${q} changed${G.reset}`),v&&j)j.updateCss(q)}});process.on("SIGINT",()=>{if(N.close(),j)EG();bG.stop(),process.exit(0)})}return!0}var cX={};var kG={name:"bun-plugin-stx",async setup(S){let I={...await EJ(),...S.config?.stx},y=new Set,v=I.webComponents?.enabled?`./${qG.relative(qG.dirname(S.config?.outdir||"dist"),I.webComponents.outputDir||"dist/web-components")}`:"/web-components",j=[];if(I.webComponents?.enabled)try{let _=await FJ(I,y);if(j.push(..._),I.debug&&_.length>0)console.log(`Successfully built ${_.length} web components`)}catch(_){console.error("Failed to build web components:",_)}S.onLoad({filter:/\.stx$/},async({path:_})=>{try{let X=new Set;if(I.cache&&I.cachePath){let Z=await HJ(_,I);if(Z){if(I.debug)console.log(`Using cached version of ${_}`);return{contents:Z,loader:"html"}}}let C=await aG(()=>Bun.file(_).text(),"",(Z)=>{throw new sG(`Failed to read stx file: ${_}`,_,void 0,void 0,`File read error: ${Z.message}`)});if(!C)throw new sG(`stx file is empty: ${_}`,_);let{scriptContent:b,templateContent:f,allScripts:h}=iG.time("script-extraction",()=>{let Z=C,M=C.match(/<template\b(?![^>]*(?:\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=|\s#[\w-]|\bv-slot|\bslot\s*=))[^>]*>([\s\S]*?)<\/template>/i);if(M)Z=M[1].trim();let F=C.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[],U="",K=[];for(let Q of F){let O=Q.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i)?.[1]||"",H=Q.match(/<script\b([^>]*)>/i),E=H?H[1]:"";if(/\bserver\b/i.test(E))U=O;else K.push(Q)}let k=Z.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"");return{scriptContent:U,templateContent:k,allScripts:K}}),l={__filename:_,__dirname:qG.dirname(_),__stx:{webComponentsPath:v,builtComponents:j}};await aG(()=>qJ(b,l,_),void 0,(Z)=>{let M=new lG(`Script execution failed in ${_}: ${Z.message}`,_,void 0,void 0,b.substring(0,100));if(nG.log(M,{filePath:_,scriptContent:b}),I.debug)throw M});let $=await iG.timeAsync("directive-processing",async()=>{return await MJ(f,l,_,I,X)});if(h.length>0){let{interpolateScriptsInTemplate:Z}=await import("././expressions.js"),M=Z(h.join(`
|
|
183
|
-
`),l),F=$.search(/<\/body>/i);if(F!==-1)$=$.slice(0,F)+M+`
|
|
184
|
-
`+$.slice(F);else $+=`
|
|
185
|
-
${M}`}if($=await jJ($),X.forEach((Z)=>y.add(Z)),I.cache&&I.cachePath){if(await AJ(_,$,X,I),I.debug)console.log(`Cached template ${_} with ${X.size} dependencies`)}return{contents:$,loader:"html"}}catch(X){let C=X instanceof Error?X:new lG(`Plugin processing failed: ${String(X)}`,_);if(nG.log(C,{filePath:_,buildConfig:S.config}),NJ.logDetailedError(C,{filePath:_,plugin:"bun-plugin-stx"}),I.debug)console.error("stx Plugin Error:",C);let b=C,f=b.line||null,h=b.context||null;return{contents:I.debug||IJ()?`<!DOCTYPE html>
|
|
186
|
-
<html lang="en">
|
|
187
|
-
<head>
|
|
188
|
-
<meta charset="UTF-8">
|
|
189
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
190
|
-
<title>stx Rendering Error</title>
|
|
191
|
-
<style>
|
|
192
|
-
body { font-family: system-ui, -apple-system, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; line-height: 1.6; }
|
|
193
|
-
.error-header { color: #dc3545; border-left: 4px solid #dc3545; padding-left: 16px; margin-bottom: 24px; }
|
|
194
|
-
.error-details { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: 16px; margin: 16px 0; }
|
|
195
|
-
.error-code { background: #2d3748; color: #e2e8f0; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: 'Monaco', 'Menlo', monospace; font-size: 14px; }
|
|
196
|
-
.help-section { background: #e3f2fd; border-left: 4px solid #2196f3; padding: 16px; margin-top: 24px; }
|
|
197
|
-
.file-path { font-family: monospace; background: #f1f3f4; padding: 2px 6px; border-radius: 4px; }
|
|
198
|
-
</style>
|
|
199
|
-
</head>
|
|
200
|
-
<body>
|
|
201
|
-
<div class="error-header">
|
|
202
|
-
<h1>stx Template Error</h1>
|
|
203
|
-
<p>An error occurred while processing your stx template.</p>
|
|
204
|
-
</div>
|
|
205
|
-
|
|
206
|
-
<div class="error-details">
|
|
207
|
-
<h3>Error Details</h3>
|
|
208
|
-
<p><strong>File:</strong> <span class="file-path">${BG(_)}</span></p>
|
|
209
|
-
<p><strong>Error:</strong> ${BG(C.message)}</p>
|
|
210
|
-
${f?`<p><strong>Line:</strong> ${BG(String(f))}</p>`:""}
|
|
211
|
-
${h?`<p><strong>Context:</strong> ${BG(String(h))}</p>`:""}
|
|
212
|
-
</div>
|
|
213
|
-
|
|
214
|
-
${C.stack?`
|
|
215
|
-
<div class="error-details">
|
|
216
|
-
<h3>Stack Trace</h3>
|
|
217
|
-
<pre class="error-code">${BG(C.stack)}</pre>
|
|
218
|
-
</div>`:""}
|
|
219
|
-
|
|
220
|
-
<div class="help-section">
|
|
221
|
-
<h3>Troubleshooting Tips</h3>
|
|
222
|
-
<ul>
|
|
223
|
-
<li>Check the syntax of your stx directives (e.g., @if, @foreach)</li>
|
|
224
|
-
<li>Verify that all variables used in the template are properly defined</li>
|
|
225
|
-
<li>Ensure script tags have valid JavaScript/TypeScript syntax</li>
|
|
226
|
-
<li>Run <code>stx debug ${BG(qG.basename(_))}</code> for detailed analysis</li>
|
|
227
|
-
<li>Enable debug mode in your stx config for more detailed error messages</li>
|
|
228
|
-
</ul>
|
|
229
|
-
</div>
|
|
230
|
-
</body>
|
|
231
|
-
</html>`:`<!DOCTYPE html>
|
|
232
|
-
<html lang="en">
|
|
233
|
-
<head>
|
|
234
|
-
<meta charset="UTF-8">
|
|
235
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
236
|
-
<title>Error</title>
|
|
237
|
-
<style>
|
|
238
|
-
body { font-family: system-ui, -apple-system, sans-serif; max-width: 600px; margin: 80px auto; padding: 20px; text-align: center; color: #333; }
|
|
239
|
-
</style>
|
|
240
|
-
</head>
|
|
241
|
-
<body>
|
|
242
|
-
<h1>Something went wrong</h1>
|
|
243
|
-
<p>An internal error occurred. Please try again later.</p>
|
|
244
|
-
</body>
|
|
245
|
-
</html>`,loader:"html"}}})}},t0=kG;
|
|
246
|
-
export{kG as pf,t0 as qf,xJ as rf,XJ as sf,SJ as tf,yJ as uf,cX as vf};
|
package/dist/chunk-xqq1vxb6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
// @bun
|
package/dist/chunk-yywfvfph.js
DELETED