env: amd: true browser: true es6: true es2017: true es2020: true parserOptions: ecmaVersion: 2020 sourceType: module ecmaFeatures: impliedStrict: true plugins: - promise - import - eslint-comments extends: - eslint:recommended - plugin:promise/recommended - plugin:import/errors - plugin:import/warnings - plugin:eslint-comments/recommended globals: # Browser globals MediaMetadata: readonly # Tizen globals tizen: readonly webapis: readonly # WebOS globals webOS: readonly # Dependency globals $: readonly jQuery: readonly requirejs: readonly # Jellyfin globals ApiClient: writable AppInfo: writable chrome: writable ConnectionManager: writable DlnaProfilePage: writable Dashboard: writable DashboardPage: writable Emby: readonly Events: writable getParameterByName: writable getWindowLocationSearch: writable Globalize: writable Hls: writable dfnshelper: writable LibraryMenu: writable LinkParser: writable LiveTvHelpers: writable MetadataEditor: writable pageClassOn: writable pageIdOn: writable PlaylistViewer: writable UserParentalControlPage: writable Windows: readonly rules: block-spacing: ["error"] brace-style: ["error"] comma-dangle: ["error", "never"] comma-spacing: ["error"] eol-last: ["error"] indent: ["error", 4, { "SwitchCase": 1 }] keyword-spacing: ["error"] max-statements-per-line: ["error"] no-floating-decimal: ["error"] no-multi-spaces: ["error"] no-multiple-empty-lines: ["error", { "max": 1 }] no-trailing-spaces: ["error"] one-var: ["error", "never"] semi: ["error"] space-before-blocks: ["error"] # TODO: Fix warnings and remove these rules no-redeclare: ["warn"] no-unused-vars: ["warn"] no-useless-escape: ["warn"] promise/catch-or-return: ["warn"] promise/always-return: ["warn"] promise/no-return-wrap: ["warn"] # TODO: Remove after ES6 migration is complete import/no-unresolved: ["warn"]