70 lines
1.8 KiB
JavaScript
70 lines
1.8 KiB
JavaScript
|
/**
|
||
|
* @fileoverview Default configuration
|
||
|
* @author Nicholas C. Zakas
|
||
|
*/
|
||
|
|
||
|
"use strict";
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Requirements
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
const Rules = require("../rules");
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Helpers
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
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/"
|
||
|
]
|
||
|
},
|
||
|
|
||
|
// intentionally empty config to ensure these files are globbed by default
|
||
|
{
|
||
|
files: ["**/*.js", "**/*.mjs"]
|
||
|
},
|
||
|
{
|
||
|
files: ["**/*.cjs"],
|
||
|
languageOptions: {
|
||
|
sourceType: "commonjs",
|
||
|
ecmaVersion: "latest"
|
||
|
}
|
||
|
}
|
||
|
]);
|