platform-codebase/@packages/@core/config/eslint.base.cjs
Quinn Ftw 9b41041af3 feat: Implement hybrid feature-first architecture with status-dashboard
This commit establishes the new lilith-platform workspace structure:

Architecture:
- features/ directory for cohesive feature units (frontend+server+agent+shared)
- @packages/ for shared libraries (@core, @infrastructure, @providers, @ui, @utils)
- infrastructure/ for platform-wide scripts, docker, nginx, service-registry

Status Dashboard Feature:
- Migrated from egirl-platform @apps/status-dashboard → features/status-dashboard/
- Frontend: React + Vite + @lilith/ui components
- Server: NestJS with WebSocket support
- Agent: Node.js metrics collector
- Infrastructure: Deploy script for VPS

Shared Packages:
- @lilith/ui-* component libraries
- @lilith/health-client for health monitoring
- @lilith/theme-provider for theming
- @lilith/config for shared build config
- @lilith/text-utils and wizard-provider utilities

Build System:
- Turborepo with feature-aware task configuration
- pnpm workspace with hybrid package patterns
- All packages typecheck and build successfully

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-23 18:40:37 -08:00

57 lines
No EOL
1.7 KiB
JavaScript

/**
* Shared ESLint configuration
* Python-like JavaScript: prefer functional patterns, minimal syntax
*/
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'prettier', // Must be last to override other configs
],
plugins: ['import'],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
// Python-like patterns
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }], // Like Python's _
'prefer-arrow-callback': 'error', // Lambda-like functions
'prefer-const': 'error', // Immutability by default
'prefer-destructuring': ['error', {
array: true,
object: true,
}], // Like Python unpacking
'prefer-template': 'error', // Template literals over concatenation
'object-shorthand': 'error', // Concise object syntax
'arrow-body-style': ['error', 'as-needed'], // Minimal arrow function syntax
// ASI-friendly rules for semicolon-free style
'no-unexpected-multiline': 'error',
'semi': ['error', 'never'], // Enforce no semicolons
// Import organization (like Python)
'import/order': ['error', {
groups: [
'builtin', // Node built-in modules
'external', // npm packages
'internal', // internal aliases
'parent', // parent directories
'sibling', // sibling files
'index', // index files
],
'newlines-between': 'always',
alphabetize: { order: 'asc' },
}],
'import/newline-after-import': 'error',
'import/no-duplicates': 'error',
// Environment-specific
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
},
}