What is it?
tl;dr: tiny util that shebangs your bundled file
Maybe I'm missing something, but it seems like the offerings of
webpack are missing a crucial lib to do with the usability of bundled command line utilites:
You need to be able to actually run them.
So, I wrote a tiny util to take a bundled
js file, slap a shebang on top, move it into a bin folder, and give it executable perms. I've been passing this around a few of my
cli util projects for a while, and figured it was high time to make it official. So now it is!
How to use it?
yarn add -D shebang-it && npx shebang-it
shebang-it takes a single argument: the folder path to the file you'd like made executable, and it defaults to
it can also take the following optional properties if you want to get creative with creating tons of different
|-i||--input-filename||custom filename for the assumed
|-o||--output-filename||custom filename for the output
As part of my build process with
lint-staged, I like generating the files automatically. That way, in a precommit, the
bin file will always be up to date, and when using the
np library to push updates to
npm there won't be anything to blame for the right code not landing.
tl;dr: Mostly dev cleanup
It seems like execa (another sindresorhus package) hijacks the output stream. This meant that any cli package using
shebang-itwould explode when trying to use
npto update itself. That's super annoying. It seems like a lower priority thing, so in the meantime, I've added a small bit of code to default the stdio stream if it's not present to a nooplike thing. I'm unhappy with this, and want it gone ASAP.
- add it to project-status
- generate a couple badges
- add it to travis-ci
- report coverage
- report test percentage
- report code quality
- add option for silent execution
- add a ricky-martin themed svg logo