mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-04-21 23:47:56 +00:00
86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
import globals from "globals";
|
|
import tseslint from "typescript-eslint";
|
|
import pluginReact from "eslint-plugin-react";
|
|
import hooksPlugin from "eslint-plugin-react-hooks";
|
|
import refreshPlugin from "eslint-plugin-react-refresh";
|
|
|
|
export default tseslint.config(
|
|
{
|
|
ignores: [
|
|
"dist/**",
|
|
"node_modules/**",
|
|
"eslint.config.js",
|
|
"postcss.config.js",
|
|
"public/sdk_docs/**",
|
|
"**/*.cjs",
|
|
"*.cjs",
|
|
"generate-docs-structure.cjs",
|
|
"rebrand-rustdoc.cjs",
|
|
],
|
|
},
|
|
// Config for Node files
|
|
{
|
|
files: ["vite.config.ts", "tailwind.config.ts"],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.node,
|
|
},
|
|
parser: tseslint.parser,
|
|
parserOptions: {
|
|
project: "tsconfig.node.json",
|
|
tsconfigRootDir: import.meta.dirname,
|
|
},
|
|
},
|
|
rules: {
|
|
// Node-specific rules can go here
|
|
},
|
|
},
|
|
// Config for React app files
|
|
{
|
|
files: ["src/**/*.{js,mjs,cjs,ts,jsx,tsx}"],
|
|
plugins: {
|
|
react: pluginReact,
|
|
"react-hooks": hooksPlugin,
|
|
"react-refresh": refreshPlugin,
|
|
},
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.es2020,
|
|
},
|
|
parser: tseslint.parser,
|
|
parserOptions: {
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
project: "tsconfig.app.json", // Use the app-specific tsconfig
|
|
tsconfigRootDir: import.meta.dirname,
|
|
},
|
|
},
|
|
rules: {
|
|
...hooksPlugin.configs.recommended.rules,
|
|
...pluginReact.configs.recommended.rules,
|
|
"react-refresh/only-export-components": "warn",
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/prop-types": "off",
|
|
},
|
|
settings: {
|
|
react: {
|
|
version: "detect",
|
|
},
|
|
},
|
|
},
|
|
// Override for UI components and contexts - allow non-component exports
|
|
{
|
|
files: [
|
|
"src/components/ui/**/*.{ts,tsx}",
|
|
"src/contexts/**/*.{ts,tsx}",
|
|
"src/components/theme-provider.tsx",
|
|
],
|
|
rules: {
|
|
"react-refresh/only-export-components": "off",
|
|
},
|
|
},
|
|
// Global recommended rules
|
|
...tseslint.configs.recommended
|
|
); |