bun-plugin-stx 0.2.412 → 0.2.414
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/{chunk-anqecs1e.js → chunk-18kmm7vg.js} +10 -10
- package/dist/chunk-jmbnee6y.js +286 -0
- package/dist/{chunk-93ete56h.js → chunk-qcdy1k88.js} +1 -1
- package/dist/client.js +3 -5
- package/dist/index.js +16 -17
- package/dist/preload.js +1 -2
- package/dist/serve.js +100 -104
- package/package.json +3 -3
- package/dist/chunk-2mx7fq49.js +0 -4
- package/dist/chunk-g7br5ehx.js +0 -4292
package/dist/serve.js
CHANGED
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
// @bun
|
|
3
3
|
import {
|
|
4
4
|
extractLayoutMetadata
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
__require
|
|
8
|
-
} from "./chunk-2mx7fq49.js";
|
|
5
|
+
} from "./chunk-qcdy1k88.js";
|
|
9
6
|
|
|
10
7
|
// src/serve.ts
|
|
11
8
|
var {serve: bunServe, Glob } = globalThis.Bun;
|
|
@@ -4310,8 +4307,8 @@ class ConfigFileLoader {
|
|
|
4310
4307
|
}
|
|
4311
4308
|
if (filePath.endsWith(".json")) {
|
|
4312
4309
|
try {
|
|
4313
|
-
const { readFileSync
|
|
4314
|
-
const content =
|
|
4310
|
+
const { readFileSync } = await import("fs");
|
|
4311
|
+
const content = readFileSync(filePath, "utf8");
|
|
4315
4312
|
JSON.parse(content);
|
|
4316
4313
|
} catch (jsonError) {
|
|
4317
4314
|
errors.push(`Invalid JSON syntax: ${jsonError}`);
|
|
@@ -4348,7 +4345,6 @@ class ConfigFileLoader {
|
|
|
4348
4345
|
return preloaded;
|
|
4349
4346
|
}
|
|
4350
4347
|
}
|
|
4351
|
-
|
|
4352
4348
|
class ConfigValidator {
|
|
4353
4349
|
async validateConfiguration(config3, schema, options = {}) {
|
|
4354
4350
|
const {
|
|
@@ -6065,7 +6061,7 @@ class Logger3 {
|
|
|
6065
6061
|
const errorMessage = typeof error.message === "string" ? error.message : "Unknown error";
|
|
6066
6062
|
console.error(`Network error during write attempt ${retries + 1}/${maxRetries}:`, errorMessage);
|
|
6067
6063
|
const delay = backoffDelay * 2 ** retries;
|
|
6068
|
-
await new Promise((
|
|
6064
|
+
await new Promise((resolve10) => setTimeout(resolve10, delay));
|
|
6069
6065
|
retries++;
|
|
6070
6066
|
continue;
|
|
6071
6067
|
}
|
|
@@ -6093,7 +6089,7 @@ class Logger3 {
|
|
|
6093
6089
|
}
|
|
6094
6090
|
retries++;
|
|
6095
6091
|
const delay = backoffDelay * 2 ** (retries - 1);
|
|
6096
|
-
await new Promise((
|
|
6092
|
+
await new Promise((resolve10) => setTimeout(resolve10, delay));
|
|
6097
6093
|
}
|
|
6098
6094
|
}
|
|
6099
6095
|
})();
|
|
@@ -6223,11 +6219,11 @@ class Logger3 {
|
|
|
6223
6219
|
};
|
|
6224
6220
|
}
|
|
6225
6221
|
async compressData(data) {
|
|
6226
|
-
return new Promise((
|
|
6222
|
+
return new Promise((resolve10, reject) => {
|
|
6227
6223
|
const gzip = createGzip3();
|
|
6228
6224
|
const chunks = [];
|
|
6229
6225
|
gzip.on("data", (chunk2) => chunks.push(chunk2));
|
|
6230
|
-
gzip.on("end", () =>
|
|
6226
|
+
gzip.on("end", () => resolve10(Buffer3.from(Buffer3.concat(chunks))));
|
|
6231
6227
|
gzip.on("error", reject);
|
|
6232
6228
|
gzip.write(data);
|
|
6233
6229
|
gzip.end();
|
|
@@ -6916,7 +6912,7 @@ class Logger3 {
|
|
|
6916
6912
|
if (isBrowserProcess3()) {
|
|
6917
6913
|
return Promise.resolve(true);
|
|
6918
6914
|
}
|
|
6919
|
-
return new Promise((
|
|
6915
|
+
return new Promise((resolve10) => {
|
|
6920
6916
|
console.error(`${styles3.cyan("?")} ${message} (y/n) `);
|
|
6921
6917
|
const onData = (data) => {
|
|
6922
6918
|
const input = data.toString().trim().toLowerCase();
|
|
@@ -6928,7 +6924,7 @@ class Logger3 {
|
|
|
6928
6924
|
} catch {}
|
|
6929
6925
|
process17.stdin.pause();
|
|
6930
6926
|
console.error("");
|
|
6931
|
-
|
|
6927
|
+
resolve10(input === "y" || input === "yes");
|
|
6932
6928
|
};
|
|
6933
6929
|
try {
|
|
6934
6930
|
if (typeof process17.stdin.setRawMode === "function") {
|
|
@@ -7287,7 +7283,7 @@ async function withErrorRecovery2(fn, options = {}) {
|
|
|
7287
7283
|
break;
|
|
7288
7284
|
}
|
|
7289
7285
|
if (retryDelay > 0) {
|
|
7290
|
-
await new Promise((
|
|
7286
|
+
await new Promise((resolve10) => setTimeout(resolve10, retryDelay));
|
|
7291
7287
|
}
|
|
7292
7288
|
}
|
|
7293
7289
|
}
|
|
@@ -7812,8 +7808,8 @@ class ConfigFileLoader2 {
|
|
|
7812
7808
|
}
|
|
7813
7809
|
} else {
|
|
7814
7810
|
try {
|
|
7815
|
-
const { readdirSync:
|
|
7816
|
-
const files =
|
|
7811
|
+
const { readdirSync: readdirSync4 } = await import("fs");
|
|
7812
|
+
const files = readdirSync4(directory);
|
|
7817
7813
|
for (const file of files) {
|
|
7818
7814
|
if (this.looksLikeConfigFile(file)) {
|
|
7819
7815
|
const filePath = resolve10(directory, file);
|
|
@@ -7854,8 +7850,8 @@ class ConfigFileLoader2 {
|
|
|
7854
7850
|
}
|
|
7855
7851
|
if (filePath.endsWith(".json")) {
|
|
7856
7852
|
try {
|
|
7857
|
-
const { readFileSync
|
|
7858
|
-
const content =
|
|
7853
|
+
const { readFileSync } = await import("fs");
|
|
7854
|
+
const content = readFileSync(filePath, "utf8");
|
|
7859
7855
|
JSON.parse(content);
|
|
7860
7856
|
} catch (jsonError) {
|
|
7861
7857
|
errors.push(`Invalid JSON syntax: ${jsonError}`);
|
|
@@ -9326,7 +9322,7 @@ async function bundleBrowserAsset(entrypoint) {
|
|
|
9326
9322
|
target: "browser"
|
|
9327
9323
|
});
|
|
9328
9324
|
if (!result.success) {
|
|
9329
|
-
const message = result.logs.map((
|
|
9325
|
+
const message = result.logs.map((log) => log.message).join(`
|
|
9330
9326
|
`) || "Unable to build TypeScript asset";
|
|
9331
9327
|
return new Response(message, {
|
|
9332
9328
|
status: 500,
|
|
@@ -9354,8 +9350,8 @@ async function settleWithin(promise, ms) {
|
|
|
9354
9350
|
try {
|
|
9355
9351
|
return await Promise.race([
|
|
9356
9352
|
settled,
|
|
9357
|
-
new Promise((
|
|
9358
|
-
timer = setTimeout(
|
|
9353
|
+
new Promise((resolve) => {
|
|
9354
|
+
timer = setTimeout(resolve, ms, false);
|
|
9359
9355
|
})
|
|
9360
9356
|
]);
|
|
9361
9357
|
} finally {
|
|
@@ -9406,8 +9402,8 @@ async function serve(options) {
|
|
|
9406
9402
|
if (domainRoutes.length)
|
|
9407
9403
|
console.log(`[stx] domain routes: ${describeDomainRoutes(domainRoutes)}`);
|
|
9408
9404
|
let markPlaceholdersReady = () => {};
|
|
9409
|
-
const placeholdersReady = new Promise((
|
|
9410
|
-
markPlaceholdersReady =
|
|
9405
|
+
const placeholdersReady = new Promise((resolve) => {
|
|
9406
|
+
markPlaceholdersReady = resolve;
|
|
9411
9407
|
});
|
|
9412
9408
|
let placeholdersAreReady = false;
|
|
9413
9409
|
const imageWarmupSetting = options.imageWarmup ?? stxConfig.imageWarmup ?? "auto";
|
|
@@ -9416,12 +9412,12 @@ async function serve(options) {
|
|
|
9416
9412
|
function awaitImageWarmup() {
|
|
9417
9413
|
if (placeholdersAreReady || imageWarmupGraceMs === 0)
|
|
9418
9414
|
return;
|
|
9419
|
-
return new Promise((
|
|
9420
|
-
const timer = setTimeout(
|
|
9415
|
+
return new Promise((resolve) => {
|
|
9416
|
+
const timer = setTimeout(resolve, imageWarmupGraceMs);
|
|
9421
9417
|
timer.unref?.();
|
|
9422
9418
|
placeholdersReady.then(() => {
|
|
9423
9419
|
clearTimeout(timer);
|
|
9424
|
-
|
|
9420
|
+
resolve();
|
|
9425
9421
|
});
|
|
9426
9422
|
});
|
|
9427
9423
|
}
|
|
@@ -9897,8 +9893,8 @@ function __stxOverlay(errs){
|
|
|
9897
9893
|
const supportedExtensions = [".stx", ".md", ".html"];
|
|
9898
9894
|
for (const pattern of patterns) {
|
|
9899
9895
|
try {
|
|
9900
|
-
const
|
|
9901
|
-
if (
|
|
9896
|
+
const stat = await nodeFs.stat(pattern).catch(() => null);
|
|
9897
|
+
if (stat?.isDirectory()) {
|
|
9902
9898
|
startWatcher(pattern);
|
|
9903
9899
|
const excludeDirs = ["layouts", "components", "partials"];
|
|
9904
9900
|
if (layoutsDir)
|
|
@@ -9929,7 +9925,7 @@ function __stxOverlay(errs){
|
|
|
9929
9925
|
rebuildDiscoveredPagePaths(kept);
|
|
9930
9926
|
await indexPageMiddleware(kept);
|
|
9931
9927
|
try {
|
|
9932
|
-
const { Router } = await import("./chunk-
|
|
9928
|
+
const { Router } = await import("./chunk-jmbnee6y.js");
|
|
9933
9929
|
const pagesDirs = patterns.map((p) => p.replace(/\/$/, "")).filter(Boolean);
|
|
9934
9930
|
const router = new Router(process19.cwd(), { pagesDirs, stateDir: stateDirName(), exclude: options.exclude });
|
|
9935
9931
|
if (!options.quiet)
|
|
@@ -9953,8 +9949,8 @@ function __stxOverlay(errs){
|
|
|
9953
9949
|
}
|
|
9954
9950
|
async function templateSignatureFresh(sig) {
|
|
9955
9951
|
for (const [p, expected] of sig) {
|
|
9956
|
-
const
|
|
9957
|
-
if (!
|
|
9952
|
+
const stat = await nodeFs.stat(p).catch(() => null);
|
|
9953
|
+
if (!stat || stat.mtimeMs !== expected)
|
|
9958
9954
|
return false;
|
|
9959
9955
|
}
|
|
9960
9956
|
return true;
|
|
@@ -9964,9 +9960,9 @@ function __stxOverlay(errs){
|
|
|
9964
9960
|
const allPaths = [filePath, ...deps];
|
|
9965
9961
|
const stats = await Promise.all(allPaths.map((p) => nodeFs.stat(p).catch(() => null)));
|
|
9966
9962
|
for (let i = 0;i < allPaths.length; i++) {
|
|
9967
|
-
const
|
|
9968
|
-
if (
|
|
9969
|
-
sig.set(allPaths[i],
|
|
9963
|
+
const stat = stats[i];
|
|
9964
|
+
if (stat)
|
|
9965
|
+
sig.set(allPaths[i], stat.mtimeMs);
|
|
9970
9966
|
}
|
|
9971
9967
|
return sig;
|
|
9972
9968
|
}
|
|
@@ -10158,7 +10154,7 @@ function __stxOverlay(errs){
|
|
|
10158
10154
|
__stx_options: stxConfig,
|
|
10159
10155
|
__stx_runtime_head: {}
|
|
10160
10156
|
};
|
|
10161
|
-
const { processDirectives, extractVariables, defaultConfig
|
|
10157
|
+
const { processDirectives, extractVariables, defaultConfig, generateSpaShell, injectRouterScript } = await stxModule;
|
|
10162
10158
|
injectServeLocaleContext(context);
|
|
10163
10159
|
injectServeRequestContext(context, reqCtx);
|
|
10164
10160
|
context.params = reqCtx?.params ?? {};
|
|
@@ -10167,8 +10163,8 @@ function __stxOverlay(errs){
|
|
|
10167
10163
|
}
|
|
10168
10164
|
await runPageAction(context, reqCtx);
|
|
10169
10165
|
context.__stx_head_preset = true;
|
|
10170
|
-
const
|
|
10171
|
-
...
|
|
10166
|
+
const config = {
|
|
10167
|
+
...defaultConfig,
|
|
10172
10168
|
root: process19.cwd(),
|
|
10173
10169
|
...componentsDir && { componentsDir },
|
|
10174
10170
|
...layoutsDir && { layoutsDir },
|
|
@@ -10193,7 +10189,7 @@ function __stxOverlay(errs){
|
|
|
10193
10189
|
..."_pluginComponentDirs" in stxConfig && { _pluginComponentDirs: stxConfig._pluginComponentDirs },
|
|
10194
10190
|
..."_pluginPageDirs" in stxConfig && { _pluginPageDirs: stxConfig._pluginPageDirs }
|
|
10195
10191
|
};
|
|
10196
|
-
if (
|
|
10192
|
+
if (config.ssr === false || stxConfig.ssr === false) {
|
|
10197
10193
|
return generateSpaShell({
|
|
10198
10194
|
template: templateContent,
|
|
10199
10195
|
context,
|
|
@@ -10202,7 +10198,7 @@ function __stxOverlay(errs){
|
|
|
10202
10198
|
}
|
|
10203
10199
|
let output = templateContent;
|
|
10204
10200
|
const dependencies = new Set;
|
|
10205
|
-
output = await processDirectives(output, context, filePath,
|
|
10201
|
+
output = await processDirectives(output, context, filePath, config, dependencies);
|
|
10206
10202
|
applyRecordedResponse(context, reqCtx);
|
|
10207
10203
|
output = await injectRouterScript(output, getRouterInjectOptions());
|
|
10208
10204
|
const directiveTemplateRe = REACTIVE_TEMPLATE_DIRECTIVE_RE;
|
|
@@ -10361,7 +10357,7 @@ function __stxOverlay(errs){
|
|
|
10361
10357
|
context[name] = paramsObj[name];
|
|
10362
10358
|
}
|
|
10363
10359
|
context.params = paramsObj;
|
|
10364
|
-
const { processDirectives, extractVariables, defaultConfig
|
|
10360
|
+
const { processDirectives, extractVariables, defaultConfig, injectRouterScript: injectRouter } = await stxModule;
|
|
10365
10361
|
injectServeLocaleContext(context);
|
|
10366
10362
|
injectServeRequestContext(context, reqCtx);
|
|
10367
10363
|
context.__stx_options = stxConfig;
|
|
@@ -10369,8 +10365,8 @@ function __stxOverlay(errs){
|
|
|
10369
10365
|
await extractVariables(scriptBody, context, filePath);
|
|
10370
10366
|
}
|
|
10371
10367
|
context.__stx_head_preset = true;
|
|
10372
|
-
const
|
|
10373
|
-
...
|
|
10368
|
+
const config = {
|
|
10369
|
+
...defaultConfig,
|
|
10374
10370
|
root: process19.cwd(),
|
|
10375
10371
|
...componentsDir && { componentsDir },
|
|
10376
10372
|
...layoutsDir && { layoutsDir },
|
|
@@ -10397,7 +10393,7 @@ function __stxOverlay(errs){
|
|
|
10397
10393
|
};
|
|
10398
10394
|
let output = templateContent;
|
|
10399
10395
|
const dependencies = new Set;
|
|
10400
|
-
output = await processDirectives(output, context, filePath,
|
|
10396
|
+
output = await processDirectives(output, context, filePath, config, dependencies);
|
|
10401
10397
|
applyRecordedResponse(context, reqCtx);
|
|
10402
10398
|
if (paramNames.length > 0) {
|
|
10403
10399
|
const serializedParams = cacheShell ? ROUTE_PARAMS_PLACEHOLDER : serializeRouteParams(paramsObj);
|
|
@@ -10727,8 +10723,8 @@ ${block}`;
|
|
|
10727
10723
|
const moduleBundle = path.match(MODULE_BUNDLE_PATH);
|
|
10728
10724
|
if (moduleBundle) {
|
|
10729
10725
|
const stx = await stxModule;
|
|
10730
|
-
const
|
|
10731
|
-
if (
|
|
10726
|
+
const content = stx.getServeModuleBundle(moduleBundle[1]);
|
|
10727
|
+
if (content === undefined)
|
|
10732
10728
|
return new Response("/* stx: unknown module bundle */", { status: 404, headers: { "Content-Type": "application/javascript; charset=utf-8", "Cache-Control": "no-store", ...corsHeaders } });
|
|
10733
10729
|
const etag = `"${moduleBundle[1]}"`;
|
|
10734
10730
|
const headers = {
|
|
@@ -10741,13 +10737,13 @@ ${block}`;
|
|
|
10741
10737
|
return new Response(null, { status: 304, headers });
|
|
10742
10738
|
if (req.method === "HEAD")
|
|
10743
10739
|
return new Response(null, { headers });
|
|
10744
|
-
return new Response(
|
|
10740
|
+
return new Response(content, { headers });
|
|
10745
10741
|
}
|
|
10746
10742
|
const sharedScript = path.match(SHARED_SCRIPT_PATH);
|
|
10747
10743
|
if (sharedScript) {
|
|
10748
10744
|
const stx = await stxModule;
|
|
10749
10745
|
const asset = await stx.getServeClientAsset(sharedScript[1], sharedScript[1] === "runtime" && stxConfig.debug === true);
|
|
10750
|
-
const
|
|
10746
|
+
const content = asset.content;
|
|
10751
10747
|
const etag = `"${asset.hash}"`;
|
|
10752
10748
|
const headers = {
|
|
10753
10749
|
"Content-Type": "application/javascript; charset=utf-8",
|
|
@@ -10759,7 +10755,7 @@ ${block}`;
|
|
|
10759
10755
|
return new Response(null, { status: 304, headers });
|
|
10760
10756
|
if (req.method === "HEAD")
|
|
10761
10757
|
return new Response(null, { headers });
|
|
10762
|
-
return new Response(
|
|
10758
|
+
return new Response(content, { headers });
|
|
10763
10759
|
}
|
|
10764
10760
|
if ((req.method === "GET" || req.method === "HEAD") && path.startsWith("/_stx/images/")) {
|
|
10765
10761
|
let decodedPath;
|
|
@@ -10776,8 +10772,8 @@ ${block}`;
|
|
|
10776
10772
|
try {
|
|
10777
10773
|
const file = Bun.file(resolvedPath);
|
|
10778
10774
|
if (await file.exists()) {
|
|
10779
|
-
const
|
|
10780
|
-
if (
|
|
10775
|
+
const stat = await file.stat().catch(() => null);
|
|
10776
|
+
if (stat && !stat.isDirectory()) {
|
|
10781
10777
|
const headers = {
|
|
10782
10778
|
"Content-Type": staticContentType(resolvedPath),
|
|
10783
10779
|
"Cache-Control": "public, max-age=31536000, immutable",
|
|
@@ -10814,8 +10810,8 @@ ${block}`;
|
|
|
10814
10810
|
const cssAsset = path.match(/^\/_stx\/css\.([a-f0-9]{16})\.css$/);
|
|
10815
10811
|
if (cssAsset) {
|
|
10816
10812
|
const stx = await stxModule;
|
|
10817
|
-
const
|
|
10818
|
-
if (
|
|
10813
|
+
const content = stx.getCssServeAsset(cssAsset[1]);
|
|
10814
|
+
if (content === undefined)
|
|
10819
10815
|
return new Response("Css asset not found", { status: 404 });
|
|
10820
10816
|
const headers = {
|
|
10821
10817
|
"Content-Type": "text/css; charset=utf-8",
|
|
@@ -10824,7 +10820,7 @@ ${block}`;
|
|
|
10824
10820
|
};
|
|
10825
10821
|
if (req.method === "HEAD")
|
|
10826
10822
|
return new Response(null, { headers });
|
|
10827
|
-
return new Response(
|
|
10823
|
+
return new Response(content, { headers });
|
|
10828
10824
|
}
|
|
10829
10825
|
if (options.onRequest) {
|
|
10830
10826
|
const hookResult = await options.onRequest(req, server);
|
|
@@ -10873,10 +10869,10 @@ ${block}`;
|
|
|
10873
10869
|
const componentName = decodeURIComponent(path.slice("/_stx/component/".length));
|
|
10874
10870
|
if (componentName) {
|
|
10875
10871
|
try {
|
|
10876
|
-
const { processDirectives, defaultConfig
|
|
10872
|
+
const { processDirectives, defaultConfig } = await stxModule;
|
|
10877
10873
|
const componentTemplate = `<${componentName} />`;
|
|
10878
10874
|
const componentOpts = {
|
|
10879
|
-
...
|
|
10875
|
+
...defaultConfig,
|
|
10880
10876
|
...componentsDir && { componentsDir },
|
|
10881
10877
|
...layoutsDir && { layoutsDir },
|
|
10882
10878
|
...fallbackLayoutsDir && { fallbackLayoutsDir },
|
|
@@ -11132,8 +11128,8 @@ ${trailingPageScripts.join(`
|
|
|
11132
11128
|
try {
|
|
11133
11129
|
const errorPage = usableErrorPage(await getRoute(custom500, reqCtx));
|
|
11134
11130
|
if (errorPage) {
|
|
11135
|
-
const
|
|
11136
|
-
return new Response(
|
|
11131
|
+
const isProd = isProductionServe();
|
|
11132
|
+
return new Response(isProd ? errorPage : injectHmrClient(errorPage), {
|
|
11137
11133
|
status: 500,
|
|
11138
11134
|
headers: {
|
|
11139
11135
|
"Content-Type": "text/html; charset=utf-8",
|
|
@@ -11233,8 +11229,8 @@ ${trailingPageScripts.join(`
|
|
|
11233
11229
|
try {
|
|
11234
11230
|
const file = Bun.file(resolvedPath);
|
|
11235
11231
|
if (await file.exists()) {
|
|
11236
|
-
const
|
|
11237
|
-
if (
|
|
11232
|
+
const stat = await file.stat().catch(() => null);
|
|
11233
|
+
if (stat && !stat.isDirectory()) {
|
|
11238
11234
|
return new Response(file, {
|
|
11239
11235
|
headers: {
|
|
11240
11236
|
"Content-Type": staticContentType(resolvedPath),
|
|
@@ -11275,11 +11271,11 @@ ${trailingPageScripts.join(`
|
|
|
11275
11271
|
break;
|
|
11276
11272
|
}
|
|
11277
11273
|
}
|
|
11278
|
-
let
|
|
11279
|
-
if (
|
|
11280
|
-
|
|
11274
|
+
let route = normalizedPath.replace(/\.(stx|md|html)$/, "");
|
|
11275
|
+
if (route.startsWith("pages/")) {
|
|
11276
|
+
route = route.slice(6);
|
|
11281
11277
|
}
|
|
11282
|
-
availableRoutes.push(
|
|
11278
|
+
availableRoutes.push(route);
|
|
11283
11279
|
}
|
|
11284
11280
|
}
|
|
11285
11281
|
const notFoundHtml = render404Page({ path, routes: availableRoutes, isProduction: isProd });
|
|
@@ -11428,14 +11424,14 @@ function usesComponent(source, name) {
|
|
|
11428
11424
|
return new RegExp(`<(?:${spellings})[\\s/>]|@component\\(\\s*['"](?:${spellings})['"]`).test(source);
|
|
11429
11425
|
}
|
|
11430
11426
|
async function projectUsesImageBuiltins(root) {
|
|
11431
|
-
const { readdir
|
|
11427
|
+
const { readdir, readFile } = await import("fs/promises");
|
|
11432
11428
|
const templates = [];
|
|
11433
11429
|
const pending = [root];
|
|
11434
11430
|
while (pending.length > 0) {
|
|
11435
11431
|
const dir = pending.pop();
|
|
11436
11432
|
let entries;
|
|
11437
11433
|
try {
|
|
11438
|
-
entries = await
|
|
11434
|
+
entries = await readdir(dir, { withFileTypes: true });
|
|
11439
11435
|
} catch {
|
|
11440
11436
|
continue;
|
|
11441
11437
|
}
|
|
@@ -11487,44 +11483,44 @@ async function projectUsesImageBuiltins(root) {
|
|
|
11487
11483
|
return false;
|
|
11488
11484
|
}
|
|
11489
11485
|
export {
|
|
11490
|
-
|
|
11491
|
-
staticContentType,
|
|
11492
|
-
staticCacheControl,
|
|
11493
|
-
sharedScriptCacheControl,
|
|
11494
|
-
settleWithin,
|
|
11495
|
-
serverScriptsReadParams,
|
|
11496
|
-
serve,
|
|
11497
|
-
serializeRouteParams,
|
|
11498
|
-
routeSpecificity,
|
|
11499
|
-
responseTakesCsrfCookie,
|
|
11500
|
-
resolveServeOpenUrl,
|
|
11501
|
-
resolveImageWarmupBindBudget,
|
|
11502
|
-
resolveDomainRoute,
|
|
11503
|
-
resolveDomainElsewhere,
|
|
11504
|
-
requestHost,
|
|
11505
|
-
render404Page,
|
|
11506
|
-
publicFileExists,
|
|
11507
|
-
projectUsesImageBuiltins,
|
|
11508
|
-
pageRootOf,
|
|
11509
|
-
pageExcluder,
|
|
11510
|
-
orderDynamicRouteFiles,
|
|
11511
|
-
matchDomain,
|
|
11512
|
-
isStaticAssetPath,
|
|
11513
|
-
isRenderableCacheCandidate,
|
|
11514
|
-
isRenderFailure,
|
|
11515
|
-
isProductionServe,
|
|
11516
|
-
fillRouteParams,
|
|
11517
|
-
extractServerScriptsFromTemplate,
|
|
11518
|
-
describeDomainRoutes,
|
|
11519
|
-
csrfTokenToMint,
|
|
11520
|
-
csrfCookieHeader,
|
|
11521
|
-
compileDomainRoutes,
|
|
11522
|
-
bundleBrowserAsset,
|
|
11523
|
-
buildDynamicRouteRegexes,
|
|
11524
|
-
boundedCache,
|
|
11525
|
-
SHARED_SCRIPT_PATH,
|
|
11526
|
-
ROUTE_PARAMS_PLACEHOLDER,
|
|
11527
|
-
MODULE_BUNDLE_PATH,
|
|
11486
|
+
CSRF_COOKIE,
|
|
11528
11487
|
DEFAULT_IMAGE_WARMUP_BIND_BUDGET_MS,
|
|
11529
|
-
|
|
11488
|
+
MODULE_BUNDLE_PATH,
|
|
11489
|
+
ROUTE_PARAMS_PLACEHOLDER,
|
|
11490
|
+
SHARED_SCRIPT_PATH,
|
|
11491
|
+
boundedCache,
|
|
11492
|
+
buildDynamicRouteRegexes,
|
|
11493
|
+
bundleBrowserAsset,
|
|
11494
|
+
compileDomainRoutes,
|
|
11495
|
+
csrfCookieHeader,
|
|
11496
|
+
csrfTokenToMint,
|
|
11497
|
+
describeDomainRoutes,
|
|
11498
|
+
extractServerScriptsFromTemplate,
|
|
11499
|
+
fillRouteParams,
|
|
11500
|
+
isProductionServe,
|
|
11501
|
+
isRenderFailure,
|
|
11502
|
+
isRenderableCacheCandidate,
|
|
11503
|
+
isStaticAssetPath,
|
|
11504
|
+
matchDomain,
|
|
11505
|
+
orderDynamicRouteFiles,
|
|
11506
|
+
pageExcluder,
|
|
11507
|
+
pageRootOf,
|
|
11508
|
+
projectUsesImageBuiltins,
|
|
11509
|
+
publicFileExists,
|
|
11510
|
+
render404Page,
|
|
11511
|
+
requestHost,
|
|
11512
|
+
resolveDomainElsewhere,
|
|
11513
|
+
resolveDomainRoute,
|
|
11514
|
+
resolveImageWarmupBindBudget,
|
|
11515
|
+
resolveServeOpenUrl,
|
|
11516
|
+
responseTakesCsrfCookie,
|
|
11517
|
+
routeSpecificity,
|
|
11518
|
+
serializeRouteParams,
|
|
11519
|
+
serve,
|
|
11520
|
+
serverScriptsReadParams,
|
|
11521
|
+
settleWithin,
|
|
11522
|
+
sharedScriptCacheControl,
|
|
11523
|
+
staticCacheControl,
|
|
11524
|
+
staticContentType,
|
|
11525
|
+
usableErrorPage
|
|
11530
11526
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bun-plugin-stx",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.414",
|
|
5
5
|
"description": "A Bun plugin that allows for using Laravel Blade-like syntax.",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typecheck": "bun tsc --noEmit"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@stacksjs/stx": "0.2.
|
|
78
|
-
"stx-router": "0.2.
|
|
77
|
+
"@stacksjs/stx": "0.2.414",
|
|
78
|
+
"stx-router": "0.2.414"
|
|
79
79
|
}
|
|
80
80
|
}
|
package/dist/chunk-2mx7fq49.js
DELETED