Config is shared project configuration we use for all HexLabs projects. These configurations help ensure all of our code is written in the same format and our code style is consistent and readable.
- commitlint-config
- Checks that the commit messages match a conventional commit format
- eslint-config
- Lints TypeScript/JavaScript code when used in the backend
- eslint-config-react
- Similar to above, lints TypeScript/JavaScript code but also includes additional linting rules for React frontend
- prettier-config
- An opinionated code formatter for many languages to beautify the code style
- stylelint-config
- Linter used for CSS rules and syntax that can automatically fix problems
- tsconfig
- Specifies the rules of a TypeScript project that are used to compile the code
These steps will setup eslint, prettier, and stylelint for a TypeScript React app.
yarn add --dev @hex-labs/eslint-config-react @hex-labs/prettier-config @hex-labs/stylelint-config eslint prettier stylelintAdd these lines to your package.json
"eslintConfig": {
"extends": "@hex-labs/eslint-config-react"
},
"prettier": "@hex-labs/prettier-config",
"stylelint": {
"extends": "@hex-labs/stylelint-config"
}To run, add a lint script to package.json
"scripts": {
"lint": "eslint src/ --fix; stylelint src/**/*.css --fix; prettier . --write"
}These steps will setup eslint, prettier, and tsconfig for a TypeScript Node app.
yarn add --dev @hex-labs/eslint-config @hex-labs/prettier-config @hex-labs/tsconfig eslint prettierAdd these lines to your package.json
"eslintConfig": {
"extends": "@hex-labs/eslint-config"
},
"prettier": "@hex-labs/prettier-config"Replace your tsconfig.json with
"extends": "@hex-labs/tsconfig"To run, add a lint script to package.json
"scripts": {
"lint": "eslint src/ --fix; prettier . --write"
}We use commitlint to ensure all commits follow a standard guidelines to generated release changelog messages. You can view the format of the commit messages here.
Each package has an associated __tests__ folder that holds tests to run with tape. Before
committing and releasing new versions, all the tests will be run to ensure they pass.
To release a new version, run yarn release and git push --follow-tags origin main to push the
tags as well. Once the commits are pushed, GitHub Actions will automatically run a workflow to
publish a new version to npm.
Inspired by jdp-scripts.
MIT © HexLabs