eslint-plugin-oxlint
Version:
Turn off all rules already supported by oxlint
153 lines • 5.16 kB
text/typescript
import { Linter } from "eslint";
//#region src/config-helper.d.ts
type FlatConfig = {
name?: string;
rules?: Record<string, 'off'>;
ignores?: string[];
};
type SplittedFlatConfig<C extends FlatConfig> = [C] | [C, FlatConfig];
//#endregion
//#region src/build-from-oxlint-config/types.d.ts
declare const oxlintConfigMeta: unique symbol;
type BuildFromOxlintConfigOptions = {
withNursery?: boolean;
typeAware?: boolean;
};
type OxlintConfigExtendsPath = string;
type OxlintConfigExtendsResolved = OxlintConfig;
type OxlintConfigExtends = (OxlintConfigExtendsPath | OxlintConfigExtendsResolved)[];
type OxlintConfigPlugins = string[];
type OxlintConfigCategories = Record<string, unknown>;
type OxlintConfigRules = Record<string, unknown>;
type OxlintConfigIgnorePatterns = string[];
type OxlintOptions = {
typeAware?: boolean;
typeCheck?: boolean;
};
type EslintPluginOxlintConfig = Linter.Config<Record<string, 'off'>>;
type OxlintConfig = {
[key: string]: unknown;
extends?: OxlintConfigExtends;
plugins?: OxlintConfigPlugins;
categories?: OxlintConfigCategories;
rules?: OxlintConfigRules;
ignorePatterns?: OxlintConfigIgnorePatterns;
options?: OxlintOptions;
[oxlintConfigMeta]?: {
filePath: string;
};
};
//#endregion
//#region src/index.d.ts
declare const _default: {
configs: {
readonly 'flat/pedantic': SplittedFlatConfig<{
readonly name: "oxlint/pedantic";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/style': SplittedFlatConfig<{
readonly name: "oxlint/style";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/suspicious': SplittedFlatConfig<{
readonly name: "oxlint/suspicious";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/restriction': SplittedFlatConfig<{
readonly name: "oxlint/restriction";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/correctness': SplittedFlatConfig<{
readonly name: "oxlint/correctness";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/perf': SplittedFlatConfig<{
readonly name: "oxlint/perf";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/nursery': SplittedFlatConfig<{
readonly name: "oxlint/nursery";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/eslint': SplittedFlatConfig<{
readonly name: "oxlint/eslint";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/import': SplittedFlatConfig<{
readonly name: "oxlint/import";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/jest': SplittedFlatConfig<{
readonly name: "oxlint/jest";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/jsdoc': SplittedFlatConfig<{
readonly name: "oxlint/jsdoc";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/jsx-a11y': SplittedFlatConfig<{
readonly name: "oxlint/jsx-a11y";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/nextjs': SplittedFlatConfig<{
readonly name: "oxlint/nextjs";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/node': SplittedFlatConfig<{
readonly name: "oxlint/node";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/promise': SplittedFlatConfig<{
readonly name: "oxlint/promise";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/react': SplittedFlatConfig<{
readonly name: "oxlint/react";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/react-hooks': SplittedFlatConfig<{
readonly name: "oxlint/react-hooks";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/react-perf': SplittedFlatConfig<{
readonly name: "oxlint/react-perf";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/typescript': SplittedFlatConfig<{
readonly name: "oxlint/typescript";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/unicorn': SplittedFlatConfig<{
readonly name: "oxlint/unicorn";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/vitest': SplittedFlatConfig<{
readonly name: "oxlint/vitest";
readonly rules: Record<string, "off">;
}>;
readonly 'flat/vue': SplittedFlatConfig<{
readonly name: "oxlint/vue";
readonly rules: Record<string, "off">;
}>;
readonly recommended: {
plugins: string[];
rules: Record<string, "off">;
};
readonly all: {
plugins: string[];
rules: Record<string, "off">;
};
readonly 'flat/all': SplittedFlatConfig<{
name: string;
rules: Record<string, "off">;
}>;
readonly 'flat/recommended': SplittedFlatConfig<{
name: string;
rules: Record<string, "off">;
}>;
};
buildFromOxlintConfig: (config: OxlintConfig, options?: BuildFromOxlintConfigOptions) => EslintPluginOxlintConfig[];
buildFromOxlintConfigFile: (oxlintConfigFile: string, options?: BuildFromOxlintConfigOptions) => EslintPluginOxlintConfig[];
};
//#endregion
export { _default as default };