barrel-exporter
v2.0.1
Published
Package for implementing barrel exporting in React, Next JS.
Downloads
232
Maintainers
Readme
Barrel Exporter
Package for implementing barrel exporting in React, Next JS.
A barrel is a way to rollup exports from several modules into a single convenient module. The barrel itself is a module file that re-exports selected exports of other modules.
Installation
$ npm install --save-dev barrel-exporter
Usage
Add a script in package.json
You can set any custom script name like:
"scripts": {
"exporter" : "barrel-exporter"
}
Run command in console that will create index.js file in the folder where you want to implement barrel exporting
$ npm run exporter --path=src/pages
Use --ts
flag to get all the exports in index.ts
file
$ npm run exporter --path=src/pages --ts
Set path in command where you want barrel exporting.
After executing the command, an index.js file is created with multiple named export at the given path. ( in this case: src/pages/index.js )
export { AuthPage } from './AuthPage.js';
export { HomePage } from './HomePage.js';
Without Barrel Exporting
Without implementing barrel exporting, files will be imported one by one from different source modules.
Tree Diagram
pages |---AuthPage.js |---HomePage.js
The way to import files
import AuthPage from './pages/AuthPage';
import HomePage from './pages/HomePage';
With Barrel Exporting
With implementing barrel exporting, files will be imported all at once from a single source module.
Tree Diagram
pages |---index.js |---AuthPage.js |---HomePage.js
The way to import files
import { AuthPage, HomePage } from './pages';
What it solves?
If you want to implement barrel exporting then you need to create Index.js file and then manually export all the files with correct path. But with Barrel Exporter, Index.js file is automatically created with correct exporting and path. Isn't it amazing!!
Features
- Option provided to overwrite already existing index file
- .js, .jsx, .ts, and .tsx file extension supported