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"
|
|
}
|
|
}
|
|
]);
|