Files
headroom/frontend/node_modules/eslint-plugin-svelte/lib/utils/load-module.js
Santhosh Janardhanan de2d83092e 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
2026-02-17 16:19:59 -05:00

46 lines
1.2 KiB
JavaScript

import Module from 'module';
import path from 'path';
const cache = new WeakMap();
const cache4b = new Map();
/**
* Load module
*/
export function loadModule(context, name) {
const key = context.sourceCode.ast;
let modules = cache.get(key);
if (!modules) {
modules = {};
cache.set(key, modules);
}
const mod = modules[name] || cache4b.get(name);
if (mod)
return mod;
try {
// load from cwd
const cwd = context.cwd ?? process.cwd();
const relativeTo = path.join(cwd, '__placeholder__.js');
return (modules[name] = Module.createRequire(relativeTo)(name));
}
catch {
// ignore
}
for (const relativeTo of [
// load from lint file name
context.filename,
// load from lint file name (physical)
context.physicalFilename,
// load from this plugin module
typeof __filename !== 'undefined' ? __filename : ''
]) {
if (relativeTo) {
try {
return (modules[name] = Module.createRequire(relativeTo)(name));
}
catch {
// ignore
}
}
}
return null;
}