Your dependencies, naked.
Manage client-side dependencies with npm install, then import them by name — no bundler, no build step, no CDN.
-
No bundling, no transpilation
Neither your code nor your dependencies need a build step. Already transpiling? That works too.
-
Local-first
Your dependencies are served from your own domain. No external requests, no CDN, no extra points of failure.
-
Granular cache busting
Versioned directory names give you CDN-grade caching. Updating one module leaves every other module cached.
-
Self regenerating, sans watcher
npm lifecycle hooks keep everything up to date as dependencies change. Nothing to start, nothing to watch.
-
The web is not just JS
Stable, unversioned URLs for CSS, images, fonts and other package assets that can’t go through an import map (yet).
-
Even the edge cases
Dynamic
import(),import.meta.resolve(), CJS packages, local packages, git dependencies, npm aliases, npm workspaces all work.
Three steps, then forget it’s there
-
Install Nudeps once per project
npx nudeps installThis adds Nudeps to your
devDependenciesand gives yourpackage.jsontwo scripts:dependencies, so Nudeps re-runs itself every time younpm installornpm uninstall, andprepare, so a fresh clone is ready too. No watcher to start, nothing to remember. -
Add the import map to your HTML
<script src="/importmap.js"></script>One classic
<script>, before any module scripts. Nudeps keeps the file up to date; the tag never changes. -
Install dependencies like you always have
npm install vueNudeps copies
vueand everything it depends on toclient_modules/, in versioned directories that cache like a CDN, and adds them to the import map.
That’s it. Bare specifiers now work in the browser, served from your own domain:
import { createApp } from "vue";
No bundler, no build step, no CDN. See it running in the demos, or read the full walkthrough.
-
I ran the npx command and added the import map to my app, but I assumed that there was still a lot more work to do. I was shocked to realize I was done.
Sam Littlefair
Technical writer and Svelte developer
-
Nudeps is how I want to build for the web. It helps make sure my time is spent adding features, rather than wrangling build steps.
James Stuckey Weber
Web software engineer at OddBird