rollup-plugin-import-folder

A Rollup plugin to resolve modules using the folder name

Usage no npm install needed!

<script type="module">
  import rollupPluginImportFolder from 'https://cdn.skypack.dev/rollup-plugin-import-folder';
</script>

README

rollup-plugin-import-folder

A Rollup plugin to resolve modules using the folder name

Actions License Donate


Usage

import folder from "rollup-plugin-import-folder";

export default {
    input: "index.js",
    output: { file: "dist/index.js", format: "esm" },
    plugins: [ folder() ]
};

this will take imports of folder names such as

import "./hello-world";

and resolve them to

import "./hello-world/hello-world.js";

Options

include

Type: array or string Default: []

A single file, or array of files to include when minifying.

exclude

Type: array or string Default: []

A single file, or array of files to exclude when minifying.


Why

With Component based frameworks, its useful to have a component per folder. However this can complicate relative imports by duplicating the folder name twice. One solution is to create an index.js file in the folder that exports the component. While this works fine, it adds another file to maintain and with many components, the amount of index.js files can get confusing. This plugin solves this problem by adjusting imports to resolve the file with the same name as the folder.


Reporting Issues

If you are having trouble getting something to work with this plugin or run into any problems, you can create a new Issue.

If this plugin does not fit your needs or is missing a feature you would like to see, let us know! We would greatly appreciate your feedback on it.


License

rollup-plugin-import-folder is licensed under the terms of the MIT license.