@tradie/node-package-scripts v1.1.8
@tradie/node-package-scripts
An opinionated set of scripts for creating and maintaining node packages.
Feel like you spend more time setting up and updating the tools to build, test
and maintain your project? @tradie/node-package-scripts lets you focus on
writing code and spend less time setting up and updating the tools to build,
test and maintain your project. It provides you with a way to keep tooling
consistent across multiple packages with minimal effort.
Usage
Create a new folder for your project:
mkdir my-package && cd my-packageCreate the files for your project:
npx --package @tradie/node-package-scripts tradie createFiles
coverage/
examples/
lib/
src/
test/
.flowconfig
.gitignore
package.jsoncoverage/
This folder contains the coverage report generated by tradie test --coverage.
This folder should be added to your .gitignore file. This folder is removed by
tradie clean.
examples/
This folder contains scripts that demonstrate the functionality of your package.
These scripts can be run using the tradie example <module> command.
lib/
This folder contains the transpiled sources generated by tradie build. This
folder should be added to your .gitignore file. This folder is removed by
tradie clean.
src/
This folder contains the source code and the unit tests for your package.
test/
This folder contains other tests e.g. integration etc
.flowconfig
This file contains your config for flowtype. Typings are optional.
.gitignore
This file excludes files from your version control system. It should at least exclude the generated files and folders. For example:
lib
coverage
node_modulespackage.json
This is your package manifest. You should specify your package's main script and which files will should be included in the package.
{
"main": "lib/index.js",
"files": ["lib", ".flowconfig"]
}Commands
tradie clean
Remove generated files and folders.
tradie cleantradie lint
Lint sources, tests and examples.
tradie lint [--watch]This command doesn't enforce any stylistic rules. Use
prettierinstead.
tradie build
Transpile sources and export their types.
tradie build [--watch]tradie test
Run tests.
tradie test [--watch] [--coverage]tradie example
Run examples.
tradie example [module]FAQ*
*Questions that I think will be frequently asked.
Can I use the latest language features?
Yes. The following Babel presets and plugins are configured:
babel-preset-envbabel-plugin-transform-class-propertiesbabel-plugin-transform-object-rest-spreadbabel-plugin-transform-dynamic-import-node
What versions of node will my package support?
By default your sources will be transpiled to support Node >=4. You can change
the target Node version by using the engines key in your package.json. For
example:
{
"engines": {
"node": "v8"
}
}Can I use types?
Yes! Create a .flowconfig and add // @flow comments to the top of your
files. Type information will be exported to ./lib.
You should ignore the ./lib directory. For example:
.flowconfig:
[ignore]
<PROJECT_ROOT>/lib8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago