Skip to main content
Home

@deno/loader@0.3.11
Built and signed on GitHub Actions

Works with
This package works with Deno
This package works with Deno
JSR Score94%
Downloads946/wk
Published2 weeks ago (0.3.11)

Resolver and loader for Deno code.

Resolver and loader for Deno code.

This can be used to create bundler plugins or libraries that use deno resolution.

Examples

Example 1

import { Workspace, ResolutionMode, type LoadResponse, RequestedModuleType } from "@deno/loader";

const workspace = new Workspace({
  // optional options
});
const loader = await workspace.createLoader();
const diagnostics = await loader.addEntrypoints(["./mod.ts"])
if (diagnostics.length > 0) {
  throw new Error(diagnostics[0].message);
}
// alternatively use resolve to resolve npm/jsr specifiers not found
// in the entrypoints or if not being able to provide entrypoints
const resolvedUrl = loader.resolveSync(
  "./mod.test.ts",
  "https://deno.land/mod.ts", // referrer
  ResolutionMode.Import,
);
const response = await loader.load(resolvedUrl, RequestedModuleType.Default);
if (response.kind === "module") {
  console.log(response.specifier);
  console.log(response.code);
  console.log(response.mediaType);
} else if (response.kind === "external") {
  console.log(response.specifier)
} else {
  const _assertNever = response;
  throw new Error(`Unhandled kind: ${(response as LoadResponse).kind}`);
}
Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@deno/loader

Import symbol

import * as loader from "@deno/loader";
or

Import directly with a jsr specifier

import * as loader from "jsr:@deno/loader";