generated from boneskull/boneskull-template
-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
43 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,56 @@ | ||
# boneskull-template | ||
# 💨 midnight-smoker | ||
|
||
> JUST THE WAY I LIKE IT | ||
> Run smoke tests against packages as they would be published | ||
Bacon ipsum dolor amet fatback swine hamburger ham short loin, brisket leberkas alcatra tenderloin filet mignon kevin frankfurter t-bone cupim turducken. | ||
## Motivation | ||
|
||
## Install | ||
This thing helps prevent you from publishing something which passes all the tests, but is misconfigured or fails when a consumer tries to install or run it. | ||
|
||
```shell | ||
$ npm install PACKAGENAME | ||
Examples of things that would be a problem: | ||
|
||
- Missing files in published package | ||
- `devDepenencies` which should be `dependencies` | ||
- Weirdo `exports` configuration | ||
- Wonky lifecycle scripts | ||
|
||
`midnight-smoker` is intended to run in CI or in a pre-publish lifecycle script. | ||
|
||
## Example Usage | ||
|
||
```bash | ||
npx midnight-smoker test:smoke # runs npm script "test:smoke" | ||
💨 midnight-smoker v1.0.0 | ||
✔ Found npm at /wherever/npm/lives/bin/npm | ||
✔ Packed 1 package | ||
✔ Installed 1 package | ||
✔ Successfully ran 1 script | ||
✔ Lovey-dovey! 💖 | ||
``` | ||
|
||
## Usage | ||
`midnight-smoker` is compatible with npm workspaces and stuff. | ||
|
||
**Run `npx midnight-smoker --help`** for more information. | ||
|
||
## What It Does | ||
|
||
Three (3) things: | ||
|
||
1. It runs `npm pack` on the package(s) | ||
2. Installs the resulting tarballs to a temp dir (or dir of your choosing) | ||
3. Runs an npm script (from the `scripts` field of your `package.json`) within the installed package | ||
|
||
That's it. That's the project. | ||
|
||
## Installation | ||
|
||
You can use `npx` or just `npm install midnight-smoker -D`. | ||
|
||
Alcatra pancetta meatball, leberkas ball tip cupim drumstick tongue strip steak. | ||
Requires Node.js v14.0.0 or higher. | ||
|
||
## Notes | ||
|
||
Bacon ribeye ham hock kielbasa landjaeger drumstick pork chop andouille. | ||
That song sucks. | ||
|
||
## License | ||
|
||
Copyright © 2019 Christopher Hiller. Licensed Apache-2.0 | ||
Copyright © 2022 [Christopher "boneskull" Hiller](https://github.com/boneskull). Licensed Apache-2.0 |