| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * @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,
- ]);
|