1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Laurence Rowe 542314a0be
refactor(ext/http): refer to HttpRecord directly using v8::External (#20770)
Makes the JavaScript Request use a v8:External opaque pointer to
directly refer to the Rust HttpRecord.

The HttpRecord is now reference counted. To avoid leaks the strong count
is checked at request completion.

Performance seems unchanged on the minimal benchmark. 118614 req/s this
branch vs 118564 req/s on main, but variance between runs on my laptop
is pretty high.

---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-11-13 07:04:49 -07:00
.cargo chore: Add a local-build.toml to make downstream packaging from sourc… (#20236) 2023-08-24 08:46:57 -06:00
.devcontainer fix(devcontainer): Add build deps and update extension in devcontainer (#20467) 2023-09-12 15:33:07 +00:00
.github chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
bench_util chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
cli perf: lazy bootstrap options - first pass (#21164) 2023-11-13 04:52:59 +00:00
ext refactor(ext/http): refer to HttpRecord directly using v8::External (#20770) 2023-11-13 07:04:49 -07:00
runtime perf: lazy bootstrap options - first pass (#21164) 2023-11-13 04:52:59 +00:00
test_ffi feat: granular --unstable-* flags (#20968) 2023-11-01 23:15:08 +01:00
test_napi Revert "chore: update deno_std submodule (#20994)" (#21001) 2023-10-28 01:24:37 +00:00
test_util chore(ext/node): use libz-sys w/zlib-ng feature in node (#21158) 2023-11-11 07:20:12 -07:00
tools feat(ext/web): add AbortSignal.any() (#21087) 2023-11-13 01:04:11 +01:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json refactor: upgrade to deno_ast 0.31 and deno_graph 0.59 (#20965) 2023-10-24 21:43:19 +00:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 2021-11-15 09:58:04 -05:00
.gitignore feat: Add "deno jupyter" subcommand (#20337) 2023-09-16 02:42:09 +02:00
.gitmodules chore: remove third_party submodule (#20201) 2023-08-19 09:56:12 +05:30
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock refactor(ext/http): refer to HttpRecord directly using v8::External (#20770) 2023-11-13 07:04:49 -07:00
Cargo.toml chore(ext/node): use libz-sys w/zlib-ng feature in node (#21158) 2023-11-11 07:20:12 -07:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs: add missing cmake build dependency installation (#20788) 2023-11-06 13:31:26 +01:00
Releases.md chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
rust-toolchain.toml chore: update to Rust 1.73 (#20781) 2023-10-05 14:49:09 -04:00

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Features

Install

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Scoop (Windows):

scoop install deno

Build and install from source using Cargo:

# Install build dependencies
apt install -y cmake protobuf-compiler # Linux
brew install cmake protobuf # macOS

# Build and install Deno
cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://examples.deno.land/hello-world.ts

Or setup a simple HTTP server:

Deno.serve((_req) => new Response("Hello, World!"));

More Examples

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.