0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-29 08:58:01 -04:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Nayeem Rahman 22e0ee92a6
BREAKING(unstable): Use hosts for net allowlists (#8845)
Allowlist checking already uses hosts but for some reason 
requests, revokes and the runtime permissions API use URLs.

- BREAKING(lib.deno.unstable.d.ts): Change 
NetPermissionDescriptor::url to NetPermissionDescriptor::host

- fix(runtime/permissions): Don't add whole URLs to the 
allowlist on request

- fix(runtime/permissions): Harden strength semantics:
({ name: "net", host: "127.0.0.1" } is stronger than 
{ name: "net", host: "127.0.0.1:8000" }) for blocklisting

- refactor(runtime/permissions): Use tuples for hosts, make 
the host optional in Permissions::{query_net, request_net, revoke_net}()
2020-12-30 23:35:28 +01:00
.cargo Statically link the C runtime library on Windows (#4469) 2020-03-23 20:31:29 +01:00
.github ci: setup latest version of Node (#8888) 2020-12-26 08:02:37 -05:00
cli BREAKING(unstable): Use hosts for net allowlists (#8845) 2020-12-30 23:35:28 +01:00
core chore: release crates (#8931) 2020-12-30 15:29:17 +01:00
docs BREAKING(unstable): Use hosts for net allowlists (#8845) 2020-12-30 23:35:28 +01:00
op_crates chore: release crates (#8931) 2020-12-30 15:29:17 +01:00
runtime BREAKING(unstable): Use hosts for net allowlists (#8845) 2020-12-30 23:35:28 +01:00
std BREAKING(unstable): Use hosts for net allowlists (#8845) 2020-12-30 23:35:28 +01:00
test_plugin core: implement 'AsyncRefCell' and 'ResourceTable2' (#8273) 2020-11-25 01:15:14 +01:00
test_util refactor(test_util): replace "warp" with "hyper" (#8846) 2020-12-24 14:11:32 +01:00
third_party@586fb6a2c7 build: upgrade dprint to 0.10.0 (#8494) 2020-11-25 18:37:52 +01:00
tools build: update dlint to v0.2.10 (#8284) 2020-11-14 20:27:37 +01:00
.dprintrc.json build: upgrade dprint to 0.10.0 (#8494) 2020-11-25 18:37:52 +01: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 fix(build): add generated coverage files to gitignore (#8862) 2020-12-22 19:01:29 +01:00
.gitmodules build: use shallow clone of third_party (#8295) 2020-11-09 15:43:04 +01:00
.rustfmt.toml change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
Cargo.lock v1.6.3 2020-12-30 16:13:42 +01:00
Cargo.toml refactor: deno_runtime crate (#8640) 2020-12-13 19:45:53 +01:00
CODE_OF_CONDUCT.md fix(tools): prettier formatting (#6206) 2020-06-09 17:50:41 +02:00
LICENSE change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
README.md docs: fixes logo in README (#8740) 2020-12-14 13:52:24 +11:00
Releases.md v1.6.3 2020-12-30 16:13:42 +01: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

Build and install from source using Cargo:

cargo install deno

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.