From 90141d06ef7f751dfc6ef3b27a3a72c1417a242e Mon Sep 17 00:00:00 2001 From: Kevin Whinnery Date: Mon, 27 Nov 2023 13:18:14 -0600 Subject: [PATCH] docs(README): Update README to include more recent links and use external docs (#21341) Update the README to use current links, and link to appropriate external documentation for most information. --- README.md | 106 ++++++++++++++++++++++-------------------------------- 1 file changed, 43 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 356e3c79f8..08aa08fe91 100644 --- a/README.md +++ b/README.md @@ -6,26 +6,21 @@ the deno mascot dinosaur standing in the rain -[Deno](https://deno.com/runtime) is a _simple_, _modern_ and _secure_ runtime -for **JavaScript** and **TypeScript** that uses V8 and is built in Rust. +[Deno](https://www.deno.com) +([/ˈdiːnoʊ/](http://ipa-reader.xyz/?text=%CB%88di%CB%90no%CA%8A), pronounced +`dee-no`) is a JavaScript, TypeScript, and WebAssembly runtime with secure +defaults and a great developer experience. It's built on [V8](https://v8.dev/), +[Rust](https://www.rust-lang.org/), and [Tokio](https://tokio.rs/). -### Features +Learn more about the Deno runtime +[in the documentation](https://docs.deno.com/runtime/manual). -- [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). -- Ships only a single executable file. -- [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) +## Installation -### Install +Install the Deno runtime on your system using one of the commands below. Note +that there are a number of ways to install Deno - a comprehensive list of +installation options can be found +[here](https://docs.deno.com/runtime/manual/getting_started/installation). Shell (Mac, Linux): @@ -51,64 +46,49 @@ brew install deno choco install deno ``` -[Scoop](https://scoop.sh/) (Windows): +### Build and install from source -```powershell -scoop install deno -``` +Complete instructions for building Deno from source can be found in the manual +[here](https://docs.deno.com/runtime/manual/references/contributing/building_from_source). -Build and install from source using [Cargo](https://crates.io/crates/deno): +## Your first Deno program -```sh -# Install build dependencies -apt install -y cmake protobuf-compiler # Linux -brew install cmake protobuf # macOS - -# Build and install Deno -cargo install deno --locked -``` - -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](https://examples.deno.land/hello-world): - -```sh -deno run https://examples.deno.land/hello-world.ts -``` - -Or [setup a simple HTTP server](https://examples.deno.land/http-server): +Deno can be used for many different applications, but is most commonly used to +build web servers. Create a file called `server.ts` and include the following +TypeScript code: ```ts -Deno.serve((_req) => new Response("Hello, World!")); +Deno.serve((_req: Request) => { + return new Response("Hello, world!"); +}); ``` -[More Examples](https://examples.deno.land) +Run your server with the following command: -### Additional Resources +```sh +deno run --allow-net server.ts +``` -- **[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 - product updates and “how to”s about solving technical problems. +This should start a local web server on +[http://localhost:8000](http://localhost:8000). -### Contributing +Learm more about writing and running Deno programs +[in the docs](https://docs.deno.com/runtime/manual). -We appreciate your help! +## Additional resources -To contribute, please read our -[contributing instructions](https://deno.land/manual/references/contributing/). +- **[Deno Docs](https://docs.deno.com)**: official guides and reference docs for + the Deno runtime, [Deno Deploy](https://deno.com/deploy), and beyond. +- **[Deno Standard Library](https://deno.land/std)**: officially supported + common utilities for Deno programs. +- **[deno.land/x](https://deno.land/x)**: registry for third-party Deno modules. +- **[Developer Blog](https://deno.com/blog)**: Product updates, tutorials, and + more from the Deno team. + +## Contributing + +We appreciate your help! To contribute, please read our +[contributing instructions](https://docs.deno.com/runtime/manual/references/contributing/). [Build status - Cirrus]: https://github.com/denoland/deno/workflows/ci/badge.svg?branch=main&event=push [Build status]: https://github.com/denoland/deno/actions