40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
/**
|
|
* @fileoverview JSON plugin.
|
|
* @author Nicholas C. Zakas
|
|
*/
|
|
//-----------------------------------------------------------------------------
|
|
// Imports
|
|
//-----------------------------------------------------------------------------
|
|
import { JSONLanguage } from "./languages/json-language.js";
|
|
import { JSONSourceCode } from "./languages/json-source-code.js";
|
|
import recommendedRules from "./build/recommended-config.js";
|
|
import rules from "./build/rules.js";
|
|
//-----------------------------------------------------------------------------
|
|
// Plugin
|
|
//-----------------------------------------------------------------------------
|
|
const plugin = {
|
|
meta: {
|
|
name: "@eslint/json",
|
|
namespace: "json",
|
|
version: "2.0.1", // x-release-please-version
|
|
},
|
|
languages: {
|
|
json: new JSONLanguage({ mode: "json" }),
|
|
jsonc: new JSONLanguage({ mode: "jsonc" }),
|
|
json5: new JSONLanguage({ mode: "json5" }),
|
|
},
|
|
rules,
|
|
configs: {
|
|
recommended: {
|
|
name: "@eslint/json/recommended",
|
|
plugins: {},
|
|
rules: recommendedRules,
|
|
},
|
|
},
|
|
};
|
|
Object.assign(plugin.configs.recommended.plugins, { json: plugin });
|
|
export default plugin;
|
|
export { JSONSourceCode };
|
|
export * from "./languages/json-language.js";
|
|
export * from "./types.js";
|