Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ricsam/rollup-external-modules

Mark all modules located in node_modules as external
https://github.com/ricsam/rollup-external-modules

Last synced: 10 days ago
JSON representation

Mark all modules located in node_modules as external

Awesome Lists containing this project

README

        

# rollup-external-modules

![NPM version](https://img.shields.io/npm/v/rollup-external-modules.svg?style=flat)
[![Build Status](https://travis-ci.org/ricsam/rollup-external-modules.svg?branch=master)](https://travis-ci.org/ricsam/rollup-external-modules)
[![Coverage Status](https://coveralls.io/repos/github/ricsam/rollup-external-modules/badge.svg?branch=master)](https://coveralls.io/github/ricsam/rollup-external-modules?branch=master)

Mark all modules located in node_modules as external.

### Installation

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

### Usage

```js
// 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](http://facebook.github.io/jest/docs/cli.html#watch)
- `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](https://github.com/typicode/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](https://www.npmjs.com/)
- [Travis CI](https://travis-ci.org)
- [Coveralls](https://coveralls.io)

_**Prerequisite for Windows**: Semantic-release uses
**[node-gyp](https://github.com/nodejs/node-gyp)** so you will need to
install
[Microsoft's windows-build-tools](https://github.com/felixrieseberg/windows-build-tools)
using this command:_

```bash
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_

```bash
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](https://github.com/semantic-release/semantic-release), which publishes your code automatically on [github](https://github.com/) and [npm](https://www.npmjs.com/), plus generates automatically a changelog. This setup is highly influenced by [Kent C. Dodds course on egghead.io](https://egghead.io/courses/how-to-write-an-open-source-javascript-library)