Barrel Maintainer
Automatically maintains barrels in real-time.
Installation
npm install -g barrel-maintainer
Usage
barrel-maintainer [options] [path]
Options:
--includeRootDir
- Create a barrel in the root directory.- Quote type (specify one)
- Defaults to the quote type used in the first found import declaration in your project.
--singleQuotes
- Use single quotes.--doubleQuotes
- Use double quotes.
- File extension for barrel (specify one)
- Defaults to whichever file type your project has more of.
--ts
- Create index.ts files.--js
- Create index.js files.
- New lines (specify one)
--crlf
- Use carriage return line feed newlines (default on windows)--lf
- Use line feed newlines (default elsewhere)
Ignoring Files
Add a /* barrel:ignore */
statement to the file:
/* barrel:ignore */
Exporting a Subset of a File's Exports
Given the following setup:
// classes.js // index.js;
If you want the barrel to export a subset of the exports from classes.js, then edit the barrel to say so:
// index.js;
These kind of changes won't be overwritten by the code manipulation.
Api
; ; await maintainer.updateDirectory"myProject/src/subdir";; // then later (if necessary)watcher.stop;
About
This project uses ts-morph to navigate and manipulate source code.
Disclaimer
This library will modify and delete source code. I am not responsible for any of its modifications or deletions!
Always use version control to verify and to be able to easily revert the changes it makes!