Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lint-staged #33

Closed
2 tasks done
arcticicestudio opened this issue Aug 24, 2019 · 0 comments
Closed
2 tasks done

lint-staged #33

arcticicestudio opened this issue Aug 24, 2019 · 0 comments

Comments

@arcticicestudio
Copy link
Owner

arcticicestudio commented Aug 24, 2019

Integrate lint-staged to run linters against staged Git files to prevent to add code that violates any style guide into the code base.

Configuration

The configuration file lint-staged.config.js will be placed in the project root and includes the command that should be run for matching file extensions (globs). It will include at least the three following entries with the same order as listed here:

  1. prettier --list-different - Run Prettier (Prettier #32) against *.{js,json,md,mdx,ts,tsx,yml} to ensure all files are formatted correctly. The --list-different prints the found files that are not conform to the Prettier configuration.
  2. eslint - Run ESLint (ESLint #30) against *.{js,ts,tsx} to ensure all TypeScript and JavaScript files are compliant to the style guide after being formatted with Prettier.
  3. remark --no-stdout - Run remark-lint (remark-lint #27) against *.md to ensure all Markdown files are compliant to the style guide. The --no-stdout flag suppresses the output of the parsed file content.

Tasks

  • Install lint-staged package.
  • Implement lint-staged.config.js configuration file.
@arcticicestudio arcticicestudio added this to the 0.1.0 milestone Aug 24, 2019
@arcticicestudio arcticicestudio mentioned this issue Aug 24, 2019
2 tasks
arcticicestudio added a commit that referenced this issue Aug 24, 2019
Integrated Husky (1), the tool that make Git hooks easy and can prevent
bad Git commits, pushes and more *woof*!

>>> Configuration

The configuration file `.huskyrc.js` is placed in the project root and
includes the command to run for any [upported Git hook (2). It contains
configurations for the following hooks:

- `pre-commit` - Run `lint-staged` (GH-33) before each commit to ensure
  all staged files are compliant to all style guides.

References:
  (1) https://github.com/typicode/husky
  (2) https://github.com/typicode/husky/blob/master/DOCS.md#supported-hooks
  (3) https://www.npmjs.com/package/husky

Resolves GH-34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants