1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Aaron O'Mullan 2865f39bec
perf(core.js): introduce promise ring (#9979)
This is another optimization to help improve the baseline overhead 
of async ops. It shaves off ~55ns/op or ~7% of the current total 
async op overhead.

It achieves these gains by taking advantage of the sequential 
nature of promise IDs and optimistically stores them sequentially 
in a pre-allocated circular buffer and fallbacks to the promise Map 
for slow to resolve promises.
2021-04-07 14:38:54 +02:00
.cargo Statically link the C runtime library on Windows (#4469) 2020-03-23 20:31:29 +01:00
.github upgrade: Rust 1.51.0 (#9895) 2021-03-25 19:17:37 +01:00
cli fix(lsp): don't error on tsc debug failures for code actions (#10047) 2021-04-07 19:47:31 +10:00
core perf(core.js): introduce promise ring (#9979) 2021-04-07 14:38:54 +02:00
docs docs: list globs used by deno test (#9976) 2021-04-07 12:52:56 +02:00
op_crates fix(webgpu): correct GPUFeatureName webidl to match typings (#10023) 2021-04-06 22:06:55 +02:00
runtime refactor: add deno_file op crate (#10019) 2021-04-06 12:55:05 +02:00
serde_v8 perf(serde_v8): preallocate vector when serializing arrays (#9955) 2021-04-04 15:04:35 +02:00
test_plugin refactor(ops): remove variadic buffers (#9944) 2021-04-02 09:47:57 -04:00
test_util refactor: add deno_file op crate (#10019) 2021-04-06 12:55:05 +02:00
third_party@72f5f1a9fa chore: update third_party submodule (#9548) 2021-02-19 15:44:22 +01:00
tools refactor: add deno_file op crate (#10019) 2021-04-06 12:55:05 +02:00
.dlint.json chore: Enforce ban-untagged-todo lint rule (#9135) 2021-01-17 00:32:59 +01:00
.dprintrc.json chore(cli): Upgrade jsonc_parser to 0.17 (#9977) 2021-04-04 07:27:13 -04:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes remove unused git attributes (#7011) 2020-08-10 23:22:45 -04:00
.gitignore tests: new typescript WPT runner (#9269) 2021-01-27 15:06:18 +01:00
.gitmodules chore: remove std directory (#9361) 2021-02-02 12:05:46 +01:00
.rustfmt.toml chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
Cargo.lock refactor: add deno_file op crate (#10019) 2021-04-06 12:55:05 +02:00
Cargo.toml perf: build core packages at opt-3 (#10038) 2021-04-06 13:38:49 -04:00
CODE_OF_CONDUCT.md fix(tools): prettier formatting (#6206) 2020-06-09 17:50:41 +02:00
LICENSE.md update copyright to 2021 (#9081) 2021-01-10 21:59:07 -05:00
README.md docs: match install section with website (#9665) 2021-03-15 12:46:08 +01:00
Releases.md v1.8.3 2021-04-02 22:22:08 +11:00

Deno

Build Status - Cirrus Twitter handle

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 like a dependency inspector (deno info) and a code formatter (deno fmt).
  • Set of reviewed standard modules that are guaranteed to work with Deno.

Install

Shell (Mac, Linux):

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

PowerShell (Windows):

iwr https://deno.land/x/install/install.ps1 -useb | 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:

import { serve } from "https://deno.land/std/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {
  req.respond({ body: "Hello World\n" });
}

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

More in-depth info can be found in the runtime documentation.

Contributing

We appreciate your help!

To contribute, please read our guidelines.