2019-10-03 16:26:48 +00:00
|
|
|
# Deno
|
2018-05-18 16:25:59 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
[![Build Status - Cirrus][]][Build status] [![Twitter handle][]][Twitter badge]
|
2021-04-09 05:09:08 +00:00
|
|
|
[![Discord Chat](https://img.shields.io/discord/684898665143206084?logo=discord&style=social)](https://discord.gg/deno)
|
2019-03-05 05:01:32 +00:00
|
|
|
|
2021-08-25 13:27:18 +00:00
|
|
|
<img align="right" src="https://deno.land/logo.svg" height="150px" alt="the deno mascot dinosaur standing in the rain">
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
Deno is a _simple_, _modern_ and _secure_ runtime for **JavaScript** and
|
|
|
|
**TypeScript** that uses V8 and is built in Rust.
|
2019-02-22 04:22:44 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
### Features
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
- Secure by default. No file, network, or environment access, unless explicitly
|
|
|
|
enabled.
|
|
|
|
- Supports TypeScript out of the box.
|
|
|
|
- Ships only a single executable file.
|
2021-10-20 18:04:30 +00:00
|
|
|
- [Built-in utilities.](https://deno.land/manual/tools#built-in-tooling)
|
2020-09-29 15:40:17 +00:00
|
|
|
- Set of reviewed standard modules that are guaranteed to work with
|
2020-10-03 20:19:11 +00:00
|
|
|
[Deno](https://deno.land/std/).
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
### Install
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
Shell (Mac, Linux):
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
```sh
|
|
|
|
curl -fsSL https://deno.land/x/install/install.sh | sh
|
|
|
|
```
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
PowerShell (Windows):
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
```powershell
|
|
|
|
iwr https://deno.land/x/install/install.ps1 -useb | iex
|
|
|
|
```
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
[Homebrew](https://formulae.brew.sh/formula/deno) (Mac):
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
```sh
|
|
|
|
brew install deno
|
|
|
|
```
|
2019-02-20 04:25:52 +00:00
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
[Chocolatey](https://chocolatey.org/packages/deno) (Windows):
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
choco install deno
|
|
|
|
```
|
|
|
|
|
2021-03-15 11:46:08 +00:00
|
|
|
[Scoop](https://scoop.sh/) (Windows):
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
scoop install deno
|
|
|
|
```
|
|
|
|
|
2020-09-29 15:40:17 +00:00
|
|
|
Build and install from source using [Cargo](https://crates.io/crates/deno):
|
|
|
|
|
|
|
|
```sh
|
2021-03-15 11:46:08 +00:00
|
|
|
cargo install deno --locked
|
2020-09-29 15:40:17 +00: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
|
|
|
|
|
|
|
|
Try running a simple program:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
deno run https://deno.land/std/examples/welcome.ts
|
|
|
|
```
|
|
|
|
|
|
|
|
Or a more complex one:
|
|
|
|
|
2020-10-07 00:32:56 +00:00
|
|
|
```ts
|
2021-08-12 08:19:02 +00:00
|
|
|
const listener = Deno.listen({ port: 8000 });
|
2020-09-29 15:40:17 +00:00
|
|
|
console.log("http://localhost:8000/");
|
2021-08-12 08:19:02 +00:00
|
|
|
|
|
|
|
for await (const conn of listener) {
|
|
|
|
serve(conn);
|
|
|
|
}
|
|
|
|
|
|
|
|
async function serve(conn: Deno.Conn) {
|
|
|
|
for await (const { respondWith } of Deno.serveHttp(conn)) {
|
|
|
|
respondWith(new Response("Hello world"));
|
|
|
|
}
|
2020-09-29 15:40:17 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-04-09 07:29:48 +00:00
|
|
|
You can find a deeper introduction, examples, and environment setup guides in
|
|
|
|
the [manual](https://deno.land/manual).
|
2020-09-29 15:40:17 +00:00
|
|
|
|
2021-04-09 07:29:48 +00:00
|
|
|
The complete API reference is available at the runtime
|
2020-10-13 15:17:43 +00:00
|
|
|
[documentation](https://doc.deno.land).
|
2020-09-29 15:40:17 +00:00
|
|
|
|
|
|
|
### Contributing
|
|
|
|
|
|
|
|
We appreciate your help!
|
|
|
|
|
2020-12-11 17:43:01 +00:00
|
|
|
To contribute, please read our
|
2021-07-28 18:54:33 +00:00
|
|
|
[contributing instructions](https://deno.land/manual/contributing).
|
2020-09-29 15:40:17 +00:00
|
|
|
|
2021-02-19 14:58:19 +00:00
|
|
|
[Build Status - Cirrus]: https://github.com/denoland/deno/workflows/ci/badge.svg?branch=main&event=push
|
2020-09-29 15:40:17 +00:00
|
|
|
[Build status]: https://github.com/denoland/deno/actions
|
|
|
|
[Twitter badge]: https://twitter.com/intent/follow?screen_name=deno_land
|
|
|
|
[Twitter handle]: https://img.shields.io/twitter/follow/deno_land.svg?style=social&label=Follow
|