2019-10-03 12:26:48 -04:00
|
|
|
# Deno
|
2018-05-18 12:25:59 -04:00
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
[![](https://img.shields.io/crates/v/deno.svg)](https://crates.io/crates/deno)
|
|
|
|
[![Twitter badge][]][Twitter link] [![Discord badge][]][Discord link]
|
2023-07-25 01:44:50 -04:00
|
|
|
[![YouTube badge][]][YouTube link]
|
2019-03-05 00:01:32 -05:00
|
|
|
|
2021-08-25 09:27:18 -04:00
|
|
|
<img align="right" src="https://deno.land/logo.svg" height="150px" alt="the deno mascot dinosaur standing in the rain">
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
[Deno](https://deno.com/runtime) is a _simple_, _modern_ and _secure_ runtime
|
|
|
|
for **JavaScript** and **TypeScript** that uses V8 and is built in Rust.
|
2019-02-21 23:22:44 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
### Features
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
- [Secure by default.](https://deno.land/manual/basics/permissions) No file,
|
|
|
|
network, or environment access, unless explicitly enabled.
|
|
|
|
- Provides
|
|
|
|
[web platform functionality and APIs](https://deno.land/manual/runtime/web_platform_apis),
|
|
|
|
e.g. using ES modules, web workers, and `fetch()`.
|
|
|
|
- Supports
|
|
|
|
[TypeScript out of the box](https://deno.land/manual/advanced/typescript).
|
2020-09-29 11:40:17 -04:00
|
|
|
- Ships only a single executable file.
|
2023-04-16 19:08:05 -04:00
|
|
|
- [Built-in tooling](https://deno.land/manual/tools#built-in-tooling) including
|
|
|
|
`deno test`, `deno fmt`, `deno bench`, and more.
|
|
|
|
- Includes [a set of reviewed standard modules](https://deno.land/std/)
|
|
|
|
guaranteed to work with Deno.
|
|
|
|
- [Supports npm.](https://deno.land/manual/node)
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
### Install
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
Shell (Mac, Linux):
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
```sh
|
2022-03-07 19:53:15 -05:00
|
|
|
curl -fsSL https://deno.land/install.sh | sh
|
2020-09-29 11:40:17 -04:00
|
|
|
```
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
PowerShell (Windows):
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
```powershell
|
2022-08-15 10:05:29 -04:00
|
|
|
irm https://deno.land/install.ps1 | iex
|
2020-09-29 11:40:17 -04:00
|
|
|
```
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
[Homebrew](https://formulae.brew.sh/formula/deno) (Mac):
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
```sh
|
|
|
|
brew install deno
|
|
|
|
```
|
2019-02-19 23:25:52 -05:00
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
[Chocolatey](https://chocolatey.org/packages/deno) (Windows):
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
choco install deno
|
|
|
|
```
|
|
|
|
|
2021-03-15 07:46:08 -04:00
|
|
|
[Scoop](https://scoop.sh/) (Windows):
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
scoop install deno
|
|
|
|
```
|
|
|
|
|
2020-09-29 11:40:17 -04:00
|
|
|
Build and install from source using [Cargo](https://crates.io/crates/deno):
|
|
|
|
|
|
|
|
```sh
|
2023-08-22 01:56:00 -04:00
|
|
|
# Install the Protobuf compiler
|
|
|
|
apt install -y protobuf-compiler # Linux
|
|
|
|
brew install protobuf # macOS
|
|
|
|
|
|
|
|
# Build and install Deno
|
2021-03-15 07:46:08 -04:00
|
|
|
cargo install deno --locked
|
2020-09-29 11:40:17 -04:00
|
|
|
```
|
|
|
|
|
|
|
|
See
|
|
|
|
[deno_install](https://github.com/denoland/deno_install/blob/master/README.md)
|
|
|
|
and [releases](https://github.com/denoland/deno/releases) for other options.
|
|
|
|
|
|
|
|
### Getting Started
|
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
Try [running a simple program](https://examples.deno.land/hello-world):
|
2020-09-29 11:40:17 -04:00
|
|
|
|
|
|
|
```sh
|
2023-10-11 10:43:41 -04:00
|
|
|
deno run https://examples.deno.land/hello-world.ts
|
2020-09-29 11:40:17 -04:00
|
|
|
```
|
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
Or [setup a simple HTTP server](https://examples.deno.land/http-server):
|
2020-09-29 11:40:17 -04:00
|
|
|
|
2020-10-06 20:32:56 -04:00
|
|
|
```ts
|
2023-07-12 22:15:49 -04:00
|
|
|
Deno.serve((_req) => new Response("Hello, World!"));
|
2020-09-29 11:40:17 -04:00
|
|
|
```
|
|
|
|
|
2023-07-25 01:44:50 -04:00
|
|
|
[More Examples](https://examples.deno.land)
|
2023-04-16 19:08:05 -04:00
|
|
|
|
|
|
|
### Additional Resources
|
2020-09-29 11:40:17 -04:00
|
|
|
|
2023-04-16 19:08:05 -04:00
|
|
|
- **[The Deno Manual](https://deno.land/manual)** is a great starting point for
|
|
|
|
[additional examples](https://deno.land/manual/examples),
|
|
|
|
[setting up your environment](https://deno.land/manual/getting_started/setup_your_environment),
|
|
|
|
[using npm](https://deno.land/manual/node), and more.
|
|
|
|
- **[Runtime API reference](https://deno.land/api)** documents all APIs built
|
|
|
|
into Deno CLI.
|
|
|
|
- **[Deno Standard Modules](https://deno.land/std)** do not have external
|
|
|
|
dependencies and are reviewed by the Deno core team.
|
|
|
|
- **[deno.land/x](https://deno.land/x)** is the registry for third party
|
|
|
|
modules.
|
|
|
|
- **[Blog](https://deno.com/blog)** is where the Deno team shares important
|
2023-07-25 01:44:50 -04:00
|
|
|
product updates and “how to”s about solving technical problems.
|
2020-09-29 11:40:17 -04:00
|
|
|
|
|
|
|
### Contributing
|
|
|
|
|
|
|
|
We appreciate your help!
|
|
|
|
|
2020-12-11 12:43:01 -05:00
|
|
|
To contribute, please read our
|
2023-09-16 17:54:28 -04:00
|
|
|
[contributing instructions](https://deno.land/manual/references/contributing/).
|
2020-09-29 11:40:17 -04:00
|
|
|
|
2023-07-25 01:44:50 -04:00
|
|
|
[Build status - Cirrus]: https://github.com/denoland/deno/workflows/ci/badge.svg?branch=main&event=push
|
2020-09-29 11:40:17 -04:00
|
|
|
[Build status]: https://github.com/denoland/deno/actions
|
2023-04-16 19:08:05 -04:00
|
|
|
[Twitter badge]: https://img.shields.io/twitter/follow/deno_land.svg?style=social&label=Follow
|
|
|
|
[Twitter link]: https://twitter.com/intent/follow?screen_name=deno_land
|
|
|
|
[YouTube badge]: https://img.shields.io/youtube/channel/subscribers/UCqC2G2M-rg4fzg1esKFLFIw?style=social
|
|
|
|
[YouTube link]: https://www.youtube.com/@deno_land
|
|
|
|
[Discord badge]: https://img.shields.io/discord/684898665143206084?logo=discord&style=social
|
|
|
|
[Discord link]: https://discord.gg/deno
|