oro:npm/*
oro:npm/* supports package-resolution and service-worker plumbing for NPM-backed modules.
Examples#
Resolve an NPM specifier to the runtime module URL it will load:
import { resolve } from 'oro:npm/module'
const resolved = resolve('react', import.meta.url)
console.log(resolved?.url)
console.log(resolved?.type)
API reference#
Module specifiers#
oro:npm/module
oro:npm/service-worker
TypeScript declarations#
These declarations are generated from the runtime's published TypeScript surface.
oro:npm/module#
declare module "oro:npm/module" {
/**
* @typedef {{
* package: Package
* origin: string,
* type: 'commonjs' | 'module',
* url: string
* }} ModuleResolution
*/
/**
* Resolves an NPM module for a given `specifier` and an optional `origin`.
* @param {string|URL} specifier
* @param {string|URL=} [origin]
* @param {{ prefix?: string, type?: 'commonjs' | 'module' }} [options]
* @return {ModuleResolution|null}
*/
export function resolve(specifier: string | URL, origin?: (string | URL) | undefined, options?: {
prefix?: string;
type?: "commonjs" | "module";
}): ModuleResolution | null;
namespace _default {
export { resolve };
}
export default _default;
export type ModuleResolution = {
package: Package;
origin: string;
type: "commonjs" | "module";
url: string;
};
import { Package } from "oro:commonjs/package";
}
oro:npm/service-worker#
declare module "oro:npm/service-worker" {
/**
* @ignore
* @param {Request}
* @param {object} env
* @param {import('../service-worker/context.js').Context} ctx
* @return {Promise<Response|null>}
*/
export function onRequest(request: any, env: object, ctx: import("oro:service-worker/context").Context): Promise<Response | null>;
/**
* Handles incoming 'npm://<module_name>/<pathspec...>' requests.
* @param {Request} request
* @param {object} env
* @param {import('../service-worker/context.js').Context} ctx
* @return {Response?}
*/
export default function _default(request: Request, env: object, ctx: import("oro:service-worker/context").Context): Response | null;
}
See also#
Source repository · Edit this page · View Markdown