[node] Add streaming support for vc dev (#9745)

Until now, the user code response it's buffered and serialized. This is
mismatching how Vercel works these days.

This PR enables streaming response in `vc dev` for Edge/Serverless.

As part of the implementation, the `node-bridge` which spawns a process
to consume the user code is not necessary anymore.

Some necessary files (like HTTP server helpers) have been moved to live
in node builder package instead.

---------

Co-authored-by: Ethan Arrowood <ethan.arrowood@vercel.com>
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com>
This commit is contained in:
Kiko Beats
2023-04-19 23:56:41 +02:00
committed by GitHub
parent a63b9d960b
commit 6dded87426
42 changed files with 593 additions and 2799 deletions

View File

@@ -0,0 +1,13 @@
'use strict';
const { pathToFileURL } = require('url');
const { isAbsolute } = require('path');
function dynamicImport(filepath) {
const id = isAbsolute(filepath) ? pathToFileURL(filepath).href : filepath;
return import(id);
}
module.exports = {
dynamicImport,
};