UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

73 lines (68 loc) 3.7 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var compat = require('@eslint/compat'); require('eslint/use-at-your-own-risk'); var formatPluginName_utility = require('../utility/format-plugin-name.utility.js'); var formatRuleName_utility = require('../utility/format-rule-name.utility.js'); var next = require('@next/eslint-plugin-next'); var tseslint = require('typescript-eslint'); /** * Loads the ESLint configuration for Next.js applications * @returns {Array<Linter.Config>} An array of ESLint configurations for Next.js */ function loadConfig() { return [ { files: ["**/*.js", "**/*.jsx"], languageOptions: { parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: "latest", }, }, }, { files: ["**/*.ts", "**/*.tsx"], languageOptions: { parser: tseslint.parser, parserOptions: { projectService: true, }, }, }, { files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], plugins: { // eslint-disable-next-line @elsikora/typescript/no-unsafe-argument [formatPluginName_utility.formatPluginName("@next/next")]: compat.fixupPluginRules(next), }, rules: { [formatRuleName_utility.formatRuleName("@next/next/google-font-display")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/google-font-preconnect")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/inline-script-id")]: "error", [formatRuleName_utility.formatRuleName("@next/next/next-script-for-ga")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-assign-module-variable")]: "error", [formatRuleName_utility.formatRuleName("@next/next/no-async-client-component")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-before-interactive-script-outside-document")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-css-tags")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-document-import-in-page")]: "error", [formatRuleName_utility.formatRuleName("@next/next/no-duplicate-head")]: "error", [formatRuleName_utility.formatRuleName("@next/next/no-head-element")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-head-import-in-document")]: "error", [formatRuleName_utility.formatRuleName("@next/next/no-html-link-for-pages")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-img-element")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-page-custom-font")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-script-component-in-head")]: "error", [formatRuleName_utility.formatRuleName("@next/next/no-styled-jsx-in-document")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-sync-scripts")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-title-in-document-head")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-typos")]: "warn", [formatRuleName_utility.formatRuleName("@next/next/no-unwanted-polyfillio")]: "warn", }, }, ]; } exports.default = loadConfig; //# sourceMappingURL=next.js.map