website/docs/guides/javascript/deno-handbook.mdx
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
Utilizing Deno in a TypeScript based monorepo can be a non-trivial task. With this handbook, we'll help guide you through this process.
:::info
This guide is a living document and will continue to be updated over time!
:::
For this part of the handbook, we'll be focusing on moon, our task runner. To start, languages in moon act like plugins, where their functionality and support is not enabled unless explicitly configured. We follow this approach to avoid unnecessary overhead.
To enable TypeScript support via Deno, define the deno setting in
.moon/toolchains.*, even if an empty object. The
javascript toolchain must also be enabled, and configured to
use Bun as the package manager.
# Enable JavaScript
javascript:
packageManager: 'deno'
# Enable Deno
deno: {}
Or by pinning a deno version in .prototools in the workspace root.
deno = "2.0.0"
This will enable the Deno toolchain and provide the following automations around its ecosystem:
imports, importMap,
and deps.ts (currently experimental).The handbook is currently being written while we finalize our Deno integration support!