https://github.com/trieb-work/config
https://github.com/trieb-work/config
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/trieb-work/config
- Owner: trieb-work
- License: mit
- Created: 2021-03-31T06:38:15.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T00:04:44.000Z (over 2 years ago)
- Last Synced: 2025-08-08T23:28:10.085Z (10 months ago)
- Language: JavaScript
- Size: 991 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# config
## Quickstart
1. Install dependencies
```sh
yarn add -D typescript eslint prettier @trieb.work/eslint-config-base @trieb.work/tsconfig-base @trieb.work/prettier-base husky lint-staged commitlint @commitlint/config-conventional
```
2. Initialize husky
```bash
yarn husky install
```
3. Create config files
```bash
# .eslintrc.js
cat <.eslintrc.js
module.exports = {
extends: "@trieb.work/eslint-config-base",
}
EOF
# tsconfig.json
cat < tsconfig.json
{
"extends": "@trieb.work/tsconfig-base"
}
EOF
# .prettierrc.js
cat < .prettierrc.js
module.exports = {
...require("@trieb.work/prettier-base"),
}
EOF
# .prettierignore
cat < .prettierignore
dist
.next
EOF
# .commitlintrc.json
cat < .commitlintrc.json
{
"extends": ["@commitlint/config-conventional"]
}
EOF
# .lintstagedrc
cat < .lintstagedrc
{
"**.{ts,tsx}": ["yarn prettier --write", "yarn eslint --fix"],
"**.{json,md,mdx,css,html,js}": ["yarn prettier --write"]
}
EOF
```
3. Add npm scripts
```bash
npm set script fmt "yarn lint && yarn format"
npm set script format "prettier --write ."
npm set script lint "eslint . --ext ts --ext tsx --ext js --fix"
npm set script tsc "tsc"
```
5. Copy the git hooks over to your repository
```bash
git clone https://github.com/trieb-work/config.git
cp -r config/packages/husky/hooks/* my-project-root/.husky/
```
## Publishing
Changes are automatically published when pushed to `main`
## Contributing
It is important to work with [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) because otherwise the packages can not be versioned correctly and deployed automatically.
[Commitizen](https://github.com/commitizen/cz-cli) is your friend.
Versioning follows semantic versioning and are managed automatically when using `fix:` -> `patch`, `feat:` -> `minor`, or when including breaking changes -> `major`
## FAQ
- Q: What do I do when I receive the following warning: `Warning: React version was set to "detect" in eslint-plugin-react settings, but the "react" package is not installed. Assuming latest React version for linting.`
A: This happens if react is not installed in the same package where you run your linting. For example in a monorepo where you install eslint etc in the root directory and have a dedicated `/frontend` directory with your react application. Just ignore the warning.