Preppy

Preppy - A Simple and lightweight tool for preparing the publish of NPM packages.
To keep things simple and reduce to number of dependencies, Preppy uses your local Babel configuration to transpile your code. You have to make sure that all required babel mechanic, presets and loaders are installed locally to your project.
Note: Pretty v4 is based on Babel v7 which is still in Beta. We need to move the ecosystem forward, that's the reason why Preppy is already been built on that version.
Output Targets
Preppy produces exports of your sources depending on the entries of your packages package.json
. It supports building for CommonJS and well as with ES Modules (ESM). Just add the relevant entries to the configuration.
- CommonJS Output:
main
- ES Module Output:
module
Basic Example:
{
"name": "mypackage",
"main": "lib/main-cjs.js",
"module": "lib/main-esm.js"
}
Binary Output
Additionally preppy
is capable in generating for binary targets.
This generates a mypackage
binary which is generated from the matching source file.
Binaries are generally generated from one of these source files:
src/cli.js
src/binary.js
src/script.js
Example Configuration:
{
"name": "mypackage",
"bin": {
"mypackage": "bin/mypackage"
}
}
Installation
NPM
$ npm install --save-dev preppy
Yarn
$ yarn add --dev preppy
Usage
Preppy comes with a binary which can be called from within your scripts
section
in the package.json
file.
"scripts": {
"prepare": "preppy"
}
There is also some amount of parameters you can use if the auto detection of your library does not work out correctly.
Usage
$ preppy
Options
--input-node Input file for NodeJS target [default = auto]
--input-binary Input file for Binary target [default = auto]
--output-folder Configure the output folder [default = auto]
-m, --sourcemap Create a source map file during processing
-v, --verbose Verbose output mode [default = false]
-q, --quiet Quiet output mode [default = false]
License
Apache License; Version 2.0, January 2004
Copyright
Copyright 2016-2018
Sebastian Software GmbH