5.2.0 • Published 5 years ago

rollup-plugin-node-resolve v5.2.0

Weekly downloads
481,023
License
MIT
Repository
github
Last release
5 years ago

rollup-plugin-node-resolve

This plugin used to be called rollup-plugin-npm

Locate modules using the Node resolution algorithm, for using third party modules in node_modules

Installation

npm install --save-dev rollup-plugin-node-resolve

Usage

// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';

export default {
  input: 'main.js',
  output: {
    file: 'bundle.js',
    format: 'iife',
    name: 'MyModule'
  },
  plugins: [
    resolve({

      // the fields to scan in a package.json to determine the entry point
      // if this list contains "browser", overrides specified in "pkg.browser"
      // will be used
      mainFields: ['module', 'main'], // Default: ['module', 'main']

      // DEPRECATED: use "mainFields" instead
      // use "module" field for ES6 module if possible
      module: true, // Default: true

      // DEPRECATED: use "mainFields" instead
      // use "jsnext:main" if possible
      // legacy field pointing to ES6 module in third-party libraries,
      // deprecated in favor of "pkg.module":
      // - see: https://github.com/rollup/rollup/wiki/pkg.module
      jsnext: true,  // Default: false

      // DEPRECATED: use "mainFields" instead
      // use "main" field or index.js, even if it's not an ES6 module
      // (needs to be converted from CommonJS to ES6)
      // – see https://github.com/rollup/rollup-plugin-commonjs
      main: true,  // Default: true

      // some package.json files have a "browser" field which specifies
      // alternative files to load for people bundling for the browser. If
      // that's you, either use this option or add "browser" to the
      // "mainfields" option, otherwise pkg.browser will be ignored
      browser: true,  // Default: false

      // not all files you want to resolve are .js files
      extensions: [ '.mjs', '.js', '.jsx', '.json' ],  // Default: [ '.mjs', '.js', '.json', '.node' ]

      // whether to prefer built-in modules (e.g. `fs`, `path`) or
      // local ones with the same names
      preferBuiltins: false,  // Default: true

      // Lock the module search in this path (like a chroot). Module defined
      // outside this path will be marked as external
      jail: '/my/jail/path', // Default: '/'

      // Set to an array of strings and/or regexps to lock the module search
      // to modules that match at least one entry. Modules not matching any
      // entry will be marked as external
      only: [ 'some_module', /^@some_scope\/.*$/ ], // Default: null

      // If true, inspect resolved files to check that they are
      // ES2015 modules
      modulesOnly: true, // Default: false

      // Force resolving for these modules to root's node_modules that helps
      // to prevent bundling the same package multiple times if package is
      // imported from dependencies.
      dedupe: [ 'react', 'react-dom' ], // Default: []

      // Any additional options that should be passed through
      // to node-resolve
      customResolveOptions: {
        moduleDirectory: 'js_modules'
      }
    })
  ]
};

Using with rollup-plugin-commonjs

Since most packages in your node_modules folder are probably legacy CommonJS rather than JavaScript modules, you may need to use rollup-plugin-commonjs:

// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';

export default {
  input: 'main.js',
  output: {
    file: 'bundle.js',
    format: 'iife'
  },
  name: 'MyModule',
  plugins: [
    resolve(),
    commonjs()
  ]
};

Resolving Built-Ins (like fs)

This plugin won't resolve any builtins (e.g. fs). If you need to resolve builtins you can install local modules and set preferBuiltins to false, or install a plugin like rollup-plugin-node-builtins which provides stubbed versions of these methods.

If you want to silence warnings about builtins, you can add the list of builtins to the externals option; like so:

import resolve from 'rollup-plugin-node-resolve';
import builtins from 'builtin-modules'
export default ({
  input: ...,
  plugins: [resolve()],
  externals: builtins,
  output: ...
})

License

MIT

@bondsports/utils@mathigon/textbooks-server@admin-bro/coremarigold-build@bunchee/buncheecf-storybookjsxtal@mycolorway/vest@jumpmann3o/component-librarybbt-editortsdx-extrajoin-container-1-testjoin-container-1@huozhi/burritoqinshixixing-rollupfv-player@nodesoccoop/angular-ncr-srcsadmin-bro-jzreact-form-typescriptnotiontheory-basic-build@codebite/babel-plugin-web-modules@ledge/rollup-configfinlab-componentskhodroinja-ui-core@naetverkjs/naetverk-cliadmiral_storybookcmap-build-helpersesrlab-build-helpersmapyyw-build-helpers@idata-apps/random-scatergroundupsmap-build-helpers@deity/falcon-client@deity/falcon-scriptstamm-pkg-uicloud-archive-s3common-image-upload@peter.ingram/section-s@atomico/rollup-pack@victoriatong/common-componentbt-mobile-interactionreact-mxgraph-editor@handwhittled/respond-clivideo-clip-ljsgha-componentsgilsomo-newstructurerikaard1@cceo/vue-index-tablebriolink-ui-kitreact-artsy-modallymph-devtoolsprototype-1@shiluodexiaobaitu/zcutilskingsun-ui-expandlightlib-uinamefilter-lzmbussr-admin-brovue-waterfall-jynmtl-ui@codewitchbella/microbundled3-v4-bundlerdiversify-uitakla-builder-rollup@schoonlabs/blocks@fle.cli/react-buildted-elements@thebespokepixel/cordialalex-frontend-sdk-stagingshltui-libnbsdkshlttest-libfather-build-mbptestfamsun_uicourseware-h5-iframe-channelchangzhn-jsonptinboxmock-vue-componentis-64-colorgulp-pipelinessr-enginestorybook-tutorial-bhjblazedoc@mxssfd/compress-jskitopi-commonnarumi-test@chn-js/canvas-toolsazure-functions-bundlexania-clivue-rollup-examplevvi-uiformily-antdvdyc1-components@infinitebrahmanuniverse/nolb-rollup-plugin-n@thequack/sharedpackage-scripts@hui_wu/testfamom-ui3automatic-interactionjgh-single-componentvisionr-dev
5.2.0

5 years ago

5.1.1

5 years ago

5.1.0

5 years ago

5.0.4

5 years ago

5.0.3

5 years ago

5.0.2

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

4.2.4

5 years ago

4.2.3

5 years ago

4.2.2

5 years ago

4.2.1

5 years ago

4.2.0

5 years ago

4.1.0

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.4.0

6 years ago

3.3.0

6 years ago

3.2.0

6 years ago

3.1.0

6 years ago

3.0.3

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.0

8 years ago

1.7.3

8 years ago

1.7.2

8 years ago

1.7.1

8 years ago

1.7.0

8 years ago

1.6.0

8 years ago

1.5.0

8 years ago

1.4.0

8 years ago