No description
Find a file
2026-01-30 11:55:40 -08:00
.forgejo/workflows chore: initial commit with publish config 2026-01-21 12:30:23 -08:00
node_modules/.bin chore: initial commit with publish config 2026-01-21 12:30:23 -08:00
index.js chore: initial commit with publish config 2026-01-21 12:30:23 -08:00
package.json chore: initial commit with publish config 2026-01-21 12:30:23 -08:00
README.md chore: trigger CI publish 2026-01-30 11:55:40 -08:00

@lilith/eslint-config-react-app

ESLint configuration for React applications.

When to Use

Use this config for standalone React applications that are NOT consumed as dependencies by other packages:

  • Landing pages (features/landing/frontend-public)
  • Admin dashboards (features/platform-admin/frontend)
  • User portals (features/portal/frontend)

When NOT to Use

Do NOT use for React code that is consumed as a workspace dependency:

  • Payment UI components (features/payments/frontend-checkout)
  • Shared UI libraries

For libraries, use @lilith/eslint-config-react-lib instead.

What It Adds

Extends @lilith/eslint-config-react with:

Rule Effect
@lilith/import-alias/prefer-alias Enforces @/* aliases (../hooks/foo@/hooks/foo)
@lilith/import-alias/use-platform-namespace Enforces @platform/* for cross-feature imports

Installation

pnpm add -D @lilith/eslint-config-react-app @lilith/eslint-plugin-import-alias

Usage

// .eslintrc.js
module.exports = {
  extends: ['@lilith/eslint-config-react-app'],
};

Why Separate Configs?

Applications can use @/ aliases because they're the final consumer - aliases resolve at build time.

Libraries cannot use @/ aliases because when symlinked into a consumer, @/ resolves against the consumer's tsconfig, not the library's. This causes build failures.