Fix CI test compatibility on Node 20

This commit is contained in:
Youzini-afk
2026-04-10 15:14:05 +08:00
parent c47f4f61d3
commit eaac52473e
12 changed files with 301 additions and 278 deletions

View File

@@ -1,5 +1,7 @@
import assert from "node:assert/strict";
import { registerHooks } from "node:module";
import {
installResolveHooks,
} from "./helpers/register-hooks-compat.mjs";
const extensionsShimSource = [
"export const extension_settings = globalThis.__taskRegexTestExtensionSettings || {};",
@@ -11,21 +13,16 @@ const extensionsShimUrl = `data:text/javascript,${encodeURIComponent(
extensionsShimSource,
)}`;
registerHooks({
resolve(specifier, context, nextResolve) {
if (
specifier === "../../../extensions.js" ||
specifier === "../../../../extensions.js" ||
specifier === "../../../../../extensions.js"
) {
return {
shortCircuit: true,
url: extensionsShimUrl,
};
}
return nextResolve(specifier, context);
installResolveHooks([
{
specifiers: [
"../../../extensions.js",
"../../../../extensions.js",
"../../../../../extensions.js",
],
url: extensionsShimUrl,
},
});
]);
const originalSillyTavern = globalThis.SillyTavern;
const originalGetTavernRegexes = globalThis.getTavernRegexes;