rollup-plugin-resolve2
v1.0.0
Published
Resolves import statements using aliases and file extensions, (sync with webpack resolve specs)
Downloads
8
Maintainers
Readme
rollup-plugin-resolve2
Resolves import statements by using aliases and file extensions when bundling with rollup. Also resolves the file when importing a directory. Based on rollup-plugin-import-resolver (sync with webpack resolve specs)
Install
yarn add --dev rollup-plugin-resolve2
# OR
npm install --save-dev rollup-plugin-resolve2
Options
import importResolver from "rollup-plugin-resolve2";
importResolver({
// a list of file extensions to check, default = ['.js']
extensions: ['.js', '.vue'],
// a list of aliases, default = {}
alias: {
'lib': './node_modules/otherlib/src'
},
// index file name without extension, default = 'index'
indexFile: 'index'
});
// if called without options, the defaults are
defaultOptions = {
extensions: ['js'],
alias: {},
indexFile: 'index'
};
Usage scenarios
Consider the following project structure
|-- ..
'-- src
|-- ..
|-- index.js
'-- utils
|-- ..
|-- util1.js
|-- util2.jsm
'-- index.js
and plugin options
{
"extensions": [".js", ".jsm"],
"alias": {
"somelib": "./node_modules/other_lib/src/"
}
}
Resolve "index" file if import points to a directory
// src/index.js
import * as utils from "./utils";
// resolved to ./utils/index.js
Resolve extensions
// src/utils/index.js
import util1 from "./util1";
// resolved to ./util1.js
import util2 from "./util2";
// resolved to ./util2.jsm
export {util1 as u1, util2 as u2};
Resolve aliases
// src/utils/util1.js
import somelib from "somelib";
// resolved to ./node_modules/other_lib/src/index.js
import component1 from "somelib/component1";
// resolved to ./node_modules/other_lib/src/component1.js
// OR if component1 is a folder ./node_modules/other_lib/src/component1/index.js