feat: Reinitialize frontend with SvelteKit and TypeScript

- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
This commit is contained in:
2026-02-17 16:19:59 -05:00
parent 54df6018f5
commit de2d83092e
28274 changed files with 3816354 additions and 90 deletions

230
frontend/node_modules/happy-dom/cjs/history/History.cjs generated vendored Normal file
View File

@@ -0,0 +1,230 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const HistoryScrollRestorationEnum_js_1 = __importDefault(require("./HistoryScrollRestorationEnum.cjs"));
const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
const BrowserFrameURL_js_1 = __importDefault(require("../browser/utilities/BrowserFrameURL.cjs"));
const DOMExceptionNameEnum_js_1 = __importDefault(require("../exception/DOMExceptionNameEnum.cjs"));
/**
* History API.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/History.
*/
class History {
#browserFrame;
#window;
#currentHistoryItem;
/**
* Constructor.
*
* @param browserFrame Browser frame.
* @param window Owner window.
*/
constructor(browserFrame, window) {
if (!browserFrame) {
throw new TypeError('Illegal constructor');
}
this.#browserFrame = browserFrame;
this.#window = window;
const history = browserFrame[PropertySymbol.history];
for (let i = history.length - 1; i >= 0; i--) {
if (history[i].isCurrent) {
this.#currentHistoryItem = history[i];
break;
}
}
}
/**
* Returns the history length.
*
* @returns History length.
*/
get length() {
return this.#browserFrame?.[PropertySymbol.history].length || 0;
}
/**
* Returns an any value representing the state at the top of the history stack. This is a way to look at the state without having to wait for a popstate event.
*
* @returns State.
*/
get state() {
return this.#currentHistoryItem.state;
}
/**
* Returns scroll restoration.
*
* @returns Sroll restoration.
*/
get scrollRestoration() {
return this.#currentHistoryItem.scrollRestoration;
}
/**
* Sets scroll restoration.
*
* @param scrollRestoration Sroll restoration.
*/
set scrollRestoration(scrollRestoration) {
switch (scrollRestoration) {
case HistoryScrollRestorationEnum_js_1.default.auto:
case HistoryScrollRestorationEnum_js_1.default.manual:
this.#currentHistoryItem.scrollRestoration = scrollRestoration;
break;
}
}
/**
* Goes to the previous page in session history.
*/
back() {
if (!this.#window.closed) {
this.#browserFrame?.goBack();
}
}
/**
* Goes to the next page in session history.
*/
forward() {
if (!this.#window.closed) {
this.#browserFrame?.goForward();
}
}
/**
* Load a specific page from the session history.
*
* @param delta Delta.
* @param _delta
*/
go(delta) {
if (!this.#window.closed) {
this.#browserFrame?.goSteps(delta);
}
}
/**
* Pushes the given data onto the session history stack.
*
* @param state State.
* @param title Title.
* @param [url] URL.
*/
pushState(state, title, url) {
if (this.#window.closed) {
return;
}
const history = this.#browserFrame?.[PropertySymbol.history];
if (!history) {
return;
}
const location = this.#window[PropertySymbol.location];
const newURL = url ? BrowserFrameURL_js_1.default.getRelativeURL(this.#browserFrame, url) : location;
if (url && newURL.origin !== location.origin) {
throw new this.#window.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${url.toString()}' cannot be created in a document with origin '${location.origin}' and URL '${location.href}'.`, DOMExceptionNameEnum_js_1.default.securityError);
}
let previousHistoryItem;
for (let i = history.length - 1; i >= 0; i--) {
if (history[i].isCurrent) {
previousHistoryItem = history[i];
previousHistoryItem.isCurrent = false;
// We need to remove all history items after the current one.
history.length = i + 1;
break;
}
}
const newHistoryItem = {
title: title || this.#window.document.title,
href: newURL.href,
state: JSON.parse(JSON.stringify(state)),
scrollRestoration: this.#currentHistoryItem.scrollRestoration,
method: previousHistoryItem?.method || 'GET',
formData: previousHistoryItem?.formData || null,
isCurrent: true
};
history.push(newHistoryItem);
location[PropertySymbol.setURL](this.#browserFrame, newHistoryItem.href);
this.#currentHistoryItem = newHistoryItem;
}
/**
* This method modifies the current history entry, replacing it with a new state.
*
* @param state State.
* @param title Title.
* @param [url] URL.
*/
replaceState(state, title, url) {
if (this.#window.closed) {
return;
}
const history = this.#browserFrame?.[PropertySymbol.history];
if (!history) {
return;
}
const location = this.#window[PropertySymbol.location];
const newURL = url ? BrowserFrameURL_js_1.default.getRelativeURL(this.#browserFrame, url) : location;
if (url && newURL.origin !== location.origin) {
throw new this.#window.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${url.toString()}' cannot be created in a document with origin '${location.origin}' and URL '${location.href}'.`, DOMExceptionNameEnum_js_1.default.securityError);
}
for (let i = history.length - 1; i >= 0; i--) {
if (history[i].isCurrent) {
const newHistoryItem = {
title: title || this.#window.document.title,
href: newURL.href,
state: JSON.parse(JSON.stringify(state)),
scrollRestoration: history[i].scrollRestoration,
method: history[i].method,
formData: history[i].formData,
isCurrent: true
};
history[i] = newHistoryItem;
this.#currentHistoryItem = newHistoryItem;
break;
}
}
if (url) {
location[PropertySymbol.setURL](this.#browserFrame, this.#currentHistoryItem.href);
}
}
/**
* Destroys the history.
*
* This will make sure that the History API can't access page data from the next history item.
*/
[PropertySymbol.destroy]() {
this.#browserFrame = null;
}
}
exports.default = History;
//# sourceMappingURL=History.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"History.cjs","sourceRoot":"","sources":["../../src/history/History.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,82 @@
import IBrowserFrame from '../browser/types/IBrowserFrame.cjs';
import HistoryScrollRestorationEnum from './HistoryScrollRestorationEnum.cjs';
import * as PropertySymbol from '../PropertySymbol.cjs';
import BrowserWindow from '../window/BrowserWindow.cjs';
/**
* History API.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/History.
*/
export default class History {
#private;
/**
* Constructor.
*
* @param browserFrame Browser frame.
* @param window Owner window.
*/
constructor(browserFrame: IBrowserFrame, window: BrowserWindow);
/**
* Returns the history length.
*
* @returns History length.
*/
get length(): number;
/**
* Returns an any value representing the state at the top of the history stack. This is a way to look at the state without having to wait for a popstate event.
*
* @returns State.
*/
get state(): object | null;
/**
* Returns scroll restoration.
*
* @returns Sroll restoration.
*/
get scrollRestoration(): HistoryScrollRestorationEnum;
/**
* Sets scroll restoration.
*
* @param scrollRestoration Sroll restoration.
*/
set scrollRestoration(scrollRestoration: HistoryScrollRestorationEnum);
/**
* Goes to the previous page in session history.
*/
back(): void;
/**
* Goes to the next page in session history.
*/
forward(): void;
/**
* Load a specific page from the session history.
*
* @param delta Delta.
* @param _delta
*/
go(delta: number): void;
/**
* Pushes the given data onto the session history stack.
*
* @param state State.
* @param title Title.
* @param [url] URL.
*/
pushState(state: object, title: any, url?: string | URL): void;
/**
* This method modifies the current history entry, replacing it with a new state.
*
* @param state State.
* @param title Title.
* @param [url] URL.
*/
replaceState(state: object, title: any, url?: string | URL): void;
/**
* Destroys the history.
*
* This will make sure that the History API can't access page data from the next history item.
*/
[PropertySymbol.destroy](): void;
}
//# sourceMappingURL=History.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../src/history/History.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAIvD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;;IAK3B;;;;;OAKG;gBACS,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa;IAkB9D;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED;;;;OAIG;IACH,IAAW,iBAAiB,IAAI,4BAA4B,CAE3D;IAED;;;;OAIG;IACH,IAAW,iBAAiB,CAAC,iBAAiB,EAAE,4BAA4B,EAO3E;IAED;;OAEG;IACI,IAAI,IAAI,IAAI;IAMnB;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;;;;OAKG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAA,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAmDhE;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAA,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IA6CnE;;;;OAIG;IACI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI;CAGvC"}

View File

@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var HistoryScrollRestorationEnum;
(function (HistoryScrollRestorationEnum) {
HistoryScrollRestorationEnum["auto"] = "auto";
HistoryScrollRestorationEnum["manual"] = "manual";
})(HistoryScrollRestorationEnum || (HistoryScrollRestorationEnum = {}));
exports.default = HistoryScrollRestorationEnum;
//# sourceMappingURL=HistoryScrollRestorationEnum.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HistoryScrollRestorationEnum.cjs","sourceRoot":"","sources":["../../src/history/HistoryScrollRestorationEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,4BAGJ;AAHD,WAAK,4BAA4B;IAChC,6CAAa,CAAA;IACb,iDAAiB,CAAA;AAClB,CAAC,EAHI,4BAA4B,KAA5B,4BAA4B,QAGhC;AACD,kBAAe,4BAA4B,CAAC"}

View File

@@ -0,0 +1,6 @@
declare enum HistoryScrollRestorationEnum {
auto = "auto",
manual = "manual"
}
export default HistoryScrollRestorationEnum;
//# sourceMappingURL=HistoryScrollRestorationEnum.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HistoryScrollRestorationEnum.d.ts","sourceRoot":"","sources":["../../src/history/HistoryScrollRestorationEnum.ts"],"names":[],"mappings":"AAAA,aAAK,4BAA4B;IAChC,IAAI,SAAS;IACb,MAAM,WAAW;CACjB;AACD,eAAe,4BAA4B,CAAC"}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=IHistoryItem.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IHistoryItem.cjs","sourceRoot":"","sources":["../../src/history/IHistoryItem.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,12 @@
import FormData from '../form-data/FormData.cjs';
import HistoryScrollRestorationEnum from './HistoryScrollRestorationEnum.cjs';
export default interface IHistoryItem {
title: string | null;
href: string;
state: any | null;
scrollRestoration: HistoryScrollRestorationEnum;
method: string;
formData: FormData | null;
isCurrent: boolean;
}
//# sourceMappingURL=IHistoryItem.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IHistoryItem.d.ts","sourceRoot":"","sources":["../../src/history/IHistoryItem.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAE7E,MAAM,CAAC,OAAO,WAAW,YAAY;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAClB,iBAAiB,EAAE,4BAA4B,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACnB"}