# denox v0.7.0 - Table of Contents

> Embed the Deno TypeScript/JavaScript runtime in Elixir via a Rustler NIF.

## Pages

- [Denox](readme.md)
- [CHANGELOG](changelog.md)
- [Denox — Design Document](denox_design.md)

## Modules

- Core
  - [Denox](Denox.md): Denox embeds a TypeScript/JavaScript runtime (Deno/V8) into Elixir via a Rustler NIF.
  - [Denox.CallbackHandler](Denox.CallbackHandler.md): GenServer that handles JS → Elixir callbacks for a Denox runtime.

- Pool
  - [Denox.Pool](Denox.Pool.md): GenServer-based pool of JavaScript runtimes for concurrent workloads.

- Runner
  - [Denox.CLI.Run](Denox.CLI.Run.md): Run Deno programs as managed subprocesses using the bundled CLI.
  - [Denox.Run](Denox.Run.md): Run Deno programs as NIF-backed long-lived runtimes.

- CLI
  - [Denox.CLI](Denox.CLI.md): Manages a bundled Deno CLI binary.

- Dependencies
  - [Denox.Deps](Denox.Deps.md): Dependency management for Denox using the `deno` CLI at build-time.
  - [Denox.Npm](Denox.Npm.md): Pre-bundling support for npm/jsr packages via `deno bundle`.

- Internal
  - [Denox.JSON](Denox.JSON.md): Configurable JSON encoder/decoder for Denox.
  - [Denox.Run.Base](Denox.Run.Base.md): Shared GenServer dispatch logic for Run modules.

## Mix Tasks

- [mix denox.add](Mix.Tasks.Denox.Add.md): Adds a dependency to `deno.json` and reinstalls.
- [mix denox.bundle](Mix.Tasks.Denox.Bundle.md): Bundles an npm/jsr package into a self-contained JavaScript file
using `deno bundle`.
- [mix denox.cli.install](Mix.Tasks.Denox.Cli.Install.md): Downloads the Deno CLI binary for the current platform.
- [mix denox.install](Mix.Tasks.Denox.Install.md): Installs all dependencies declared in `deno.json`.
- [mix denox.remove](Mix.Tasks.Denox.Remove.md): Removes a dependency from `deno.json` and reinstalls.
- [mix denox.run](Mix.Tasks.Denox.Run.md): Runs a JSR/npm package or local script using the Deno runtime.

