Skip to content

Commit

Permalink
Add eslint-plugin-vitest
Browse files Browse the repository at this point in the history
Resolves #32
  • Loading branch information
kieranhall committed Mar 12, 2024
1 parent 273e793 commit b163d0c
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 13 deletions.
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,34 @@ ESLint config used by [Dusk](https://dusk.network/) JavaScript apps.
npm i -D @dusk-network/eslint-config
```

The package requires the following peer dependencies:
Your package requires the following dev-dependencies:

- [`eslint`](https://github.com/eslint/eslint) `>=8.57.0`
- [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) `>=9.1.0`
- [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import) `>=2.29.1`
- [`eslint-plugin-import-newlines`](https://github.com/SeinopSys/eslint-plugin-import-newlines) `>=1.3.4`
- [`eslint`](https://github.com/eslint/eslint)
- [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier)
- [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import)
- [`eslint-plugin-import-newlines`](https://github.com/SeinopSys/eslint-plugin-import-newlines)

If you are using Svelte rules the package needs the following optional dependency:
If you are using Svelte rules your package needs the following dev-dependency:

- [`eslint-plugin-svelte`](https://github.com/sveltejs/eslint-plugin-svelte) `>=2.35.1`
- [`eslint-plugin-svelte`](https://github.com/sveltejs/eslint-plugin-svelte)

If you are using Vitest rules your package needs the following dev-dependency:

- [`eslint-plugin-vitest`](https://github.com/veritem/eslint-plugin-vitest)

## Usage

Add the rulesets you want in the `extends` section of your ESLint configuration file.

e.g. to use both JS and Svelte rules:
e.g. to use both JS, Svelte and Vitest rules:

```javascript
// ...

extends: [
"@dusk-network/eslint-config/js",
"@dusk-network/eslint-config/svelte"
"@dusk-network/eslint-config/svelte",
"@dusk-network/eslint-config/vitest"
]

// ...
Expand Down
10 changes: 6 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,25 @@
},
"version": "3.2.0",
"devDependencies": {
"@dusk-network/prettier-config": "1.0.0",
"@dusk-network/prettier-config": "1.1.0",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-find-rules": "4.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-import-newlines": "1.3.4",
"eslint-plugin-import-newlines": "1.4.0",
"eslint-plugin-svelte": "2.35.1",
"eslint-plugin-vitest": "0.3.26",
"prettier": "3.2.5",
"svelte": "4.2.12"
},
"optionalDependencies": {
"eslint-plugin-svelte": ">=2.35.1"
"eslint-plugin-svelte": ">=2.35.1",
"eslint-plugin-vitest": ">=0.3.26"
},
"peerDependencies": {
"eslint": ">=8.57.0",
"eslint-config-prettier": ">=9.1.0",
"eslint-plugin-import": ">=2.29.1",
"eslint-plugin-import-newlines": ">=1.3.4"
"eslint-plugin-import-newlines": ">=1.4.0"
}
}
6 changes: 6 additions & 0 deletions vitest/base.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
rules: {
"max-nested-callbacks": ["error", 5],
"max-statements": 0,
},
};
18 changes: 18 additions & 0 deletions vitest/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const rules = ["./base"].map(require.resolve);

module.exports = {
extends: ["plugin:vitest/recommended", ...rules],
overrides: [
{
extends: ["plugin:vitest/recommended"],
files: ["*.spec.js", "*.test.js"],
plugins: ["vitest"],
},
],
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
plugins: ["import-newlines", "vitest"],
rules: {},
};

0 comments on commit b163d0c

Please sign in to comment.