@absolutejs/absolute 0.19.0-beta.34 → 0.19.0-beta.35

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.
@@ -147,7 +147,8 @@
147
147
  "Bash(/dev/null cd:*)",
148
148
  "Bash(CMAKE_BUILD_TYPE=Release bun bd -- -Doptimize=ReleaseFast)",
149
149
  "Bash(/dev/null rm:*)",
150
- "Bash(grep '\"\"version\"\"' package.json)"
150
+ "Bash(grep '\"\"version\"\"' package.json)",
151
+ "Bash(cd:*)"
151
152
  ]
152
153
  }
153
154
  }
@@ -0,0 +1,55 @@
1
+ // SSR Worker — renders React components in a separate context so
2
+ // frontend imports don't pollute bun --hot's module graph.
3
+ // Each render dynamically imports the component fresh.
4
+
5
+ /* eslint-disable no-restricted-globals */
6
+
7
+ self.onmessage = async (event) => {
8
+ const { id, componentPath, indexPath, props } = event.data;
9
+
10
+ try {
11
+ // Dynamic import with cache bust — always gets fresh module
12
+ const timestamp = Date.now();
13
+ const mod = await import(`${componentPath}?t=${timestamp}`);
14
+ const Component = mod.default ?? Object.values(mod)[0];
15
+
16
+ const { createElement } = await import('react');
17
+ const { renderToReadableStream } = await import('react-dom/server');
18
+
19
+ const propsScript = props
20
+ ? `window.__INITIAL_PROPS__=${JSON.stringify(props)}`
21
+ : '';
22
+
23
+ const element = props
24
+ ? createElement(Component, props)
25
+ : createElement(Component);
26
+
27
+ const stream = await renderToReadableStream(element, {
28
+ bootstrapModules: indexPath ? [indexPath] : [],
29
+ bootstrapScriptContent: propsScript || undefined,
30
+ onError(error: unknown) {
31
+ console.error('[SSR Worker] React streaming error:', error);
32
+ }
33
+ });
34
+
35
+ // Collect the stream into a string
36
+ const reader = stream.getReader();
37
+ const chunks: string[] = [];
38
+ const decoder = new TextDecoder();
39
+
40
+ let done = false;
41
+ while (!done) {
42
+ const result = await reader.read();
43
+ done = result.done;
44
+ if (result.value) {
45
+ chunks.push(decoder.decode(result.value, { stream: !done }));
46
+ }
47
+ }
48
+
49
+ self.postMessage({ html: chunks.join(''), id, ok: true });
50
+ } catch (error) {
51
+ const message =
52
+ error instanceof Error ? error.message : String(error);
53
+ self.postMessage({ error: message, id, ok: false });
54
+ }
55
+ };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/native-darwin-arm64",
3
- "version": "0.19.0-beta.34",
3
+ "version": "0.19.0-beta.35",
4
4
  "description": "Native optimizations for AbsoluteJS (darwin arm64)",
5
5
  "license": "BSL-1.1",
6
6
  "os": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/native-darwin-x64",
3
- "version": "0.19.0-beta.34",
3
+ "version": "0.19.0-beta.35",
4
4
  "description": "Native optimizations for AbsoluteJS (darwin x64)",
5
5
  "license": "BSL-1.1",
6
6
  "os": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/native-linux-arm64",
3
- "version": "0.19.0-beta.34",
3
+ "version": "0.19.0-beta.35",
4
4
  "description": "Native optimizations for AbsoluteJS (linux arm64)",
5
5
  "license": "BSL-1.1",
6
6
  "os": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/native-linux-x64",
3
- "version": "0.19.0-beta.34",
3
+ "version": "0.19.0-beta.35",
4
4
  "description": "Native optimizations for AbsoluteJS (linux x64)",
5
5
  "license": "BSL-1.1",
6
6
  "os": [
package/package.json CHANGED
@@ -138,17 +138,17 @@
138
138
  }
139
139
  },
140
140
  "optionalDependencies": {
141
- "@absolutejs/native-darwin-arm64": "0.19.0-beta.34",
142
- "@absolutejs/native-darwin-x64": "0.19.0-beta.34",
143
- "@absolutejs/native-linux-arm64": "0.19.0-beta.34",
144
- "@absolutejs/native-linux-x64": "0.19.0-beta.34"
141
+ "@absolutejs/native-darwin-arm64": "0.19.0-beta.35",
142
+ "@absolutejs/native-darwin-x64": "0.19.0-beta.35",
143
+ "@absolutejs/native-linux-arm64": "0.19.0-beta.35",
144
+ "@absolutejs/native-linux-x64": "0.19.0-beta.35"
145
145
  },
146
146
  "repository": {
147
147
  "type": "git",
148
148
  "url": "https://github.com/absolutejs/absolutejs.git"
149
149
  },
150
150
  "scripts": {
151
- "build": "rm -rf dist && bun build src/index.ts src/build.ts src/angular/index.ts src/react/index.ts src/react/hooks/index.ts src/svelte/index.ts src/vue/index.ts --outdir dist --sourcemap --target=bun --external react --external react-dom --external vue --external @vue/compiler-sfc --external vue/server-renderer --external svelte --external svelte/compiler --external svelte/server --external elysia --external @elysiajs/static --external @angular/compiler-cli --external @angular/core --external @angular/common --external @angular/platform-browser --external @angular/platform-server --external @angular/ssr --external zone.js --external debug --external @absolutejs/native-linux-x64 --external @absolutejs/native-linux-arm64 --external @absolutejs/native-darwin-x64 --external @absolutejs/native-darwin-arm64 && bun build src/cli/index.ts --outfile dist/cli/index.js --target=bun && tsc --emitDeclarationOnly --project tsconfig.build.json && mkdir -p dist/dev && cp -r src/dev/client dist/dev/client",
151
+ "build": "rm -rf dist && bun build src/index.ts src/build.ts src/angular/index.ts src/react/index.ts src/react/hooks/index.ts src/svelte/index.ts src/vue/index.ts --outdir dist --sourcemap --target=bun --external react --external react-dom --external vue --external @vue/compiler-sfc --external vue/server-renderer --external svelte --external svelte/compiler --external svelte/server --external elysia --external @elysiajs/static --external @angular/compiler-cli --external @angular/core --external @angular/common --external @angular/platform-browser --external @angular/platform-server --external @angular/ssr --external zone.js --external debug --external @absolutejs/native-linux-x64 --external @absolutejs/native-linux-arm64 --external @absolutejs/native-darwin-x64 --external @absolutejs/native-darwin-arm64 && bun build src/cli/index.ts --outfile dist/cli/index.js --target=bun && tsc --emitDeclarationOnly --project tsconfig.build.json && mkdir -p dist/dev && cp -r src/dev/client dist/dev/client && cp src/dev/ssrWorker.ts dist/dev/ssrWorker.ts",
152
152
  "build:native": "./native/build.sh",
153
153
  "db:push": "drizzle-kit push",
154
154
  "db:studio": "drizzle-kit studio",
@@ -162,5 +162,5 @@
162
162
  "typecheck": "bun run vue-tsc --noEmit"
163
163
  },
164
164
  "types": "./dist/src/index.d.ts",
165
- "version": "0.19.0-beta.34"
165
+ "version": "0.19.0-beta.35"
166
166
  }