UNPKG

eslint-config-webpack

Version:

Provides Webpack's eslint rules as an extensible shared config

109 lines (79 loc) 2.37 kB
import isTypescriptInstalled from "./utils/is-typescript-installed.js"; /** * @returns {Promise<Record<string, string>>} config */ async function getMarkdownRecommendedConfig() { let markdownPlugin; try { markdownPlugin = (await import("@eslint/markdown")).default; // eslint-disable-next-line unicorn/prefer-optional-catch-binding } catch (_err) { // Nothing } return [ { name: "markdown/code-blocks", files: ["**/*.md"], processor: "markdown/markdown", plugins: { markdown: markdownPlugin, }, }, { name: "markdown/code-blocks/js", files: isTypescriptInstalled() ? ["**/*.md/*.js", "**/*.md/*.ts"] : ["**/*.md/*.js"], languageOptions: { sourceType: "module", ecmaVersion: "latest", parserOptions: { ecmaFeatures: { globalReturn: true, impliedStrict: true, }, }, }, rules: { strict: "off", // For different examples camelcase: "off", "unicode-bom": "off", "eol-last": "off", "no-undef": "off", "no-unused-private-class-members": "off", "no-unused-vars": "off", "no-unused-expressions": "off", "no-unused-labels": "off", "no-console": "off", "no-new": "off", "unicorn/no-unused-properties": "off", // Allow to use any packages in documentation "n/no-unpublished-require": "off", // Allow to use any packages in documentation "n/no-unpublished-import": "off", // Allow to use any ES builtins in documentation "m/no-unsupported-features/es-builtins": "off", // Allow to use any ES syntax in documentation "n/no-unsupported-features/es-syntax": "off", // Allow to use any Node.js API in documentation "n/no-unsupported-features/node-builtins": "off", // Allow to use any packages in documentation "n/no-missing-import": "off", // Allow to use any packages in documentation "n/no-missing-require": "off", // Useful for documentation "n/no-process-exit": "off", "import/no-unresolved": "off", "import/no-extraneous-dependencies": "off", "jsdoc/require-jsdoc": "off", "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/triple-slash-reference": "off", }, }, ]; } export default { "markdown/recommended": await getMarkdownRecommendedConfig(), };