- 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
32 lines
1011 B
JavaScript
32 lines
1011 B
JavaScript
import { getDeclaratorFromConstTag } from "../compat.js";
|
|
/** Convert for ConstTag */
|
|
export function convertConstTag(node, parent, ctx) {
|
|
const mustache = {
|
|
type: "SvelteConstTag",
|
|
declaration: null,
|
|
declarations: [],
|
|
parent,
|
|
...ctx.getConvertLocation(node),
|
|
};
|
|
// Link declaration and declarations for backward compatibility.
|
|
// TODO Remove in v2 and later.
|
|
Object.defineProperty(mustache, "declaration", {
|
|
get() {
|
|
return mustache.declarations[0];
|
|
},
|
|
set(value) {
|
|
mustache.declarations = [value];
|
|
},
|
|
enumerable: false,
|
|
});
|
|
ctx.scriptLet.addVariableDeclarator(getDeclaratorFromConstTag(node), mustache, (declaration) => {
|
|
mustache.declarations = [declaration];
|
|
});
|
|
const atConstStart = ctx.code.indexOf("@const", mustache.range[0]);
|
|
ctx.addToken("MustacheKeyword", {
|
|
start: atConstStart,
|
|
end: atConstStart + 6,
|
|
});
|
|
return mustache;
|
|
}
|