@qwik.dev/core 2.0.0-beta.11 → 2.0.0-beta.14

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.
Files changed (79) hide show
  1. package/bindings/qwik.darwin-arm64.node +0 -0
  2. package/bindings/qwik.darwin-x64.node +0 -0
  3. package/bindings/qwik.linux-x64-gnu.node +0 -0
  4. package/bindings/qwik.win32-x64-msvc.node +0 -0
  5. package/bindings/qwik_wasm_bg.wasm +0 -0
  6. package/dist/backpatch/index.mjs +2 -2
  7. package/dist/backpatch/package.json +1 -1
  8. package/dist/backpatch-executor.debug.js +7 -2
  9. package/dist/backpatch-executor.js +1 -1
  10. package/dist/build/package.json +1 -1
  11. package/dist/{cli.cjs → cli.mjs} +444 -2624
  12. package/dist/core-internal.d.ts +219 -123
  13. package/dist/core.min.mjs +1 -1
  14. package/dist/core.mjs +9416 -8957
  15. package/dist/core.mjs.map +1 -1
  16. package/dist/core.prod.mjs +5225 -4890
  17. package/dist/loader/index.mjs +2 -2
  18. package/dist/loader/package.json +1 -1
  19. package/dist/optimizer.d.ts +3 -0
  20. package/dist/optimizer.mjs +1354 -1341
  21. package/dist/qwikloader.debug.js +14 -8
  22. package/dist/qwikloader.js +1 -1
  23. package/dist/server.d.ts +20 -12
  24. package/dist/server.mjs +466 -381
  25. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +1 -1
  26. package/dist/starters/adapters/aws-lambda/package.json +3 -2
  27. package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +1 -1
  28. package/dist/starters/adapters/azure-swa/package.json +3 -2
  29. package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +1 -1
  30. package/dist/starters/adapters/bun/package.json +3 -2
  31. package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +1 -1
  32. package/dist/starters/adapters/cloud-run/package.json +3 -2
  33. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +1 -1
  34. package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
  35. package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +1 -1
  36. package/dist/starters/adapters/deno/package.json +3 -2
  37. package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +1 -1
  38. package/dist/starters/adapters/express/package.json +3 -2
  39. package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +1 -1
  40. package/dist/starters/adapters/fastify/package.json +3 -2
  41. package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +1 -1
  42. package/dist/starters/adapters/firebase/package.json +3 -2
  43. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +1 -1
  44. package/dist/starters/adapters/netlify-edge/package.json +3 -2
  45. package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +1 -1
  46. package/dist/starters/adapters/node-server/package.json +3 -2
  47. package/dist/starters/adapters/ssg/adapters/ssg/{vite.config.mts → vite.config.ts} +1 -1
  48. package/dist/starters/adapters/ssg/package.json +4 -3
  49. package/dist/starters/adapters/vercel-edge/README.md +2 -2
  50. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +1 -1
  51. package/dist/starters/adapters/vercel-edge/package.json +3 -2
  52. package/dist/starters/features/csr/package.json +1 -1
  53. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  54. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  55. package/dist/testing/index.d.ts +75 -27
  56. package/dist/testing/index.mjs +2809 -2178
  57. package/dist/testing/package.json +1 -1
  58. package/handlers.mjs +1 -1
  59. package/package.json +16 -50
  60. package/public.d.ts +1 -0
  61. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  62. package/dist/backpatch/index.cjs +0 -6
  63. package/dist/build/index.cjs +0 -35
  64. package/dist/build/index.cjs.map +0 -7
  65. package/dist/build/index.dev.cjs +0 -37
  66. package/dist/build/index.dev.cjs.map +0 -7
  67. package/dist/build/index.prod.cjs +0 -37
  68. package/dist/build/index.prod.cjs.map +0 -7
  69. package/dist/core.cjs +0 -12672
  70. package/dist/core.cjs.map +0 -1
  71. package/dist/core.prod.cjs +0 -6111
  72. package/dist/insights/index.qwik.cjs +0 -1
  73. package/dist/insights/vite/index.cjs +0 -1
  74. package/dist/loader/index.cjs +0 -4
  75. package/dist/optimizer.cjs +0 -212
  76. package/dist/preloader.cjs +0 -266
  77. package/dist/server.cjs +0 -3209
  78. package/dist/testing/index.cjs +0 -35696
  79. /package/dist/starters/features/csr/{vite.config.mts → vite.config.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
3
  import { builtinModules } from "module";
4
- import baseConfig from "../../vite.config.mts";
4
+ import baseConfig from "../../vite.config.ts";
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
7
7
  ssr: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "AWS Lambda",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/aws-lambda/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/aws-lambda/vite.config.ts",
5
5
  "serve": "qwik build && serverless offline",
6
6
  "deploy": "serverless deploy"
7
7
  },
@@ -19,5 +19,6 @@
19
19
  "https://aws.amazon.com/es/lambda/",
20
20
  "https://www.serverless.com/cloud/docs/get-started"
21
21
  ]
22
- }
22
+ },
23
+ "type": "module"
23
24
  }
@@ -1,6 +1,6 @@
1
1
  import { azureSwaAdapter } from "@qwik.dev/router/adapters/azure-swa/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Azure Static Web Apps",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/azure-swa/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/azure-swa/vite.config.ts",
5
5
  "serve": "swa start"
6
6
  },
7
7
  "devDependencies": {
@@ -24,5 +24,6 @@
24
24
  "- pnpm run deploy: it will use the SWA CLI to deploy your site"
25
25
  ]
26
26
  }
27
- }
27
+ },
28
+ "type": "module"
28
29
  }
@@ -1,7 +1,7 @@
1
1
  import { bunServerAdapter } from "@qwik.dev/router/adapters/bun-server/vite";
2
2
  import { _TextEncoderStream_polyfill } from "@qwik.dev/router/middleware/request-handler";
3
3
  import { extendConfig } from "@qwik.dev/router/vite";
4
- import baseConfig from "../../vite.config.mts";
4
+ import baseConfig from "../../vite.config.ts";
5
5
 
6
6
  // This polyfill is required when you use SSG and build your app with Bun, because Bun does not have TextEncoderStream. See: https://github.com/oven-sh/bun/issues/5648
7
7
  globalThis.TextEncoderStream ||= _TextEncoderStream_polyfill;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Bun server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/bun/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/bun/vite.config.ts",
5
5
  "serve": "bun server/entry.bun.js"
6
6
  },
7
7
  "__qwik__": {
@@ -23,5 +23,6 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/bun": "*"
26
- }
26
+ },
27
+ "type": "module"
27
28
  }
@@ -1,6 +1,6 @@
1
1
  import { cloudRunAdapter } from "@qwik.dev/router/adapters/cloud-run/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Google Cloud Run server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/cloud-run/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/cloud-run/vite.config.ts",
5
5
  "deploy": "gcloud run deploy my-cloud-run-app --source ."
6
6
  },
7
7
  "__qwik__": {
@@ -20,5 +20,6 @@
20
20
  "- pnpm run deploy: it will use the gcloud CLI to deploy your site"
21
21
  ]
22
22
  }
23
- }
23
+ },
24
+ "type": "module"
24
25
  }
@@ -1,6 +1,6 @@
1
1
  import { cloudflarePagesAdapter } from "@qwik.dev/router/adapters/cloudflare-pages/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Cloudflare Pages",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/cloudflare-pages/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/cloudflare-pages/vite.config.ts",
5
5
  "deploy": "wrangler pages deploy ./dist",
6
6
  "serve": "wrangler pages dev ./dist --compatibility-flags=nodejs_als"
7
7
  },
@@ -24,5 +24,6 @@
24
24
  "- pnpm run deploy: it will use the Cloudflare CLI to deploy your site"
25
25
  ]
26
26
  }
27
- }
27
+ },
28
+ "type": "module"
28
29
  }
@@ -1,6 +1,6 @@
1
1
  import { denoServerAdapter } from "@qwik.dev/router/adapters/deno-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Deno server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/deno/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/deno/vite.config.ts",
5
5
  "serve": "deno run --allow-net --allow-read --allow-env server/entry.deno.js"
6
6
  },
7
7
  "__qwik__": {
@@ -20,5 +20,6 @@
20
20
  "- pnpm run serve: runs the production server locally"
21
21
  ]
22
22
  }
23
- }
23
+ },
24
+ "type": "module"
24
25
  }
@@ -1,6 +1,6 @@
1
1
  import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Express.js server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/express/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/express/vite.config.ts",
5
5
  "serve": "node server/entry.express"
6
6
  },
7
7
  "dependencies": {
@@ -29,5 +29,6 @@
29
29
  "- pnpm run serve: runs the production server locally"
30
30
  ]
31
31
  }
32
- }
32
+ },
33
+ "type": "module"
33
34
  }
@@ -1,6 +1,6 @@
1
1
  import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Fastify server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/fastify/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/fastify/vite.config.ts",
5
5
  "serve": "node server/entry.fastify"
6
6
  },
7
7
  "dependencies": {
@@ -29,5 +29,6 @@
29
29
  "- pnpm run serve: runs the production server locally"
30
30
  ]
31
31
  }
32
- }
32
+ },
33
+ "type": "module"
33
34
  }
@@ -1,7 +1,7 @@
1
1
  import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
3
  import { builtinModules } from "module";
4
- import baseConfig from "../../vite.config.mts";
4
+ import baseConfig from "../../vite.config.ts";
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
7
7
  ssr: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Firebase",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/firebase/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/firebase/vite.config.ts",
5
5
  "serve": "qwik build && firebase emulators:start",
6
6
  "deploy": "firebase deploy"
7
7
  },
@@ -20,5 +20,6 @@
20
20
  "- cd functions && pnpm i"
21
21
  ]
22
22
  }
23
- }
23
+ },
24
+ "type": "module"
24
25
  }
@@ -1,6 +1,6 @@
1
1
  import { netlifyEdgeAdapter } from "@qwik.dev/router/adapters/netlify-edge/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Netlify Edge Functions",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/netlify-edge/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/netlify-edge/vite.config.ts",
5
5
  "deploy": "netlify deploy --build"
6
6
  },
7
7
  "devDependencies": {
@@ -25,5 +25,6 @@
25
25
  "- pnpm run deploy: it will use the netlify CLI to deploy your site"
26
26
  ]
27
27
  }
28
- }
28
+ },
29
+ "type": "module"
29
30
  }
@@ -1,6 +1,6 @@
1
1
  import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Vanilla Node server",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/node-server/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/node-server/vite.config.ts",
5
5
  "serve": "node server/entry.node-server"
6
6
  },
7
7
  "__qwik__": {
@@ -19,5 +19,6 @@
19
19
  "- pnpm run serve: runs the production server locally"
20
20
  ]
21
21
  }
22
- }
22
+ },
23
+ "type": "module"
23
24
  }
@@ -1,6 +1,6 @@
1
1
  import { ssgAdapter } from "@qwik.dev/router/adapters/ssg/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Static Site Generator",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/ssg/vite.config.mts"
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/ssg/vite.config.ts"
5
5
  },
6
6
  "__qwik__": {
7
7
  "priority": 10,
@@ -12,8 +12,9 @@
12
12
  "nextSteps": {
13
13
  "lines": [
14
14
  "You have to change the 'origin' url under ssgAdapter",
15
- "inside './adapters/ssg/vite.config.mts'"
15
+ "inside './adapters/ssg/vite.config.ts'"
16
16
  ]
17
17
  }
18
- }
18
+ },
19
+ "type": "module"
19
20
  }
@@ -4,12 +4,12 @@ This starter site is configured to deploy to [Vercel Edge Functions](https://ver
4
4
 
5
5
  ## Installation
6
6
 
7
- The adaptor will add a new `vite.config.mts` within the `adapters/` directory, and a new entry file will be created, such as:
7
+ The adaptor will add a new `vite.config.ts` within the `adapters/` directory, and a new entry file will be created, such as:
8
8
 
9
9
  ```
10
10
  └── adapters/
11
11
  └── vercel-edge/
12
- └── vite.config.mts
12
+ └── vite.config.ts
13
13
  └── src/
14
14
  └── entry.vercel-edge.tsx
15
15
  ```
@@ -1,6 +1,6 @@
1
1
  import { vercelEdgeAdapter } from "@qwik.dev/router/adapters/vercel-edge/vite";
2
2
  import { extendConfig } from "@qwik.dev/router/vite";
3
- import baseConfig from "../../vite.config.mts";
3
+ import baseConfig from "../../vite.config.ts";
4
4
 
5
5
  export default extendConfig(baseConfig, () => {
6
6
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "Vercel Edge Functions",
3
3
  "scripts": {
4
- "build.server": "qwik check-client src dist && vite build -c adapters/vercel-edge/vite.config.mts",
4
+ "build.server": "qwik check-client src dist && vite build -c adapters/vercel-edge/vite.config.ts",
5
5
  "deploy": "vercel deploy"
6
6
  },
7
7
  "devDependencies": {
@@ -24,5 +24,6 @@
24
24
  "- pnpm run deploy: it will use the Vercel CLI to deploy your site"
25
25
  ]
26
26
  }
27
- }
27
+ },
28
+ "type": "module"
28
29
  }
@@ -20,7 +20,7 @@
20
20
  "@qwik.dev/core": "workspace:*"
21
21
  },
22
22
  "devDependencies": {
23
- "vite": "7.1.7"
23
+ "vite": "7.1.11"
24
24
  },
25
25
  "scripts": {
26
26
  "dev": "vite",
@@ -4,7 +4,6 @@
4
4
  "experimentalDecorators": true,
5
5
  "emitDecoratorMetadata": true
6
6
  },
7
-
8
7
  "exclude": [
9
8
  "../**/*.spec.ts",
10
9
  "../**/*.test.ts",
@@ -26,5 +26,6 @@
26
26
  "@vanilla-extract/css": "^1.12.0",
27
27
  "styled-vanilla-extract": "^0.5.4",
28
28
  "@vanilla-extract/vite-plugin": "^5.0.1"
29
- }
29
+ },
30
+ "type": "module"
30
31
  }
@@ -11,6 +11,13 @@ import type { _Stringifiable } from '../internal';
11
11
  import type { _VirtualVNode } from '../internal';
12
12
  import type { _VNode } from '../internal';
13
13
 
14
+ declare interface AddRootFn {
15
+ (obj: unknown, returnRef?: never): number;
16
+ (obj: unknown, returnRef: true): SeenRef;
17
+ }
18
+
19
+ declare type AllSignalFlags = SignalFlags | WrappedSignalFlags | SerializationSignalFlags;
20
+
14
21
  declare type AsyncComputedCtx = {
15
22
  track: Tracker;
16
23
  cleanup: (callback: () => void) => void;
@@ -43,7 +50,7 @@ declare interface Chore<T extends ChoreType = ChoreType> {
43
50
  $target$: ChoreTarget | null;
44
51
  $payload$: unknown;
45
52
  $state$: ChoreState;
46
- $blockedChores$: Chore[] | null;
53
+ $blockedChores$: ChoreArray | null;
47
54
  $startTime$: number | undefined;
48
55
  $endTime$: number | undefined;
49
56
  $resolve$: ((value: any) => void) | undefined;
@@ -224,7 +231,6 @@ declare const createScheduler: (container: Container, journalFlush: () => void,
224
231
  (type: ChoreType.CLEANUP_VISIBLE, task: Task): Chore<ChoreType.CLEANUP_VISIBLE>;
225
232
  };
226
233
 
227
- /** @public */
228
234
  declare interface DescriptorBase<T = unknown, B = unknown> extends BackRef {
229
235
  $flags$: number;
230
236
  $index$: number;
@@ -343,9 +349,9 @@ declare interface ElementFixtureOptions {
343
349
  declare class ElementVNode extends VNode {
344
350
  firstChild: VNode | null | undefined;
345
351
  lastChild: VNode | null | undefined;
346
- element: Element;
352
+ element: QElement;
347
353
  elementName: string | undefined;
348
- constructor(flags: VNodeFlags, parent: ElementVNode | VirtualVNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined, firstChild: VNode | null | undefined, lastChild: VNode | null | undefined, element: Element, elementName: string | undefined);
354
+ constructor(flags: VNodeFlags, parent: ElementVNode | VirtualVNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined, firstChild: VNode | null | undefined, lastChild: VNode | null | undefined, element: QElement, elementName: string | undefined);
349
355
  }
350
356
 
351
357
  /** @public */
@@ -373,8 +379,6 @@ declare type HostElement = VNode | ISsrNode;
373
379
  /** The shared state during an invoke() call */
374
380
  declare interface InvokeContext {
375
381
  $url$: URL | undefined;
376
- /** The next available index for the sequentialScope array */
377
- $i$: number;
378
382
  /** The Virtual parent component for the current component code */
379
383
  $hostElement$: HostElement | undefined;
380
384
  /** The current DOM element */
@@ -469,6 +473,11 @@ declare type PossibleEvents = Event | SimplifiedServerRequestEvent | typeof Task
469
473
 
470
474
  declare type Props = Record<string, unknown>;
471
475
 
476
+ declare interface QElement extends Element {
477
+ qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => ValueOrPromise<unknown>;
478
+ vNode?: VNode;
479
+ }
480
+
472
481
  /**
473
482
  * The `QRL` type represents a lazy-loadable AND serializable resource.
474
483
  *
@@ -601,7 +610,7 @@ declare type QRL<TYPE = unknown> = {
601
610
  getCaptured(): unknown[] | null;
602
611
  getSymbol(): string;
603
612
  getHash(): string;
604
- dev: QRLDev | null;
613
+ dev?: QRLDev | null;
605
614
  } & BivariantQrlFn<QrlArgs<TYPE>, QrlReturn<TYPE>>;
606
615
 
607
616
  declare type QrlArgs<T> = T extends (...args: infer ARGS) => any ? ARGS : unknown[];
@@ -633,6 +642,8 @@ declare type QRLInternalMethods<TYPE> = {
633
642
 
634
643
  declare type QrlReturn<T> = T extends (...args: any) => infer R ? Awaited<R> : unknown;
635
644
 
645
+ declare type QwikLoaderEventScope = '-document' | '-window' | '';
646
+
636
647
  /** @public */
637
648
  declare interface ReadonlySignal<T = unknown> {
638
649
  readonly value: T;
@@ -655,10 +666,10 @@ declare interface ResourceReturnInternal<T> {
655
666
 
656
667
  declare type Scheduler = ReturnType<typeof createScheduler>;
657
668
 
669
+ /** Stores the location of an object. If no parent, it's a root. */
658
670
  declare type SeenRef = {
659
- $parent$: unknown | null;
660
671
  $index$: number;
661
- $rootIndex$: number;
672
+ $parent$?: SeenRef | null;
662
673
  };
663
674
 
664
675
  declare interface SerializationContext {
@@ -674,28 +685,21 @@ declare interface SerializationContext {
674
685
  * - `{ parent, index }` - The parent object and the index within that parent.
675
686
  * - `undefined` - Object has not been seen yet.
676
687
  */
677
- $wasSeen$: (obj: unknown) => SeenRef | undefined;
688
+ getSeenRef: (obj: unknown) => SeenRef | undefined;
689
+ /** Returns the root index of the object, if it is a root. Otherwise returns undefined. */
678
690
  $hasRootId$: (obj: unknown) => number | undefined;
679
691
  /**
680
692
  * Root objects which need to be serialized.
681
693
  *
682
694
  * Roots are entry points into the object graph. Typically the roots are held by the listeners.
683
695
  *
684
- * Returns a path string representing the path from roots through all parents to the object.
685
- * Format: "3 2 0" where each number is the index within its parent, from root to leaf.
686
- */
687
- $addRoot$: (obj: unknown, parent?: unknown) => number;
688
- /**
689
- * Get root path of the object without creating a new root.
690
- *
691
- * This is used during serialization, as new roots can't be created during serialization.
692
- *
693
- * The function throws if the root was not found.
696
+ * Returns the index of the root object.
694
697
  */
695
- $addRootPath$: (obj: any) => string | number;
696
- $seen$: (obj: unknown, parent: unknown | null, index: number) => void;
698
+ $addRoot$: AddRootFn;
699
+ /** Mark an object as seen during serialization. This is used to handle backreferences and cycles */
700
+ $markSeen$: (obj: unknown, parent: SeenRef | undefined, index: number) => SeenRef;
697
701
  $roots$: unknown[];
698
- $objectPathStringCache$: Map<unknown, string | number>;
702
+ $promoteToRoot$: (ref: SeenRef, index?: number) => void;
699
703
  $addSyncFn$($funcStr$: string | null, argsCount: number, fn: Function): number;
700
704
  $isSsrNode$: (obj: unknown) => obj is SsrNode;
701
705
  $isDomRef$: (obj: unknown) => obj is DomRef;
@@ -710,6 +714,11 @@ declare interface SerializationContext {
710
714
  $setProp$: (obj: any, prop: string, value: any) => void;
711
715
  }
712
716
 
717
+ declare const enum SerializationSignalFlags {
718
+ SERIALIZATION_STRATEGY_NEVER = 16,
719
+ SERIALIZATION_STRATEGY_ALWAYS = 32
720
+ }
721
+
713
722
  /**
714
723
  * A signal is a reactive value which can be read and written. When the signal is written, all tasks
715
724
  * which are tracking the signal will be re-run and all components that read the signal will be
@@ -726,11 +735,17 @@ declare interface Signal<T = any> extends ReadonlySignal<T> {
726
735
  value: T;
727
736
  }
728
737
 
738
+ declare const enum SignalFlags {
739
+ INVALID = 1,
740
+ RUN_EFFECTS = 2
741
+ }
742
+
729
743
  declare class SignalImpl<T = any> implements Signal<T> {
730
744
  $untrackedValue$: T;
731
745
  /** Store a list of effects which are dependent on this signal. */
732
746
  $effects$: null | Set<EffectSubscription>;
733
747
  $container$: Container | null;
748
+ $wrappedSignal$: WrappedSignalImpl<T> | null;
734
749
  constructor(container: Container | null, value: T);
735
750
  /**
736
751
  * Use this to force running subscribers, for example when the calculated value has mutated but
@@ -758,7 +773,7 @@ declare type SsrAttrKey = string;
758
773
 
759
774
  declare type SsrAttrs = Array<SsrAttrKey | SsrAttrValue>;
760
775
 
761
- declare type SsrAttrValue = string | Signal<any> | boolean | object | null;
776
+ declare type SsrAttrValue = string | Signal<any> | Promise<any> | boolean | object | null;
762
777
 
763
778
  /** A selection of attributes of the real thing */
764
779
  declare type SsrNode = {
@@ -774,8 +789,14 @@ declare const enum SsrNodeFlags {
774
789
 
775
790
  /** @public */
776
791
  export declare function ssrRenderToDom(jsx: JSXOutput, opts?: {
792
+ /** Print debug information to console. */
777
793
  debug?: boolean;
794
+ /** Treat JSX as raw, (don't wrap in in head/body) */
778
795
  raw?: boolean;
796
+ /** Include QwikLoader */
797
+ qwikLoader?: boolean;
798
+ /** Inject nodes into the document before test runs (for testing purposes) */
799
+ onBeforeResume?: (document: Document) => void;
779
800
  }): Promise<{
780
801
  container: _DomContainer;
781
802
  document: Document;
@@ -921,7 +942,8 @@ declare interface Tracker {
921
942
  }
922
943
 
923
944
  /**
924
- * Trigger an event in unit tests on an element.
945
+ * Trigger an event in unit tests on an element. Needs to be kept in sync with the Qwik Loader event
946
+ * dispatching.
925
947
  *
926
948
  * Future deprecation candidate.
927
949
  *
@@ -1065,8 +1087,9 @@ declare const enum VNodeJournalOpCode {
1065
1087
  SetText = 1,// ------ [SetAttribute, target, text]
1066
1088
  SetAttribute = 2,// - [SetAttribute, target, ...(key, values)]]
1067
1089
  HoistStyles = 3,// -- [HoistStyles, document]
1068
- Remove = 4,// ------- [Insert, target(parent), ...nodes]
1069
- Insert = 5
1090
+ Remove = 4,// ------- [Remove, target(parent), ...nodes]
1091
+ RemoveAll = 5,// ------- [RemoveAll, target(parent)]
1092
+ Insert = 6
1070
1093
  }
1071
1094
 
1072
1095
  /**
@@ -1086,4 +1109,29 @@ export declare function walkJSX(jsx: JSXOutput, apply: {
1086
1109
  text: (text: _Stringifiable) => void;
1087
1110
  }): void;
1088
1111
 
1112
+ declare const enum WrappedSignalFlags {
1113
+ UNWRAP = 4
1114
+ }
1115
+
1116
+ declare class WrappedSignalImpl<T> extends SignalImpl<T> implements BackRef {
1117
+ $args$: any[];
1118
+ $func$: (...args: any[]) => T;
1119
+ $funcStr$: string | null;
1120
+ $flags$: AllSignalFlags;
1121
+ $hostElement$: HostElement | null;
1122
+ [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
1123
+ constructor(container: Container | null, fn: (...args: any[]) => T, args: any[], fnStr: string | null, flags?: SignalFlags);
1124
+ invalidate(): void;
1125
+ /**
1126
+ * Use this to force running subscribers, for example when the calculated value has mutated but
1127
+ * remained the same object.
1128
+ */
1129
+ force(): void;
1130
+ get untrackedValue(): T;
1131
+ $computeIfNeeded$(): void;
1132
+ $unwrapIfSignal$(): SignalImpl<T> | WrappedSignalImpl<T>;
1133
+ set value(_: any);
1134
+ get value(): any;
1135
+ }
1136
+
1089
1137
  export { }