import type { LoadHook, ResolveHook } from "node:module"; import { register } from "node:module"; /** * Custom loader for mock files (only in `test` mode) * @type {LoadHook} */ export const load: LoadHook = (url, context, nextLoad) => { if (url.startsWith("mock:")) { return { format: "module", source: "export default {};", shortCircuit: true, }; } return nextLoad(url, context); }; /** * Custom resolver for mock files (only in `test` mode) * @type {ResolveHook} */ export const resolve: ResolveHook = (specifier, context, nextResolve) => { // CSS mocking if ([ ".pcss", ".css" ].some(((ext) => specifier.endsWith(ext)))) { return { url: `mock:${specifier}`, shortCircuit: true, }; } return nextResolve(specifier, context); }; if (process.env.NODE_ENV === "test") { register("./testLoader.ts", import.meta.url); }