- 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
25 lines
792 B
TypeScript
25 lines
792 B
TypeScript
import type ESTree from "estree";
|
|
import type { BaseNode } from "./base.js";
|
|
import type { SvelteBindingDirective } from "./html.js";
|
|
export type SvelteScriptNode = SvelteReactiveStatement | SvelteFunctionBindingsExpression;
|
|
/** Node of `$` statement. */
|
|
export interface SvelteReactiveStatement extends BaseNode {
|
|
type: "SvelteReactiveStatement";
|
|
label: ESTree.Identifier & {
|
|
name: "$";
|
|
};
|
|
body: ESTree.Statement;
|
|
parent: ESTree.Node;
|
|
}
|
|
/** Node of `bind:name={get, set}` expression. */
|
|
export interface SvelteFunctionBindingsExpression extends BaseNode {
|
|
type: "SvelteFunctionBindingsExpression";
|
|
expressions: [
|
|
/** Getter */
|
|
ESTree.Expression,
|
|
/** Setter */
|
|
ESTree.Expression
|
|
];
|
|
parent: SvelteBindingDirective;
|
|
}
|