Skip to content

Commit e6e9427

Browse files
committed
chore: switch to node's native path aliasing
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
1 parent 2edd420 commit e6e9427

File tree

160 files changed

+388
-398
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+388
-398
lines changed

frontend/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
"browserslist": [
66
"defaults and supports es6-module"
77
],
8+
"imports": {
9+
"#/*": "./src/*"
10+
},
811
"scripts": {
912
"analyze:bundle": "vite build --mode analyze:bundle",
1013
"analyze:cycles": "vite build --mode analyze:cycles",

frontend/scripts/paths.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
11
import { resolve } from 'node:path';
22

33
export const localeFilesFolder = resolve('locales/**');
4-
export const srcRoot = `${resolve('src')}/`;
5-
export const entrypoints = {
6-
index: resolve('index.html'),
7-
main: `${srcRoot}/main.ts`,
8-
splashscreen: `${srcRoot}/splashscreen.ts`
9-
};

frontend/src/components/Buttons/FilterButton.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ import { type BaseItemDto, ItemFilter } from '@jellyfin/sdk/lib/generated-client
172172
import { getFilterApi } from '@jellyfin/sdk/lib/utils/api/filter-api';
173173
import { computed, ref, watch } from 'vue';
174174
import { useI18n } from 'vue-i18n';
175-
import { remote } from '@/plugins/remote';
176-
import { useSnackbar } from '@/composables/use-snackbar';
175+
import { remote } from '#/plugins/remote';
176+
import { useSnackbar } from '#/composables/use-snackbar';
177177
178178
export type FeatureFilters =
179179
| 'HasSubtitles'

frontend/src/components/Buttons/LikeButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { getUserLibraryApi } from '@jellyfin/sdk/lib/utils/api/user-library-api'
1313
import IMdiHeart from 'virtual:icons/mdi/heart';
1414
import IMdiHeartOutline from 'virtual:icons/mdi/heart-outline';
1515
import { computed, ref } from 'vue';
16-
import { useApi } from '@/composables/apis';
16+
import { useApi } from '#/composables/apis';
1717
1818
const { size = 'small', item } = defineProps<{ item: BaseItemDto; size?: string }>();
1919
/**

frontend/src/components/Buttons/MarkPlayedButton.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client';
1313
import { getPlaystateApi } from '@jellyfin/sdk/lib/utils/api/playstate-api';
1414
import IMdiCheck from 'virtual:icons/mdi/check';
1515
import { computed, ref } from 'vue';
16-
import { canMarkWatched } from '@/utils/items';
17-
import { useApi } from '@/composables/apis';
16+
import { canMarkWatched } from '#/utils/items';
17+
import { useApi } from '#/composables/apis';
1818
1919
const { item } = defineProps<{
2020
item: BaseItemDto;

frontend/src/components/Buttons/Playback/NextTrackButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
</template>
1212

1313
<script setup lang="ts">
14-
import { playbackManager } from '@/store/playback-manager';
14+
import { playbackManager } from '#/store/playback-manager';
1515
</script>

frontend/src/components/Buttons/Playback/PlayButton.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
<script setup lang="ts">
4343
import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client';
4444
import { ref } from 'vue';
45-
import { playbackManager } from '@/store/playback-manager';
46-
import { canPlay, canResume } from '@/utils/items';
47-
import { ticksToMs } from '@/utils/time';
45+
import { playbackManager } from '#/store/playback-manager';
46+
import { canPlay, canResume } from '#/utils/items';
47+
import { ticksToMs } from '#/utils/time';
4848
4949
const {
5050
item,

frontend/src/components/Buttons/Playback/PlayPauseButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import IMdiExclamation from 'virtual:icons/mdi/exclamation';
1515
import IMdiPauseCircleOutline from 'virtual:icons/mdi/pause-circle-outline';
1616
import IMdiPlayCircleOutline from 'virtual:icons/mdi/play-circle-outline';
1717
import { computed } from 'vue';
18-
import { PlaybackStatus, playbackManager } from '@/store/playback-manager';
18+
import { PlaybackStatus, playbackManager } from '#/store/playback-manager';
1919
2020
const playPauseIcon = computed(() => {
2121
if (playbackManager.isPaused.value) {

frontend/src/components/Buttons/Playback/PlaybackSettingsButton.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
<VCol :cols="8">
2323
<VSelect
2424
density="comfortable"
25-
hide-details
26-
disabled />
25+
26+
disabled
27+
hide-details />
2728
</VCol>
2829
</VRow>
2930
<VRow align="center">
@@ -95,8 +96,8 @@
9596
import { computed, shallowRef } from 'vue';
9697
import { useI18n } from 'vue-i18n';
9798
import { isObj, isStr, isUndef } from '@jellyfin-vue/shared/validation';
98-
import { playbackManager } from '@/store/playback-manager';
99-
import { playerElement } from '@/store/player-element';
99+
import { playbackManager } from '#/store/playback-manager';
100+
import { playerElement } from '#/store/player-element';
100101
101102
const menuModel = defineModel<boolean>();
102103
const { t } = useI18n();

frontend/src/components/Buttons/Playback/PreviousTrackButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212

1313
<script setup lang="ts">
1414
import IMdiSkipPrevious from 'virtual:icons/mdi/skip-previous';
15-
import { playbackManager } from '@/store/playback-manager';
15+
import { playbackManager } from '#/store/playback-manager';
1616
</script>

frontend/src/components/Buttons/Playback/RepeatButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import IMdiRepeat from 'virtual:icons/mdi/repeat';
1515
import IMdiRepeatOnce from 'virtual:icons/mdi/repeat-once';
1616
import { computed } from 'vue';
17-
import { RepeatMode, playbackManager } from '@/store/playback-manager';
17+
import { RepeatMode, playbackManager } from '#/store/playback-manager';
1818
1919
const repeatIcon = computed(() =>
2020
playbackManager.repeatMode.value === RepeatMode.RepeatOne

frontend/src/components/Buttons/Playback/ShuffleButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
</template>
1212

1313
<script setup lang="ts">
14-
import { playbackManager } from '@/store/playback-manager';
14+
import { playbackManager } from '#/store/playback-manager';
1515
</script>

frontend/src/components/Buttons/QueueButton.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ import IMdiPlaylistMusic from 'virtual:icons/mdi/playlist-music';
7575
import IMdiShuffle from 'virtual:icons/mdi/shuffle';
7676
import { computed, ref } from 'vue';
7777
import { useI18n } from 'vue-i18n';
78-
import { getTotalEndsAtTime } from '@/utils/time';
79-
import { InitMode, playbackManager } from '@/store/playback-manager';
78+
import { getTotalEndsAtTime } from '#/utils/time';
79+
import { InitMode, playbackManager } from '#/store/playback-manager';
8080
8181
const { size = 40, closeOnClick = false } = defineProps<{
8282
size?: number;

frontend/src/components/Buttons/ScrollToTopButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</template>
1818

1919
<script setup lang="ts">
20-
import { windowScroll } from '@/store';
20+
import { windowScroll } from '#/store';
2121
2222
const { y } = windowScroll;
2323

frontend/src/components/Buttons/SubtitleSelectionButton.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ import { SubtitleDeliveryMethod } from '@jellyfin/sdk/lib/generated-client';
4141
import IMdiCheck from 'virtual:icons/mdi/check';
4242
import { computed } from 'vue';
4343
import { useI18n } from 'vue-i18n';
44-
import { playbackManager } from '@/store/playback-manager';
45-
import { playerElement } from '@/store/player-element';
44+
import { playbackManager } from '#/store/playback-manager';
45+
import { playerElement } from '#/store/player-element';
4646
4747
const menuModel = defineModel<boolean>();
4848

frontend/src/components/Forms/AddServerForm.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@
4747
import { shallowRef } from 'vue';
4848
import { useI18n } from 'vue-i18n';
4949
import { useRouter } from 'vue-router';
50-
import { remote } from '@/plugins/remote';
51-
import { jsonConfig } from '@/utils/external-config';
50+
import { remote } from '#/plugins/remote';
51+
import { jsonConfig } from '#/utils/external-config';
5252
5353
const router = useRouter();
5454
const i18n = useI18n();

frontend/src/components/Forms/LoginForm.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ import IconEye from 'virtual:icons/mdi/eye';
7272
import IconEyeOff from 'virtual:icons/mdi/eye-off';
7373
import { ref, shallowRef } from 'vue';
7474
import { useI18n } from 'vue-i18n';
75-
import { fetchIndexPage } from '@/utils/items';
76-
import { remote } from '@/plugins/remote';
77-
import { jsonConfig } from '@/utils/external-config';
75+
import { fetchIndexPage } from '#/utils/items';
76+
import { remote } from '#/plugins/remote';
77+
import { jsonConfig } from '#/utils/external-config';
7878
7979
const { user, disabled } = defineProps<{ user?: UserDto; disabled?: boolean }>();
8080

frontend/src/components/Item/Card/GenericItemCard.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,8 @@
4949
<script setup lang="ts">
5050
import { useAttrs, computed } from 'vue';
5151
import { isNil } from '@jellyfin-vue/shared/validation';
52-
import { hasFinePointer } from '@/store';
53-
import type { CardShapes } from '@/utils/items';
54-
import JOverlay from '@/components/lib/JOverlay.vue';
52+
import { hasFinePointer } from '#/store';
53+
import type { CardShapes } from '#/utils/items';
5554
5655
const { shape, progress, overlay, forceOverlay, to, margin } = defineProps<{
5756
shape: CardShapes;

frontend/src/components/Item/Card/ItemCard.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ import {
8383
canPlay,
8484
getItemDetailsLink,
8585
getShapeFromItemType
86-
} from '@/utils/items';
87-
import { taskManager } from '@/store/task-manager';
86+
} from '#/utils/items';
87+
import { taskManager } from '#/store/task-manager';
8888
8989
const { item, shape, overlay, text, margin } = defineProps<{
9090
item: BaseItemDto;

frontend/src/components/Item/Card/ServerCard.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<script setup lang="ts">
4444
import { shallowRef } from 'vue';
4545
import { useRouter } from 'vue-router';
46-
import { remote } from '@/plugins/remote';
47-
import type { ServerInfo } from '@/plugins/remote/auth';
46+
import { remote } from '#/plugins/remote';
47+
import type { ServerInfo } from '#/plugins/remote/auth';
4848
4949
const { serverInfo } = defineProps<{ serverInfo: ServerInfo }>();
5050

frontend/src/components/Item/Identify/IdentifyDialog.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
</template>
2222

2323
<VCardText
24-
class="pa-0 px-2 flex-grow-1"
24+
class="pa-0 flex-grow-1 px-2"
2525
:class="{
2626
'd-flex': !$vuetify.display.mobile,
2727
'flex-row': !$vuetify.display.mobile
@@ -47,7 +47,7 @@
4747
</VWindowItem>
4848
<VWindowItem value="resultsMenu">
4949
<h3>{{ $t('results') }}</h3>
50-
<div class="mt-2 text-subtitle-1">
50+
<div class="text-subtitle-1 mt-2">
5151
{{ $t('identifyInstructResult') }}
5252
</div>
5353
<VCheckbox
@@ -97,9 +97,9 @@ import { getItemLookupApi } from '@jellyfin/sdk/lib/utils/api/item-lookup-api';
9797
import { computed, ref, shallowRef, toRaw } from 'vue';
9898
import { useI18n } from 'vue-i18n';
9999
import { isArray, isNil, isStr } from '@jellyfin-vue/shared/validation';
100-
import { useConfirmDialog } from '@/composables/use-confirm-dialog';
101-
import { useSnackbar } from '@/composables/use-snackbar';
102-
import { remote } from '@/plugins/remote';
100+
import { useConfirmDialog } from '#/composables/use-confirm-dialog';
101+
import { useSnackbar } from '#/composables/use-snackbar';
102+
import { remote } from '#/plugins/remote';
103103
104104
interface IdentifyField {
105105
key: string;

frontend/src/components/Item/Identify/IdentifyResults.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import type {
3535
RemoteSearchResult
3636
} from '@jellyfin/sdk/lib/generated-client';
3737
import { computed } from 'vue';
38-
import { getShapeFromItemType } from '@/utils/items';
38+
import { getShapeFromItemType } from '#/utils/items';
3939
4040
const { items, itemType } = defineProps<{
4141
items: RemoteSearchResult[];

frontend/src/components/Item/ItemGrid.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757

5858
<script setup lang="ts">
5959
import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client';
60-
import { useResponsiveClasses } from '@/composables/use-responsive-classes';
60+
import { useResponsiveClasses } from '#/composables/use-responsive-classes';
6161
6262
const { items, large, noVirtual } = defineProps<{
6363
items: BaseItemDto[];

frontend/src/components/Item/ItemMenu.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ import {
8383
getItemIdFromSourceIndex,
8484
getItemSeasonDownloadMap,
8585
getItemSeriesDownloadMap
86-
} from '@/utils/items';
87-
import { taskManager } from '@/store/task-manager';
88-
import { playbackManager } from '@/store/playback-manager';
89-
import { apiStore } from '@/store/api';
90-
import { remote } from '@/plugins/remote';
91-
import { useSnackbar } from '@/composables/use-snackbar';
92-
import { useConfirmDialog } from '@/composables/use-confirm-dialog';
86+
} from '#/utils/items';
87+
import { taskManager } from '#/store/task-manager';
88+
import { playbackManager } from '#/store/playback-manager';
89+
import { apiStore } from '#/store/api';
90+
import { remote } from '#/plugins/remote';
91+
import { useSnackbar } from '#/composables/use-snackbar';
92+
import { useConfirmDialog } from '#/composables/use-confirm-dialog';
9393
9494
interface MenuOption {
9595
title: string;

frontend/src/components/Item/MediaDetail/MediaDetailContent.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import type {
2020
} from '@jellyfin/sdk/lib/generated-client';
2121
import { useI18n } from 'vue-i18n';
2222
import { isNumber, isBool } from '@jellyfin-vue/shared/validation';
23-
import { getLocaleName } from '@/utils/i18n';
24-
import { formatBitRate } from '@/utils/items';
23+
import { getLocaleName } from '#/utils/i18n';
24+
import { formatBitRate } from '#/utils/items';
2525
2626
const { stream, videoTimestamp } = defineProps<{
2727
stream: MediaStream;

frontend/src/components/Item/MediaDetail/MediaDetailDialog.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
<VCardText
3131
v-if="selectedMediaSource"
32-
class="d-flex flex-column flex-grow-1 pa-3">
32+
class="d-flex flex-grow-1 flex-column pa-3">
3333
<template v-if="(selectedMediaSource.MediaStreams?.length ?? 0) > 0">
3434
<VTabs
3535
v-model="currentTab"
@@ -148,8 +148,8 @@ import type {
148148
import { computed, ref } from 'vue';
149149
import { useI18n } from 'vue-i18n';
150150
import { isArray, isNil, isNumber } from '@jellyfin-vue/shared/validation';
151-
import { getLocaleName } from '@/utils/i18n';
152-
import { formatBitRate, formatFileSize } from '@/utils/items';
151+
import { getLocaleName } from '#/utils/i18n';
152+
import { formatBitRate, formatFileSize } from '#/utils/items';
153153
154154
const { item, mediaSourceIndex } = defineProps<{ item: BaseItemDto; mediaSourceIndex?: number }>();
155155

frontend/src/components/Item/MediaInfo.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<script setup lang="ts">
3434
import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client';
35-
import { getEndsAtTime, getRuntimeTime } from '@/utils/time';
35+
import { getEndsAtTime, getRuntimeTime } from '#/utils/time';
3636
3737
const { item, year, rating, runtime, tracks, endsAt } = defineProps<{
3838
item: BaseItemDto;

frontend/src/components/Item/MediaSourceSelector.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
<script setup lang="ts">
2121
import { computed, ref, watch } from 'vue';
2222
import type { MediaSourceInfo } from '@jellyfin/sdk/lib/generated-client';
23-
import { isNil } from '@/utils/validation';
24-
import { getItemizedSelect } from '@/utils/forms';
23+
import { isNil } from '@jellyfin-vue/shared/validation';
24+
import { getItemizedSelect } from '#/utils/forms';
2525
2626
const { sources, defaultSourceIndex, label } = defineProps<{
2727
sources: MediaSourceInfo[];

frontend/src/components/Item/MediaStreamSelector.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ import IMdiSurroundSound51 from 'virtual:icons/mdi/surround-sound-5-1';
3232
import IMdiSurroundSound71 from 'virtual:icons/mdi/surround-sound-7-1';
3333
import IMdiSurroundSound from 'virtual:icons/mdi/surround-sound';
3434
import { watchImmediate } from '@vueuse/core';
35-
import { getLocaleName } from '@/utils/i18n';
36-
import { upperFirst } from '@/utils/data-manipulation';
37-
import { isNil } from '@/utils/validation';
35+
import { isNil } from '@jellyfin-vue/shared/validation';
36+
import { getLocaleName } from '#/utils/i18n';
37+
import { upperFirst } from '#/utils/data-manipulation';
3838
3939
const { mediaStreams, type, defaultStreamIndex } = defineProps<{
4040
mediaStreams: MediaStream[];

frontend/src/components/Item/Metadata/ImageEditor.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
</div>
2323
<div
2424
v-if="item.Width && item.Height"
25-
class="text-center text-body-2 text--secondary">
25+
class="text-center text--secondary text-body-2">
2626
{{ t('dimensions', { width: item.Width, height: item.Height }) }}
2727
</div>
2828
<VCardActions class="justify-center">
@@ -110,8 +110,8 @@ import { useI18n } from 'vue-i18n';
110110
import { watchImmediate } from '@vueuse/core';
111111
import {
112112
getImageInfo
113-
} from '@/utils/images';
114-
import { remote } from '@/plugins/remote';
113+
} from '#/utils/images';
114+
import { remote } from '#/plugins/remote';
115115
116116
const { metadata } = defineProps<{ metadata: BaseItemDto }>();
117117

frontend/src/components/Item/Metadata/ImageSearch.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ import {
122122
import { getRemoteImageApi } from '@jellyfin/sdk/lib/utils/api/remote-image-api';
123123
import { computed, ref, watch } from 'vue';
124124
import { useI18n } from 'vue-i18n';
125-
import { getLocaleName } from '@/utils/i18n';
126-
import { remote } from '@/plugins/remote';
125+
import { getLocaleName } from '#/utils/i18n';
126+
import { remote } from '#/plugins/remote';
127127
128128
const { metadata, dialog } = defineProps<{
129129
metadata: BaseItemDto;

frontend/src/components/Item/Metadata/MetadataEditor.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,11 +235,11 @@ import { computed, ref } from 'vue';
235235
import { useI18n } from 'vue-i18n';
236236
import { watchImmediate } from '@vueuse/core';
237237
import { isArray, isNil } from '@jellyfin-vue/shared/validation';
238-
import { getItemImageUrl } from '@/utils/images';
239-
import { remote } from '@/plugins/remote';
240-
import { useSnackbar } from '@/composables/use-snackbar';
241-
import { useDateFns } from '@/composables/use-datefns';
242-
import { pick } from '@/utils/data-manipulation';
238+
import { getItemImageUrl } from '#/utils/images';
239+
import { remote } from '#/plugins/remote';
240+
import { useSnackbar } from '#/composables/use-snackbar';
241+
import { useDateFns } from '#/composables/use-datefns';
242+
import { pick } from '#/utils/data-manipulation';
243243
244244
interface ContentOption {
245245
value: string;

0 commit comments

Comments
 (0)