├── .editorconfig ├── .github └── workflows │ └── test.yml ├── .gitignore ├── README.md ├── example └── dump │ └── index.js ├── license.md ├── package.json ├── pnpm-lock.yaml ├── release.config.js ├── src ├── deferred.ts ├── errors.ts ├── index.ts ├── install-node.ts ├── install-python.ts ├── providers │ ├── docker │ │ └── index.ts │ ├── index.ts │ └── native │ │ └── index.ts ├── runtime-server.ts ├── runtimes.ts ├── runtimes │ ├── executable │ │ ├── bootstrap.ts │ │ └── executable │ ├── go1.x │ │ ├── bootstrap.go │ │ ├── bootstrap.ts │ │ ├── filename.ts │ │ └── index.ts │ ├── nodejs │ │ ├── bootstrap │ │ └── bootstrap.ts │ ├── nodejs10.x │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── nodejs12.x │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── nodejs14.x │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── nodejs6.10 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── nodejs8.10 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── provided │ │ ├── bootstrap │ │ └── bootstrap.ts │ ├── python │ │ ├── bootstrap │ │ ├── bootstrap.py │ │ └── bootstrap.ts │ ├── python2.7 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── python3.6 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ ├── python3.7 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts │ └── python3 │ │ ├── bootstrap │ │ ├── bootstrap.ts │ │ └── index.ts ├── types.ts └── unzip.ts ├── test ├── functions │ ├── nodejs-callback-with-return │ │ └── handler.js │ ├── nodejs-echo │ │ └── handler.js │ ├── nodejs-env.zip │ ├── nodejs-env │ │ └── index.js │ ├── nodejs-eval │ │ └── handler.js │ ├── nodejs-exit │ │ └── handler.js │ ├── nodejs-handled-error │ │ └── handler.js │ ├── nodejs-init-error │ │ ├── handler.js │ │ └── out │ ├── nodejs-nested-handler │ │ └── hid.den │ │ │ └── launcher.js │ ├── nodejs-pid │ │ └── index.js │ ├── nodejs-reference-error │ │ └── handler.js │ ├── nodejs-version │ │ └── handler.js │ ├── provided-bash-echo │ │ ├── bootstrap │ │ └── handler.sh │ ├── provided-bash-invalid-version │ │ └── bootstrap │ ├── python-hello │ │ └── hello.py │ ├── python-init-error │ │ ├── handler.py │ │ └── out │ └── python-version │ │ └── handler.py └── test.ts ├── tsconfig.json ├── util └── python │ ├── Dockerfile │ ├── build-all.sh │ ├── copy.sh │ └── cpython-enable-openssl.patch └── vitest.config.ts /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/README.md -------------------------------------------------------------------------------- /example/dump/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/example/dump/index.js -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/license.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /release.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | branches: ['main'], 3 | tagFormat: '${version}', 4 | } 5 | -------------------------------------------------------------------------------- /src/deferred.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/deferred.ts -------------------------------------------------------------------------------- /src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/errors.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/install-node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/install-node.ts -------------------------------------------------------------------------------- /src/install-python.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/install-python.ts -------------------------------------------------------------------------------- /src/providers/docker/index.ts: -------------------------------------------------------------------------------- 1 | export default function createProvider() {} 2 | -------------------------------------------------------------------------------- /src/providers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/providers/index.ts -------------------------------------------------------------------------------- /src/providers/native/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/providers/native/index.ts -------------------------------------------------------------------------------- /src/runtime-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtime-server.ts -------------------------------------------------------------------------------- /src/runtimes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes.ts -------------------------------------------------------------------------------- /src/runtimes/executable/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/executable/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/executable/executable: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/executable/executable -------------------------------------------------------------------------------- /src/runtimes/go1.x/bootstrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/go1.x/bootstrap.go -------------------------------------------------------------------------------- /src/runtimes/go1.x/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/go1.x/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/go1.x/filename.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/go1.x/filename.ts -------------------------------------------------------------------------------- /src/runtimes/go1.x/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/go1.x/index.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs10.x/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs10.x/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs10.x/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs10.x/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs10.x/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs10.x/index.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs12.x/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs12.x/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs12.x/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs12.x/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs12.x/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs12.x/index.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs14.x/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs14.x/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs14.x/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs14.x/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs14.x/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs14.x/index.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs6.10/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs6.10/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs6.10/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs6.10/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs6.10/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs6.10/index.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs8.10/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs8.10/bootstrap -------------------------------------------------------------------------------- /src/runtimes/nodejs8.10/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs8.10/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/nodejs8.10/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/nodejs8.10/index.ts -------------------------------------------------------------------------------- /src/runtimes/provided/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/provided/bootstrap -------------------------------------------------------------------------------- /src/runtimes/provided/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/provided/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python/bootstrap -------------------------------------------------------------------------------- /src/runtimes/python/bootstrap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python/bootstrap.py -------------------------------------------------------------------------------- /src/runtimes/python/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python2.7/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python2.7/bootstrap -------------------------------------------------------------------------------- /src/runtimes/python2.7/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python2.7/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python2.7/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python2.7/index.ts -------------------------------------------------------------------------------- /src/runtimes/python3.6/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.6/bootstrap -------------------------------------------------------------------------------- /src/runtimes/python3.6/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.6/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python3.6/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.6/index.ts -------------------------------------------------------------------------------- /src/runtimes/python3.7/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.7/bootstrap -------------------------------------------------------------------------------- /src/runtimes/python3.7/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.7/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python3.7/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3.7/index.ts -------------------------------------------------------------------------------- /src/runtimes/python3/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3/bootstrap -------------------------------------------------------------------------------- /src/runtimes/python3/bootstrap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3/bootstrap.ts -------------------------------------------------------------------------------- /src/runtimes/python3/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/runtimes/python3/index.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/unzip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/src/unzip.ts -------------------------------------------------------------------------------- /test/functions/nodejs-callback-with-return/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-callback-with-return/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-echo/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-echo/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-env.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-env.zip -------------------------------------------------------------------------------- /test/functions/nodejs-env/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-env/index.js -------------------------------------------------------------------------------- /test/functions/nodejs-eval/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-eval/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-exit/handler.js: -------------------------------------------------------------------------------- 1 | process.exit(1); 2 | -------------------------------------------------------------------------------- /test/functions/nodejs-handled-error/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-handled-error/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-init-error/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-init-error/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-init-error/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-init-error/out -------------------------------------------------------------------------------- /test/functions/nodejs-nested-handler/hid.den/launcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-nested-handler/hid.den/launcher.js -------------------------------------------------------------------------------- /test/functions/nodejs-pid/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-pid/index.js -------------------------------------------------------------------------------- /test/functions/nodejs-reference-error/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-reference-error/handler.js -------------------------------------------------------------------------------- /test/functions/nodejs-version/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/nodejs-version/handler.js -------------------------------------------------------------------------------- /test/functions/provided-bash-echo/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/provided-bash-echo/bootstrap -------------------------------------------------------------------------------- /test/functions/provided-bash-echo/handler.sh: -------------------------------------------------------------------------------- 1 | handler () { 2 | set -e 3 | echo "$1" >&2 4 | } 5 | -------------------------------------------------------------------------------- /test/functions/provided-bash-invalid-version/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/provided-bash-invalid-version/bootstrap -------------------------------------------------------------------------------- /test/functions/python-hello/hello.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/python-hello/hello.py -------------------------------------------------------------------------------- /test/functions/python-init-error/handler.py: -------------------------------------------------------------------------------- 1 | 10 * (1/0) 2 | -------------------------------------------------------------------------------- /test/functions/python-init-error/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/python-init-error/out -------------------------------------------------------------------------------- /test/functions/python-version/handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/functions/python-version/handler.py -------------------------------------------------------------------------------- /test/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/test/test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/tsconfig.json -------------------------------------------------------------------------------- /util/python/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/util/python/Dockerfile -------------------------------------------------------------------------------- /util/python/build-all.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/util/python/build-all.sh -------------------------------------------------------------------------------- /util/python/copy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/util/python/copy.sh -------------------------------------------------------------------------------- /util/python/cpython-enable-openssl.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/util/python/cpython-enable-openssl.patch -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel/fun/HEAD/vitest.config.ts --------------------------------------------------------------------------------