Installation | Configuration | Examples
Rollup plugin for manipulating local
import/exportstatements
rollup-plugin-local-import should be included in development dependencies.
yarn add --dev rollup-plugin-local-import
This plugin is built as native addon and supports following operating systems.
| node14 | node16 | node18 | |
|---|---|---|---|
| Windows x64 | β | β | β |
| Windows x32 | β | β | β |
| macOS x64 | β | β | β |
| macOS arm64 | β | β | β |
| Linux x64 gnu | β | β | β |
| Linux x64 musl | β | β | β |
Support can be extended to cover more systems if needed.
Add plugin in your rollup configuration:
import { defineConfig } from "rollup"; import { localImport } from "rollup-plugin-local-import"; export default defineConfig({ // ... plugins: [localImport((path) => `${path}.js`)], });
function localImport(callback: Callback): RollupPlugin;
callback,(path: string) => string, required
Callback called with each identified local import. Must return string.
function transformLocalImports(path: string): string { console.log(`Path is "${path}"`); console.log(`Returning "${path}.js"`); return `${path}.js`; } export default defineConfig({ // ... plugins: [localImport(transformLocalImports)], });
> Path is "./Header" > Returning "./Header.js"
- export { default } from './Header'; + export { default } from './Header.js';
With localImport(path => path + '.js'):
Input:
export * from "./local-file"; export * from "../file-from-parent-directory"; export * from "some-dependency"; export { a } from "./local-file"; export { b } from "../file-from-parent-directory"; export { c } from "some-dependency";
Output:
export * from "./local-file.js"; export * from "../file-from-parent-directory.js"; export * from "some-dependency"; // Not changed export { a } from "./local-file.js"; export { b } from "../file-from-parent-directory.js"; export { c } from "some-dependency"; // Not changed