Mark all modules located in node_modules as external

Downloads in past


2.0.05 years ago5 years agoMinified + gzip package size for rollup-external-modules in KB


NPM version Build Status Coverage Status
Mark all modules located in nodemodules as external.


npm install --save-dev rollup-external-modules
# or 
yarn add -D rollup-external-modules


// rollup.config.js
import rollupExternalModules from 'rollup-external-modules';

export default {
  input: 'entry.js',
  output: {
    file: 'dist/index.js',
    format: 'cjs',
  external: rollupExternalModules,

NPM scripts

- npm t: Run test suite - npm start: Run npm run build in watch mode - npm run test:watch: Run test suite in interactive watch mode
- npm run test:prod: Run linting and generate coverage - npm run build: Generate bundles and typings, create docs - npm run lint: Lints code - npm run commit: Commit using conventional commit style (husky will tell you to use it if you haven't :wink:)

Automatic releases

Prerequisites: you need to create/login accounts and add your project to: - npm - Travis CI - Coveralls
Prerequisite for Windows: Semantic-release uses node-gyp so you will need to install Microsoft's windows-build-tools using this command:
npm install --global --production windows-build-tools

Setup steps

Follow the console instructions to install semantic release and run it (answer NO to "Do you want a .travis.yml file with semantic-release setup?").
Note: make sure you've setup repository.url in your package.json file
npm install -g semantic-release-cli
semantic-release-cli setup
# IMPORTANT!! Answer NO to "Do you want a `.travis.yml` file with semantic-release setup?" question. It is already prepared for you :P

From now on, you'll need to use npm run commit, which is a convenient way to create conventional commits.
Automatic releases are possible thanks to semantic release
, which publishes your code automatically on github and npm, plus generates automatically a changelog. This setup is highly influenced by Kent C. Dodds course on