Skip to content

feat: deno adapter#38

Open
barelyhuman wants to merge 7 commits intomainfrom
feat/deno-adapter
Open

feat: deno adapter#38
barelyhuman wants to merge 7 commits intomainfrom
feat/deno-adapter

Conversation

@barelyhuman
Copy link
Copy Markdown
Owner

@barelyhuman barelyhuman commented Apr 12, 2026

Use deno as an example to make sure the kernel split from #37 works as expected, also makes certain corrections for the same

- Rewrite runtime/handler.js: API handlers receive Request, return Response
- Add nodeRequestToFetch/fetchResponseToNode bridge functions to adex/src/http.js
- Remove adexDevServer and adapterMap from vite.js; extract generateServerEntry helper
- Add adex-manifest-sidecar plugin to emit adex.manifest.json in server build
- Fully rewrite adex-adapter-node: node() factory, createNodeDevServerPlugin, Fetch bridge inlined
- Migrate all playground API routes to Fetch API signature
- Update test fixtures to use adapter: node() and add adex-adapter-node dep
- Add 10 unit tests for HTTP bridge functions and 2 handler integration tests (28 total passing)
…rEntry from core

- Add serverEntry({ islands }) to node() factory — adapter now owns its own
  bootstrap template (filesystem reads, port/host, manifest loading)
- Remove generateServerEntry() from adex/src/vite.js entirely
- Remove 'module' field from AdapterConfig; core no longer needs the adapter's
  import specifier since the entry string is fully owned by the adapter
- Add ensureAdapter() helper: defaults to adex-adapter-node if no adapter
  passed, throws a clear install message if the package is not found
- Add createAdapterDevServerPlugin() proxy: lazily resolves the adapter and
  forwards all Vite hooks (config, configResolved, resolveId, configureServer)
  with correct 'this' binding so the inner plugin's context is preserved
- virtual:adex:server load hook is now lazy (async) in both dev and build paths
- All 28 tests pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant