Skip to content

Commit d223c36

Browse files
committed
relative imports -> imports with $; also fixed warnings during build
1 parent 438e409 commit d223c36

File tree

85 files changed

+383
-329
lines changed

Some content is hidden

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

85 files changed

+383
-329
lines changed

frontend/package-lock.json

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"@babel/runtime": "^7.24.7",
5757
"@hey-api/openapi-ts": "0.89.2",
5858
"@playwright/test": "^1.52.0",
59+
"@rollup/plugin-alias": "^6.0.0",
5960
"@rollup/plugin-typescript": "^12.1.2",
6061
"@sveltejs/vite-plugin-svelte": "^5.0.3",
6162
"@tailwindcss/forms": "^0.5.11",

frontend/rollup.config.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,26 @@ import postcss from 'rollup-plugin-postcss';
66
import sveltePreprocess from 'svelte-preprocess';
77
import replace from '@rollup/plugin-replace';
88
import typescript from '@rollup/plugin-typescript';
9+
import alias from '@rollup/plugin-alias';
910
import dotenv from 'dotenv';
1011
import fs from 'fs';
1112
import https from 'https';
1213
import path from 'path';
1314
import json from '@rollup/plugin-json';
1415

16+
// Path aliases - must match tsconfig.json paths
17+
const projectRoot = path.resolve('.');
18+
const aliases = alias({
19+
entries: [
20+
{ find: '$lib', replacement: path.resolve(projectRoot, 'src/lib') },
21+
{ find: '$components', replacement: path.resolve(projectRoot, 'src/components') },
22+
{ find: '$stores', replacement: path.resolve(projectRoot, 'src/stores') },
23+
{ find: '$routes', replacement: path.resolve(projectRoot, 'src/routes') },
24+
{ find: '$utils', replacement: path.resolve(projectRoot, 'src/utils') },
25+
{ find: '$styles', replacement: path.resolve(projectRoot, 'src/styles') }
26+
]
27+
});
28+
1529
dotenv.config();
1630
const production = !process.env.ROLLUP_WATCH;
1731

@@ -157,6 +171,7 @@ export default {
157171
}
158172
},
159173
plugins: [
174+
aliases,
160175
replace({
161176
'process.env.VITE_BACKEND_URL': JSON.stringify(''),
162177
preventAssignment: true

frontend/src/App.svelte

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
<script lang="ts">
22
import { onMount, onDestroy } from 'svelte';
33
import { Router, type Route, goto } from "@mateothegreat/svelte5-router";
4-
import Header from "./components/Header.svelte";
5-
import Footer from "./components/Footer.svelte";
6-
import ToastContainer from "./components/ToastContainer.svelte";
7-
import Spinner from "./components/Spinner.svelte";
8-
import ErrorDisplay from "./components/ErrorDisplay.svelte";
9-
import { theme } from './stores/theme';
10-
import { initializeAuth, AuthInitializer } from './lib/auth-init';
11-
import { appError } from './stores/errorStore';
12-
import { isAuthenticated } from './stores/auth';
4+
import Header from "$components/Header.svelte";
5+
import Footer from "$components/Footer.svelte";
6+
import ToastContainer from "$components/ToastContainer.svelte";
7+
import Spinner from "$components/Spinner.svelte";
8+
import ErrorDisplay from "$components/ErrorDisplay.svelte";
9+
import { theme } from '$stores/theme';
10+
import { initializeAuth, AuthInitializer } from '$lib/auth-init';
11+
import { appError } from '$stores/errorStore';
12+
import { isAuthenticated } from '$stores/auth';
1313
import { get } from 'svelte/store';
1414
1515
// Page components
16-
import Home from "./routes/Home.svelte";
17-
import Login from "./routes/Login.svelte";
18-
import Register from "./routes/Register.svelte";
19-
import Privacy from "./routes/Privacy.svelte";
20-
import Editor from "./routes/Editor.svelte";
21-
import Settings from "./routes/Settings.svelte";
22-
import Notifications from "./routes/Notifications.svelte";
23-
import AdminEvents from "./routes/admin/AdminEvents.svelte";
24-
import AdminSagas from "./routes/admin/AdminSagas.svelte";
25-
import AdminUsers from "./routes/admin/AdminUsers.svelte";
26-
import AdminSettings from "./routes/admin/AdminSettings.svelte";
16+
import Home from "$routes/Home.svelte";
17+
import Login from "$routes/Login.svelte";
18+
import Register from "$routes/Register.svelte";
19+
import Privacy from "$routes/Privacy.svelte";
20+
import Editor from "$routes/Editor.svelte";
21+
import Settings from "$routes/Settings.svelte";
22+
import Notifications from "$routes/Notifications.svelte";
23+
import AdminEvents from "$routes/admin/AdminEvents.svelte";
24+
import AdminSagas from "$routes/admin/AdminSagas.svelte";
25+
import AdminUsers from "$routes/admin/AdminUsers.svelte";
26+
import AdminSettings from "$routes/admin/AdminSettings.svelte";
2727
2828
// Theme value derived from store with proper cleanup
2929
let themeValue = $state('auto');

frontend/src/components/Header.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<script lang="ts">
22
import { route, goto } from "@mateothegreat/svelte5-router";
3-
import { isAuthenticated, username, userRole, logout as authLogout, userEmail } from "../stores/auth";
4-
import { theme, toggleTheme } from "../stores/theme";
3+
import { isAuthenticated, username, userRole, logout as authLogout, userEmail } from "$stores/auth";
4+
import { theme, toggleTheme } from "$stores/theme";
55
import { fade } from 'svelte/transition';
66
import { onMount, onDestroy } from 'svelte';
7-
import NotificationCenter from './NotificationCenter.svelte';
7+
import NotificationCenter from '$components/NotificationCenter.svelte';
88
import { Sun, Moon, MonitorCog, Menu, X, LogIn, UserPlus, LogOut, User, ChevronDown, Settings } from '@lucide/svelte';
99
1010
let isMenuActive = $state(false);

frontend/src/components/NotificationCenter.svelte

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<script lang="ts">
22
import { onMount, onDestroy, type Component } from 'svelte';
33
import { fade, fly } from 'svelte/transition';
4-
import { isAuthenticated, username, userId } from '../stores/auth';
4+
import { isAuthenticated, username, userId } from '$stores/auth';
55
import { get } from 'svelte/store';
66
import { goto } from '@mateothegreat/svelte5-router';
7-
import { notificationStore, notifications, unreadCount, loading } from '../stores/notificationStore';
8-
import type { NotificationResponse } from '../lib/api';
7+
import { notificationStore, notifications, unreadCount, loading } from '$stores/notificationStore';
8+
import type { NotificationResponse } from '$lib/api';
99
import { Bell, AlertCircle, AlertTriangle, CircleCheck, Info } from '@lucide/svelte';
1010
1111
let showDropdown = $state(false);
@@ -267,6 +267,7 @@
267267
</div>
268268
{:else}
269269
{#each $notifications as notification}
270+
{@const NotifIcon = getNotificationIcon(notification.tags)}
270271
<div
271272
class="p-4 border-b border-border-default/50 dark:border-dark-border-default hover:bg-interactive-hover dark:hover:bg-dark-interactive-hover cursor-pointer transition-colors"
272273
class:bg-blue-50={notification.status !== 'read'}
@@ -302,7 +303,7 @@
302303
>
303304
<div class="flex items-start space-x-3">
304305
<div class={`mt-1 ${priorityColors[notification.severity || 'medium']}`}>
305-
<svelte:component this={getNotificationIcon(notification.tags)} class="w-5 h-5" />
306+
<NotifIcon class="w-5 h-5" />
306307
</div>
307308
<div class="flex-1 min-w-0">
308309
<p class="font-medium text-sm">

frontend/src/components/ProtectedRoute.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<script lang="ts">
22
import { onMount } from 'svelte';
33
import { goto } from '@mateothegreat/svelte5-router';
4-
import { isAuthenticated } from '../stores/auth';
5-
import { AuthInitializer } from '../lib/auth-init';
6-
import Spinner from './Spinner.svelte';
4+
import { isAuthenticated } from '$stores/auth';
5+
import { AuthInitializer } from '$lib/auth-init';
6+
import Spinner from '$components/Spinner.svelte';
77
import type { Snippet } from 'svelte';
88
99
let {

frontend/src/components/ToastContainer.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
22
import { onDestroy } from 'svelte';
3-
import { toasts, removeToast, TOAST_DURATION, type Toast, type ToastType } from "../stores/toastStore";
3+
import { toasts, removeToast, TOAST_DURATION, type Toast, type ToastType } from "$stores/toastStore";
44
import { fly } from "svelte/transition";
55
import { CircleCheck, CircleX, AlertTriangle, Info, X } from '@lucide/svelte';
66

frontend/src/components/__tests__/ErrorDisplay.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
22
import { render, screen } from '@testing-library/svelte';
33
import userEvent from '@testing-library/user-event';
4-
import ErrorDisplay from '../ErrorDisplay.svelte';
4+
import ErrorDisplay from '$components/ErrorDisplay.svelte';
55

66
describe('ErrorDisplay', () => {
77
let originalLocation: Location;

frontend/src/components/__tests__/Footer.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
22
import { render, screen } from '@testing-library/svelte';
3-
import Footer from '../Footer.svelte';
3+
import Footer from '$components/Footer.svelte';
44

55
describe('Footer', () => {
66
let originalDate: DateConstructor;

0 commit comments

Comments
 (0)