Installation | Configuration | Examples
Rollup plugin for manipulating local
import
/export
statements
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