Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

rollup-plugin-import-cdn

SferaDev274ISC0.3.0TypeScript support: included

Import and transform modules from a CDN to rollup

rollup, plugin, cdn, esm, import, skypack, tree-shaking

readme

rollup-plugin-import-cdn

Import ESM modules from URLs for local processing by Rollup, enabling tree-shaking on non-local resources.

Features

  • CDN Imports - Import npm packages directly from CDN URLs
  • Tree-shaking - Full tree-shaking support for CDN modules
  • Multiple CDNs - Support for Skypack with custom CDN fallback chains
  • Version Pinning - Pin specific package versions for reproducible builds

Installation

npm install rollup-plugin-import-cdn

Quick Start

import { importCdn } from "rollup-plugin-import-cdn";

export default {
  input: "src/index.js",
  output: { file: "dist/bundle.js", format: "esm" },
  plugins: [importCdn()],
};

Now you can import packages directly from URLs:

// Resolved via Skypack by default
import { debounce } from "lodash-es";

// Direct URL import
import confetti from "https://esm.sh/canvas-confetti";

Version Pinning

importCdn({
  versions: {
    react: "18.2.0",
    lodash: "4.17.21",
  },
});

Custom CDN

importCdn({
  priority: [
    (pkg) => `https://esm.sh/${pkg}`,
    "skypack",
  ],
});

Documentation

For full documentation including configuration options, API reference, and examples, see the documentation.

License

ISC