Files
daily-notification-plugin/test-apps/daily-notification-test/eslint.config.ts
Matthew Raymer d4bb902cbe refactor(test-app): consolidate native fetcher config and fix ES module issues
- Move native fetcher configuration from HomeView.vue to App.vue mounted() hook
  - Single source of truth for configuration on app startup
  - Removed duplicate configuration logic from HomeView
  - Added diagnostic logging to trace configuration flow

- Fix ES module compatibility issue with Capacitor CLI
  - Replace direct logger import with lazy async loading in test-user-zero.ts
  - Prevents 'exports is not defined' error when Capacitor CLI loads config
  - Update refreshToken() and setBaseUrl() methods to async for logger access

- Add centralized logger utility (src/lib/logger.ts)
  - Single ESLint whitelist location for console usage
  - Structured logging with levels and emoji support
  - Updated router/index.ts and stores/app.ts to use logger

- Enhance Android notification deduplication
  - Add within-batch duplicate detection in fetch workers
  - Improve storage deduplication with alarm cancellation
  - Cancel alarms for removed duplicate notifications

- Update UserZeroView.vue to await async refreshToken() call

Fixes:
- npx cap sync android ES module error
- Duplicate notification accumulation
- Console statement lint warnings

All changes maintain backward compatibility and improve debugging visibility.
2025-10-31 12:51:49 +00:00

40 lines
1.0 KiB
TypeScript

import { globalIgnores } from 'eslint/config'
import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'
import pluginVue from 'eslint-plugin-vue'
// To allow more languages other than `ts` in `.vue` files, uncomment the following lines:
// import { configureVueProject } from '@vue/eslint-config-typescript'
// configureVueProject({ scriptLangs: ['ts', 'tsx'] })
// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
export default defineConfigWithVueTs(
{
name: 'app/files-to-lint',
files: ['**/*.{ts,mts,tsx,vue}'],
},
globalIgnores([
'**/dist/**',
'**/dist-ssr/**',
'**/coverage/**',
'**/android/**',
'**/ios/**',
'**/node_modules/**',
'**/*.js',
'**/*.min.js',
'**/build/**',
'**/.gradle/**'
]),
// Whitelist console usage in logger utility (single source of truth)
{
files: ['src/lib/logger.ts'],
rules: {
'no-console': 'off',
},
},
pluginVue.configs['flat/essential'],
vueTsConfigs.recommended,
)