Ziya/eslint.config.mjs
rizary 67fb3a203e
feat: implement CEX analysis cards and real-time token monitoring
- Add TokenCard and CexAnalysisCard components for displaying token data
- Implement real-time Redis event streaming for token updates
- Add environment-based configuration system for dev/prod Redis servers
- Create comprehensive hunting ground dashboard with card management
- Add individual and bulk card removal functionality
- Implement browser integration for token details viewing
- Add timestamp utilities and proper type handling for Redis events
- Create production-ready configuration with 154.38.185.112 Redis server
- Add comprehensive documentation in README.md and CONTRIBUTORS.md
- Restructure project architecture with proper Electron-Vue integration

BREAKING CHANGE: Redis configuration now uses environment-based settings
2025-06-23 09:03:39 +07:00

52 lines
1.7 KiB
JavaScript

// @ts-check
import stylistic from '@stylistic/eslint-plugin';
import withNuxt from './.nuxt/eslint.config.mjs';
export default withNuxt(
// Disable legacy stylistic rules
stylistic.configs['disable-legacy'],
{
files: ['**/*.vue', '**/*.js', '**/*.ts', '**/*.mjs'],
ignores: [
'node_modules/**',
'dist/**',
'.nuxt/**',
'.output/**',
'.vite/**',
'.*/**',
],
plugins: {
'@stylistic': stylistic,
},
rules: {
// Semicolon rules - require semicolons (Rust-style)
'@stylistic/semi': ['error', 'always'],
// Interface and type rules - require semicolons in interfaces
'@stylistic/member-delimiter-style': ['error', {
multiline: { delimiter: 'semi', requireLast: true },
singleline: { delimiter: 'semi', requireLast: false },
}],
// Code quality rules
'camelcase': ['error', { properties: 'never', ignoreDestructuring: true }],
'no-console': ['error', { allow: ['info', 'warn', 'error'] }],
'sort-imports': ['error', { ignoreDeclarationSort: true }],
// Nuxt specific rules
'nuxt/prefer-import-meta': 'error',
// Vue specific rules
'vue/first-attribute-linebreak': ['error', { singleline: 'ignore', multiline: 'ignore' }],
'vue/no-unused-vars': ['error', {
ignorePattern: '^_',
}],
'vue/max-attributes-per-line': ['error', { singleline: 100 }],
'vue/singleline-html-element-content-newline': ['off'],
'vue/no-multiple-template-root': ['off'],
'vue/html-closing-bracket-spacing': ['error', { selfClosingTag: 'always' }],
'vue/html-indent': ['error', 2],
'vue/multiline-html-element-content-newline': ['error', { ignores: [] }],
},
},
);