diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd81fcb801c..41979214344 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,11 +155,6 @@ jobs: path: packages/eslint-plugin-qwik/dist/ if-no-files-found: error - - name: Publish packages for testing - run: pnpm dlx pkg-pr-new@0.0.8 publish --compact --pnpm ./packages/qwik/dist ./packages/qwik-city/lib ./packages/eslint-plugin-qwik/dist ./packages/create-qwik/dist - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ############ BUILD WASM ############# build-wasm: name: Build WASM @@ -398,6 +393,7 @@ jobs: build-distribution: name: Build Distribution runs-on: ubuntu-latest + if: ${{ needs.changes.outputs.fullbuild == 'true' }} needs: - build-package @@ -409,14 +405,11 @@ jobs: steps: - name: Checkout - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/checkout@v4.1.1 - uses: pnpm/action-setup@v4 - if: ${{ needs.changes.outputs.fullbuild == 'true' }} - name: Setup Node - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/setup-node@v4.0.2 with: node-version: 20.x @@ -424,41 +417,32 @@ jobs: registry-url: https://registry.npmjs.org/ - run: corepack enable - if: ${{ needs.changes.outputs.fullbuild == 'true' }} - name: Install NPM Dependencies - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: | # Ensure that the qwik binary gets made mkdir -p packages/qwik/dist/bindings/ pnpm install --frozen-lockfile - name: Download Build Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/download-artifact@v4.1.2 - name: Print Distribution Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: tree dist-dev-builder-io-qwik/ - name: Move Distribution Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: mv dist-dev-builder-io-qwik/* packages/qwik/dist/ - name: Print Bindings Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: tree dist-bindings-*/ - name: Move Binding Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: mv dist-bindings-*/* packages/qwik/dist/bindings/ - name: Print Packages Dist Build - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: tree packages/qwik/dist/ - name: Upload Qwik Distribution Artifact - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/upload-artifact@v4.3.1 with: name: builderio-qwik-distribution @@ -466,15 +450,12 @@ jobs: if-no-files-found: error - name: Build QwikCity / QwikLabs - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: pnpm tsm scripts/index.ts --tsc --qwikcity --qwiklabs --api --eslint - name: Print QwikCity Lib Build - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: tree packages/qwik-city/lib/ - name: Upload QwikCity Build Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/upload-artifact@v4.3.1 with: name: builderio-qwikcity-distribution @@ -482,11 +463,9 @@ jobs: if-no-files-found: error - name: Print QwikLabs Lib Build - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: tree packages/qwik-labs/lib/ packages/qwik-labs/vite/ - name: Upload QwikLabs Build Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/upload-artifact@v4.3.1 with: name: builderio-qwiklabs-distribution @@ -563,6 +542,12 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish packages for testing + if: ${{ github.event_name != 'workflow_dispatch' }} + run: pnpm dlx pkg-pr-new@^0.0.9 publish --compact --pnpm ./packages/qwik/dist ./packages/qwik-city/lib ./packages/eslint-plugin-qwik/dist ./packages/create-qwik/dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Publish if: ${{ github.event_name == 'workflow_dispatch' }} run: pnpm tsm scripts/index.ts --set-dist-tag="${{ github.event.inputs.disttag }}" --validate --release @@ -576,6 +561,7 @@ jobs: needs: - build-distribution - changes + if: ${{ needs.changes.outputs.fullbuild == 'true' }} strategy: matrix: @@ -591,30 +577,24 @@ jobs: steps: - name: Checkout - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/checkout@v4.1.1 - uses: pnpm/action-setup@v4 - if: ${{ needs.changes.outputs.fullbuild == 'true' }} - name: Setup Node ${{ matrix.settings.node }} - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/setup-node@v4.0.2 with: node-version: ${{ matrix.settings.node }} cache: 'pnpm' registry-url: https://registry.npmjs.org/ - - if: ${{ needs.changes.outputs.fullbuild == 'true' }} - run: corepack enable + - run: corepack enable shell: bash - name: Download Build Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} uses: actions/download-artifact@v4.1.2 - name: Move Distribution Artifacts - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: | mkdir -p packages/qwik/dist/ mv builderio-qwik-distribution/* packages/qwik/dist/ @@ -626,22 +606,18 @@ jobs: mv dist-dev-eslint-plugin-qwik/* packages/eslint-plugin-qwik/dist/ - name: Install NPM Dependencies - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: | # Ensure that the qwik binary gets made mkdir -p packages/qwik/dist/bindings/ pnpm install --frozen-lockfile - name: Install Playwright - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: npx playwright install ${{ matrix.settings.browser }} --with-deps - name: Playwright E2E Tests - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: pnpm run test.e2e.${{ matrix.settings.browser }} --timeout 60000 --retries 3 --workers 1 - name: Validate Create Qwik Cli - if: ${{ needs.changes.outputs.fullbuild == 'true' }} run: pnpm cli.validate ############ UNIT TEST ############ diff --git a/packages/docs/src/routes/api/qwik/api.json b/packages/docs/src/routes/api/qwik/api.json index 700e7eb1c33..1c5bd0edf86 100644 --- a/packages/docs/src/routes/api/qwik/api.json +++ b/packages/docs/src/routes/api/qwik/api.json @@ -1760,7 +1760,7 @@ } ], "kind": "Function", - "content": "> This API is provided as an alpha preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.\n> \n\nLoad the prefetch graph for the container.\n\nEach Qwik container needs to include its own prefetch graph.\n\n\n```typescript\nPrefetchGraph: (opts?: {\n base?: string;\n manifestHash?: string;\n manifestURL?: string;\n nonce?: string;\n}) => JSXNode<\"script\">\n```\n\n\n\n\n
\n\nParameter\n\n\n\n\nType\n\n\n\n\nDescription\n\n\n
\n\nopts\n\n\n\n\n{ base?: string; manifestHash?: string; manifestURL?: string; nonce?: string; }\n\n\n\n\n_(Optional)_ Options for the loading prefetch graph.\n\n- `base` - Base of the graph. For a default installation this will default to `/build/`. But if more than one MFE is installed on the page, then each MFE needs to have its own base. - `manifestHash` - Hash of the manifest file to load. If not provided the hash will be extracted from the container attribute `q:manifest-hash` and assume the default build file `${base}/q-bundle-graph-${manifestHash}.json`. - `manifestURL` - URL of the manifest file to load if non-standard bundle graph location name.\n\n\n
\n**Returns:**\n\nJSXNode<\"script\">", + "content": "> This API is provided as an alpha preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.\n> \n\nLoad the prefetch graph for the container.\n\nEach Qwik container needs to include its own prefetch graph.\n\n\n```typescript\nPrefetchGraph: (opts?: {\n base?: string;\n manifestHash?: string;\n manifestURL?: string;\n nonce?: string;\n}) => JSXNode<\"script\">\n```\n\n\n\n\n
\n\nParameter\n\n\n\n\nType\n\n\n\n\nDescription\n\n\n
\n\nopts\n\n\n\n\n{ base?: string; manifestHash?: string; manifestURL?: string; nonce?: string; }\n\n\n\n\n_(Optional)_ Options for the loading prefetch graph.\n\n- `base` - Base of the graph. For a default installation this will default to the q:base value `/build/`. But if more than one MFE is installed on the page, then each MFE needs to have its own base. - `manifestHash` - Hash of the manifest file to load. If not provided the hash will be extracted from the container attribute `q:manifest-hash` and assume the default build file `${base}/q-bundle-graph-${manifestHash}.json`. - `manifestURL` - URL of the manifest file to load if non-standard bundle graph location name.\n\n\n
\n**Returns:**\n\n[JSXNode](#jsxnode)<\"script\">", "editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik/src/core/components/prefetch.ts", "mdFile": "qwik.prefetchgraph.md" }, diff --git a/packages/docs/src/routes/api/qwik/index.md b/packages/docs/src/routes/api/qwik/index.md index 9c793355cb5..8dda3034dd5 100644 --- a/packages/docs/src/routes/api/qwik/index.md +++ b/packages/docs/src/routes/api/qwik/index.md @@ -3619,7 +3619,7 @@ opts _(Optional)_ Options for the loading prefetch graph. -- `base` - Base of the graph. For a default installation this will default to `/build/`. But if more than one MFE is installed on the page, then each MFE needs to have its own base. - `manifestHash` - Hash of the manifest file to load. If not provided the hash will be extracted from the container attribute `q:manifest-hash` and assume the default build file `${base}/q-bundle-graph-${manifestHash}.json`. - `manifestURL` - URL of the manifest file to load if non-standard bundle graph location name. +- `base` - Base of the graph. For a default installation this will default to the q:base value `/build/`. But if more than one MFE is installed on the page, then each MFE needs to have its own base. - `manifestHash` - Hash of the manifest file to load. If not provided the hash will be extracted from the container attribute `q:manifest-hash` and assume the default build file `${base}/q-bundle-graph-${manifestHash}.json`. - `manifestURL` - URL of the manifest file to load if non-standard bundle graph location name. diff --git a/packages/qwik/src/core/platform/platform.ts b/packages/qwik/src/core/platform/platform.ts index 595b00f89d8..97f2dbb67af 100644 --- a/packages/qwik/src/core/platform/platform.ts +++ b/packages/qwik/src/core/platform/platform.ts @@ -25,7 +25,6 @@ export const createPlatform = (): CorePlatform => { const urlDoc = toUrl(containerEl.ownerDocument, containerEl, url).toString(); const urlCopy = new URL(urlDoc); urlCopy.hash = ''; - urlCopy.search = ''; const importURL = urlCopy.href; return import(/* @vite-ignore */ importURL).then((mod) => { return mod[symbolName]; diff --git a/packages/qwik/src/core/qrl/qrl.unit.ts b/packages/qwik/src/core/qrl/qrl.unit.ts index 427162e66e1..e301d572978 100644 --- a/packages/qwik/src/core/qrl/qrl.unit.ts +++ b/packages/qwik/src/core/qrl/qrl.unit.ts @@ -86,6 +86,16 @@ describe('serialization', () => { $symbol$: 'symbol', $capture$: ['2'], }); + matchProps( + parseQRL( + '/src/path%2d/foo_symbol.js?_qrl_parent=/home/user/project/src/path/foo.js#symbol[2]' + ), + { + $chunk$: '/src/path%2d/foo_symbol.js?_qrl_parent=/home/user/project/src/path/foo.js', + $symbol$: 'symbol', + $capture$: ['2'], + } + ); }); test('serialize qrls', () => { diff --git a/packages/qwik/src/optimizer/core/src/entry_strategy.rs b/packages/qwik/src/optimizer/core/src/entry_strategy.rs index b2a39b0e44a..96780ec839a 100644 --- a/packages/qwik/src/optimizer/core/src/entry_strategy.rs +++ b/packages/qwik/src/optimizer/core/src/entry_strategy.rs @@ -1,6 +1,5 @@ use crate::transform::HookData; -use crate::{parse::PathData, transform::HookKind}; -use path_slash::PathBufExt; +use crate::transform::HookKind; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use swc_atoms::JsWord; @@ -27,7 +26,6 @@ pub trait EntryPolicy: Send + Sync { fn get_entry_for_sym( &self, hash: &str, - location: &PathData, context: &[String], hook_data: &HookData, ) -> Option; @@ -40,7 +38,6 @@ impl EntryPolicy for InlineStrategy { fn get_entry_for_sym( &self, _hash: &str, - _path: &PathData, _context: &[String], _hook_data: &HookData, ) -> Option { @@ -63,7 +60,6 @@ impl EntryPolicy for SingleStrategy { fn get_entry_for_sym( &self, hash: &str, - _path: &PathData, _context: &[String], _hook_data: &HookData, ) -> Option { @@ -92,7 +88,6 @@ impl EntryPolicy for PerHookStrategy { fn get_entry_for_sym( &self, hash: &str, - _path: &PathData, _context: &[String], _hook_data: &HookData, ) -> Option { @@ -121,9 +116,8 @@ impl EntryPolicy for PerComponentStrategy { fn get_entry_for_sym( &self, hash: &str, - _path: &PathData, context: &[String], - _hook_data: &HookData, + hook_data: &HookData, ) -> Option { if let Some(map) = &self.map { let entry = map.get(hash); @@ -133,15 +127,7 @@ impl EntryPolicy for PerComponentStrategy { } context.first().map_or_else( || Some(ENTRY_HOOKS.clone()), - |root| { - Some(JsWord::from( - _path - .rel_dir - .join(["entry_", root].concat()) - .to_slash_lossy() - .as_ref(), - )) - }, + |root| Some(JsWord::from([&hook_data.origin, "_entry_", root].concat())), ) } } @@ -160,7 +146,6 @@ impl EntryPolicy for SmartStrategy { fn get_entry_for_sym( &self, hash: &str, - _path: &PathData, context: &[String], hook_data: &HookData, ) -> Option { @@ -181,16 +166,10 @@ impl EntryPolicy for SmartStrategy { // This means that all QRLs for a component are loaded together // if one is used context.first().map_or_else( + // Top-level QRLs are put into a separate file || None, - |root| { - Some(JsWord::from( - _path - .rel_dir - .join(["entry_", root].concat()) - .to_slash_lossy() - .as_ref(), - )) - }, + // Other QRLs are put into a file named after the original file + the root component + |root| Some(JsWord::from([&hook_data.origin, "_entry_", root].concat())), ) } } diff --git a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_default_export.snap b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_default_export.snap index d8e32f5fa25..b8e888c57d1 100644 --- a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_default_export.snap +++ b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_default_export.snap @@ -21,10 +21,10 @@ export default component$(() => { import { componentQrl } from "@builder.io/qwik"; import { qrl } from "@builder.io/qwik"; -export default /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../../src/routes/_repl/[id]/entry_[[...slug]].js"), "slug_component_0AM8HPnkNs4")); +export default /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../../src/routes/_repl/[id]/[[...slug]].tsx_entry_[[...slug]].js"), "slug_component_0AM8HPnkNs4")); -Some("{\"version\":3,\"sources\":[\"/user/qwik/src/src/routes/_repl/[id]/[[...slug]].tsx\"],\"names\":[],\"mappings\":\";;AAIA,6BAAe,oIAKZ\"}") +Some("{\"version\":3,\"sources\":[\"/user/qwik/src/src/routes/_repl/[id]/[[...slug]].tsx\"],\"names\":[],\"mappings\":\";;AAIA,6BAAe,oJAKZ\"}") ============================= src/routes/_repl/[id]/slug_component_div_onclick_xevvy0qc7pa.js (ENTRY POINT)== import { sibling } from "./sibling"; @@ -68,7 +68,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/src/routes/_repl/[id]/[[...sl { "origin": "src/routes/_repl/[id]/[[...slug]].tsx", "name": "slug_component_0AM8HPnkNs4", - "entry": "src/routes/_repl/[id]/entry_[[...slug]]", + "entry": "src/routes/_repl/[id]/[[...slug]].tsx_entry_[[...slug]]", "displayName": "slug_component", "hash": "0AM8HPnkNs4", "canonicalFilename": "slug_component_0am8hpnkns4", @@ -84,7 +84,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/src/routes/_repl/[id]/[[...sl ] } */ -============================= src/routes/_repl/[id]/entry_[[...slug]].js (ENTRY POINT)== +============================= src/routes/_repl/[id]/[[...slug]].tsx_entry_[[...slug]].js (ENTRY POINT)== export { slug_component_0AM8HPnkNs4 } from "./slug_component_0am8hpnkns4.js"; diff --git a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_manual_chunks.snap b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_manual_chunks.snap index 5e0a6e03cfc..0e5a7a43bed 100644 --- a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_manual_chunks.snap +++ b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_manual_chunks.snap @@ -62,7 +62,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Parent_component_useTask_gDH1EtUWqBU", - "entry": "entry_Parent", + "entry": "test.tsx_entry_Parent", "displayName": "Parent_component_useTask", "hash": "gDH1EtUWqBU", "canonicalFilename": "parent_component_usetask_gdh1etuwqbu", @@ -82,11 +82,11 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma import { componentQrl } from "@builder.io/qwik"; import { qrl } from "@builder.io/qwik"; -export const Parent = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./entry_Parent"), "Parent_component_0TaiDayHrlo")); -export const Child = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./entry_Child"), "Child_component_9GyF01GDKqw")); +export const Parent = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Parent"), "Parent_component_0TaiDayHrlo")); +export const Child = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Child"), "Child_component_9GyF01GDKqw")); -Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;AAKA,OAAO,MAAM,uBAAS,8FAgBnB;AAEH,OAAO,MAAM,sBAAQ,4FAelB\"}") +Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;AAKA,OAAO,MAAM,uBAAS,uGAgBnB;AAEH,OAAO,MAAM,sBAAQ,qGAelB\"}") ============================= child_component_usetask_oh4n7zeqjku.js == import { useLexicalScope } from "@builder.io/qwik"; @@ -102,7 +102,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Child_component_useTask_Oh4n7ZeqJkU", - "entry": "entry_Child", + "entry": "test.tsx_entry_Child", "displayName": "Child_component_useTask", "hash": "Oh4n7ZeqJkU", "canonicalFilename": "child_component_usetask_oh4n7zeqjku", @@ -130,7 +130,7 @@ export const Parent_component_0TaiDayHrlo = ()=>{ text: '' }); // Double count watch - useTaskQrl(/*#__PURE__*/ qrl(()=>import("./entry_Parent"), "Parent_component_useTask_gDH1EtUWqBU", [ + useTaskQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Parent"), "Parent_component_useTask_gDH1EtUWqBU", [ state ])); return /*#__PURE__*/ _jsxQ("div", null, { @@ -146,7 +146,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Parent_component_0TaiDayHrlo", - "entry": "entry_Parent", + "entry": "test.tsx_entry_Parent", "displayName": "Parent_component", "hash": "0TaiDayHrlo", "canonicalFilename": "parent_component_0taidayhrlo", @@ -200,7 +200,7 @@ export const Child_component_9GyF01GDKqw = ()=>{ text: '' }); // Double count watch - useTaskQrl(/*#__PURE__*/ qrl(()=>import("./entry_Child"), "Child_component_useTask_Oh4n7ZeqJkU", [ + useTaskQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Child"), "Child_component_useTask_Oh4n7ZeqJkU", [ state ])); return /*#__PURE__*/ _jsxQ("div", null, { @@ -216,7 +216,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Child_component_9GyF01GDKqw", - "entry": "entry_Child", + "entry": "test.tsx_entry_Child", "displayName": "Child_component", "hash": "9GyF01GDKqw", "canonicalFilename": "child_component_9gyf01gdkqw", @@ -258,7 +258,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma ] } */ -============================= entry_Child.js (ENTRY POINT)== +============================= test.tsx_entry_Child.js (ENTRY POINT)== export { Child_component_useTask_Oh4n7ZeqJkU } from "./child_component_usetask_oh4n7zeqjku"; export { Child_component_9GyF01GDKqw } from "./child_component_9gyf01gdkqw"; @@ -266,7 +266,7 @@ export { _hW } from "@builder.io/qwik"; None -============================= entry_Parent.js (ENTRY POINT)== +============================= test.tsx_entry_Parent.js (ENTRY POINT)== export { Parent_component_useTask_gDH1EtUWqBU } from "./parent_component_usetask_gdh1etuwqbu"; export { Parent_component_0TaiDayHrlo } from "./parent_component_0taidayhrlo"; diff --git a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_qwik_sdk_inline.snap b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_qwik_sdk_inline.snap index c16f37951ab..cdb0b0d01d9 100644 --- a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_qwik_sdk_inline.snap +++ b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_qwik_sdk_inline.snap @@ -1147,7 +1147,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_AKetNByE5TM", - "entry": "../node_modules/@builder.io/qwik-city/entry_RouterOutlet", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_RouterOutlet", "displayName": "RouterOutlet_component", "hash": "AKetNByE5TM", "canonicalFilename": "s_aketnbye5tm", @@ -1173,7 +1173,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_RPDJAz33WLA", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider", "displayName": "QwikCityProvider_component_useStyles", "hash": "RPDJAz33WLA", "canonicalFilename": "s_rpdjaz33wla", @@ -1222,7 +1222,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_cBcjROynRVg", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider", "displayName": "QwikCityProvider_component_goto_event", "hash": "cBcjROynRVg", "canonicalFilename": "s_cbcjroynrvg", @@ -1328,7 +1328,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_02wMImzEAbk", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider", "displayName": "QwikCityProvider_component_useTask", "hash": "02wMImzEAbk", "canonicalFilename": "s_02wmimzeabk", @@ -1368,7 +1368,7 @@ import { useStore } from "@builder.io/qwik"; import { useStylesQrl } from "@builder.io/qwik"; import { useTaskQrl } from "@builder.io/qwik"; export const s_TxCFOy819ag = (props)=>{ - useStylesQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityProvider.mjs"), "s_RPDJAz33WLA")); + useStylesQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider.mjs"), "s_RPDJAz33WLA")); const env = useQwikCityEnv(); if (!env?.params) throw new Error(`Missing Qwik City Env Data`); const urlEnv = useServerData('url'); @@ -1401,7 +1401,7 @@ export const s_TxCFOy819ag = (props)=>{ status: env.response.status } } : void 0); - const goto = eventQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityProvider.mjs"), "s_cBcjROynRVg", [ + const goto = eventQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider.mjs"), "s_cBcjROynRVg", [ actionState, navPath, routeLocation @@ -1413,7 +1413,7 @@ export const s_TxCFOy819ag = (props)=>{ useContextProvider(RouteNavigateContext, goto); useContextProvider(RouteStateContext, loaderState); useContextProvider(RouteActionContext, actionState); - useTaskQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityProvider.mjs"), "s_02wMImzEAbk", [ + useTaskQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider.mjs"), "s_02wMImzEAbk", [ actionState, content, contentInternal, @@ -1434,7 +1434,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_TxCFOy819ag", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider", "displayName": "QwikCityProvider_component", "hash": "TxCFOy819ag", "canonicalFilename": "s_txcfoy819ag", @@ -1462,7 +1462,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_BUbtvTyvVRE", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityMockProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityMockProvider", "displayName": "QwikCityMockProvider_component_goto", "hash": "BUbtvTyvVRE", "canonicalFilename": "s_bubtvtyvvre", @@ -1504,7 +1504,7 @@ export const s_WmYC5H00wtI = (props)=>{ deep: false }); const loaderState = useSignal({}); - const goto = /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityMockProvider.mjs"), "s_BUbtvTyvVRE"); + const goto = /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityMockProvider.mjs"), "s_BUbtvTyvVRE"); const documentHead = useStore(createDocumentHead, { deep: false }); @@ -1530,7 +1530,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_WmYC5H00wtI", - "entry": "../node_modules/@builder.io/qwik-city/entry_QwikCityMockProvider", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityMockProvider", "displayName": "QwikCityMockProvider_component", "hash": "WmYC5H00wtI", "canonicalFilename": "s_wmyc5h00wti", @@ -1587,7 +1587,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_kzjavhDI3L0", - "entry": "../node_modules/@builder.io/qwik-city/entry_Link", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_Link", "displayName": "Link_component_a_onClick", "hash": "kzjavhDI3L0", "canonicalFilename": "s_kzjavhdi3l0", @@ -1631,7 +1631,7 @@ export const s_8gdLBszqbaM = (props)=>{ ...linkProps, 'data-prefetch': prefetchDataset, children: /* @__PURE__ */ _jsxC(Slot, null, 3, 'AD_0'), - onClick$: /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_Link.mjs"), "s_kzjavhDI3L0", [ + onClick$: /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_Link.mjs"), "s_kzjavhDI3L0", [ nav, reload ]), @@ -1647,7 +1647,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_8gdLBszqbaM", - "entry": "../node_modules/@builder.io/qwik-city/entry_Link", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_Link", "displayName": "Link_component", "hash": "8gdLBszqbaM", "canonicalFilename": "s_8gdlbszqbam", @@ -1720,7 +1720,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_A5bZC7WO00A", - "entry": "../node_modules/@builder.io/qwik-city/entry_routeActionQrl", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_routeActionQrl", "displayName": "routeActionQrl_action_submit", "hash": "A5bZC7WO00A", "canonicalFilename": "s_a5bzc7wo00a", @@ -1793,7 +1793,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_wOIPfiQ04l4", - "entry": "../node_modules/@builder.io/qwik-city/entry_serverQrl", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_serverQrl", "displayName": "serverQrl_stuff", "hash": "wOIPfiQ04l4", "canonicalFilename": "s_woipfiq04l4", @@ -1838,7 +1838,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_p9MSze0ojs4", - "entry": "../node_modules/@builder.io/qwik-city/entry_GetForm", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_GetForm", "displayName": "GetForm_component_form_onSubmit", "hash": "p9MSze0ojs4", "canonicalFilename": "s_p9msze0ojs4", @@ -1874,7 +1874,7 @@ export const s_Nk9PlpjQm9Y = (props)=>{ return /* @__PURE__ */ _jsxS('form', { ...rest, children: /* @__PURE__ */ _jsxC(Slot, null, 3, 'BC_0'), - onSubmit$: /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_GetForm.mjs"), "s_p9MSze0ojs4", [ + onSubmit$: /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_GetForm.mjs"), "s_p9MSze0ojs4", [ nav ]) }, { @@ -1894,7 +1894,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-cit { "origin": "../node_modules/@builder.io/qwik-city/index.qwik.mjs", "name": "s_Nk9PlpjQm9Y", - "entry": "../node_modules/@builder.io/qwik-city/entry_GetForm", + "entry": "../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_GetForm", "displayName": "GetForm_component", "hash": "Nk9PlpjQm9Y", "canonicalFilename": "s_nk9plpjqm9y", @@ -1925,7 +1925,7 @@ const DocumentHeadContext = /* @__PURE__ */ createContextId('qc-h'); const RouteLocationContext = /* @__PURE__ */ createContextId('qc-l'); const RouteNavigateContext = /* @__PURE__ */ createContextId('qc-n'); const RouteActionContext = /* @__PURE__ */ createContextId('qc-a'); -const RouterOutlet = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_RouterOutlet.mjs"), "s_AKetNByE5TM")); +const RouterOutlet = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_RouterOutlet.mjs"), "s_AKetNByE5TM")); const MODULE_CACHE = /* @__PURE__ */ new WeakMap(); const CLIENT_DATA_CACHE = /* @__PURE__ */ new Map(); const QACTION_KEY = 'qaction'; @@ -2192,9 +2192,9 @@ const useLocation = ()=>useContext(RouteLocationContext); const useNavigate = ()=>useContext(RouteNavigateContext); const useAction = ()=>useContext(RouteActionContext); const useQwikCityEnv = ()=>noSerialize(useServerData('qwikcity')); -const QwikCityProvider = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityProvider.mjs"), "s_TxCFOy819ag")); -const QwikCityMockProvider = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_QwikCityMockProvider.mjs"), "s_WmYC5H00wtI")); -const Link = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_Link.mjs"), "s_8gdLBszqbaM")); +const QwikCityProvider = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider.mjs"), "s_TxCFOy819ag")); +const QwikCityMockProvider = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityMockProvider.mjs"), "s_WmYC5H00wtI")); +const Link = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_Link.mjs"), "s_8gdLBszqbaM")); const prefetchLinkResources = (elm, isOnVisible)=>{ if (elm && elm.href && elm.hasAttribute('data-prefetch')) { if (!windowInnerWidth) windowInnerWidth = innerWidth; @@ -2232,7 +2232,7 @@ const routeActionQrl = (actionQrl, ...rest)=>{ } return initialState; }); - const submit = /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_routeActionQrl.mjs"), "s_A5bZC7WO00A", [ + const submit = /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_routeActionQrl.mjs"), "s_A5bZC7WO00A", [ currentAction, id, loc, @@ -2315,7 +2315,7 @@ const serverQrl = (qrl1)=>{ if (captured && captured.length > 0 && !_getContextElement()) throw new Error('For security reasons, we cannot serialize QRLs that capture lexical scope.'); } function stuff() { - return /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_serverQrl.mjs"), "s_wOIPfiQ04l4", [ + return /*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_serverQrl.mjs"), "s_wOIPfiQ04l4", [ qrl1 ]); } @@ -2415,7 +2415,7 @@ const Form = ({ action , spaReset , reloadDocument , onSubmit$ , ...rest }, key) ...rest }, 0, key); }; -const GetForm = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/entry_GetForm.mjs"), "s_Nk9PlpjQm9Y")); +const GetForm = /* @__PURE__ */ componentQrl(/*#__PURE__*/ qrl(()=>import("../../../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_GetForm.mjs"), "s_Nk9PlpjQm9Y")); export { Form, Link, QwikCityMockProvider, QwikCityProvider, RouterOutlet, ServiceWorkerRegister, globalAction$, globalActionQrl, routeAction$, routeActionQrl, routeLoader$, routeLoaderQrl, server$, serverQrl, useContent, useDocumentHead, useLocation, useNavigate, validator$, validatorQrl, z2 as z, zod$, zodQrl }; export { CLIENT_DATA_CACHE as _auto_CLIENT_DATA_CACHE }; export { ContentContext as _auto_ContentContext }; @@ -2441,28 +2441,28 @@ export { useQwikCityEnv as _auto_useQwikCityEnv }; Some("{\"version\":3,\"sources\":[\"/user/qwik/node_modules/@builder.io/qwik-city/index.qwik.mjs\"],\"names\":[],\"mappings\":\";AAAA,SACE,eAAe,EACf,YAAY,EAEZ,UAAU,EAGV,UAAU,EACV,KAAK,EAEL,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EAEb,QAAQ,EAIR,kBAAkB,EAMlB,KAAK,EACL,KAAK,EACL,WAAW,EACX,iBAAiB,QAIZ,mBAAmB;AAC1B,SAAoB,QAAQ,EAAE,KAAK,QAAQ,yBAAyB;AAEpE,OAAO,gBAAgB,yBAAyB;AAChD,SAAS,CAAC,QAAQ,MAAM;AACxB,SAAS,KAAK,EAAE,QAAQ,MAAM;AAC9B,MAAM,oBAAoB,aAAa,GAAG,gBAAgB;AAC1D,MAAM,iBAAiB,aAAa,GAAG,gBAAgB;AACvD,MAAM,yBAAyB,aAAa,GAAG,gBAAgB;AAC/D,MAAM,sBAAsB,aAAa,GAAG,gBAAgB;AAC5D,MAAM,uBAAuB,aAAa,GAAG,gBAAgB;AAC7D,MAAM,uBAAuB,aAAa,GAAG,gBAAgB;AAC7D,MAAM,qBAAqB,aAAa,GAAG,gBAAgB;AAC3D,MAAM,eAAe,aAAa,GAAG;AAsCrC,MAAM,eAAe,aAAa,GAAG,IAAI;AACzC,MAAM,oBAAoB,aAAa,GAAG,IAAI;AAC9C,MAAM,cAAc;AACpB,MAAM,SAAS,CAAC,MAAQ,IAAI,QAAQ,GAAG,IAAI,MAAM,GAAG,IAAI,IAAI;AAC5D,MAAM,QAAQ,CAAC,KAAK,UAAY,IAAI,IAAI,KAAK,QAAQ,IAAI;AACzD,MAAM,eAAe,CAAC,GAAG,IAAM,EAAE,MAAM,KAAK,EAAE,MAAM;AACpD,MAAM,aAAa,CAAC,GAAG,IAAM,EAAE,QAAQ,GAAG,EAAE,MAAM,KAAK,EAAE,QAAQ,GAAG,EAAE,MAAM;AAC5E,MAAM,iBAAiB,CAAC,GAAG,IAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAC1D,MAAM,gCAAgC,CAAC,GAAG,IAAM,aAAa,GAAG,MAAM,CAAC,WAAW,GAAG;AACrF,MAAM,oBAAoB,CAAC,UAAU,YAAY,SAAW;IAC1D,IAAI,SAAS,cAAc;IAC3B,IAAI,QAAQ,UAAU,AAAC,CAAA,SAAS,MAAM,GAAG,AAAD,IAAK,cAAc,MAAM,mBAAmB,OAAO,EAAE;IAC7F,OAAO,WAAY,CAAA,SAAS,QAAQ,CAAC,OAAO,KAAK,GAAG,AAAD,IAAK,gBAAgB;AAC1E;AACA,MAAM,mBAAmB,CAAC,OAAO,UAAY;IAC3C,MAAM,OAAO,MAAM,IAAI;IACvB,IAAI,OAAO,SAAS,YAAY,KAAK,IAAI,OAAO,MAAM,OAAO,MAAM,MAAM,KAAK,UAC5E,IAAI;QACF,MAAM,UAAU,MAAM,MAAM,QAAQ,GAAG;QACvC,MAAM,aAAa,MAAM,IAAI,QAAQ,GAAG;QACxC,IAAI,aAAa,SAAS,aAAa,OAAO,OAAO;IACvD,EAAE,OAAO,GAAG;QACV,QAAQ,KAAK,CAAC;IAChB;SACG,IAAI,MAAM,MAAM,EAAE,OAAO,OAAO,MAAM,IAAI,QAAQ,GAAG;IAC1D,OAAO,IAAI;AACb;AACA,MAAM,qBAAqB,CAAC,OAAO,eAAe,aAAe;IAC/D,IAAI,MAAM,QAAQ,KAAK,IAAI,IAAI,eAAe;QAC5C,MAAM,cAAc,MAAM,eAAe,WAAW,GAAG;QACvD,IAAI,CAAC,eAAe,aAAa,MAAM,IAAI,WAAW,GAAG,IAAI,OAAO;IACtE,CAAC;IACD,OAAO,IAAI;AACb;AACA,MAAM,iBAAiB,CAAC,KAAK,QAAQ,gBAAkB;IACrD,MAAM,aAAa,IAAI,QAAQ;IAC/B,IAAI,8BAA8B,YAAY,SAAS;QACrD,aAAa,KAAK,YAAY;QAC9B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,OAAO;IACvC,CAAC;IACD,IAAI,CAAC,IAAI,aAAa,EAAE;QACtB,IAAI,aAAa,GAAG;QACpB,IAAI,gBAAgB,CAAC,YAAY,IAAM;YACrC,MAAM,cAAc,IAAI,QAAQ;YAChC,MAAM,cAAc,MAAM,cAAc,KAAK,EAAE;YAC/C,IAAI,8BAA8B,aAAa,cAAc;gBAC3D,aAAa,KAAK,aAAa;gBAC/B,cAAc,KAAK,GAAG,OAAO,IAAI,IAAI,YAAY,IAAI;YACvD,CAAC;QACH;QACA,IAAI,mBAAmB,CAAC,YAAY,IAAI,sBAAsB;IAChE,CAAC;AACH;AACA,MAAM,eAAe,OAAO,KAAK,aAAa,SAAW;IACvD,MAAM,MAAM,IAAI,QAAQ;IACxB,MAAM,UAAU,OAAO,IAAI;IAC3B,IAAI,WAAW,aAAa,SAC1B;QAAA,IAAI,YAAY,IAAI,KAAK,SAAS;YAChC,MAAM;YACN,IAAI,SAAS,eAAe,KAAK;iBAC5B,IAAI,QAAQ,CAAC,GAAG;QACvB,CAAC;IAAD,OACK;QACL,IAAI,SACF,IAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAK;YAC3B,MAAM;YACN,IAAI,eAAe,KAAK,UAAU,KAAM;QAC1C;aACG;YACH,MAAM;YACN,IAAI,QAAQ,CAAC,GAAG;QAClB,CAAC;IACH,CAAC;AACH;AACA,MAAM,UAAU,IAAM,IAAI,QAAQ,CAAC,UAAY,WAAW,SAAS;AACnE,MAAM,iBAAiB,CAAC,KAAK,OAAS;IACpC,MAAM,QAAQ,KAAK,KAAK,CAAC;IACzB,MAAM,MAAM,IAAI,cAAc,CAAC;IAC/B,IAAI,KAAK,IAAI,cAAc;IAC3B,OAAO;AACT;AACA,MAAM,wBAAwB,CAAC,eAAiB;IAC9C,IAAI,OAAO,aAAa,aACtB,SAAS,aAAa,CACpB,IAAI,YAAY,aAAa;QAC3B,QAAQ;IACV;AAEN;AACA,MAAM,cAAc,CAAC,UAAU,eAAe,gBAAgB,SAAW;IACvE,MAAM,OAAO;IACb,MAAM,UAAU,CAAC,iBAAmB;QAClC,MAAM,KAAK,eAAe,IAAI;QAC9B,IAAI,eAAe,OAAO,KAAK,iBAAiB;YAC9C,IAAI,CAAE,CAAA,MAAM,SAAS,OAAO,AAAD,GACzB,MAAM,IAAI,MACR,8FACA;QACN,CAAC;QACD,MAAM,OAAO,SAAS,OAAO,CAAC,GAAG;QACjC,IAAI,gBAAgB,SAClB,MAAM,IAAI,MAAM,6EAA6E;QAC/F,OAAO;IACT;IACA,MAAM,YAAY;QAChB;QACA,YAAY,CAAC,KAAO,WAAW,QAAQ;QACvC,cAAc;QACd,GAAG,aAAa;IAClB;IACA,IAAK,IAAI,IAAI,eAAe,MAAM,GAAG,GAAG,KAAK,GAAG,IAAK;QACnD,MAAM,oBAAoB,cAAc,CAAC,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC,IAAI;QACrE,IAAI,mBAAmB;YACrB,IAAI,OAAO,sBAAsB,YAC/B,oBACE,MACA,WAAW,QAAQ,IAAM,kBAAkB;iBAE1C,IAAI,OAAO,sBAAsB,UAAU,oBAAoB,MAAM;QAC5E,CAAC;IACH;IACA,OAAO,UAAU,IAAI;AACvB;AACA,MAAM,sBAAsB,CAAC,cAAc,cAAgB;IACzD,IAAI,OAAO,YAAY,KAAK,KAAK,UAAU,aAAa,KAAK,GAAG,YAAY,KAAK;IACjF,WAAW,aAAa,IAAI,EAAE,YAAY,IAAI;IAC9C,WAAW,aAAa,KAAK,EAAE,YAAY,KAAK;IAChD,WAAW,aAAa,MAAM,EAAE,YAAY,MAAM;IAClD,OAAO,MAAM,CAAC,aAAa,WAAW,EAAE,YAAY,WAAW;AACjE;AACA,MAAM,aAAa,CAAC,aAAa,SAAW;IAC1C,IAAI,MAAM,OAAO,CAAC,SAChB,KAAK,MAAM,WAAW,OAAQ;QAC5B,IAAI,OAAO,QAAQ,GAAG,KAAK,UAAU;YACnC,MAAM,gBAAgB,YAAY,SAAS,CAAC,CAAC,IAAM,EAAE,GAAG,KAAK,QAAQ,GAAG;YACxE,IAAI,gBAAgB,IAAI;gBACtB,WAAW,CAAC,cAAc,GAAG;gBAC7B,QAAS;YACX,CAAC;QACH,CAAC;QACD,YAAY,IAAI,CAAC;IACnB;AACJ;AACA,MAAM,qBAAqB,IAAO,CAAA;QAChC,OAAO;QACP,MAAM,EAAE;QACR,OAAO,EAAE;QACT,QAAQ,EAAE;QACV,aAAa,CAAC;IAChB,CAAA;AACA,MAAM,YAAY,OAAO,QAAQ,OAAO,cAAc,WAAa;IACjE,IAAI,MAAM,OAAO,CAAC,SAChB,KAAK,MAAM,SAAS,OAAQ;QAC1B,MAAM,QAAQ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;QAC5B,IAAI,OAAO;YACT,MAAM,UAAU,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,cAAc,KAAK,CAAC,EAAE,EAAE;YACvC,MAAM,mBAAmB,KAAK,CAAC,EAAE;YACjC,MAAM,OAAO,IAAI,MAAM,QAAQ,MAAM;YACrC,MAAM,eAAe,EAAE;YACvB,MAAM,aAAa,cAAc,OAAO;YACxC,IAAI,OAAO,KAAK;YAChB,QAAQ,OAAO,CAAC,CAAC,cAAc,IAAM;gBACnC,WACE,cACA,cACA,CAAC,cAAiB,IAAI,CAAC,EAAE,GAAG,aAC5B;YAEJ;YACA,WACE,YACA,cACA,CAAC,aAAgB,OAAO,YAAY,SACpC;YAEF,IAAI,aAAa,MAAM,GAAG,GAAG,MAAM,QAAQ,GAAG,CAAC;YAC/C,OAAO;gBAAC;gBAAQ;gBAAM;gBAAM;aAAiB;QAC/C,CAAC;IACH;IACF,OAAO,IAAI;AACb;AACA,MAAM,aAAa,CAAC,cAAc,cAAc,cAAc,eAAiB;IAC7E,IAAI,OAAO,iBAAiB,YAAY;QACtC,MAAM,eAAe,aAAa,GAAG,CAAC;QACtC,IAAI,cAAc,aAAa;aAC1B;YACH,MAAM,IAAI;YACV,IAAI,OAAO,EAAE,IAAI,KAAK,YACpB,aAAa,IAAI,CACf,EAAE,IAAI,CAAC,CAAC,gBAAkB;gBACxB,IAAI,iBAAiB,KAAK,EAAE,aAAa,GAAG,CAAC,cAAc;gBAC3D,aAAa;YACf;iBAEC,IAAI,GAAG,aAAa;QAC3B,CAAC;IACH,CAAC;AACH;AACA,MAAM,gBAAgB,CAAC,OAAO,WAAa;IACzC,IAAI,OAAO;QACT,WAAW,SAAS,QAAQ,CAAC,OAAO,WAAW,WAAW,GAAG;QAC7D,MAAM,OAAO,MAAM,IAAI,CACrB,CAAC,IAAM,CAAC,CAAC,EAAE,KAAK,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,GAAI,CAAA,SAAS,QAAQ,CAAC,OAAO,KAAK,GAAG,AAAD;QAE1F,IAAI,MAAM,OAAO,IAAI,CAAC,EAAE;IAC1B,CAAC;AACH;AACA,MAAM,gBAAgB,CAAC,YAAY,QAAU;IAC3C,MAAM,SAAS,CAAC;IAChB,IAAI,YACF,IAAK,IAAI,IAAI,GAAG,IAAI,WAAW,MAAM,EAAE,IAAK;QAC1C,MAAM,QAAQ,OAAO,CAAC,IAAI,EAAE,IAAI;QAChC,MAAM,IAAI,MAAM,QAAQ,CAAC,OAAO,MAAM,KAAK,CAAC,GAAG,MAAM,KAAK;QAC1D,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,mBAAmB;IAC7C;IACF,OAAO;AACT;AACA,MAAM,iBAAiB,OAAO,KAAK,SAAS,YAAY,SAAW;IACjE,MAAM,eAAe,IAAI,QAAQ;IACjC,MAAM,aAAa,IAAI,MAAM;IAC7B,MAAM,iBAAiB,kBAAkB,cAAc,YAAY;IACnE,IAAI,QAAQ,KAAK;IACjB,IAAI,CAAC,QAAQ,QAAQ,kBAAkB,GAAG,CAAC;IAC3C,sBAAsB;QACpB,OAAO;YAAC;SAAa;IACvB;IACA,IAAI,CAAC,OAAO;QACV,MAAM,UAAU,gBAAgB;QAChC,IAAI,QAAQ,OAAO,IAAI,GAAG,KAAK;QAC/B,QAAQ,MAAM,gBAAgB,SAAS,IAAI,CAAC,CAAC,MAAQ;YACnD,MAAM,gBAAgB,IAAI,IAAI,IAAI,GAAG;YACrC,IAAI,cAAc,MAAM,KAAK,SAAS,MAAM,IAAI,CAAC,YAAY,cAAc,QAAQ,GAAG;gBACpF,SAAS,IAAI,GAAG,cAAc,IAAI;gBAClC;YACF,CAAC;YACD,IAAI,AAAC,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,EAAG,QAAQ,CAAC,SACnD,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,OAAS;gBAC/B,MAAM,aAAa,iBAAiB,MAAM;gBAC1C,IAAI,CAAC,YAAY;oBACf,SAAS,IAAI,GAAG,IAAI,IAAI;oBACxB;gBACF,CAAC;gBACD,IAAI,YAAY,kBAAkB,MAAM,CAAC;gBACzC,IAAI,WAAW,QAAQ,EAAE,SAAS,IAAI,GAAG,WAAW,QAAQ;qBACvD,IAAI,QAAQ;oBACf,MAAM,aAAa,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC;oBAChD,OAAO,OAAO,CAAC;wBACb,QAAQ,IAAI,MAAM;wBAClB,QAAQ;oBACV;gBACF,CAAC;gBACD,OAAO;YACT;iBACG;gBACH,SAAS,IAAI,GAAG,IAAI,IAAI;gBACxB,OAAO,KAAK;YACd,CAAC;QACH;QACA,IAAI,CAAC,QAAQ,kBAAkB,GAAG,CAAC,gBAAgB;IACrD,CAAC;IACD,OAAO,MAAM,IAAI,CAAC,CAAC,IAAM;QACvB,IAAI,CAAC,GAAG,kBAAkB,MAAM,CAAC;QACjC,OAAO;IACT;AACF;AACA,MAAM,kBAAkB,CAAC,SAAW;IAClC,MAAM,aAAa,QAAQ;IAC3B,IAAI,CAAC,YAAY,OAAO,KAAK;IAC7B,IAAI,sBAAsB,UACxB,OAAO;QACL,QAAQ;QACR,MAAM;IACR;SAEA,OAAO;QACL,QAAQ;QACR,MAAM,KAAK,SAAS,CAAC;QACrB,SAAS;YACP,gBAAgB;QAClB;IACF;AACJ;AACA,MAAM,cAAc,CAAC,WAAa;IAChC,OAAO,SAAS,QAAQ,CAAC;AAC3B;AACA,MAAM,aAAa;AACnB,MAAM,aAAa,IAAM,WAAW;AACpC,MAAM,kBAAkB,IAAM,WAAW;AACzC,MAAM,cAAc,IAAM,WAAW;AACrC,MAAM,cAAc,IAAM,WAAW;AACrC,MAAM,YAAY,IAAM,WAAW;AACnC,MAAM,iBAAiB,IAAM,YAAY,cAAc;AACvD,MAAM,mBAAmB,aAAa,GAAG;AAsMzC,MAAM,uBAAuB,aAAa,GAAG;AAwC7C,MAAM,OAAO,aAAa,GAAG;AA0C7B,MAAM,wBAAwB,CAAC,KAAK,cAAgB;IAClD,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,YAAY,CAAC,kBAAkB;QACxD,IAAI,CAAC,kBAAkB,mBAAmB;QAC1C,IAAI,CAAC,eAAgB,eAAe,mBAAmB,KACrD,eAAe,IAAI,IAAI,IAAI,IAAI,GAAG;IACtC,CAAC;AACH;AACA,IAAI,mBAAmB;AACvB,MAAM,wBAAwB,CAAC,QAC7B,MACE,UACA;QACE,OAAO,YAAY,OAAO;IAC5B,GACA;QACE,yBAAyB;IAC3B,GACA,IAAI,EACJ,GACA;AAEJ,MAAM,iBAAiB,CAAC,WAAW,GAAG,OAAS;IAC7C,MAAM,EAAE,GAAE,EAAE,WAAU,EAAE,GAAG,cAAc,MAAM;IAC/C,SAAS,SAAS;QAChB,MAAM,MAAM;QACZ,MAAM,gBAAgB;QACtB,MAAM,eAAe;YACnB,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;YACnC,WAAW,KAAK;YAChB,QAAQ,KAAK;YACb,OAAO,KAAK;YACZ,UAAU,KAAK;QACjB;QACA,MAAM,QAAQ,SAAS,IAAM;YAC3B,MAAM,QAAQ,cAAc,KAAK;YACjC,IAAI,SAAS,OAAO,OAAO,IAAI;gBAC7B,MAAM,OAAO,MAAM,IAAI;gBACvB,IAAI,gBAAgB,UAAU,aAAa,QAAQ,GAAG;gBACtD,IAAI,MAAM,MAAM,EAAE;oBAChB,MAAM,EAAE,OAAM,EAAE,OAAM,EAAE,GAAG,MAAM,MAAM;oBACvC,aAAa,MAAM,GAAG;oBACtB,aAAa,KAAK,GAAG;gBACvB,CAAC;YACH,CAAC;YACD,OAAO;QACT;QACA,MAAM;;;;;;QAwDN,aAAa,MAAM,GAAG;QACtB,OAAO;IACT;IACA,OAAO,OAAO,GAAG;IACjB,OAAO,YAAY,GAAG;IACtB,OAAO,KAAK,GAAG;IACf,OAAO,IAAI,GAAG;IACd,OAAO,MAAM,CAAC;IACd,OAAO;AACT;AACA,MAAM,kBAAkB,CAAC,WAAW,GAAG,OAAS;IAC9C,MAAM,SAAS,eAAe,cAAc;IAC5C,IAAI,UAAU;QACZ,IAAI,OAAO,WAAW,eAAe,KAAK,aACxC,WAAW,eAAe,GAAG,aAAa,GAAG,IAAI;QACnD,WAAW,eAAe,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE;IAC9C,CAAC;IACD,OAAO;AACT;AACA,MAAM,eAAe,aAAa,GAAG,kBAAkB;AACvD,MAAM,gBAAgB,aAAa,GAAG,kBAAkB;AACxD,MAAM,iBAAiB,CAAC,WAAW,GAAG,OAAS;IAC7C,MAAM,EAAE,GAAE,EAAE,WAAU,EAAE,GAAG,cAAc,MAAM;IAC/C,SAAS,SAAS;QAChB,OAAO,WAAW,mBAAmB,CAAC,QAAU;YAC9C,IAAI,CAAE,CAAA,MAAM,KAAI,GACd,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG;;uEAEiC,CAAC,EAAE;YACpE,OAAO,YAAY,OAAO;QAC5B;IACF;IACA,OAAO,OAAO,GAAG;IACjB,OAAO,KAAK,GAAG;IACf,OAAO,YAAY,GAAG;IACtB,OAAO,IAAI,GAAG;IACd,OAAO,MAAM,CAAC;IACd,OAAO;AACT;AACA,MAAM,eAAe,aAAa,GAAG,kBAAkB;AACvD,MAAM,eAAe,CAAC,YAAc;IAClC,IAAI,UACF,OAAO;QACL,UAAU;IACZ;IACF,OAAO,KAAK;AACd;AACA,MAAM,aAAa,aAAa,GAAG,kBAAkB;AACrD,MAAM,SAAS,CAAC,MAAQ;IACtB,IAAI,UAAU;QACZ,MAAM,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,MAAQ;YACzC,IAAI,OAAO,QAAQ,YAAY,MAAM,IAAI;YACzC,IAAI,eAAe,EAAE,MAAM,EAAE,OAAO;iBAC/B,OAAO,EAAE,MAAM,CAAC;QACvB;QACA,OAAO;YACL,MAAM,UAAS,EAAE,EAAE,SAAS,EAAE;gBAC5B,MAAM,OAAO,aAAc,MAAM,GAAG,SAAS;gBAC7C,MAAM,SAAS,MAAM,AAAC,CAAA,MAAM,MAAK,EAAG,cAAc,CAAC;gBACnD,IAAI,OAAO,OAAO,EAAE,OAAO;qBACtB;oBACH,IAAI,OACF,QAAQ,KAAK,CACX,sDACA,iBACA,OAAO,KAAK,CAAC,MAAM;oBAEvB,OAAO;wBACL,SAAS,KAAK;wBACd,QAAQ;wBACR,OAAO,OAAO,KAAK,CAAC,OAAO;oBAC7B;gBACF,CAAC;YACH;QACF;IACF,CAAC;IACD,OAAO,KAAK;AACd;AACA,MAAM,OAAO,aAAa,GAAG,kBAAkB;AAC/C,MAAM,YAAY,CAAC,OAAQ;IACzB,IAAI,UAAU;QACZ,MAAM,WAAW,KAAI,WAAW;QAChC,IAAI,YAAY,SAAS,MAAM,GAAG,KAAK,CAAC,sBACtC,MAAM,IAAI,MAAM,8EAA8E;IAClG,CAAC;IACD,SAAS,QAAQ;QACf;;;IA0CF;IACA,OAAO;AACT;AACA,MAAM,UAAU,aAAa,GAAG,kBAAkB;AAClD,MAAM,gBAAgB,CAAC,MAAM,MAAQ;IACnC,IAAI;IACJ,MAAM,aAAa,EAAE;IACrB,IAAI,KAAK,MAAM,KAAK,GAAG;QACrB,MAAM,UAAU,IAAI,CAAC,EAAE;QACvB,IAAI,WAAW,OAAO,YAAY;YAChC,IAAI,cAAc,SAAS,WAAW,IAAI,CAAC;iBACtC;gBACH,KAAK,QAAQ,EAAE;gBACf,IAAI,QAAQ,UAAU,EAAE,WAAW,IAAI,IAAI,QAAQ,UAAU;YAC/D,CAAC;SACF;IACH,OAAO,IAAI,KAAK,MAAM,GAAG,GAAG,WAAW,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,IAAM,CAAC,CAAC;IACpE,IAAI,OAAO,OAAO,UAAU;QAC1B,IAAI,OAAO;YACT,IAAI,CAAC,aAAa,IAAI,CAAC,KACrB,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,oCAAoC,CAAC,EAAE;QAC7E,CAAC;QACD,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACjB,OAAO,KAAK,IAAI,OAAO;IACvB,OAAO;QACL,YAAY,WAAW,OAAO;QAC9B;IACF;AACF;AACA,MAAM,oBAAoB,IAAM;IAC9B,IAAI,cAAc;IAClB,MAAM,UAAU,IAAI;IACpB,MAAM,cAAc,IAAI,gBAAgB;QACtC,WAAU,KAAK,EAAE,UAAU,EAAE;YAC3B,MAAM,QAAQ,QAAQ,MAAM,CAAC,OAAO,KAAK,CAAC;YAC1C,IAAK,IAAI,IAAI,GAAG,IAAI,MAAM,MAAM,GAAG,GAAG,IAAK;gBACzC,MAAM,OAAO,cAAc,KAAK,CAAC,EAAE;gBACnC,IAAI,KAAK,MAAM,KAAK,GAAG;oBACrB,WAAW,SAAS;oBACpB,KAAM;gBACR,OAAO;oBACL,WAAW,OAAO,CAAC,WAAW;oBAC9B,cAAc;gBAChB,CAAC;YACH;YACA,eAAe,KAAK,CAAC,MAAM,MAAM,GAAG,EAAE;QACxC;IACF;IACA,OAAO;AACT;AACA,MAAM,aAAa,CAAC,UAAY;IAC9B,MAAM,QAAQ,QAAQ,KAAK,CAAC;IAC5B,MAAM,QAAQ;QACZ,MAAM;IACR;IACA,IAAI,OAAO;IACX,KAAK,MAAM,QAAQ,MACjB,IAAI,KAAK,UAAU,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK;SAClD;QACH,MAAM,CAAC,KAAK,MAAM,GAAG,KAAK,KAAK,CAAC;QAChC,IAAI,OAAO,QAAQ,YAAY,OAAO,UAAU,UAAU,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI;IACnF,CAAC;IACH,MAAM,IAAI,GAAG;IACb,OAAO;AACT;AACA,gBAAgB,oBAAoB,MAAM,EAAE,MAAM,EAAE;IAClD,MAAM,SAAS,OAAO,SAAS;IAC/B,IAAI;QACF,MAAO,IAAI,CAAE;YACX,MAAM,EAAE,KAAI,EAAE,MAAK,EAAE,GAAG,MAAM,OAAO,IAAI;YACzC,IAAI,MAAM;YACV,MAAM,MAAM,MAAM,iBAAiB,MAAM,IAAI,EAAE;YAC/C,MAAM;QACR;IACF,SAAU;QACR,OAAO,WAAW;IACpB;AACF;AACA,MAAM,OAAO,CAAC,EAAE,OAAM,EAAE,SAAQ,EAAE,eAAc,EAAE,UAAS,EAAE,GAAG,MAAM,EAAE,MAAQ;IAC9E;IACA,IAAI,QACF,OAAO,MACL,QACA;QACE,GAAG,IAAI;QACP,QAAQ,YAAY,QAAQ;QAC5B,yBAAyB,CAAC;QAC1B,CAAC,iBAAiB,EAAE,WAAW,SAAS,KAAK,CAAC;QAC9C,WAAW;YAAC,CAAC,iBAAiB,OAAO,MAAM,GAAG,KAAK,CAAC;YAAE;SAAU;IAClE,GACA;QACE,QAAQ;IACV,GACA,GACA;SAGF,OAAO,aAAa,GAAG,MACrB,SACA;QACE;QACA;QACA;QACA,GAAG,IAAI;IACT,GACA,GACA;AAEN;AACA,MAAM,UAAU,aAAa,GAAG;AAqDhC,SACE,IAAI,EACJ,IAAI,EACJ,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,OAAO,EACP,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,MAAM,CAAC,EACP,IAAI,EACJ,MAAM,GACN\"}") -============================= ../node_modules/@builder.io/qwik-city/entry_GetForm.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_GetForm.js (ENTRY POINT)== export { s_p9MSze0ojs4 } from "./s_p9msze0ojs4.mjs"; export { s_Nk9PlpjQm9Y } from "./s_nk9plpjqm9y.mjs"; None -============================= ../node_modules/@builder.io/qwik-city/entry_Link.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_Link.js (ENTRY POINT)== export { s_kzjavhDI3L0 } from "./s_kzjavhdi3l0.mjs"; export { s_8gdLBszqbaM } from "./s_8gdlbszqbam.mjs"; None -============================= ../node_modules/@builder.io/qwik-city/entry_QwikCityMockProvider.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityMockProvider.js (ENTRY POINT)== export { s_BUbtvTyvVRE } from "./s_bubtvtyvvre.mjs"; export { s_WmYC5H00wtI } from "./s_wmyc5h00wti.mjs"; None -============================= ../node_modules/@builder.io/qwik-city/entry_QwikCityProvider.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_QwikCityProvider.js (ENTRY POINT)== export { s_RPDJAz33WLA } from "./s_rpdjaz33wla.mjs"; export { s_cBcjROynRVg } from "./s_cbcjroynrvg.mjs"; @@ -2472,19 +2472,19 @@ export { _hW } from "@builder.io/qwik"; None -============================= ../node_modules/@builder.io/qwik-city/entry_RouterOutlet.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_RouterOutlet.js (ENTRY POINT)== export { s_AKetNByE5TM } from "./s_aketnbye5tm.mjs"; None -============================= ../node_modules/@builder.io/qwik-city/entry_routeActionQrl.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_routeActionQrl.js (ENTRY POINT)== export { s_A5bZC7WO00A } from "./s_a5bzc7wo00a.mjs"; None -============================= ../node_modules/@builder.io/qwik-city/entry_serverQrl.js (ENTRY POINT)== +============================= ../node_modules/@builder.io/qwik-city/index.qwik.mjs_entry_serverQrl.js (ENTRY POINT)== export { s_wOIPfiQ04l4 } from "./s_woipfiq04l4.mjs"; diff --git a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_use_server_mount.snap b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_use_server_mount.snap index e11bc870fe9..cb7d425717f 100644 --- a/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_use_server_mount.snap +++ b/packages/qwik/src/optimizer/core/src/snapshots/qwik_core__test__example_use_server_mount.snap @@ -62,7 +62,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Parent_component_useTask_gDH1EtUWqBU", - "entry": "entry_Parent", + "entry": "test.tsx_entry_Parent", "displayName": "Parent_component_useTask", "hash": "gDH1EtUWqBU", "canonicalFilename": "parent_component_usetask_gdh1etuwqbu", @@ -82,11 +82,11 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma import { componentQrl } from "@builder.io/qwik"; import { qrl } from "@builder.io/qwik"; -export const Parent = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./entry_Parent"), "Parent_component_0TaiDayHrlo")); -export const Child = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./entry_Child"), "Child_component_9GyF01GDKqw")); +export const Parent = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Parent"), "Parent_component_0TaiDayHrlo")); +export const Child = /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Child"), "Child_component_9GyF01GDKqw")); -Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;AAKA,OAAO,MAAM,uBAAS,8FAgBnB;AAEH,OAAO,MAAM,sBAAQ,4FAelB\"}") +Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"mappings\":\";;AAKA,OAAO,MAAM,uBAAS,uGAgBnB;AAEH,OAAO,MAAM,sBAAQ,qGAelB\"}") ============================= child_component_usetask_oh4n7zeqjku.js == import { useLexicalScope } from "@builder.io/qwik"; @@ -102,7 +102,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Child_component_useTask_Oh4n7ZeqJkU", - "entry": "entry_Child", + "entry": "test.tsx_entry_Child", "displayName": "Child_component_useTask", "hash": "Oh4n7ZeqJkU", "canonicalFilename": "child_component_usetask_oh4n7zeqjku", @@ -130,7 +130,7 @@ export const Parent_component_0TaiDayHrlo = ()=>{ text: '' }); // Double count watch - useTaskQrl(/*#__PURE__*/ qrl(()=>import("./entry_Parent"), "Parent_component_useTask_gDH1EtUWqBU", [ + useTaskQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Parent"), "Parent_component_useTask_gDH1EtUWqBU", [ state ])); return /*#__PURE__*/ _jsxQ("div", null, { @@ -146,7 +146,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Parent_component_0TaiDayHrlo", - "entry": "entry_Parent", + "entry": "test.tsx_entry_Parent", "displayName": "Parent_component", "hash": "0TaiDayHrlo", "canonicalFilename": "parent_component_0taidayhrlo", @@ -200,7 +200,7 @@ export const Child_component_9GyF01GDKqw = ()=>{ text: '' }); // Double count watch - useTaskQrl(/*#__PURE__*/ qrl(()=>import("./entry_Child"), "Child_component_useTask_Oh4n7ZeqJkU", [ + useTaskQrl(/*#__PURE__*/ qrl(()=>import("./test.tsx_entry_Child"), "Child_component_useTask_Oh4n7ZeqJkU", [ state ])); return /*#__PURE__*/ _jsxQ("div", null, { @@ -216,7 +216,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma { "origin": "test.tsx", "name": "Child_component_9GyF01GDKqw", - "entry": "entry_Child", + "entry": "test.tsx_entry_Child", "displayName": "Child_component", "hash": "9GyF01GDKqw", "canonicalFilename": "child_component_9gyf01gdkqw", @@ -258,7 +258,7 @@ Some("{\"version\":3,\"sources\":[\"/user/qwik/src/test.tsx\"],\"names\":[],\"ma ] } */ -============================= entry_Child.js (ENTRY POINT)== +============================= test.tsx_entry_Child.js (ENTRY POINT)== export { Child_component_useTask_Oh4n7ZeqJkU } from "./child_component_usetask_oh4n7zeqjku"; export { Child_component_9GyF01GDKqw } from "./child_component_9gyf01gdkqw"; @@ -266,7 +266,7 @@ export { _hW } from "@builder.io/qwik"; None -============================= entry_Parent.js (ENTRY POINT)== +============================= test.tsx_entry_Parent.js (ENTRY POINT)== export { Parent_component_useTask_gDH1EtUWqBU } from "./parent_component_usetask_gdh1etuwqbu"; export { Parent_component_0TaiDayHrlo } from "./parent_component_0taidayhrlo"; diff --git a/packages/qwik/src/optimizer/core/src/transform.rs b/packages/qwik/src/optimizer/core/src/transform.rs index d028eb201bc..6ccf1652a55 100644 --- a/packages/qwik/src/optimizer/core/src/transform.rs +++ b/packages/qwik/src/optimizer/core/src/transform.rs @@ -751,7 +751,6 @@ impl<'a> QwikTransform<'a> { let entry = self.options.entry_policy.get_entry_for_sym( &hook_data.hash, - self.options.path_data, &self.stack_ctxt, &hook_data, ); diff --git a/packages/qwik/src/optimizer/src/plugins/plugin.ts b/packages/qwik/src/optimizer/src/plugins/plugin.ts index 7d835a968af..d26b31a3714 100644 --- a/packages/qwik/src/optimizer/src/plugins/plugin.ts +++ b/packages/qwik/src/optimizer/src/plugins/plugin.ts @@ -1,4 +1,4 @@ -import type { Rollup, Plugin } from 'vite'; +import type { Rollup, Plugin, ViteDevServer } from 'vite'; import { hashCode } from '../../../core/util/hash_code'; import { generateManifestFromBundles, getValidManifest } from '../manifest'; import { createOptimizer } from '../optimizer'; @@ -60,11 +60,11 @@ export interface QwikPackages { export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const id = `${Math.round(Math.random() * 899) + 100}`; - const results = new Map(); - const transformedOutputs = new Map(); + const clientResults = new Map(); + const clientTransformedOutputs = new Map(); - const ssrResults = new Map(); - const ssrTransformedOutputs = new Map(); + const serverResults = new Map(); + const serverTransformedOutputs = new Map(); const foundQrls = new Map(); let internalOptimizer: Optimizer | null = null; @@ -126,6 +126,11 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { return optimizer.sys.path; }; + let server: ViteDevServer | undefined; + const configureServer = (devServer: ViteDevServer) => { + server = devServer; + }; + /** Note that as a side-effect this updates the internal plugin `opts` */ const normalizeOptions = (inputOpts?: QwikPluginOptions) => { const updatedOpts: QwikPluginOptions = Object.assign({}, inputOpts); @@ -366,7 +371,7 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { } debug(`transformedOutput.clear()`); - transformedOutputs.clear(); + clientTransformedOutputs.clear(); const mode = opts.target === 'lib' ? 'lib' : opts.buildMode === 'development' ? 'dev' : 'prod'; @@ -400,8 +405,8 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { for (const output of result.modules) { const key = normalizePath(path.join(srcDir, output.path)!); debug(`buildStart() add transformedOutput`, key, output.hook?.displayName); - transformedOutputs.set(key, [output, key]); - ssrTransformedOutputs.set(key, [output, key]); + clientTransformedOutputs.set(key, [output, key]); + serverTransformedOutputs.set(key, [output, key]); if (opts.target === 'client' && output.isEntry) { ctx.emitFile({ id: key, @@ -413,18 +418,18 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { diagnosticsCallback(result.diagnostics, optimizer, srcDir); - results.set('@buildStart', result); - ssrResults.set('@buildStart', result); + clientResults.set('@buildStart', result); + serverResults.set('@buildStart', result); } }; const resolveId = async ( ctx: Rollup.PluginContext, id: string, - importer: string | undefined, + importerId: string | undefined, resolveOpts?: Parameters>[2] ) => { - debug(`resolveId()`, 'Start', id, importer, resolveOpts, opts.target); + debug(`resolveId()`, 'Start', id, importerId, resolveOpts, opts.target); if (id.startsWith('\0') || id.startsWith('/@fs')) { return; } @@ -463,48 +468,57 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const path = getPath(); const isSSR = !!resolveOpts?.ssr; + const transformedOutputs = isSSR ? serverTransformedOutputs : clientTransformedOutputs; - if (importer) { + if (importerId) { // Only process ids that look like paths if (!(id.startsWith('.') || path.isAbsolute(id))) { + // Rollup can ask us to resolve imports from QRL segments + // It seems like files need to exist on disk for this to work automatically + const mod = transformedOutputs.get(importerId); + if (mod) { + const parentId = mod[1]; + return ctx.resolve(id, parentId, { skipSelf: true }); + } return; } - if (opts.target === 'ssr' && !isSSR) { - // possibly dev mode request from the browser - const match = /^([^?]*)\?_qrl_parent=(.*)/.exec(decodeURIComponent(id)); + if (opts.target === 'ssr' && !isSSR && importerId.endsWith('.html') && server) { + // This is a request from a dev-mode browser + // we uri-encode chunk paths in dev mode, and other imported files don't have % in their paths + // These will be individual source files and their QRL segments + id = decodeURIComponent(id); + // Check for parent passed via QRL + const match = /^([^?]*)\?_qrl_parent=(.*)/.exec(id); if (match) { - // ssr mode asking for a client qrl, this will fall through to the devserver - // building here via ctx.load doesn't seem to work (target is always ssr?) - // eslint-disable-next-line prefer-const - let [, qrlId, parentId] = match; + id = match[1]; + const parentId = match[2]; // If the parent is not in root (e.g. pnpm symlink), the qrl also isn't if (parentId.startsWith(opts.rootDir)) { - qrlId = `${opts.rootDir}${qrlId}`; + id = `${opts.rootDir}${id}`; } - if (!transformedOutputs.has(qrlId)) { - // fall back to dev server which can wait for transform() to finish - return null; + // building here via ctx.load doesn't seem to work (target is always ssr?) + // instead we use the devserver directly + if (!clientTransformedOutputs.has(id)) { + debug(`resolveId()`, 'transforming QRL parent', parentId); + await server.transformRequest(parentId); + // The QRL segment should exist now } - debug(`resolveId()`, 'Resolved', qrlId); - return { id: qrlId }; } } const parsedId = parseId(id); let importeePathId = normalizePath(parsedId.pathId); const ext = path.extname(importeePathId).toLowerCase(); if (ext in RESOLVE_EXTS) { - importer = normalizePath(importer); - debug(`resolveId("${importeePathId}", "${importer}")`); - const parsedImporterId = parseId(importer); + importerId = normalizePath(importerId); + debug(`resolveId("${importeePathId}", "${importerId}")`); + const parsedImporterId = parseId(importerId); const dir = path.dirname(parsedImporterId.pathId); if (parsedImporterId.pathId.endsWith('.html') && !importeePathId.endsWith('.html')) { importeePathId = normalizePath(path.join(dir, importeePathId)); } else { importeePathId = normalizePath(path.resolve(dir, importeePathId)); } - const transformedOutput = isSSR - ? ssrTransformedOutputs.get(importeePathId) - : transformedOutputs.get(importeePathId); + const transformedOutput = transformedOutputs.get(importeePathId); if (transformedOutput) { debug(`resolveId() Resolved ${importeePathId} from transformedOutputs`); @@ -518,10 +532,8 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const importeePathId = normalizePath(parsedId.pathId); const ext = path.extname(importeePathId).toLowerCase(); if (ext in RESOLVE_EXTS) { - debug(`resolveId("${importeePathId}", "${importer}")`); - const transformedOutput = isSSR - ? ssrTransformedOutputs.get(importeePathId) - : transformedOutputs.get(importeePathId); + debug(`resolveId("${importeePathId}", "${importerId}")`); + const transformedOutput = transformedOutputs.get(importeePathId); if (transformedOutput) { debug(`resolveId() Resolved ${importeePathId} from transformedOutputs`); @@ -532,9 +544,10 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { } } // We don't (yet) know this id - debug(`resolveId()`, 'Not resolved', id, importer, resolveOpts); + debug(`resolveId()`, 'Not resolved', id, importerId, resolveOpts); return null; }; + const load = async ( ctx: Rollup.PluginContext, id: string, @@ -563,7 +576,9 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const path = getPath(); id = normalizePath(parsedId.pathId); - const transformedModule = isSSR ? ssrTransformedOutputs.get(id) : transformedOutputs.get(id); + const transformedModule = isSSR + ? serverTransformedOutputs.get(id) + : clientTransformedOutputs.get(id); if (transformedModule) { debug(`load()`, 'Found', id); @@ -596,7 +611,8 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { return; } const isSSR = !!transformOpts.ssr; - const currentOutputs = isSSR ? ssrTransformedOutputs : transformedOutputs; + // TODO does this clear in dev mode ??? + const currentOutputs = isSSR ? serverTransformedOutputs : clientTransformedOutputs; if (currentOutputs.has(id)) { return; } @@ -684,9 +700,9 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { if (newOutput.diagnostics.length === 0 && linter) { await linter.lint(ctx, code, id); } - ssrResults.set(normalizedID, newOutput); + serverResults.set(normalizedID, newOutput); } else { - results.set(normalizedID, newOutput); + clientResults.set(normalizedID, newOutput); } const deps = new Set(); for (const mod of newOutput.modules) { @@ -737,7 +753,7 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const optimizer = getOptimizer(); const path = optimizer.sys.path; - const hooks = Array.from(results.values()) + const hooks = Array.from(clientResults.values()) .flatMap((r) => r.modules) .map((mod) => mod.hook) .filter((h) => !!h) as HookAnalysis[]; @@ -772,7 +788,7 @@ export function createPlugin(optimizerOptions: OptimizerOptions = {}) { const getOptions = () => opts; const getTransformedOutputs = () => { - return Array.from(transformedOutputs.values()).map((t) => { + return Array.from(clientTransformedOutputs.values()).map((t) => { return t[0]; }); }; @@ -856,6 +872,7 @@ export const manifest = ${JSON.stringify(manifest)};\n`; validateSource, setSourceMapSupport, foundQrls, + configureServer, }; } diff --git a/packages/qwik/src/optimizer/src/plugins/vite-dev-server.ts b/packages/qwik/src/optimizer/src/plugins/vite-dev-server.ts index 1c00f9a57d0..f8ad14b1b6a 100644 --- a/packages/qwik/src/optimizer/src/plugins/vite-dev-server.ts +++ b/packages/qwik/src/optimizer/src/plugins/vite-dev-server.ts @@ -147,14 +147,15 @@ export async function configureDevServer( if (symbolName === SYNC_QRL) { return [symbolName, '']; } - const chunk = mapper && mapper[getSymbolHash(symbolName)]; + const hash = getSymbolHash(symbolName); + const chunk = mapper && mapper[hash]; if (chunk) { return [chunk[0], encode(chunk[1])]; } - parent ||= foundQrls.get(symbolName); + parent ||= foundQrls.get(hash); if (!parent) { console.error( - 'qwik vite-dev-server: unknown qrl requested without parent:', + 'qwik vite-dev-server symbolMapper: unknown qrl requested without parent:', symbolName ); return [symbolName, `${base}${symbolName.toLowerCase()}.js`]; @@ -208,18 +209,6 @@ export async function configureDevServer( next(); } } else { - // We didn't ssr, but maybe a qrl was requested - const parent = url.searchParams.get('_qrl_parent'); - if (parent && url.pathname.endsWith('.js')) { - // load the parent so it populates the qrl cache - await server.transformRequest(parent); - const result = await server.transformRequest(url.pathname); - if (result) { - res.setHeader('content-type', 'application/javascript'); - res.write(result.code); - res.end(); - } - } next(); } } catch (e: any) { diff --git a/packages/qwik/src/optimizer/src/plugins/vite.ts b/packages/qwik/src/optimizer/src/plugins/vite.ts index 233185f2b7c..f0f8e346a00 100644 --- a/packages/qwik/src/optimizer/src/plugins/vite.ts +++ b/packages/qwik/src/optimizer/src/plugins/vite.ts @@ -641,6 +641,7 @@ export function qwikVite(qwikViteOpts: QwikVitePluginOptions = {}): any { }, configureServer(server: ViteDevServer) { + qwikPlugin.configureServer(server); const devSsrServer = 'devSsrServer' in qwikViteOpts ? qwikViteOpts.devSsrServer : true; const imageDevTools = qwikViteOpts.devTools && 'imageDevTools' in qwikViteOpts.devTools diff --git a/scripts/util.ts b/scripts/util.ts index cfe3b1189b7..2059b245e33 100644 --- a/scripts/util.ts +++ b/scripts/util.ts @@ -7,7 +7,7 @@ import { mkdirSync, readdir as fsReaddir, readFile as fsReadFile, - rmdirSync, + rmSync, stat as fsStat, unlink as fsUnlink, writeFile as fsWriteFile, @@ -251,7 +251,7 @@ export const mkdir = /*#__PURE__*/ promisify(fsMkdir); export function emptyDir(dir: string) { try { - rmdirSync(dir, { recursive: true }); + rmSync(dir, { recursive: true }); } catch (e) {} ensureDir(dir); } diff --git a/starters/dev-server.ts b/starters/dev-server.ts index 495ea3762d2..430b566495b 100644 --- a/starters/dev-server.ts +++ b/starters/dev-server.ts @@ -12,7 +12,7 @@ import { readdirSync, statSync, unlinkSync, - rmdirSync, + rmSync, existsSync, readFileSync, } from "node:fs"; @@ -256,7 +256,7 @@ function removeDir(dir: string) { unlinkSync(itemPath); } }); - rmdirSync(dir); + rmSync(dir); } catch (e) { /**/ }