@lint-my-life/eslint-config-vitest v0.4.6
Want more linters in your life, but without having to set them up? Welcome
Note: I will shortly refactor the packages to follow a standard + addon structure.
This package is published from a monorepo
Check https://github.com/DaniFoldi/lint-my-life for more details.
Usage
For any of the presets below, you can install them with one command:
npm install @lint-my-life/presetAdd this to your eslint.config.js for eslint (omit eslint-config-):
export * from '@lint-my-life/preset'Add this to your .stylelintrc for stylelint:
{
"extends": [ "@lint-my-life/preset" ]
}Presets:
eslint-config-standardeslint-config-tseslint-config-reacteslint-config-react-tseslint-config-react-nativeeslint-config-react-native-tseslint-config-vueeslint-config-vue-tseslint-config-vitesteslint-config-paintbrusheslint-config-cometstylelint-standardstylelint-scssstylelint-paintbrushstylelint-vuestylelint-vue-scss
Addons:
eslint-config-semieslint-config-node
Install and append these after the preset.
Running with GitHub Actions
Add these steps to lint your repository:
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
eslint:
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.mjs'
- '**/*.cjs'
- '**/*.vue'
yamllint:
- '**/*.yml'
- '**/*.yaml'
stylelint:
- '**/*.css'
- '**/*.scss'
- '**/*.vue'
# Change as needed
- if: steps.changes.outputs.eslint == 'true'
run: |
npm run lint:jsCredits
Thanks to all authors that created the linter packages, and those that contributed to the presets and plugins this library is based on.
stylelintstylelint-config-recommendedstylelint-config-standardstylelint-config-recommended-scssstylelint-config-standard-scssstylelint-config-idiomatic-orderstylelint-high-performance-animationstylelint-orderpostcsspostcss-htmlpostcss-scsseslinteslint-config-importeslint-config-unicorneslint-config-reacteslint-config-react-hookseslint-config-react-nativeeslint-import-resolver-typescripteslint-config-htmleslint-config-vueeslint-config-vitestvue-eslint-parser@typescript-eslint/eslint-config@typescript-eslint/parsertypescriptyamllint
Adding a new package
- Add package to
packages/folder. - Add required copy rules to
prepublish.mjs. - Add package to
.github/workflows/main.yml.
Contributing
If you find false positives/false negatives, or combinations that don't work well, feel free to open an issue, or create a PR.
This project uses commit messages starting with emoji:
| Emoji | Prefix | Description |
|---|---|---|
| :zap: | :zap: | for implementing or extending functionality |
| :zap::zap: | :zap::zap: | for breaking changes |
| :hammer: | :hammer: | for bug fixes |
| :wrench: | :wrench: | for configurations |
| :vertical_traffic_light: | :vertical_traffic_light: | for tests |
| :memo: | :memo: | for documentations |
| :mag: | :mag: | for lint fixes |
| :recycle: | :recycle: | for non-breaking refactoring |
| :paperclip: | :paperclip: | for dependencies |
| :octocat: | :octocat: | for workflows |
| :construction: | :construction: | for experimental or temporary changes |
Note
Yes, some of the rules/presets are opinionated. No, I will not create addons for the one rule you want to change (eg. "quotes'). They are not better in any way.
License
All packages, and this repository are licensed under the MIT license.