Rollup plugin to allow relative include paths in project files
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Let you use relative paths in your import directives, like this:

// from src/lib/one/foo.js
import { Foo } from 'one/foo';

// from src/other/two/bar.js
import { Bar } from 'two/bar';


In your rollup configuration file:

import includePaths from 'rollup-plugin-includepaths';

let includePathOptions = {
    include: {},
    paths: ['src/lib', 'src/other'],
    external: [],
    extensions: ['.js', '.json', '.html']

export default {
    entry: './app.js',
    format: 'cjs',
    dest: 'public/app.min.js',
    plugins: [ includePaths(includePathOptions) ],


paths = ['']

An array of source paths in your project where the plugin should look for files

Example: ['src/lib', 'src/foo']

By default, resolve files from working dir


A map of module=>path/to/file.js with custom module paths. Used to override the search with a static path (like Browserify does with the "browser" config).

Use this option if you want to skip the file resolution and directly resolve a module name to a given path.


include: {
    // Import example: import angular from 'angular';
    'angular': 'bower_components/angular/angular.js'


An array of module names that should be excluded from the bundle (external modules).

By default, all the node built-in modules will be marked as external.

To include the built-ins, you can use the builtins plugin and set this config to an empty array.


// will not include the module 'angular' in the final bundle
external: ['angular']


An array of file extensions to look for in the project.

Default: ['.js', '.json']