Skip to content

Latest commit

 

History

History
78 lines (53 loc) · 2.93 KB

README.md

File metadata and controls

78 lines (53 loc) · 2.93 KB

version

This module provides tooling to lint, format, test and write JS modules.


It makes use of the following stack:

Install

yarn global add @marvinroger/fusee

Then, inside a blank Node.js project, run fusee init. This will install the stack, and add the correct scripts inside the package.json.

Installed scripts

yarn lint [files...]

Lint the code with ESlint and Prettier, trying to fix what's fixable. This runs eslint --fix and prettier --write on:

  • src/**/*.ts
  • Only given files if a list of files is supplied (this is how lint-staged is setup)

The ESLint config can be found at ⚙ src/configs/eslint.ts, and the Prettier config at ⚙ src/configs/prettier.ts.


yarn test

Test the code with Jest. This runs jest --passWithNoTests with the default Jest config.

The Jest config can be found at ⚙ src/configs/jest.ts.


yarn generate-docs

Generate the HTML docs from the TypeScript code, into the docs/ directory.

Note: Due to a TypeDoc restriction, every single exported method will be documented (even if not exported from the entry-point). To ignore such methods, add a @hidden annotation.

Installed Git hooks

The Husky config can be found at ⚙ src/configs/husky.ts. The following hooks are set:

  • pre-commit: This runs lint-staged with the config at ⚙ src/configs/lint-staged.ts. Whenever a file matches the *.{ts,tsx,js,jsx} pattern, the lint script will be ran on these files, fixing what's fixable. If the lint is unsuccessful and it cannot be auto-fixed, the commit will be aborted.

There is no pre-push hook, as it might take too long to build or test the project. These checks should be done on the CI.