Skip to content

marvinroger/fusee

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published