veryfront 0.0.73 → 0.0.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/ai/components.js +3 -3
- package/dist/ai/components.js.map +2 -2
- package/dist/ai/dev.js +121 -18
- package/dist/ai/dev.js.map +2 -2
- package/dist/ai/index.js +733 -232
- package/dist/ai/index.js.map +4 -4
- package/dist/ai/production.js +121 -18
- package/dist/ai/production.js.map +2 -2
- package/dist/ai/react.js +8 -7
- package/dist/ai/react.js.map +2 -2
- package/dist/ai/workflow.js +439 -63
- package/dist/ai/workflow.js.map +4 -4
- package/dist/components.js +3959 -241
- package/dist/components.js.map +4 -4
- package/dist/config.js +379 -40
- package/dist/config.js.map +3 -3
- package/dist/context.d.ts +44 -0
- package/dist/context.js +52 -0
- package/dist/context.js.map +7 -0
- package/dist/data.js +160 -37
- package/dist/data.js.map +3 -3
- package/dist/fonts.d.ts +24 -0
- package/dist/fonts.js +68 -0
- package/dist/fonts.js.map +7 -0
- package/dist/head.d.ts +21 -0
- package/dist/head.js +34 -0
- package/dist/head.js.map +7 -0
- package/dist/index.js +4080 -315
- package/dist/index.js.map +4 -4
- package/dist/oauth/handlers.js.map +1 -1
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/providers.js.map +1 -1
- package/dist/router.d.ts +69 -0
- package/dist/router.js +57 -0
- package/dist/router.js.map +7 -0
- package/package.json +19 -2
- package/dist/cli.js +0 -107694
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/_shims/deno-env.ts", "../../lib/usePageContext.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * Shim for Deno.env in Node.js environment\n * This file is injected by esbuild to provide Deno.env compatibility\n */\n\n// @ts-ignore - Global Deno shim for Node.js\nglobalThis.Deno = globalThis.Deno || {\n env: {\n get(key: string): string | undefined {\n return process.env[key];\n },\n set(key: string, value: string): void {\n process.env[key] = value;\n },\n delete(key: string): void {\n delete process.env[key];\n },\n has(key: string): boolean {\n return key in process.env;\n },\n toObject(): Record<string, string> {\n return { ...process.env } as Record<string, string>;\n },\n },\n};\n", "import React from \"react\";\n\nexport interface PageContext {\n slug: string;\n path: string;\n params: Record<string, string>;\n query: Record<string, string>;\n frontmatter?: Record<string, unknown>;\n}\n\nconst PageContextValue = React.createContext<PageContext | null>(null);\n\n// SSR-safe default context\nconst defaultPageContext: PageContext = {\n slug: \"/\",\n path: \"/\",\n params: {},\n query: {},\n frontmatter: {},\n};\n\nexport function PageContextProvider({\n children,\n pageContext,\n}: {\n children: React.ReactNode;\n pageContext?: PageContext;\n}) {\n return (\n <PageContextValue.Provider value={pageContext || defaultPageContext}>\n {children}\n </PageContextValue.Provider>\n );\n}\n\nexport function usePageContext(): PageContext {\n const value = React.useContext(PageContextValue);\n if (!value) {\n // Return default context for SSR instead of throwing\n return defaultPageContext;\n }\n return value;\n}\n\nexport default usePageContext;\n"],
|
|
5
|
+
"mappings": ";AAMA,WAAW,OAAO,WAAW,QAAQ;AAAA,EACnC,KAAK;AAAA,IACH,IAAI,KAAiC;AACnC,aAAO,QAAQ,IAAI,GAAG;AAAA,IACxB;AAAA,IACA,IAAI,KAAa,OAAqB;AACpC,cAAQ,IAAI,GAAG,IAAI;AAAA,IACrB;AAAA,IACA,OAAO,KAAmB;AACxB,aAAO,QAAQ,IAAI,GAAG;AAAA,IACxB;AAAA,IACA,IAAI,KAAsB;AACxB,aAAO,OAAO,QAAQ;AAAA,IACxB;AAAA,IACA,WAAmC;AACjC,aAAO,EAAE,GAAG,QAAQ,IAAI;AAAA,IAC1B;AAAA,EACF;AACF;;;ACxBA,OAAO,WAAW;AA6Bd;AAnBJ,IAAM,mBAAmB,MAAM,cAAkC,IAAI;AAGrE,IAAM,qBAAkC;AAAA,EACtC,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ,CAAC;AAAA,EACT,OAAO,CAAC;AAAA,EACR,aAAa,CAAC;AAChB;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AACF,GAGG;AACD,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,eAAe,oBAC9C,UACH;AAEJ;AAEO,SAAS,iBAA8B;AAC5C,QAAM,QAAQ,MAAM,WAAW,gBAAgB;AAC/C,MAAI,CAAC,OAAO;AAEV,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/data.js
CHANGED
|
@@ -418,56 +418,158 @@ function getEnvironmentVariable(name) {
|
|
|
418
418
|
}
|
|
419
419
|
return void 0;
|
|
420
420
|
}
|
|
421
|
+
function isProductionEnvironment() {
|
|
422
|
+
return getEnvironmentVariable("NODE_ENV") === "production";
|
|
423
|
+
}
|
|
421
424
|
|
|
422
425
|
// src/core/utils/logger/logger.ts
|
|
423
426
|
var cachedLogLevel;
|
|
427
|
+
var cachedLogFormat;
|
|
424
428
|
function resolveLogLevel(force = false) {
|
|
425
429
|
if (force || cachedLogLevel === void 0) {
|
|
426
430
|
cachedLogLevel = getDefaultLevel();
|
|
427
431
|
}
|
|
428
432
|
return cachedLogLevel;
|
|
429
433
|
}
|
|
430
|
-
|
|
431
|
-
|
|
434
|
+
function resolveLogFormat(force = false) {
|
|
435
|
+
if (force || cachedLogFormat === void 0) {
|
|
436
|
+
cachedLogFormat = getDefaultFormat();
|
|
437
|
+
}
|
|
438
|
+
return cachedLogFormat;
|
|
439
|
+
}
|
|
440
|
+
function getDefaultFormat() {
|
|
441
|
+
const envFormat = getEnvironmentVariable("LOG_FORMAT");
|
|
442
|
+
if (envFormat === "json" || envFormat === "text") {
|
|
443
|
+
return envFormat;
|
|
444
|
+
}
|
|
445
|
+
return isProductionEnvironment() ? "json" : "text";
|
|
446
|
+
}
|
|
447
|
+
function serializeError(err) {
|
|
448
|
+
if (err instanceof Error) {
|
|
449
|
+
return {
|
|
450
|
+
name: err.name,
|
|
451
|
+
message: err.message,
|
|
452
|
+
stack: err.stack
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
if (err !== void 0 && err !== null) {
|
|
456
|
+
return {
|
|
457
|
+
name: "UnknownError",
|
|
458
|
+
message: String(err)
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
return void 0;
|
|
462
|
+
}
|
|
463
|
+
function extractContext(args) {
|
|
464
|
+
let context;
|
|
465
|
+
let error;
|
|
466
|
+
for (const arg of args) {
|
|
467
|
+
if (arg instanceof Error) {
|
|
468
|
+
error = serializeError(arg);
|
|
469
|
+
} else if (typeof arg === "object" && arg !== null && !Array.isArray(arg)) {
|
|
470
|
+
context = { ...context, ...arg };
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
return { context, error };
|
|
474
|
+
}
|
|
475
|
+
var ConsoleLogger = class _ConsoleLogger {
|
|
476
|
+
constructor(prefix, level = resolveLogLevel(), format = resolveLogFormat(), boundContext) {
|
|
432
477
|
this.prefix = prefix;
|
|
433
478
|
this.level = level;
|
|
479
|
+
this.format = format;
|
|
480
|
+
if (boundContext) {
|
|
481
|
+
this.boundContext = boundContext;
|
|
482
|
+
}
|
|
434
483
|
}
|
|
484
|
+
boundContext = {};
|
|
435
485
|
setLevel(level) {
|
|
436
486
|
this.level = level;
|
|
437
487
|
}
|
|
438
488
|
getLevel() {
|
|
439
489
|
return this.level;
|
|
440
490
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
491
|
+
setFormat(format) {
|
|
492
|
+
this.format = format;
|
|
493
|
+
}
|
|
494
|
+
getFormat() {
|
|
495
|
+
return this.format;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Create a child logger with additional bound context.
|
|
499
|
+
*/
|
|
500
|
+
child(context) {
|
|
501
|
+
return new _ConsoleLogger(this.prefix, this.level, this.format, {
|
|
502
|
+
...this.boundContext,
|
|
503
|
+
...context
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
formatJson(level, message, args) {
|
|
507
|
+
const { context, error } = extractContext(args);
|
|
508
|
+
const entry = {
|
|
509
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
510
|
+
level,
|
|
511
|
+
service: this.prefix.toLowerCase(),
|
|
512
|
+
message
|
|
513
|
+
};
|
|
514
|
+
const mergedContext = { ...this.boundContext, ...context };
|
|
515
|
+
if (Object.keys(mergedContext).length > 0) {
|
|
516
|
+
if ("requestId" in mergedContext) {
|
|
517
|
+
entry.requestId = String(mergedContext.requestId);
|
|
518
|
+
delete mergedContext.requestId;
|
|
519
|
+
}
|
|
520
|
+
if ("traceId" in mergedContext) {
|
|
521
|
+
entry.traceId = String(mergedContext.traceId);
|
|
522
|
+
delete mergedContext.traceId;
|
|
523
|
+
}
|
|
524
|
+
if ("projectSlug" in mergedContext) {
|
|
525
|
+
entry.projectSlug = String(mergedContext.projectSlug);
|
|
526
|
+
delete mergedContext.projectSlug;
|
|
527
|
+
}
|
|
528
|
+
if ("durationMs" in mergedContext) {
|
|
529
|
+
entry.durationMs = Number(mergedContext.durationMs);
|
|
530
|
+
delete mergedContext.durationMs;
|
|
531
|
+
}
|
|
532
|
+
if (Object.keys(mergedContext).length > 0) {
|
|
533
|
+
entry.context = mergedContext;
|
|
534
|
+
}
|
|
444
535
|
}
|
|
536
|
+
if (error) {
|
|
537
|
+
entry.error = error;
|
|
538
|
+
}
|
|
539
|
+
return JSON.stringify(entry);
|
|
445
540
|
}
|
|
446
|
-
|
|
447
|
-
if (this.level
|
|
448
|
-
|
|
541
|
+
log(level, logLevel, consoleFn, message, args) {
|
|
542
|
+
if (this.level > logLevel)
|
|
543
|
+
return;
|
|
544
|
+
if (this.format === "json") {
|
|
545
|
+
consoleFn(this.formatJson(level, message, args));
|
|
546
|
+
} else {
|
|
547
|
+
const prefix = level === "info" ? "" : ` ${level.toUpperCase()}:`;
|
|
548
|
+
consoleFn(`[${this.prefix}]${prefix} ${message}`, ...args);
|
|
449
549
|
}
|
|
450
550
|
}
|
|
551
|
+
debug(message, ...args) {
|
|
552
|
+
this.log("debug", 0 /* DEBUG */, console.debug, message, args);
|
|
553
|
+
}
|
|
554
|
+
info(message, ...args) {
|
|
555
|
+
this.log("info", 1 /* INFO */, console.log, message, args);
|
|
556
|
+
}
|
|
451
557
|
warn(message, ...args) {
|
|
452
|
-
|
|
453
|
-
console.warn(`[${this.prefix}] WARN: ${message}`, ...args);
|
|
454
|
-
}
|
|
558
|
+
this.log("warn", 2 /* WARN */, console.warn, message, args);
|
|
455
559
|
}
|
|
456
560
|
error(message, ...args) {
|
|
457
|
-
|
|
458
|
-
console.error(`[${this.prefix}] ERROR: ${message}`, ...args);
|
|
459
|
-
}
|
|
561
|
+
this.log("error", 3 /* ERROR */, console.error, message, args);
|
|
460
562
|
}
|
|
461
563
|
async time(label, fn) {
|
|
462
564
|
const start = performance.now();
|
|
463
565
|
try {
|
|
464
566
|
const result = await fn();
|
|
465
|
-
const
|
|
466
|
-
this.debug(`${label} completed
|
|
567
|
+
const durationMs = performance.now() - start;
|
|
568
|
+
this.debug(`${label} completed`, { durationMs: Math.round(durationMs) });
|
|
467
569
|
return result;
|
|
468
570
|
} catch (error) {
|
|
469
|
-
const
|
|
470
|
-
this.error(`${label} failed
|
|
571
|
+
const durationMs = performance.now() - start;
|
|
572
|
+
this.error(`${label} failed`, { durationMs: Math.round(durationMs) }, error);
|
|
471
573
|
throw error;
|
|
472
574
|
}
|
|
473
575
|
}
|
|
@@ -510,6 +612,7 @@ var serverLogger = createLogger("SERVER");
|
|
|
510
612
|
var rendererLogger = createLogger("RENDERER");
|
|
511
613
|
var bundlerLogger = createLogger("BUNDLER");
|
|
512
614
|
var agentLogger = createLogger("AGENT");
|
|
615
|
+
var proxyLogger = createLogger("PROXY");
|
|
513
616
|
var logger = createLogger("VERYFRONT");
|
|
514
617
|
|
|
515
618
|
// src/core/utils/constants/cache.ts
|
|
@@ -537,7 +640,7 @@ var LRU_DEFAULT_MAX_SIZE_BYTES = 50 * 1024 * 1024;
|
|
|
537
640
|
// deno.json
|
|
538
641
|
var deno_default = {
|
|
539
642
|
name: "veryfront",
|
|
540
|
-
version: "0.0.
|
|
643
|
+
version: "0.0.75",
|
|
541
644
|
nodeModulesDir: "auto",
|
|
542
645
|
exclude: [
|
|
543
646
|
"npm/",
|
|
@@ -569,7 +672,11 @@ var deno_default = {
|
|
|
569
672
|
"./oauth": "./src/core/oauth/index.ts",
|
|
570
673
|
"./oauth/providers": "./src/core/oauth/providers/index.ts",
|
|
571
674
|
"./oauth/handlers": "./src/core/oauth/handlers/index.ts",
|
|
572
|
-
"./oauth/token-store": "./src/core/oauth/token-store/index.ts"
|
|
675
|
+
"./oauth/token-store": "./src/core/oauth/token-store/index.ts",
|
|
676
|
+
"./head": "./src/exports/head.ts",
|
|
677
|
+
"./router": "./src/exports/router.ts",
|
|
678
|
+
"./context": "./src/exports/context.ts",
|
|
679
|
+
"./fonts": "./src/exports/fonts.ts"
|
|
573
680
|
},
|
|
574
681
|
imports: {
|
|
575
682
|
"@veryfront": "./src/index.ts",
|
|
@@ -622,12 +729,12 @@ var deno_default = {
|
|
|
622
729
|
csstype: "https://esm.sh/csstype@3.2.3",
|
|
623
730
|
"@types/react": "https://esm.sh/@types/react@18.3.27?deps=csstype@3.2.3",
|
|
624
731
|
"@types/react-dom": "https://esm.sh/@types/react-dom@18.3.7?deps=csstype@3.2.3",
|
|
625
|
-
react: "
|
|
626
|
-
"react-dom": "
|
|
627
|
-
"react-dom/server": "
|
|
628
|
-
"react-dom/client": "
|
|
629
|
-
"react/jsx-runtime": "
|
|
630
|
-
"react/jsx-dev-runtime": "
|
|
732
|
+
react: "npm:react@18.3.1",
|
|
733
|
+
"react-dom": "npm:react-dom@18.3.1",
|
|
734
|
+
"react-dom/server": "npm:react-dom@18.3.1/server",
|
|
735
|
+
"react-dom/client": "npm:react-dom@18.3.1/client",
|
|
736
|
+
"react/jsx-runtime": "npm:react@18.3.1/jsx-runtime",
|
|
737
|
+
"react/jsx-dev-runtime": "npm:react@18.3.1/jsx-dev-runtime",
|
|
631
738
|
"@mdx-js/mdx": "npm:@mdx-js/mdx@3.0.0",
|
|
632
739
|
"@mdx-js/react": "npm:@mdx-js/react@3.0.0",
|
|
633
740
|
"unist-util-visit": "npm:unist-util-visit@5.0.0",
|
|
@@ -637,27 +744,36 @@ var deno_default = {
|
|
|
637
744
|
"remark-frontmatter": "npm:remark-frontmatter@5.0.0",
|
|
638
745
|
"rehype-highlight": "npm:rehype-highlight@7.0.2",
|
|
639
746
|
"rehype-slug": "npm:rehype-slug@6.0.0",
|
|
640
|
-
esbuild: "
|
|
641
|
-
"esbuild/mod.js": "
|
|
747
|
+
esbuild: "npm:esbuild@0.20.2",
|
|
748
|
+
"esbuild/mod.js": "npm:esbuild@0.20.2",
|
|
642
749
|
"es-module-lexer": "npm:es-module-lexer@1.5.0",
|
|
643
|
-
zod: "npm:zod@3.
|
|
750
|
+
zod: "npm:zod@3.25.76",
|
|
644
751
|
"mime-types": "npm:mime-types@2.1.35",
|
|
645
752
|
mdast: "npm:@types/mdast@4.0.3",
|
|
646
753
|
hast: "npm:@types/hast@3.0.3",
|
|
647
754
|
unist: "npm:@types/unist@3.0.2",
|
|
648
755
|
unified: "npm:unified@11.0.5",
|
|
649
|
-
ai: "
|
|
650
|
-
"ai/react": "
|
|
651
|
-
"@ai-sdk/react": "
|
|
756
|
+
ai: "npm:ai@5.0.76",
|
|
757
|
+
"ai/react": "npm:@ai-sdk/react@2.0.1",
|
|
758
|
+
"@ai-sdk/react": "npm:@ai-sdk/react@2.0.1",
|
|
652
759
|
"@ai-sdk/openai": "https://esm.sh/@ai-sdk/openai@2.0.1",
|
|
653
760
|
"@ai-sdk/anthropic": "https://esm.sh/@ai-sdk/anthropic@2.0.1",
|
|
654
761
|
unocss: "https://esm.sh/unocss@0.59.0",
|
|
655
762
|
"@unocss/core": "https://esm.sh/@unocss/core@0.59.0",
|
|
656
763
|
"@unocss/preset-wind": "https://esm.sh/@unocss/preset-wind@0.59.0",
|
|
764
|
+
"next-themes": "npm:next-themes@0.4",
|
|
657
765
|
redis: "npm:redis",
|
|
658
766
|
pg: "npm:pg",
|
|
659
767
|
"@opentelemetry/api": "npm:@opentelemetry/api@1",
|
|
660
|
-
"@opentelemetry/core": "npm:@opentelemetry/core@1"
|
|
768
|
+
"@opentelemetry/core": "npm:@opentelemetry/core@1",
|
|
769
|
+
"@opentelemetry/sdk-trace-base": "npm:@opentelemetry/sdk-trace-base@1",
|
|
770
|
+
"@opentelemetry/exporter-trace-otlp-http": "npm:@opentelemetry/exporter-trace-otlp-http@0.57",
|
|
771
|
+
"@opentelemetry/resources": "npm:@opentelemetry/resources@1",
|
|
772
|
+
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@1",
|
|
773
|
+
"@babel/parser": "npm:@babel/parser@7.26.3",
|
|
774
|
+
"@babel/traverse": "npm:@babel/traverse@7.26.3",
|
|
775
|
+
"@babel/generator": "npm:@babel/generator@7.26.3",
|
|
776
|
+
"@babel/types": "npm:@babel/types@7.26.3"
|
|
661
777
|
},
|
|
662
778
|
compilerOptions: {
|
|
663
779
|
jsx: "react-jsx",
|
|
@@ -665,7 +781,7 @@ var deno_default = {
|
|
|
665
781
|
strict: true,
|
|
666
782
|
noImplicitAny: true,
|
|
667
783
|
noUncheckedIndexedAccess: true,
|
|
668
|
-
types: [],
|
|
784
|
+
types: ["npm:@types/react@18"],
|
|
669
785
|
lib: [
|
|
670
786
|
"deno.window",
|
|
671
787
|
"dom",
|
|
@@ -680,9 +796,9 @@ var deno_default = {
|
|
|
680
796
|
build: "deno compile --allow-all --output ../../bin/veryfront src/cli/main.ts",
|
|
681
797
|
"build:npm": "deno run -A scripts/build-npm.ts",
|
|
682
798
|
release: "deno run -A scripts/release.ts",
|
|
683
|
-
test: "DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --unstable-worker-options --unstable-net",
|
|
684
|
-
"test:unit": "DENO_JOBS=1 deno test --parallel --allow-all --v8-flags=--max-old-space-size=8192 --ignore=tests --unstable-worker-options --unstable-net",
|
|
685
|
-
"test:integration": "DENO_JOBS=1 deno test --parallel --fail-fast --allow-all tests --unstable-worker-options --unstable-net",
|
|
799
|
+
test: "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --unstable-worker-options --unstable-net",
|
|
800
|
+
"test:unit": "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --allow-all --v8-flags=--max-old-space-size=8192 --ignore=tests,src/ai/workflow/__tests__ --unstable-worker-options --unstable-net",
|
|
801
|
+
"test:integration": "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --fail-fast --allow-all tests --unstable-worker-options --unstable-net",
|
|
686
802
|
"test:coverage": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage --unstable-worker-options --unstable-net || exit 1",
|
|
687
803
|
"test:coverage:unit": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage --ignore=tests --unstable-worker-options --unstable-net || exit 1",
|
|
688
804
|
"test:coverage:integration": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage tests --unstable-worker-options --unstable-net || exit 1",
|
|
@@ -763,6 +879,7 @@ function getEnv(key) {
|
|
|
763
879
|
|
|
764
880
|
// src/core/utils/version.ts
|
|
765
881
|
var VERSION = getEnv("VERYFRONT_VERSION") || (typeof deno_default.version === "string" ? deno_default.version : "0.0.0");
|
|
882
|
+
var SERVER_START_TIME = Date.now();
|
|
766
883
|
|
|
767
884
|
// src/core/utils/constants/http.ts
|
|
768
885
|
var KB_IN_BYTES = 1024;
|
|
@@ -960,6 +1077,9 @@ var InMemoryBundleManifestStore = class {
|
|
|
960
1077
|
};
|
|
961
1078
|
var manifestStore = new InMemoryBundleManifestStore();
|
|
962
1079
|
|
|
1080
|
+
// src/core/utils/perf-timer.ts
|
|
1081
|
+
var enabled = typeof process !== "undefined" ? process.env?.VERYFRONT_PERF === "1" : typeof Deno !== "undefined" ? Deno.env.get("VERYFRONT_PERF") === "1" : false;
|
|
1082
|
+
|
|
963
1083
|
// src/core/utils/lru-wrapper.ts
|
|
964
1084
|
var LRUCache = class {
|
|
965
1085
|
adapter;
|
|
@@ -989,6 +1109,9 @@ var LRUCache = class {
|
|
|
989
1109
|
this.adapter.cleanupExpired();
|
|
990
1110
|
}, this.cleanupIntervalMs);
|
|
991
1111
|
this.cleanupTimer = timer;
|
|
1112
|
+
if (typeof Deno !== "undefined" && "unrefTimer" in Deno) {
|
|
1113
|
+
Deno.unrefTimer(timer);
|
|
1114
|
+
}
|
|
992
1115
|
}
|
|
993
1116
|
toStringKey(key) {
|
|
994
1117
|
if (typeof key === "string") {
|