# rollup-plugin-http-resolve **Repository Path**: masx200/rollup-plugin-http-resolve ## Basic Information - **Project Name**: rollup-plugin-http-resolve - **Description**: rollup-plugin-http-resolve - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-09-02 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @masx200/rollup-plugin-http-resolve ``` npm install @masx200/rollup-plugin-http-resolve --save ``` 缓存默认为内存缓存, 添加了文件系统缓存的功能,可以按需使用 ```ts import { fileCache, httpResolve } from "@masx200/rollup-plugin-http-resolve"; httpResolve({ cache: new fileCache() }); ``` ## Example ```ts // rollup.config.js import { httpResolve } from "@masx200/rollup-plugin-http-resolve"; export default { input: "index.js", plugins: [ httpResolve({ cache, }), ], }; ``` ## Example: CDN Resolve ```ts const vol = Volume.fromJSON({ "/index.js": ` import {h} from "preact"; console.log(h); `, }); const memfs = createFs(vol) as IPromisesAPI; const rolled = await rollup({ input: "/index.js", plugins: [ httpResolve({ fallback(id) { // Avoid local relative path if (!id.startsWith(".")) { return `https://esm.sh/${id}`; } }, }), memfsPlugin(memfs), ], }); const out = await rolled.generate({ format: "es" }); const code = out.output[0].code; ``` ## With transform import Rewrite `https://` code by your self. ```js import ts from "typescript"; export default { plugins: [ httpResolve(), { name: "transform-cdn", transform(code, id) { if (id?.startsWith("https://")) { const out = ts.transpileModule(code, { compilerOptions: { module: ts.ModuleKind.ESNext, target: ts.ScriptTarget.ES5, }, }); return { code: out.outputText, map: out.sourceMapText, }; } }, }, ], }); ``` ## LICENSE MIT