docs: spell fix
[poolifier.git] / .eslintrc.js
CommitLineData
6a6e81d0
S
1// @ts-check
2const { defineConfig } = require('eslint-define-config')
3
4module.exports = defineConfig({
97c16550 5 root: true,
777b7824 6 env: {
54541487 7 es2022: true,
777b7824
S
8 node: true,
9 mocha: true
10 },
6d0425b4 11 parserOptions: {
54541487 12 ecmaVersion: 2022,
6d0425b4
JB
13 sourceType: 'module'
14 },
38e795c1 15 plugins: ['promise', 'spellcheck'],
777b7824 16 extends: [
777b7824 17 'eslint:recommended',
305aeaa7 18 'plugin:import/recommended',
78cea37e 19 'plugin:promise/recommended'
777b7824
S
20 ],
21 rules: {
fa699c42
JB
22 'sort-imports': [
23 'warn',
24 {
25 ignoreMemberSort: true,
50aa7901 26 ignoreDeclarationSort: true
fa699c42 27 }
5c5a1fb7
S
28 ],
29
30 'spellcheck/spell-checker': [
31 'warn',
32 {
33 skipWords: [
d21911e6 34 'Benoit',
ca6c7d70 35 'benny',
fe2f6f84 36 'browserslist',
e4bc7a49 37 'builtins',
5c5a1fb7 38 'christopher',
7a6a0a96 39 'cjs',
74750c7f 40 'comparator',
23ff945a
JB
41 'cpu',
42 'cpus',
7a6a0a96 43 'ctx',
30eafb1e 44 'deprecations',
adc3c320 45 'dequeue',
5c5a1fb7 46 'ecma',
adc3c320 47 'enqueue',
3832ad95 48 'enum',
02706357 49 'errored',
e5a5c0fc 50 'esm',
bdaf31cd 51 'fibonacci',
7a6a0a96 52 'fs',
a76fac14 53 'inheritDoc',
5c5a1fb7 54 'jsdoc',
7a6a0a96 55 'microjob',
fe18768d 56 'mjs',
fe2f6f84 57 'num',
23ff945a 58 'os',
7a6a0a96 59 'piscina',
8d75fd5f 60 'pnpm',
a35560ba 61 'poolifier',
7a6a0a96 62 'poolify',
5c5a1fb7 63 'readonly',
d21911e6 64 'resize',
5c5a1fb7 65 'serializable',
a3809289 66 'sinon',
7a6a0a96
JB
67 'threadjs',
68 'threadwork',
7d82d90e 69 'tsconfig',
38e795c1 70 'tsdoc',
fe2f6f84 71 'typedoc',
7a6a0a96 72 'unlink',
5c5a1fb7 73 'unregister',
7a6a0a96 74 'utf8',
5c5a1fb7
S
75 'workerpool'
76 ],
77 skipIfMatch: ['^@.*', '^plugin:.*']
78 }
777b7824 79 ]
3c5eaeb9
JB
80 },
81 overrides: [
50eceb07 82 {
a17cc27a 83 files: ['**/*.ts'],
38e795c1 84 plugins: ['@typescript-eslint', 'eslint-plugin-tsdoc'],
815d4289 85 parser: '@typescript-eslint/parser',
f3636726 86 parserOptions: {
f3636726
JB
87 project: './tsconfig.json'
88 },
a17cc27a 89 extends: [
f3636726 90 'plugin:@typescript-eslint/eslint-recommended',
a17cc27a 91 'plugin:@typescript-eslint/recommended',
f3636726 92 'plugin:@typescript-eslint/recommended-requiring-type-checking',
3aa14de1
JB
93 'plugin:import/typescript',
94 'standard-with-typescript'
a17cc27a 95 ],
50eceb07 96 rules: {
a17cc27a
JB
97 '@typescript-eslint/no-inferrable-types': [
98 'error',
99 { ignoreProperties: true }
100 ],
afc003b2 101 'tsdoc/syntax': 'warn'
50eceb07
S
102 }
103 },
7a6a0a96
JB
104 {
105 files: ['examples/typescript/**/*.ts'],
106 rules: {
107 'import/no-unresolved': 'off',
7a6a0a96
JB
108 '@typescript-eslint/no-unsafe-argument': 'off',
109 '@typescript-eslint/no-unsafe-call': 'off',
110 '@typescript-eslint/no-unsafe-assignment': 'off'
111 }
112 },
3c5eaeb9 113 {
30eafb1e 114 files: ['**/*.js', '**/*.mjs'],
38e795c1 115 plugins: ['jsdoc'],
3aa14de1 116 extends: ['plugin:n/recommended', 'plugin:jsdoc/recommended', 'standard']
fa699c42
JB
117 },
118 {
305aeaa7
JB
119 files: ['tests/**/*.js'],
120 rules: {
121 'jsdoc/require-jsdoc': 'off'
122 }
123 },
4bf99d51
JB
124 {
125 files: ['tests/pools/selection-strategies/**/*.js'],
126 rules: {
2f8c5b5c 127 'n/no-missing-require': 'off'
4bf99d51
JB
128 }
129 },
305aeaa7
JB
130 {
131 files: ['benchmarks/**/*.js'],
fa699c42 132 rules: {
a17cc27a 133 'jsdoc/require-jsdoc': 'off'
fa699c42 134 }
583a27ce 135 },
d44e66fc
JB
136 {
137 files: ['benchmarks/versus-external-pools/**/*.js'],
138 rules: {
2f8c5b5c 139 'n/no-missing-require': 'off'
d44e66fc
JB
140 }
141 },
583a27ce
JB
142 {
143 files: ['examples/**/*.js'],
144 rules: {
2f8c5b5c 145 'n/no-missing-require': 'off',
305aeaa7
JB
146 'jsdoc/require-jsdoc': 'off'
147 }
3c5eaeb9 148 }
38e795c1 149 ]
6a6e81d0 150})