npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vite-plugin-import-external-cdn

v0.0.2

Published

import dependencies from external cdn

Readme

vite-plugin-import-external-cdn

npm node-current install size justforfunnoreally.dev badge

从外部 CDN 导入所有依赖(只支持产物为 ESM)。

备注:仅 JS 模块转换为 CDN 导入;对于其它资源,如依赖的样式,vite 仍输出构建产物,目前此插件不会输出额外的 CDN 样式标签。
此插件假设 vite.config.ts 与 package.json 均位于项目的根目录,且需要确保项目中的运行时依赖正确位于 package.json 的 dependencies 字段中。

before
✓ 2793 modules transformed.
dist/index.html                         0.43 kB │ gzip:   0.28 kB
dist/assets/AboutView-DUF006EN.css      0.12 kB │ gzip:   0.12 kB
dist/assets/index-BdN_gSFT.css          4.21 kB │ gzip:   1.30 kB
dist/assets/AboutView-CbBhw_eO.js       0.28 kB │ gzip:   0.23 kB
dist/assets/index-D1lIPoea.js       1,400.64 kB │ gzip: 388.35 kB
after
✓ 30 modules transformed.
dist/index.html                      0.43 kB │ gzip: 0.28 kB
dist/assets/AboutView-DUF006EN.css   0.12 kB │ gzip: 0.12 kB
dist/assets/index-BdN_gSFT.css       4.21 kB │ gzip: 1.30 kB
dist/assets/AboutView-CJ3UIVgX.js    0.56 kB │ gzip: 0.35 kB
dist/assets/index-pHFOng-m.js       14.06 kB │ gzip: 5.42 kB

Usage

npm i -D vite-plugin-import-external-cdn

使用示例参见 examples 目录

import { defineConfig } from "vite";
import importExternalCDN from "vite-plugin-import-external-cdn";

export default defineConfig({
  plugins: [importExternalCDN()],
});

esm.sh 是默认的 CDN 导入源,path 选项允许使用指定的 http 导入。

例如:

import { defineConfig } from "vite";
import importExternalCDN from "vite-plugin-import-external-cdn";

export default defineConfig({
  plugins: [
    importExternalCDN({
      path: (name, version) => `https://esm.run/${name}@${version}`,
    }),
  ],
});

Development

install

# 工作区安装
pnpm i

# 源码依赖安装
pnpm i -w

init:info

pnpm init:info

test

pnpm test

# or pnpm test:watch

build

pnpm build

coverage

pnpm coverage

dev

pnpm dev

publish

npm publish

play

# 工作区 dev
pnpm play

# or pnpm play:open
# or pnpm play:host
# or pnpm play:build
# or pnpm play:preview
# or pnpm play:preview:open
# or pnpm play:preview:host

release

pnpm release

License

Made with YieldRay

Published under MIT License.