{"id":21937,"library":"rollup-plugin-bundle-babel","title":"rollup-plugin-node-resolve","description":"Rollup plugin that resolves third-party modules from node_modules using the Node resolution algorithm. Version 2.0.6 is stable but superseded by @rollup/plugin-node-resolve. It allows bundling external npm packages with Rollup by resolving entry points via package.json fields (main, jsnext:main, browser). Key differentiator: enables Rollup to bundle CommonJS modules when combined with rollup-plugin-commonjs. Not ES module aware: it resolves based on legacy fields. Has known footguns with browser field and preferBuiltins.","status":"deprecated","version":"2.0.6","language":"javascript","source_language":"en","source_url":"https://github.com/rollup/rollup-plugin-node-resolve","tags":["javascript","rollup","rollup-plugin","es2015","npm","modules"],"install":[{"cmd":"npm install rollup-plugin-bundle-babel","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-bundle-babel","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-bundle-babel","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: plugin works with Rollup bundler","package":"rollup","optional":false}],"imports":[{"note":"Package uses CommonJS internally, but import syntax is standard for Rollup plugins. Require() may break in ESM context.","wrong":"const nodeResolve = require('rollup-plugin-node-resolve')","symbol":"nodeResolve","correct":"import nodeResolve from 'rollup-plugin-node-resolve'"},{"note":"Default export only. Named import will fail.","wrong":"import { nodeResolve } from 'rollup-plugin-node-resolve'","symbol":"nodeResolve","correct":"import nodeResolve from 'rollup-plugin-node-resolve'"},{"note":"Migrated to @rollup/plugin-node-resolve in later versions. Check which package you need.","wrong":"import nodeResolve from '@rollup/plugin-node-resolve'","symbol":"rollup-plugin-node-resolve","correct":"import nodeResolve from 'rollup-plugin-node-resolve'"}],"quickstart":{"code":"import { rollup } from 'rollup';\nimport nodeResolve from 'rollup-plugin-node-resolve';\nimport commonjs from 'rollup-plugin-commonjs';\n\nrollup({\n  input: 'main.js',\n  plugins: [\n    nodeResolve({ jsnext: true, main: true }),\n    commonjs()\n  ]\n}).then(bundle => bundle.write({\n  file: 'bundle.js',\n  format: 'iife',\n  name: 'MyModule'\n})).catch(err => console.error(err.stack));","lang":"javascript","description":"Resolves external npm packages using Node resolution and converts CommonJS modules for Rollup."},"warnings":[{"fix":"Replace with @rollup/plugin-node-resolve and update import: import resolve from '@rollup/plugin-node-resolve';","message":"rollup-plugin-node-resolve is deprecated. Use @rollup/plugin-node-resolve instead.","severity":"deprecated","affected_versions":">=2.0.0 <3.0.0"},{"fix":"Replace jsnext: true with mainFields: ['jsnext:main', 'module', 'main']","message":"Option 'jsnext' removed in @rollup/plugin-node-resolve v13; use 'mainFields' instead.","severity":"breaking","affected_versions":">=13.0.0"},{"fix":"Be explicit: use browser field only when targeting browsers. Use a spread of object keys to remap modules.","message":"Setting browser: true may cause unexpected module resolution if package.json has a 'browser' map with object entries.","severity":"gotcha","affected_versions":">=2.0.0 <3.0.0"},{"fix":"Set preferBuiltins: false when bundling for browsers.","message":"preferBuiltins defaults to true, which may cause Node.js built-ins to be treated as external, breaking browser bundles","severity":"gotcha","affected_versions":">=2.0.0 <3.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install rollup-plugin-node-resolve --save-dev or migrate to @rollup/plugin-node-resolve","cause":"Missing npm install or wrong package name after migration.","error":"Error: Cannot find module 'rollup-plugin-node-resolve'"},{"fix":"Use default import: import nodeResolve from 'rollup-plugin-node-resolve'","cause":"Named import instead of default import from the plugin.","error":"TypeError: (0 , _nodeResolve.default) is not a function"},{"fix":"Use mainFields: ['browser', 'module', 'main'] instead of browser: true","cause":"In newer versions, browser option is replaced by mainFields.","error":"The 'browser' option should be an alias for 'mainFields: [\"browser\", \"module\", \"main\"]'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}