Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
denoland/deno-js-loaderResolver 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.
Example 1
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
Add Package
deno add jsr:@deno/loader
Import symbol
import * as loader from "@deno/loader";
Import directly with a jsr specifier
import * as loader from "jsr:@deno/loader";