Deno is Node sorted - literally!

```javascript
"node".split("").sort().join("");
// deno
```

But, more seriously, Deno is a new runtime for Javascript that promises to fix some of the biggest problems with NodeJS. It was in fact created by Ryan Dahl who invented NodeJs itself.

## Sending emails in Deno

MailSlurp is a free email API for sending and reading emails from disposable temp mailboxes. To use MailSlurp with deno simply import the [package from Github](https://github.com/mailslurp/mailslurp-client-deno/).

```typescript
import { InboxControllerApi } from "https://raw.githubusercontent.com/mailslurp/mailslurp-client-deno/11.7.9/index.ts";
```

## Creating inboxes

The Deno email library uses the same API as the NodeJS npm package.

```javascript
// create a client
const apiKey = process.env.API_KEY ?? "your-api-key";
const mailslurp = new MailSlurp({ apiKey });

// create an inbox
const inbox = await mailslurp.inboxController.createInbox({});
expect(inbox.emailAddress).toContain("@mailslurp");
```

## About Deno

Node.js has been a staple in the JavaScript ecosystem since its release in 2009, enabling developers to use JavaScript for server-side scripting. Deno, introduced in 2018 by Ryan Dahl (the original creator of Node.js), aims to address some of the shortcomings of Node.js while providing a more secure and modern runtime. Let's explore how these two runtimes compare.

## Core Differences

### 1. Security

**Node.js**:

- By default, Node.js has a relatively permissive security model. It does not restrict access to the file system, network, or environment variables, which can lead to security vulnerabilities if not managed properly.

**Deno**:

- Deno is designed with security in mind. It enforces secure-by-default practices, requiring explicit permissions for file system access, network requests, and access to environment variables.

### 2. Module System

**Node.js**:

- Uses the CommonJS module system by default.
- Supports ES Modules (ESM) but requires specific configurations.
- Relies heavily on the npm package manager.

**Deno**:

- Uses ES Modules (ESM) as the default module system.
- Imports modules directly from URLs, removing the need for a centralized package manager like npm.

### 3. Standard Library

**Node.js**:

- Has a rich standard library but often requires third-party modules for additional functionality.

**Deno**:

- Offers a more comprehensive standard library out of the box, reducing the need for external dependencies.

### 4. Tooling

**Node.js**:

- Strong ecosystem with a variety of tools for building, testing, and deploying applications.
- Extensive community support and mature development environment.

**Deno**:

- Built-in tools for testing, formatting, and linting.
- Integrated TypeScript support without the need for additional configurations.
