Skip to main content

Simple Embed

Embed any file for use in a Deno standalone executable.

Usage

The following script will embed all specified files into embedded.ts using simple embed.

import { run, runWatching } from "...../mod.ts";

const opts = {
  inputs: [
    {
      src: "testfile/test.txt",
      dest: "test.txt",
    },
  ],
  out: "ebmedded.ts"
}

if (Deno.args[0] === "watch") {
  await runWatching(opts);
} else {
  await run(opts);
}

Run deno run -A embed.ts watch while developing, and you’ll be able to use your embedded files like so:

import { getFile } from './embedded.ts';
console.log(getFile("test.txt"));

Why?

Because Deno does not have an --embed (or similar) option, so we can not embed static files into executables without a separate build step.

License

MIT.