Bundling

deno bundle [URL] will output a single JavaScript file, which includes all dependencies of the specified input. For example:

> deno bundle https://deno.land/std/examples/colors.ts colors.bundle.js
Bundling "colors.bundle.js"
Emitting bundle to "colors.bundle.js"
9.2 kB emitted.

If you omit the out file, the bundle will be sent to stdout.

The bundle can just be run as any other module in Deno would:

deno run colors.bundle.js

The output is a self contained ES Module, where any exports from the main module supplied on the command line will be available. For example, if the main module looked something like this:

export { foo } from "./foo.js";

export const bar = "bar";

It could be imported like this:

import { foo, bar } from "./lib.bundle.js";

Bundles can also be loaded in the web browser. The bundle is a self-contained ES module, and so the attribute of type must be set to "module". For example:

<script type="module" src="website.bundle.js"></script>

Or you could import it into another ES module to consume:

<script type="module">
  import * as website from "website.bundle.js";
</script>