Commit Graph

37 Commits

Author SHA1 Message Date
Fernando Fernández
23dd83ad0c
chore(tsconfig): don't truncate errors
This has been one of my major pain points when working with TypeScript and TIL how to fix it!

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-23 22:59:35 +02:00
Fernando Fernández
16a8b88d60 refactor(vue-router): remove vue-router/auto usage
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-21 18:18:49 +02:00
Fernando Fernández
9998e645cc
chore(tsc): increase type checking speed by reusing type graph between checks
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-06-14 18:23:17 +02:00
Fernando Fernández
4257584677
refctor(tsconfig): force moduleDetection
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>
2024-06-13 09:26:27 +02:00
Fernando Fernández
c84097d9ad
refactor(eslint): migrate to flat config
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>
2024-04-16 10:55:39 +02:00
Fernando Fernández
1c012c41a2
fix(unocss): wrong styles
Add the uno- prefix to classes and fix IntelliSense

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-04-12 01:17:55 +02:00
Fernando Fernández
f87f1940fb
chore: enable VSCode project-wide problem reporting
Signed-off-by: GitHub <noreply@github.com>
2024-03-20 15:52:29 +00:00
Fernando Fernández
6f4ae41499 fix(types): vue router types
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-03-17 17:01:02 +01:00
Fernando Fernández
fb2d132a53 refactor: enforce type only imports for types
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-02 02:23:46 +01:00
Fernando Fernández
757e357ad6
refactor: minor tunes
* Added suggested options to tsconfig.json by Vite docs:
  https://vitejs.dev/guide/features.html#typescript-compiler-options
* Ignore inline comments capitalization
* Add jsonc/auto rule to automatically inherit eslint rules for JSON files
* Improve dpdm run parameters

Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-12-31 19:38:49 +01:00
Fernando Fernández
f54b5c02d7
refactor(typescript): switch to moduleResolution bundler
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>
2023-12-07 10:55:55 +00:00
Fernando Fernández
3aaf8066a1
refactor: await unawaited marked, type improvements
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-12-05 17:13:12 +01:00
Fernando Fernández
1f642b45d6 refactor: remove vite-plugin-vue-layouts
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2023-11-09 16:46:19 +01:00
Fernando Fernández
7ab0d26e3f
chore: remove old include from tsconfig.json
Signed-off-by: GitHub <noreply@github.com>
2023-11-09 15:01:10 +00:00
Fernando Fernández
50a9fff32b chore: set ESLint as a formatter and linter
* Use ESLint cache
* Mimick Prettier rules
2023-08-16 18:54:21 +02:00
Fernando Fernández
820443170d chore: add typescript-aware linting 2023-08-16 18:54:21 +02:00
aweebs
e9249b9576 chore: remove old tests 2023-04-03 12:52:57 +02:00
Fernando Fernández
b8430d8bf8 chore(vue3): replace ~ with @ for imports
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
2023-04-03 12:52:57 +02:00
Fernando Fernández
2fcf093b6a chore/perf(vue3): cleanup and minor performance improvements
* Wrap all the DOM population inside requestIdleCallback and requestAnimationFrame
* Fix slow scrolling
* Move types under a subdirectory
* Fix missing class in useResponsiveClasses JSDOC
2023-04-03 12:52:57 +02:00
Fernando Fernández
60e6be032f feat(vue3): improvements pass
* 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
2023-04-03 12:52:57 +02:00
Fernando Fernández
022e56ee65 chore(vite): remove unnecessary @types dependencies 2023-04-03 12:52:57 +02:00
Fernando Fernández
8eaa525458 chore(vue3): draft remote plugin and minor QoL improvements
* 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
2023-04-03 12:52:57 +02:00
Fernando Fernández
797df50693 chore(vue3): add strictTemplates to Vue typechecking
This enables Volar to disallow the use of undefined or unexistant props in components
2023-04-03 12:52:57 +02:00
Fernando Fernández
429f8a2498 chore(vue3): target ES2022 and add eslint globals
* Needed for top-level await at main.ts
2023-04-03 12:52:57 +02:00
Fernando Fernández
393458b359 chore(lint): re-add and refactor linting suites 2023-04-03 12:52:57 +02:00
Fernando Fernández
a2f5a04128 chore(vite): exclude tests from typechecking 2023-04-03 12:52:57 +02:00
Fernando Fernández
f84f4228bd chore(vite): fix volar typechecking 2023-04-03 12:52:57 +02:00
Fernando Fernández
e515e20cfb chore(vite): switch to Vue 3 2023-04-03 12:52:57 +02:00
Fernando Fernández
559ee520e7 chore(vite): plug vuetify and add ~ alias for backwards compat 2023-04-03 12:52:57 +02:00
Fernando Fernández
bbf03ea7d0 chore(vite): plug pinia, draft App.vue, main.ts and router 2023-04-03 12:52:57 +02:00
Fernando Fernández
b81287bbd5 chore(vite): switch to Volar 2023-04-03 12:52:57 +02:00
Fernando Fernández
cf05f5792d chore(vite): scaffold project
* 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
2023-04-03 12:52:57 +02:00
Fernando Fernández
f845fbe4f0 chore: remove unnecessary @types/wicg-mediasession types 2022-06-08 16:07:04 +02:00
Fernando Fernández
a85523881a refactor: deprecate axios plugin and use upstream axios directly 2022-05-02 10:06:01 +02:00
Fernando Fernández
ab76203915 feat(auth): remove nuxt auth, implement auth store and add persistence
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.
2022-05-02 10:06:01 +02:00
Fernando Fernández
8952a8edb3 feat(pinia): add pinia deps 2022-05-02 10:06:01 +02:00
Fernando Fernández
9cb4a2b8f4 chore(tauri): monorepo structure for the project 2022-02-18 13:44:46 +01:00