You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Bartek Iwańczuk 8bcffff9dc
test: disable macos_shared_libraries test (#18342)
3 hours ago
.cargo fix: upgrade deno_ast to 0.23 (#17269) 3 months ago
.devcontainer chore: update devcontainer configuration (#15751) 7 months ago
.github chore(ci): save a cargo cache specifically for linting (#18219) 5 days ago
bench_util perf(core) Reduce script name and script code copies (#18298) 5 hours ago
cli test: disable macos_shared_libraries test (#18342) 3 hours ago
core perf(core) Reduce script name and script code copies (#18298) 5 hours ago
ext perf(core) Reduce script name and script code copies (#18298) 5 hours ago
lockfile chore: forward v1.31.3 release commit to main (#18222) 6 days ago
ops Reland "perf(core): preserve ops between snapshots (#18080)" (#18272) 3 days ago
runtime perf(core) Reduce script name and script code copies (#18298) 5 hours ago
serde_v8 feat(serde_v8): support BigInt serialization (#18225) 5 days ago
test_ffi feat(ext/ffi): Make External pointers keep reference to V8 buffer (#17955) 2 weeks ago
test_napi feat(node): stabilize Node-API (#17553) 1 month ago
test_util fix(test_util): parse strace usecs/call in total line if present (#18241) 5 days ago
third_party@17882602ab chore: update "deno_third_party" submodule (#18274) 3 days ago
tools chore(tools): Copyright checker had a bad interpolation (#18328) 11 hours ago
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2 months ago
.dprint.json chore: update formatting configuration (#18331) 6 hours ago
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 4 years ago
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 1 year ago
.gitignore fix(npm): improve peer dependency resolution with circular dependencies (#18069) 2 weeks ago
.gitmodules feat(ext/ffi): Implement FFI fast-call trampoline with Dynasmrt (#15305) 7 months ago
.rustfmt.toml chore: update copyright year to 2023 (#17247) 3 months ago
Cargo.lock Revert "perf: disable TSC snapshot compression (#18333)" (#18336) 8 hours ago
Cargo.toml Revert "perf: disable TSC snapshot compression (#18333)" (#18336) 8 hours ago
LICENSE.md chore: update copyright year to 2023 (#17247) 3 months ago
README.md docs: use `irm` instead of `iwr -useb` (#15474) 7 months ago
Releases.md chore: forward v1.31.3 release commit to main (#18222) 6 days ago
rust-toolchain.toml chore: update Rust to 1.68.0 (#18102) 2 weeks ago

README.md

Deno

Build Status - Cirrus Twitter handle Discord Chat

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

  • Secure by default. No file, network, or environment access, unless explicitly enabled.
  • Supports TypeScript out of the box.
  • Ships only a single executable file.
  • Built-in utilities.
  • Set of reviewed standard modules that are guaranteed to work with Deno.

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:

cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://deno.land/std/examples/welcome.ts

Or a more complex one:

const listener = Deno.listen({ port: 8000 });
console.log("http://localhost:8000/");

for await (const conn of listener) {
  serve(conn);
}

async function serve(conn: Deno.Conn) {
  for await (const { respondWith } of Deno.serveHttp(conn)) {
    respondWith(new Response("Hello world"));
  }
}

You can find a deeper introduction, examples, and environment setup guides in the manual.

The complete API reference is available at the runtime documentation.

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.