1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Steven Guerrero adc2f08c17
feat: Add configurable permissions for Workers (#8215)
This commit adds new option to "Worker" Web API that allows to 
configure permissions.

New "Worker.deno.permissions" option can be used to define limited
permissions to the worker thread by either:
- inherit set of parent thread permissions
- use limited subset of parent thread permissions
- revoke all permissions (full sandbox)

In order to achieve this functionality "CliModuleLoader"
was modified to accept "initial permissions", which are used
for top module loading (ie. uses parent thread permission set
to load top level module of a worker).
2021-01-06 21:31:16 +01:00
.cargo Statically link the C runtime library on Windows (#4469) 2020-03-23 20:31:29 +01:00
.github chore: exempt tests and build labels from stalebot (#9027) 2021-01-06 15:53:35 +01:00
cli feat: Add configurable permissions for Workers (#8215) 2021-01-06 21:31:16 +01:00
core refactor(core): simplify Deno.core initialisation, remove stale TODO (#8847) 2021-01-05 22:10:50 +01:00
docs feat: Add configurable permissions for Workers (#8215) 2021-01-06 21:31:16 +01:00
op_crates refactor: move WebSocket API to an op_crate (#9026) 2021-01-06 16:57:28 +01:00
runtime feat: Add configurable permissions for Workers (#8215) 2021-01-06 21:31:16 +01:00
std fix(std/http): Use ES private fields in server (#8981) 2021-01-06 08:55:08 -05:00
test_plugin core: implement 'AsyncRefCell' and 'ResourceTable2' (#8273) 2020-11-25 01:15:14 +01:00
test_util fix: align performance API to spec using WPT (#9012) 2021-01-06 02:56:40 +01:00
third_party@586fb6a2c7 build: upgrade dprint to 0.10.0 (#8494) 2020-11-25 18:37:52 +01:00
tools tests: add web platform test runner (#8990) 2021-01-05 12:07:27 +01:00
.dprintrc.json fix: use inline source maps when present in js (#8995) 2021-01-06 00:10:36 +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 tests: add web platform test runner (#8990) 2021-01-05 12:07:27 +01:00
.rustfmt.toml change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
Cargo.lock refactor: move WebSocket API to an op_crate (#9026) 2021-01-06 16:57:28 +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.