@fairdataihub/config v2.2.3
@fairdataihub/config
A simple list of configs for use in FAIR Data Innovations Hub projects.
npm install --save-dev @fairdataihub/config
yarn add -D @fairdataihub/configHow to use
Refer to our documentation for this package here: @fairdataihub/config
Getting started
git clone https://github.com/fairdataihub/config.gitcd confignpm install
To enable deployment, you will need to:
- Setup
NPM_TOKENsecret in GitHub actions (Settings > Secrets > Actions) - Give
GITHUB_TOKENwrite permissions for GitHub releases (Settings > Actions > General > Workflow permissions)
Features
Currently supported configs:
- prettier
- eslint
- devmoji
- commitlint
Typescript
Leverages esbuild for blazing fast builds, but keeps tsc to generate .d.ts files.
Generates two builds to support both ESM and CJS.
Commands:
build: runs typechecking then generates CJS, ESM andd.tsfiles in thebuild/directoryclean: removes thebuild/directorytype:dts: only generatesd.tstype:check: only run typecheckingtype:build: only generates CJS and ESM
Tests
This library uses ava and esbuild-register so that there is no need to compile before the tests start running. The coverage is done through nyc.
Commands:
test: runs ava test runnertest:coverage: runs ava test runner and generates coverage reports
Format & lint
This project relies on the combination of eslint — through typescript-eslint for linting and prettier for formatting. It also uses cspell to ensure spelling
Commands:
format: runs prettier with automatic fixingformat:check: runs prettier without automatic fixing (used in CI)lint: runs eslint with automatic fixinglint:check: runs eslint without automatic fixing (used in CI)spell:check: runs spellchecking
Releasing
Under the hood, this library uses semantic-release and commitizen.
The goal is to avoid manual release process. Using semantic-release will automatically create a github release (hence tags) as well as an npm release.
Based on your commit history, semantic-release will automatically create a patch, feature or breaking release.
Commands:
cz: interactive CLI that helps you generate a proper git commit message, using commitizensemantic-release: triggers a release (used in CI)