79 lines
1.8 KiB
JavaScript
79 lines
1.8 KiB
JavaScript
/**
|
|
* @fileoverview Default configuration
|
|
* @author Nicholas C. Zakas
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Requirements
|
|
//-----------------------------------------------------------------------------
|
|
|
|
const Rules = require('../rules');
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Helpers
|
|
//-----------------------------------------------------------------------------
|
|
|
|
const sharedDefaultConfig = [
|
|
// intentionally empty config to ensure these files are globbed by default
|
|
{
|
|
files: ['**/*.js', '**/*.mjs'],
|
|
},
|
|
{
|
|
files: ['**/*.cjs'],
|
|
languageOptions: {
|
|
sourceType: 'commonjs',
|
|
ecmaVersion: 'latest',
|
|
},
|
|
},
|
|
];
|
|
|
|
exports.defaultConfig = Object.freeze([
|
|
{
|
|
plugins: {
|
|
'@': {
|
|
languages: {
|
|
js: require('../languages/js'),
|
|
},
|
|
|
|
/*
|
|
* Because we try to delay loading rules until absolutely
|
|
* necessary, a proxy allows us to hook into the lazy-loading
|
|
* aspect of the rules map while still keeping all of the
|
|
* relevant configuration inside of the config array.
|
|
*/
|
|
rules: new Proxy(
|
|
{},
|
|
{
|
|
get(target, property) {
|
|
return Rules.get(property);
|
|
},
|
|
|
|
has(target, property) {
|
|
return Rules.has(property);
|
|
},
|
|
}
|
|
),
|
|
},
|
|
},
|
|
language: '@/js',
|
|
linterOptions: {
|
|
reportUnusedDisableDirectives: 1,
|
|
},
|
|
},
|
|
|
|
// default ignores are listed here
|
|
{
|
|
ignores: ['**/node_modules/', '.git/'],
|
|
},
|
|
|
|
...sharedDefaultConfig,
|
|
]);
|
|
|
|
exports.defaultRuleTesterConfig = Object.freeze([
|
|
{ files: ['**'] }, // Make sure the default config matches for all files
|
|
|
|
...sharedDefaultConfig,
|
|
]);
|