Fix eslint-config package internal imports so other packages can use it for their eslint config
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import { defineConfig } from "eslint/config";
|
||||
|
||||
import { baseConfigs } from "./src/baseConfigs.ts";
|
||||
import { tsConfigs } from "./src/tsConfigs.ts";
|
||||
import { nodeLanguageOptionsConfig } from "./src/languageOptionsConfigs.ts";
|
||||
import { stylisticConfigs } from "./src/stylisticConfigs.ts";
|
||||
import { baseConfigs } from "#baseConfigs";
|
||||
import { tsConfigs } from "#tsConfigs";
|
||||
import { nodeLanguageOptionsConfig } from "#languageOptionsConfigs";
|
||||
import { stylisticConfigs } from "#stylisticConfigs";
|
||||
|
||||
export default defineConfig([
|
||||
...baseConfigs,
|
||||
@@ -5,6 +5,17 @@
|
||||
"description": "Shared ESLint configuration for Probo monorepo",
|
||||
"main": "./src/index.ts",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"default": "./src/index.ts"
|
||||
}
|
||||
},
|
||||
"imports": {
|
||||
"#baseConfigs": "./src/baseConfigs.ts",
|
||||
"#tsConfigs": "./src/tsConfigs.ts",
|
||||
"#languageOptionsConfigs": "./src/languageOptionsConfigs.ts",
|
||||
"#stylisticConfigs": "./src/stylisticConfigs.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint src"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import js from "@eslint/js";
|
||||
import type { Linter } from "eslint";
|
||||
|
||||
export const baseConfigs = [
|
||||
{ ignores: ["dist", "node_modules", "**/*.d.ts"] },
|
||||
{ files: ["**/*.js", "**/*.ts", "**/*.tsx"] },
|
||||
{ ignores: ["dist", "node_modules", "**/*.d.ts"] } satisfies Pick<Linter.Config, "ignores">,
|
||||
{ files: ["**/*.js", "**/*.ts", "**/*.tsx"] } satisfies Pick<Linter.Config, "files">,
|
||||
js.configs.recommended,
|
||||
];
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { baseConfigs } from "./baseConfigs";
|
||||
import { browserLanguageOptionsConfig, nodeLanguageOptionsConfig } from "./languageOptionsConfigs";
|
||||
import { tsConfigs } from "./tsConfigs";
|
||||
import { reactConfigs } from "./reactConfigs";
|
||||
import { stylisticConfigs } from "./stylisticConfigs";
|
||||
import { baseConfigs } from "./baseConfigs.ts";
|
||||
import { browserLanguageOptionsConfig, nodeLanguageOptionsConfig } from "./languageOptionsConfigs.ts";
|
||||
import { tsConfigs } from "./tsConfigs.ts";
|
||||
import { reactConfigs } from "./reactConfigs.ts";
|
||||
import { stylisticConfigs } from "./stylisticConfigs.ts";
|
||||
|
||||
export const configs = {
|
||||
base: baseConfigs,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Linter } from "eslint";
|
||||
import * as globals from "globals";
|
||||
|
||||
export const browserLanguageOptionsConfig = {
|
||||
@@ -16,7 +17,7 @@ export const browserLanguageOptionsConfig = {
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
} satisfies Pick<Linter.Config, "languageOptions">;
|
||||
|
||||
export const nodeLanguageOptionsConfig = {
|
||||
languageOptions: {
|
||||
@@ -34,4 +35,4 @@ export const nodeLanguageOptionsConfig = {
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
} satisfies Pick<Linter.Config, "languageOptions">;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as react from "eslint-plugin-react";
|
||||
import react from "eslint-plugin-react";
|
||||
import * as reactHooks from "eslint-plugin-react-hooks";
|
||||
|
||||
export const reactConfigs = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import stylistic from "@stylistic/eslint-plugin";
|
||||
import { type Linter } from "eslint";
|
||||
import type { Linter } from "eslint";
|
||||
|
||||
export const stylisticConfigs = [
|
||||
stylistic.configs.customize({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { type Linter } from "eslint";
|
||||
import type { Linter } from "eslint";
|
||||
import tseslint from "typescript-eslint";
|
||||
|
||||
export const tsConfigs = [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"skipLibCheck": true,
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"allowImportingTsExtensions": true,
|
||||
"moduleDetection": "force",
|
||||
"verbatimModuleSyntax": true,
|
||||
"noEmit": true,
|
||||
@@ -15,5 +16,5 @@
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUncheckedSideEffectImports": true
|
||||
},
|
||||
"include": ["src/**/*.ts", "eslint.config.js"]
|
||||
"include": ["src/**/*.ts", "eslint.config.mjs"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user