mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const antfu = require('@antfu/eslint-config');
|
|
const generalConfig = require('./eslint/general');
|
|
const testConfig = require('./eslint/test');
|
|
const typedConfig = require('./eslint/typed');
|
|
const unicornConfig = require('./eslint/unicorn');
|
|
|
|
// The default ignore list contains all `output` folders, which conflicts with our src/http/output folder
|
|
// See https://github.com/antfu/eslint-config/blob/7071af7024335aad319a91db41ce594ebc6a0899/src/globs.ts#L55
|
|
const index = antfu.GLOB_EXCLUDE.indexOf('**/output');
|
|
if (index < 0) {
|
|
throw new Error('Could not update GLOB_EXCLUDE. Check if antfu changed how it handles ignores.');
|
|
}
|
|
antfu.GLOB_EXCLUDE.splice(index, 1);
|
|
|
|
module.exports = antfu.default(
|
|
{
|
|
// Don't want to lint test assets, or TS snippets in markdown files
|
|
ignores: [ 'test/assets/*', '**/*.md/**/*.ts' ],
|
|
},
|
|
generalConfig,
|
|
unicornConfig,
|
|
typedConfig({
|
|
project: [ './tsconfig.json', './scripts/tsconfig.json', './test/tsconfig.json' ],
|
|
tsconfigRootDir: __dirname,
|
|
}),
|
|
testConfig,
|
|
{
|
|
// JSON rules
|
|
files: [ '**/*.json' ],
|
|
rules: {
|
|
'jsonc/array-bracket-spacing': [ 'error', 'always', {
|
|
singleValue: true,
|
|
objectsInArrays: false,
|
|
arraysInArrays: false,
|
|
}],
|
|
},
|
|
},
|
|
{
|
|
// This is necessary to prevent filename checks caused by JSON being present in a README.
|
|
files: [ '**/README.md/**' ],
|
|
rules: {
|
|
'unicorn/filename-case': 'off',
|
|
},
|
|
},
|
|
);
|