deno/README.md

105 lines
2.6 KiB
Markdown
Raw Normal View History

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]
[![Discord Chat](https://img.shields.io/discord/684898665143206084?logo=discord&style=social)](https://discord.gg/deno)
2019-03-05 05:01:32 +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.
- [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
[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
```
[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
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:
```ts
const listener = Deno.listen({ port: 8000 });
2020-09-29 15:40:17 +00:00
console.log("http://localhost:8000/");
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
}
```
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
The complete API reference is available at the runtime
[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
[contributing instructions](https://deno.land/manual/contributing).
2020-09-29 15:40:17 +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