@vesk/vesk-cli 0.2.30 → 0.2.31
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/dist/cli.js +35 -2
- package/package.json +5 -5
package/dist/cli.js
CHANGED
|
@@ -1619,6 +1619,17 @@ function getInflight() {
|
|
|
1619
1619
|
g().__vsk_fetch_inflight = map;
|
|
1620
1620
|
return map;
|
|
1621
1621
|
}
|
|
1622
|
+
function getServerFailureCache() {
|
|
1623
|
+
const value = g().__vsk_ssr_failure_cache;
|
|
1624
|
+
if (value) return value;
|
|
1625
|
+
const map = /* @__PURE__ */ new Map();
|
|
1626
|
+
g().__vsk_ssr_failure_cache = map;
|
|
1627
|
+
return map;
|
|
1628
|
+
}
|
|
1629
|
+
function clearFailureCache(key) {
|
|
1630
|
+
if (!isServer()) return;
|
|
1631
|
+
g().__vsk_ssr_failure_cache?.delete(key);
|
|
1632
|
+
}
|
|
1622
1633
|
function getRegistry() {
|
|
1623
1634
|
const value = g().__vsk_fetch_registry;
|
|
1624
1635
|
if (value) return value;
|
|
@@ -1887,6 +1898,20 @@ function startRequest(handle2, skipCache) {
|
|
|
1887
1898
|
const key = handle2.key;
|
|
1888
1899
|
const options = handle2.options;
|
|
1889
1900
|
if (isServer()) {
|
|
1901
|
+
const failureTtl = options.failureTtl ?? DEFAULT_FAILURE_TTL;
|
|
1902
|
+
if (!skipCache && failureTtl > 0) {
|
|
1903
|
+
const failed = getServerFailureCache().get(key);
|
|
1904
|
+
if (failed && failed.ttl > 0 && Date.now() - failed.failedAt < failed.ttl) {
|
|
1905
|
+
getSsrFailures()?.set(key, failed.error);
|
|
1906
|
+
settleError(handle2, failed.error);
|
|
1907
|
+
const settled = handle2.settled.then(() => {
|
|
1908
|
+
throw failed.error;
|
|
1909
|
+
});
|
|
1910
|
+
settled.catch(() => {
|
|
1911
|
+
});
|
|
1912
|
+
return settled;
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1890
1915
|
const recorded = !skipCache ? getSsrFailures()?.get(key) : void 0;
|
|
1891
1916
|
if (recorded !== void 0) {
|
|
1892
1917
|
settleError(handle2, recorded);
|
|
@@ -1905,10 +1930,14 @@ function startRequest(handle2, skipCache) {
|
|
|
1905
1930
|
prom2.then(
|
|
1906
1931
|
(data2) => {
|
|
1907
1932
|
setSsrData(key, data2, startToken);
|
|
1933
|
+
clearFailureCache(key);
|
|
1908
1934
|
settle(handle2, data2);
|
|
1909
1935
|
},
|
|
1910
1936
|
(error) => {
|
|
1911
1937
|
getSsrFailures()?.set(key, error);
|
|
1938
|
+
if (isServer() && !isAbortError(error) && failureTtl > 0) {
|
|
1939
|
+
getServerFailureCache().set(key, { error, failedAt: Date.now(), ttl: failureTtl });
|
|
1940
|
+
}
|
|
1912
1941
|
settleError(handle2, error);
|
|
1913
1942
|
}
|
|
1914
1943
|
).finally(() => {
|
|
@@ -2056,7 +2085,10 @@ function createResource(fn, key, into, options = {}) {
|
|
|
2056
2085
|
}
|
|
2057
2086
|
const ssrData = getSsrData(resourceKey);
|
|
2058
2087
|
if (ssrData !== void 0) {
|
|
2059
|
-
if (isServer())
|
|
2088
|
+
if (isServer()) {
|
|
2089
|
+
setSsrData(resourceKey, ssrData);
|
|
2090
|
+
clearFailureCache(resourceKey);
|
|
2091
|
+
}
|
|
2060
2092
|
settle(handle2, ssrData);
|
|
2061
2093
|
writeCache(resourceKey, ssrData);
|
|
2062
2094
|
return accessor;
|
|
@@ -2081,7 +2113,7 @@ async function resolveSsrResources() {
|
|
|
2081
2113
|
delete g().__vsk_ssr_failures;
|
|
2082
2114
|
return data2;
|
|
2083
2115
|
}
|
|
2084
|
-
var HttpError, TimeoutError, g, isServer, ssrSink;
|
|
2116
|
+
var HttpError, TimeoutError, g, isServer, ssrSink, DEFAULT_FAILURE_TTL;
|
|
2085
2117
|
var init_resource = __esm({
|
|
2086
2118
|
"../runtime/src/resource.ts"() {
|
|
2087
2119
|
"use strict";
|
|
@@ -2106,6 +2138,7 @@ var init_resource = __esm({
|
|
|
2106
2138
|
g = () => globalThis;
|
|
2107
2139
|
isServer = () => !!g().__vsk_ssr;
|
|
2108
2140
|
ssrSink = null;
|
|
2141
|
+
DEFAULT_FAILURE_TTL = 1e4;
|
|
2109
2142
|
useFetch.text = (url, options) => useFetch(() => doFetch(resolveFetchUrl(url), buildRequestInit(options ?? {})).then((r) => r.text()), {
|
|
2110
2143
|
...options,
|
|
2111
2144
|
key: options?.key ?? url
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vesk/vesk-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.31",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Vesk — compiler-first framework for the post-VDOM web. vesk dev, vesk build.",
|
|
6
6
|
"bin": {
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/cli.js",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@vesk/adapter": "^0.2.
|
|
12
|
-
"@vesk/compiler": "^0.2.
|
|
13
|
-
"@vesk/plugin-tailwind": "^0.2.
|
|
14
|
-
"@vesk/runtime": "^0.2.
|
|
11
|
+
"@vesk/adapter": "^0.2.31",
|
|
12
|
+
"@vesk/compiler": "^0.2.31",
|
|
13
|
+
"@vesk/plugin-tailwind": "^0.2.31",
|
|
14
|
+
"@vesk/runtime": "^0.2.31",
|
|
15
15
|
"esrap": "^2.3.0",
|
|
16
16
|
"typescript": "^5.8.0",
|
|
17
17
|
"ws": "^8.18.0",
|