diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-07-20 16:25:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-20 16:25:36 +0200 |
commit | d744c0c6d9a557bbaa2a23571ffb3acabf19c35a (patch) | |
tree | 6f7fb8a71b786e79c48f4b2c11a5a9ca988717e8 /docs/introduction.md | |
parent | 9b9becf1ae256b645e37a7eecf3441f3ae4b8ea5 (diff) |
chore: move docs to separate repository
Diffstat (limited to 'docs/introduction.md')
-rw-r--r-- | docs/introduction.md | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/docs/introduction.md b/docs/introduction.md deleted file mode 100644 index d494cacc9..000000000 --- a/docs/introduction.md +++ /dev/null @@ -1,73 +0,0 @@ -# Introduction - -Deno is a JavaScript/TypeScript runtime with secure defaults and a great -developer experience. - -It's built on V8, Rust, and Tokio. - -## Feature highlights - -- Secure by default. No file, network, or environment access (unless explicitly - enabled). -- Supports TypeScript out of the box. -- Ships a single executable (`deno`). -- Has built-in utilities like a dependency inspector (`deno info`) and a code - formatter (`deno fmt`). -- Has - [a set of reviewed (audited) standard - modules](https://github.com/denoland/deno_std) that are guaranteed to work - with Deno. -- Can bundle scripts into a single JavaScript file. - -## Philosophy - -Deno aims to be a productive and secure scripting environment for the modern -programmer. - -Deno will always be distributed as a single executable. Given a URL to a Deno -program, it is runnable with nothing more than -[the ~25 megabyte zipped executable](https://github.com/denoland/deno/releases). -Deno explicitly takes on the role of both runtime and package manager. It uses a -standard browser-compatible protocol for loading modules: URLs. - -Among other things, Deno is a great replacement for utility scripts that may -have been historically written with Bash or Python. - -## Goals - -- Ship as just a single executable (`deno`). -- Provide secure defaults. - - Unless specifically allowed, scripts can't access files, the environment, or - the network. -- Be browser-compatible. - - The subset of Deno programs which are written completely in JavaScript and - do not use the global `Deno` namespace (or feature test for it), ought to - also be able to be run in a modern web browser without change. -- Provide built-in tooling to improve developer experience. - - E.g. unit testing, code formatting, and linting. -- Keep V8 concepts out of user land. -- Serve HTTP efficiently. - -## Comparison to Node.js - -- Deno does not use `npm`. - - It uses modules referenced as URLs or file paths. -- Deno does not use `package.json` in its module resolution algorithm. -- All async actions in Deno return a promise. Thus Deno provides different APIs - than Node. -- Deno requires explicit permissions for file, network, and environment access. -- Deno always dies on uncaught errors. -- Deno uses "ES Modules" and does not support `require()`. Third party modules - are imported via URLs: - - ```javascript - import * as log from "https://deno.land/std@$STD_VERSION/log/mod.ts"; - ``` - -## Other key behaviors - -- Fetch and cache remote code upon first execution, and never update it until - the code is run with the `--reload` flag. (So, this will still work on an - airplane.) -- Modules/files loaded from remote URLs are intended to be immutable and - cacheable. |