Find a file
Bartek Iwańczuk 24c3c96958
feat: granular --unstable-* flags (#20968)
This commit adds granular `--unstable-*` flags:
- "--unstable-broadcast-channel"
- "--unstable-ffi"
- "--unstable-fs"
- "--unstable-http"
- "--unstable-kv"
- "--unstable-net"
- "--unstable-worker-options"
- "--unstable-cron"

These flags are meant to replace a "catch-all" flag - "--unstable", that
gives a binary control whether unstable features are enabled or not. The
downside of this flag that allowing eg. Deno KV API also enables the FFI
API (though the latter is still gated with a permission).

These flags can also be specified in `deno.json` file under `unstable`
key.

Currently, "--unstable" flag works the same way - I will open a follow
up PR that will print a warning when using "--unstable" and suggest to use
concrete "--unstable-*" flag instead. We plan to phase out "--unstable"
completely in Deno 2.
2023-11-01 23:15:08 +01: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 ci: remove "Test examples debug" (#20966) 2023-10-24 22:12:25 +00:00
bench_util chore: forward v1.37.2 release commit to main (#20897) 2023-10-13 03:12:06 +00:00
cli feat: granular --unstable-* flags (#20968) 2023-11-01 23:15:08 +01:00
ext feat: granular --unstable-* flags (#20968) 2023-11-01 23:15:08 +01:00
runtime feat: granular --unstable-* flags (#20968) 2023-11-01 23:15:08 +01: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 feat(ext/websocket): websockets over http2 (#21040) 2023-11-01 21:11:01 +00:00
tools feat(ext/websocket): websockets over http2 (#21040) 2023-11-01 21:11:01 +00: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 feat(ext/websocket): websockets over http2 (#21040) 2023-11-01 21:11:01 +00:00
Cargo.toml feat(ext/websocket): websockets over http2 (#21040) 2023-11-01 21:11:01 +00:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs: update readme hello world example (#20874) 2023-10-11 14:43:41 +00:00
Releases.md chore: forward v1.37.2 release commit to main (#20897) 2023-10-13 03:12:06 +00:00
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 the Protobuf compiler
apt install -y protobuf-compiler # Linux
brew install 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.