- 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
31 lines
936 B
JavaScript
31 lines
936 B
JavaScript
import { getEspree } from "./espree.js";
|
|
import { isParserObject } from "./parser-object.js";
|
|
import Module from "module";
|
|
/** Get parser for script lang */
|
|
export function getParserForLang(lang, parser) {
|
|
if (parser) {
|
|
if (typeof parser === "string" || isParserObject(parser)) {
|
|
return parser;
|
|
}
|
|
if (typeof parser === "object") {
|
|
const value = parser[lang || "js"];
|
|
if (typeof value === "string" || isParserObject(value)) {
|
|
return value;
|
|
}
|
|
}
|
|
}
|
|
return "espree";
|
|
}
|
|
/** Get parser */
|
|
export function getParser(attrs, parser) {
|
|
const parserValue = getParserForLang(attrs.lang, parser);
|
|
if (isParserObject(parserValue)) {
|
|
return parserValue;
|
|
}
|
|
if (parserValue !== "espree") {
|
|
const require = Module.createRequire(import.meta.url);
|
|
return require(parserValue);
|
|
}
|
|
return getEspree();
|
|
}
|