import js from '@eslint/js' import globals from 'globals' import reactHooks from 'eslint-plugin-react-hooks' import reactRefresh from 'eslint-plugin-react-refresh' import { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ globalIgnores(['dist', 'test-results', 'playwright-report']), { files: ['**/*.{js,jsx}'], extends: [ js.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { globals: globals.browser, parserOptions: { ecmaFeatures: { jsx: true } }, }, }, { // Browser tests and their tooling run in Node, not in the page. files: ['e2e/**/*.js', 'playwright.config.js', 'src/display/__tests__/**/*.js'], languageOptions: { globals: { ...globals.node } }, }, { // The signage app-shell worker runs in a Service Worker scope. files: ['public/display-sw.js'], languageOptions: { globals: { ...globals.serviceworker } }, }, ])