As suggested in https://github.com/typescript-eslint/typescript-eslint/issues/6337
All our files are modules, there is no CJS, so this should be safe to enable regardless and might find in the future potential problems in case some CJS code is wrongly added
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
The old configuration file has been left to keep a track
of rules that have not been migrated to the new format, either
because they're worthless (like the ones from the promise plugin,
which are now cincluded by TypeScript) or too annoying for the
minor added benefit.
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
Vuetify was updated to support it and we no longer use vite-plugin-pages
and vite-plugin-vue-layouts
which previously were our blockers
Signed-off-by: GitHub <noreply@github.com>
Adding @ as an import alias is something that was done in the project scaffolding.
Using @ it's easier in the keyboard than ~, as ~ typically requires double key taps, while @ is inputted directly in most keyboard layouts.
Replacing the imports was something left for the last moment, as it implied modifying a lot of files at once, which is something I wanted to keep for the final stages of the Vue 3 migration
* Wrap all the DOM population inside requestIdleCallback and requestAnimationFrame
* Fix slow scrolling
* Move types under a subdirectory
* Fix missing class in useResponsiveClasses JSDOC
* Update packages
* Allow the use of data-* attributes with strict template checking
* Use OverlayScrollbars for a consistent scrollbar experience
* Refactor ItemMenu to reduce function complexity
* Refactor Vuetify colors and styles to match Vuetify 3
* Fix color in WatchedIndicator
* Remove unused props in Card
* Add rgb use to all the CSS variables as Vuetify requests it
* Icon fixes
* Fix search bar styling
* Migrate ArtistTab to Composition API
* Reliability and logic improvements to BlurhashImage and fallback behaviour
* Fix order of main app bar and navigation drawer
* Add app bar to music playback page
* Migrate login page to Composition API
* Fix logic error in app-wide api availability
* Add unicorn eslint plugin for stricter code style
* Replace @jellyfin/client-axios with @jellyfin/sdk
* Static bundle Vue-i18n
* Avoid extraneous dependencies in code (eslint)
* Draft router middlewares
* Socket plugin is still pending to be completed
* Remove Axe config (the plugin seems really outdated and problematic and it can always be reintroduced later)
* Rename env.d.ts to environment.d.ts to comply with unicorn/prevent-abbreviations
* Add eslint-plugin-you-dont-need-lodash-underscore to optimize lodash usage and remove unneeded cases
* Create data-manipulation.ts in utils to store functions related to the manipulation of JavaScript data structures
* Remove Jest, ESLint, Stylelint and Prettier to prepare for a further cleanup of all our testing and linting suites
* Testing will be introduced later with vitest and/or Cypress
This guards all the routes properly, to handle the cases where the user is logged in and attempts to access a login page
and viceversa (when a not logged in user attempts to access without logging in).
Also, full persistence to the relevant Pinia stores (deviceProfile, clientSettings, auth) has been added, while vuex-persistedstate
has been kicked out for good.