eslint-plugin-itgalaxy
Version:
Itgalaxy org's ESLint rules and configs.
61 lines (53 loc) • 2.11 kB
JavaScript
;
const dirtySharedConfig = require("./shared/dirty");
module.exports = {
overrides: [
{
// In v2, explicitly apply eslint-plugin-markdown's `markdown`
// processor on any Markdown files you want to lint.
files: ["**/*.{md,markdown,mdown,mkdn,mkd,mdwn,mkdown,ron}"],
processor: "markdown/markdown",
},
{
...dirtySharedConfig,
// In v2, configuration for fenced code blocks is separate from the
// containing Markdown file. Each code block has a virtual filename
// appended to the Markdown file's path.
files: ["**/*.{md,markdown,mdown,mkdn,mkd,mdwn,mkdown,ron}/**"],
// Configuration for fenced code blocks goes with the override for
// the code block's virtual filename, for example:
parserOptions: {
...dirtySharedConfig.parserOptions,
ecmaFeatures: {
...dirtySharedConfig.parserOptions.ecmaFeatures,
impliedStrict: true,
},
babelOptions: undefined,
},
plugins: ["markdown"],
rules: {
...dirtySharedConfig.rules,
// The Markdown parser automatically trims trailing newlines from code blocks.
"eol-last": "off",
// For example
"no-console": "off",
// In code snippets and examples, these rules are often counterproductive to clarity and brevity.
"no-undef": "off",
"no-unused-vars": "off",
"no-unused-expressions": "off",
"import/no-unresolved": "off",
"import/no-extraneous-dependencies": "off",
"n/no-unpublished-require": "off",
"n/no-unpublished-import": "off",
// Adding a "use strict" directive at the top of every code block is tedious and distracting. The config opts into strict mode parsing without the directive.
strict: "off",
// The processor will not receive a Unicode Byte Order
// Mark from the Markdown parser.
"unicode-bom": "off",
// Avoid naming nested blocks
"unicorn/filename-case": "off",
"unicorn/no-empty-file": "off",
},
},
],
};