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.
$ npm install --save-dev barrel-exporter
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 implementing barrel exporting, files will be imported one by one from different source modules.
pages
|---AuthPage.js
|---HomePage.js
import AuthPage from './pages/AuthPage';
import HomePage from './pages/HomePage';
With implementing barrel exporting, files will be imported all at once from a single source module.
pages
|---index.js
|---AuthPage.js
|---HomePage.js
import { AuthPage, HomePage } from './pages';
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!!
- Option provided to overwrite already existing index file
- .js, .jsx, .ts, and .tsx file extension supported