@maravilla-labs/adapter-astro 0.2.0

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 (55) hide show
  1. package/LICENSE +12 -0
  2. package/README.md +92 -0
  3. package/dist/index.d.ts +27 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +184 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/server-entrypoint.d.ts +12 -0
  8. package/dist/server-entrypoint.d.ts.map +1 -0
  9. package/dist/server-entrypoint.js +37 -0
  10. package/dist/server-entrypoint.js.map +1 -0
  11. package/dist/session-driver.d.ts +27 -0
  12. package/dist/session-driver.d.ts.map +1 -0
  13. package/dist/session-driver.js +65 -0
  14. package/dist/session-driver.js.map +1 -0
  15. package/dist/shims/buffer.d.ts +23 -0
  16. package/dist/shims/buffer.d.ts.map +1 -0
  17. package/dist/shims/buffer.js +96 -0
  18. package/dist/shims/buffer.js.map +1 -0
  19. package/dist/shims/crypto.d.ts +31 -0
  20. package/dist/shims/crypto.d.ts.map +1 -0
  21. package/dist/shims/crypto.js +54 -0
  22. package/dist/shims/crypto.js.map +1 -0
  23. package/dist/shims/fs-promises.d.ts +7 -0
  24. package/dist/shims/fs-promises.d.ts.map +1 -0
  25. package/dist/shims/fs-promises.js +7 -0
  26. package/dist/shims/fs-promises.js.map +1 -0
  27. package/dist/shims/fs.d.ts +37 -0
  28. package/dist/shims/fs.d.ts.map +1 -0
  29. package/dist/shims/fs.js +48 -0
  30. package/dist/shims/fs.js.map +1 -0
  31. package/dist/shims/module.d.ts +9 -0
  32. package/dist/shims/module.d.ts.map +1 -0
  33. package/dist/shims/module.js +10 -0
  34. package/dist/shims/module.js.map +1 -0
  35. package/dist/shims/os.d.ts +17 -0
  36. package/dist/shims/os.d.ts.map +1 -0
  37. package/dist/shims/os.js +18 -0
  38. package/dist/shims/os.js.map +1 -0
  39. package/dist/shims/path.d.ts +65 -0
  40. package/dist/shims/path.d.ts.map +1 -0
  41. package/dist/shims/path.js +99 -0
  42. package/dist/shims/path.js.map +1 -0
  43. package/dist/shims/process.d.ts +15 -0
  44. package/dist/shims/process.d.ts.map +1 -0
  45. package/dist/shims/process.js +29 -0
  46. package/dist/shims/process.js.map +1 -0
  47. package/dist/shims/url.d.ts +37 -0
  48. package/dist/shims/url.d.ts.map +1 -0
  49. package/dist/shims/url.js +30 -0
  50. package/dist/shims/url.js.map +1 -0
  51. package/dist/worker-template.d.ts +14 -0
  52. package/dist/worker-template.d.ts.map +1 -0
  53. package/dist/worker-template.js +37 -0
  54. package/dist/worker-template.js.map +1 -0
  55. package/package.json +61 -0
@@ -0,0 +1,37 @@
1
+ import { WORKER_POLYFILLS } from '@maravilla-labs/adapter-core';
2
+ /**
3
+ * Worker template for Astro on Maravilla Runtime.
4
+ *
5
+ * The __SERVER_ENTRY__ placeholder is replaced at build time with the path to
6
+ * Astro's built server entry (dist/server/entry.mjs), which is our
7
+ * `server-entrypoint.ts` bound to the generated SSR manifest.
8
+ *
9
+ * NOTE: No top-level await and no ES module syntax may survive to the output —
10
+ * the runtime wraps bundles in an IIFE. esbuild resolves the import below at
11
+ * bundle time; Astro's `createApp` is synchronous so no lazy init is needed,
12
+ * but we still guard the polyfill re-application for worker reuse.
13
+ */
14
+ export const WORKER_TEMPLATE = `${WORKER_POLYFILLS}
15
+
16
+ // Import the Astro server build (resolved by esbuild at bundle time)
17
+ import { handler } from '__SERVER_ENTRY__';
18
+
19
+ async function handleRequest(request) {
20
+ // Re-apply polyfills if needed (worker reuse)
21
+ if (globalThis.Request !== EnhancedRequest) {
22
+ globalThis.Request = EnhancedRequest;
23
+ globalThis.fetch = enhancedFetch;
24
+ }
25
+
26
+ try {
27
+ return await handler(request);
28
+ } catch (error) {
29
+ console.error('[maravilla] handleRequest error:', error?.message || error);
30
+ console.error('[maravilla] stack:', error?.stack || 'no stack');
31
+ throw error;
32
+ }
33
+ }
34
+
35
+ globalThis.handleRequest = handleRequest;
36
+ `;
37
+ //# sourceMappingURL=worker-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-template.js","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsBjD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@maravilla-labs/adapter-astro",
3
+ "version": "0.2.0",
4
+ "description": "Astro adapter for Maravilla Runtime",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./server-entrypoint": "./dist/server-entrypoint.js",
14
+ "./session-driver": "./dist/session-driver.js"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "keywords": [
20
+ "astro",
21
+ "adapter",
22
+ "astro-adapter",
23
+ "maravilla",
24
+ "edge",
25
+ "runtime"
26
+ ],
27
+ "author": "SOLUTAS GmbH",
28
+ "license": "Proprietary",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/maravilla-labs/maravilla-runtime.git",
32
+ "directory": "packages/adapter-astro"
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "peerDependencies": {
38
+ "astro": "^6.0.0 || ^7.0.0",
39
+ "@maravilla-labs/functions": "^0.11.0"
40
+ },
41
+ "peerDependenciesMeta": {
42
+ "@maravilla-labs/functions": {
43
+ "optional": true
44
+ }
45
+ },
46
+ "devDependencies": {
47
+ "astro": "^7.0.0",
48
+ "@types/node": "^20.0.0",
49
+ "typescript": "^5.0.0",
50
+ "vitest": "^1.0.0"
51
+ },
52
+ "dependencies": {
53
+ "esbuild": "^0.25.0",
54
+ "@maravilla-labs/adapter-core": "^3.4.0"
55
+ },
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "dev": "tsc --watch",
59
+ "test": "vitest run"
60
+ }
61
+ }