0.0.6 • Published 5 years ago

shebang-it v0.0.6

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

shebang-it

What is it?

Maybe I'm missing something, but it seems like the offerings of parcel-bundler, and 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?

shebang-it takes a single argument: the folder path to the file you'd like made executable, and it defaults to dist

it can also take the following optional properties if you want to get creative with creating tons of different bin files:

ArgLongformDescriptionExample
-i--input-filenamecustom filename for the assumed dist utilshebang-it -i windex.js
-o--output-filenamecustom filename for the output bin utilshebang-it -o shebang-it.js

As part of my build process with husky and 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.

TODO:

THE ISSUE 0. PATCH OUR DEFAULT BACK OUT WHEN THE ISSUE IS RESOLVED signale issue np issue ava issue

It seems like execa (another sindresorhus package) hijacks the output stream. This meant that any cli package using shebang-it would explode when trying to use np to 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.

  1. add it to project-status
  2. generate a couple badges
  3. add it to travis-ci
  4. report coverage
  5. report test percentage
  6. report code quality
  7. add option for silent execution
  8. add a ricky-martin themed svg logo
0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago

0.0.0

6 years ago