generated from Java-2025Fall/final-vibevault-template
130 lines
2.6 KiB
JavaScript
130 lines
2.6 KiB
JavaScript
import ljharb from '@ljharb/eslint-config/flat';
|
|
import ljharbNodeLatest from '@ljharb/eslint-config/flat/node/latest';
|
|
import ljharbTests from '@ljharb/eslint-config/flat/tests';
|
|
|
|
export default [
|
|
{
|
|
ignores: [
|
|
'.nyc_output',
|
|
],
|
|
},
|
|
...ljharb,
|
|
{
|
|
languageOptions: {
|
|
globals: {
|
|
DataView: false,
|
|
Float16Array: false,
|
|
Float32Array: false,
|
|
Float64Array: false,
|
|
Int8Array: false,
|
|
Int16Array: false,
|
|
Int32Array: false,
|
|
Intl: false,
|
|
Uint8Array: false,
|
|
Uint8ClampedArray: false,
|
|
Uint16Array: false,
|
|
Uint32Array: false,
|
|
},
|
|
},
|
|
rules: {
|
|
'array-bracket-newline': 'off',
|
|
complexity: 'off',
|
|
eqeqeq: ['error', 'allow-null'],
|
|
'func-name-matching': 'off',
|
|
'id-length': ['error', { min: 1, max: 40 }],
|
|
'max-lines-per-function': 'warn',
|
|
'max-params': ['error', 5],
|
|
'max-statements': 'warn',
|
|
'max-statements-per-line': ['error', { max: 2 }],
|
|
'multiline-comment-style': 'off',
|
|
'new-cap': 'off',
|
|
'no-extra-parens': 'warn',
|
|
'no-implicit-coercion': ['error', {
|
|
boolean: false,
|
|
number: false,
|
|
string: true,
|
|
}],
|
|
'no-magic-numbers': 'off',
|
|
'sort-keys': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['GetIntrinsic.js'],
|
|
rules: {
|
|
'max-statements': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['operations/*'],
|
|
rules: {
|
|
'max-lines': 'off',
|
|
},
|
|
},
|
|
...ljharbNodeLatest
|
|
.filter((c) => !c.files?.some((f) => typeof f === 'function' || f === '**/*.mjs'))
|
|
.map((c) => ({
|
|
...c,
|
|
files: [
|
|
'operations/deltas.js',
|
|
'operations/getOps.js',
|
|
'operations/spackle.js',
|
|
'operations/years.js',
|
|
],
|
|
})),
|
|
{
|
|
files: [
|
|
'operations/deltas.js',
|
|
'operations/getOps.js',
|
|
'operations/spackle.js',
|
|
'operations/years.js',
|
|
],
|
|
rules: {
|
|
complexity: 'off',
|
|
'func-style': 'off',
|
|
'max-lines-per-function': 'off',
|
|
'max-nested-callbacks': 'off',
|
|
'max-statements': 'off',
|
|
'no-magic-numbers': 'off',
|
|
'no-throw-literal': 'off',
|
|
},
|
|
},
|
|
...ljharbTests.map((c) => ({
|
|
...c,
|
|
files: ['test/**'],
|
|
})),
|
|
{
|
|
files: ['test/**'],
|
|
rules: {
|
|
'max-len': 'off',
|
|
'max-lines-per-function': 'off',
|
|
'no-implicit-coercion': 'off',
|
|
'no-invalid-this': 'warn',
|
|
'prefer-promise-reject-errors': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
'*/Num*ToRawBytes.js',
|
|
'*/RawBytesToNum*.js',
|
|
'helpers/bytesAs*.js',
|
|
'helpers/valueToFloat*.js',
|
|
],
|
|
rules: {
|
|
'max-lines-per-function': 'off',
|
|
'max-statements': 'off',
|
|
'no-redeclare': 'warn',
|
|
'operator-linebreak': ['error', 'before', {
|
|
overrides: {
|
|
'=': 'none',
|
|
},
|
|
}],
|
|
},
|
|
},
|
|
{
|
|
files: ['*/GetSubstitution.js'],
|
|
rules: {
|
|
'max-depth': 'off',
|
|
},
|
|
},
|
|
];
|