- Add "type": "module" to @tpmjs/eslint-config package.json for ES module support - Rename eslint.config.js to eslint.config.mjs in apps/web and packages/ui - Update ESLint configs to ignore build directories (.next, dist, .turbo) - Extend import/no-internal-modules allowlist for Next.js, testing libs, and React - Fix unescaped quotes in playground page code elements - Convert CardDescriptionProps from empty interface to type alias - Disable jsx-a11y/no-autofocus rule in test files - Change web app lint script from 'next lint' to 'eslint .' - Fix TypeScript ref type inference errors in UI package tests by using non-null assertions - Disable Biome noNonNullAssertion rule for test files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
44 lines
932 B
JavaScript
44 lines
932 B
JavaScript
import js from "@eslint/js";
|
|
import importPlugin from "eslint-plugin-import";
|
|
import tseslint from "typescript-eslint";
|
|
|
|
export default tseslint.config(
|
|
js.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
{
|
|
plugins: {
|
|
import: importPlugin,
|
|
},
|
|
rules: {
|
|
// Module boundaries
|
|
"import/no-internal-modules": [
|
|
"error",
|
|
{
|
|
allow: [
|
|
"@tpmjs/ui/*/[!index]*",
|
|
"@tpmjs/utils/*",
|
|
"@tpmjs/types/*",
|
|
"@tpmjs/eslint-config/*",
|
|
"next/**",
|
|
"./.next/*",
|
|
],
|
|
},
|
|
],
|
|
"import/no-restricted-paths": [
|
|
"error",
|
|
{
|
|
zones: [
|
|
{ target: "./packages", from: "./apps" },
|
|
{ target: "./packages/ui", from: "./packages/utils" },
|
|
],
|
|
},
|
|
],
|
|
"import/no-anonymous-default-export": "error",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{ argsIgnorePattern: "^_" },
|
|
],
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
},
|
|
},
|
|
);
|