mirror of
https://github.com/vitest-dev/vitest.git
synced 2025-12-08 18:26:03 +00:00
139 lines
3.5 KiB
JavaScript
139 lines
3.5 KiB
JavaScript
import antfu, { GLOB_SRC } from '@antfu/eslint-config'
|
|
|
|
export default antfu(
|
|
{
|
|
vue: true,
|
|
// Disable tests rules because we need to test with various setup
|
|
test: false,
|
|
// This replaces the old `.gitignore`
|
|
ignores: [
|
|
'**/coverage',
|
|
'**/*.snap',
|
|
'**/bench.json',
|
|
'**/fixtures',
|
|
'**/assets/**',
|
|
'**/*.d.ts',
|
|
'**/*.timestamp-*',
|
|
'test/core/src/self',
|
|
'test/core/test/mocking/already-hoisted.test.ts',
|
|
'test/cache/cache/.vitest-base/results.json',
|
|
'test/core/src/wasm/wasm-bindgen-no-cyclic',
|
|
'test/workspaces/results.json',
|
|
'test/workspaces-browser/results.json',
|
|
'test/reporters/fixtures/with-syntax-error.test.js',
|
|
'test/network-imports/public/slash@3.0.0.js',
|
|
'test/coverage-test/src/transpiled.js',
|
|
'test/coverage-test/src/original.ts',
|
|
'test/cli/deps/error/*',
|
|
'examples/**/mockServiceWorker.js',
|
|
'examples/sveltekit/.svelte-kit',
|
|
'packages/browser/**/esm-client-injector.js',
|
|
// contains technically invalid code to display pretty diff
|
|
'docs/guide/snapshot.md',
|
|
// uses invalid js example
|
|
'docs/api/advanced/import-example.md',
|
|
'docs/guide/examples/*.md',
|
|
],
|
|
},
|
|
{
|
|
rules: {
|
|
// prefer global Buffer to not initialize the whole module
|
|
'node/prefer-global/buffer': 'off',
|
|
'node/prefer-global/process': 'off',
|
|
'no-empty-pattern': 'off',
|
|
'antfu/indent-binary-ops': 'off',
|
|
'unused-imports/no-unused-imports': 'error',
|
|
'style/member-delimiter-style': [
|
|
'error',
|
|
{
|
|
multiline: { delimiter: 'none' },
|
|
singleline: { delimiter: 'semi' },
|
|
},
|
|
],
|
|
// let TypeScript handle this
|
|
'no-undef': 'off',
|
|
'ts/no-invalid-this': 'off',
|
|
'eslint-comments/no-unlimited-disable': 'off',
|
|
'curly': ['error', 'all'],
|
|
|
|
// TODO: migrate and turn it back on
|
|
'ts/ban-types': 'off',
|
|
'ts/no-unsafe-function-type': 'off',
|
|
|
|
'no-restricted-imports': [
|
|
'error',
|
|
{
|
|
paths: ['path'],
|
|
},
|
|
],
|
|
|
|
'import/no-named-as-default': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: [`packages/*/*.{js,mjs,d.ts}`],
|
|
rules: {
|
|
'antfu/no-import-dist': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: [`packages/${GLOB_SRC}`],
|
|
rules: {
|
|
'no-restricted-imports': [
|
|
'error',
|
|
{
|
|
paths: ['vitest', 'path', 'vitest/node'],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
// these files define vitest as peer dependency
|
|
files: [`packages/{coverage-*,ui,browser,web-worker,browser-*}/${GLOB_SRC}`],
|
|
rules: {
|
|
'no-restricted-imports': [
|
|
'error',
|
|
{
|
|
paths: ['path'],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
`docs/${GLOB_SRC}`,
|
|
`**/*.md`,
|
|
`**/*.md/${GLOB_SRC}`,
|
|
],
|
|
rules: {
|
|
'perfectionist/sort-imports': 'off',
|
|
'style/max-statements-per-line': 'off',
|
|
'import/newline-after-import': 'off',
|
|
'import/first': 'off',
|
|
'unused-imports/no-unused-imports': 'off',
|
|
'ts/method-signature-style': 'off',
|
|
'no-self-compare': 'off',
|
|
'import/no-mutable-exports': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
`docs/${GLOB_SRC}`,
|
|
`packages/web-worker/${GLOB_SRC}`,
|
|
`test/core/${GLOB_SRC}`,
|
|
],
|
|
rules: {
|
|
'no-restricted-globals': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
`test/${GLOB_SRC}`,
|
|
],
|
|
rules: {
|
|
'antfu/no-top-level-await': 'off',
|
|
'unicorn/consistent-function-scoping': 'off',
|
|
},
|
|
},
|
|
)
|