@skyleague/node-standards
v9.4.0
Published
Build tools for SkyLeague packages.
Downloads
2,496
Readme
Node Standards (@skyleague/node-standards)
Nihil est sine ratione.
- Gottfried Wilhelm Leibniz
Node Standards is an opinionated collection of best practices, bundled in a way to easily configure new (and old) typescript projects.
Keeping up-to-date with project configuration is hard enough on a single repository, let alone if you have to manage a handful. With Node Standards you can centrally build your configuration, and define a project structure - and keep them up to date with a linter. Node Standards if flexible and extensible enough that you can make it work for any project.
node-standards <command>
Commands:
node-standards create <name> create a new project
node-standards lint lint the project configuration
Options:
--version Show version number [boolean]
--help Show help [boolean]
Install
Install Node Standards using npm
:
$ npm install --save-dev @skyleague/node-standards
Table of Contents
Usage
Configuration
Node Standards takes little time to set up.
- Add Node Standards to the devDependencies
- Configure the project linting in the package.json
The package.json should adhere to the following type:
interface PackageJson {
...
"node-standards": {
type: "yargs-cli" | "library"
template?: {
// a list of files to exclude from linting
exclude?: string[]
// by default all the options are enabled
lint?: {
files?: boolean
dependencies?: boolean
devDependencies?: boolean
script?: boolean
definition?: boolean
}
}
},
...
}
Create
Create a new project of the given type and name.
node-standards create <name>
create a new project
Positionals:
name the new package name [string] [required]
Options:
--type package type
[string] [required] [choices: "library", "yargs-cli"] [default: "library"]
--local create from local examples instead of Github artifact
[boolean] [default: true]
Lint
Ensure the project is up-to-date with the latest project structure and configuration. The --fix
setting can be used to automatically fix most issues found.
node-standards lint
lint the project configuration
Options:
--version Show version number [boolean]
--help Show help [boolean]
--fix try to fix the errors [boolean] [default: false]
Alternative projects
In no particular order, the following libraries try to solve similar problems (albeit very different):
eslint-config-airbnb
; provides a default configuration for eslint
PR's are very welcome if you think your project is missing here.
When not to use Node Standards?
- We aim to configure our settings to be as strict as possible. Not everyone might like this.
- Node Standards is an insanely opinionated implementation, and this may not fit your needs or vision.
Support
SkyLeague provides Enterprise Support on this open-source library package at clients across industries. Please get in touch via https://skyleague.io
.
If you are not under Enterprise Support, feel free to raise an issue and we'll take a look at it on a best-effort basis!
License & Copyright
This library is licensed under the MIT License (see LICENSE.md for details).
If you using this SDK without Enterprise Support, please note this (partial) MIT license clause:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND
Copyright (c) 2022, SkyLeague Technologies B.V.. 'SkyLeague' and the astronaut logo are trademarks of SkyLeague Technologies, registered at Chamber of Commerce in The Netherlands under number 86650564.
All product names, logos, brands, trademarks and registered trademarks are property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.