import { defineConfig } from "oxlint"; export const stylistic = defineConfig({ overrides: [ { files: ["**/*.{jsx,tsx}"], jsPlugins: [ "eslint-plugin-stylistic" ], rules: { "eslint-plugin-stylistic/indent": ["warn", 2], "eslint-plugin-stylistic/no-extra-parens": "off", "eslint-plugin-stylistic/jsx-child-element-spacing": "warn", "eslint-plugin-stylistic/jsx-closing-bracket-location": ["warn", "line-aligned"], "eslint-plugin-stylistic/jsx-closing-tag-location": "warn", "eslint-plugin-stylistic/jsx-curly-brace-presence": ["warn", { children: "never", propElementValues: "always", props: "never" }], "eslint-plugin-stylistic/jsx-curly-newline": ["warn", "consistent"], "eslint-plugin-stylistic/jsx-curly-spacing": ["warn", "never"], "eslint-plugin-stylistic/jsx-equals-spacing": ["warn", "never"], "eslint-plugin-stylistic/jsx-first-prop-new-line": ["warn", "multiline-multiprop"], "eslint-plugin-stylistic/jsx-function-call-newline": ["warn", "multiline"], "eslint-plugin-stylistic/jsx-indent-props": ["warn", 2], "eslint-plugin-stylistic/jsx-max-props-per-line": ["warn", { maximum: 1, when: "multiline" }], "eslint-plugin-stylistic/jsx-one-expression-per-line": ["warn", { allow: "single-line" }], "eslint-plugin-stylistic/jsx-pascal-case": ["warn", { allowAllCaps: true }], "eslint-plugin-stylistic/jsx-self-closing-comp": "warn", "eslint-plugin-stylistic/jsx-tag-spacing": ["warn", { beforeClosing: "never", beforeSelfClosing: "always" }], "eslint-plugin-stylistic/jsx-wrap-multilines": ["warn", { arrow: "parens-new-line", assignment: "parens-new-line", condition: "parens-new-line", declaration: "parens-new-line", logical: "parens-new-line", prop: "parens-new-line", propertyValue: "parens-new-line", return: "parens-new-line" }] } }, { files: ["**/*.{tsx,ctsx,mtsx}"], jsPlugins: [ "eslint-plugin-stylistic" ], plugins: [ "typescript" ], rules: { // naming conventions "typescript/naming-convention": [ "warn", { format: ["camelCase", "PascalCase", "UPPER_CASE"], leadingUnderscore: "allow", selector: "variable" }, { format: ["camelCase", "PascalCase"], selector: "function" } ], // spacings "eslint-plugin-stylistic/type-generic-spacing": "warn", "eslint-plugin-stylistic/type-named-tuple-spacing": "warn" } } ] });