@absolutejs/absolute 0.20.0-beta.126 → 0.20.0-beta.128
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/CHANGELOG.md +18 -0
- package/README.md +19 -0
- package/changelog.json +36 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +88 -35
- package/dist/angular/index.js.map +8 -7
- package/dist/angular/server.js +88 -35
- package/dist/angular/server.js.map +8 -7
- package/dist/build/buildWorker.js +9 -3
- package/dist/build.js +342 -263
- package/dist/build.js.map +14 -12
- package/dist/cli/{compile-smcnjyhb.js → compile-0epdbdcx.js} +1 -1
- package/dist/cli/config/server.js +91 -52
- package/dist/cli/{index-9q8yn5ax.js → index-54q7pxcx.js} +1 -0
- package/dist/cli/{index-fx42yxhy.js → index-79ppyst7.js} +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/{mobile-50c5tahh.js → mobile-49hyrgrj.js} +1 -1
- package/dist/cli/{prerender-vvrj9vjg.js → prerender-yex2zwj3.js} +1 -1
- package/dist/cli/{start-pdacfgcc.js → start-m0p0qbep.js} +1 -1
- package/dist/index.js +362 -279
- package/dist/index.js.map +17 -14
- package/dist/islands/index.js +10 -4
- package/dist/islands/index.js.map +5 -4
- package/dist/mobile/remoteMacAgentEntry.js +1 -1
- package/dist/react/index.js +114 -61
- package/dist/react/index.js.map +8 -7
- package/dist/react/server.js +105 -58
- package/dist/react/server.js.map +6 -6
- package/dist/src/core/requestContext.d.ts +5 -10
- package/dist/src/dev/restartScope.d.ts +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/isFile.d.ts +4 -0
- package/dist/src/utils/isPrerendering.d.ts +5 -0
- package/dist/src/utils/ssrErrorPage.d.ts +3 -0
- package/dist/svelte/index.js +114 -61
- package/dist/svelte/index.js.map +8 -7
- package/dist/svelte/server.js +105 -58
- package/dist/svelte/server.js.map +6 -6
- package/dist/vue/index.js +114 -61
- package/dist/vue/index.js.map +8 -7
- package/dist/vue/server.js +105 -58
- package/dist/vue/server.js.map +6 -6
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -5944,7 +5944,96 @@ var init_compileTailwind = __esm(() => {
|
|
|
5944
5944
|
// src/utils/runtimeMode.ts
|
|
5945
5945
|
var ENV_VAR = "NODE_ENV", isDevelopmentRuntime = () => process.env[ENV_VAR] === "development", isProductionRuntime = () => process.env[ENV_VAR] === "production";
|
|
5946
5946
|
|
|
5947
|
+
// src/utils/ssrErrorPage.ts
|
|
5948
|
+
var exports_ssrErrorPage = {};
|
|
5949
|
+
__export(exports_ssrErrorPage, {
|
|
5950
|
+
buildErrorPage: () => buildErrorPage,
|
|
5951
|
+
ssrErrorPage: () => ssrErrorPage
|
|
5952
|
+
});
|
|
5953
|
+
var errorPageHtml = ({
|
|
5954
|
+
framework,
|
|
5955
|
+
hint,
|
|
5956
|
+
kind,
|
|
5957
|
+
message,
|
|
5958
|
+
script = ""
|
|
5959
|
+
}) => {
|
|
5960
|
+
const frameworkColors = {
|
|
5961
|
+
angular: "#dd0031",
|
|
5962
|
+
html: "#e34c26",
|
|
5963
|
+
htmx: "#1a365d",
|
|
5964
|
+
react: "#61dafb",
|
|
5965
|
+
svelte: "#ff3e00",
|
|
5966
|
+
vue: "#42b883"
|
|
5967
|
+
};
|
|
5968
|
+
const accent = frameworkColors[framework] ?? "#94a3b8";
|
|
5969
|
+
const label = framework.charAt(0).toUpperCase() + framework.slice(1);
|
|
5970
|
+
return `<!DOCTYPE html>
|
|
5971
|
+
<html>
|
|
5972
|
+
<head>
|
|
5973
|
+
<meta charset="utf-8">
|
|
5974
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
5975
|
+
<title>SSR Error - AbsoluteJS</title>
|
|
5976
|
+
<style>
|
|
5977
|
+
*{margin:0;padding:0;box-sizing:border-box}
|
|
5978
|
+
body{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}
|
|
5979
|
+
.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}
|
|
5980
|
+
.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}
|
|
5981
|
+
.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}
|
|
5982
|
+
.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
|
|
5983
|
+
.kind{color:#94a3b8;font-size:13px;font-weight:500}
|
|
5984
|
+
.content{padding:24px}
|
|
5985
|
+
.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}
|
|
5986
|
+
.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}
|
|
5987
|
+
.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}
|
|
5988
|
+
</style>
|
|
5989
|
+
</head>
|
|
5990
|
+
<body>
|
|
5991
|
+
<div class="card">
|
|
5992
|
+
<div class="header">
|
|
5993
|
+
<div style="display:flex;align-items:center;gap:12px">
|
|
5994
|
+
<span class="brand">AbsoluteJS</span>
|
|
5995
|
+
<span class="badge">${label}</span>
|
|
5996
|
+
</div>
|
|
5997
|
+
<span class="kind">${kind}</span>
|
|
5998
|
+
</div>
|
|
5999
|
+
<div class="content">
|
|
6000
|
+
<div class="label">What went wrong</div>
|
|
6001
|
+
<pre class="message">${message.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")}</pre>
|
|
6002
|
+
<div class="hint">${hint}</div>
|
|
6003
|
+
</div>
|
|
6004
|
+
</div>
|
|
6005
|
+
${script}
|
|
6006
|
+
</body>
|
|
6007
|
+
</html>`;
|
|
6008
|
+
}, RELOAD_ON_REBUILD = `<script>(()=>{const url=(location.protocol==='https:'?'wss://':'ws://')+location.host+'/hmr';let seen=false;const connect=()=>{const socket=new WebSocket(url);socket.onopen=()=>{if(seen)location.reload();seen=true;};socket.onmessage=(event)=>{try{const message=JSON.parse(event.data);const type=message&&typeof message.type==='string'?message.type:'';if(type==='rebuild-complete'||type==='server-entry-reloaded'||type.endsWith('-update'))location.reload();}catch{}};socket.onclose=()=>setTimeout(connect,500);};connect();})();</script>`, buildErrorPage = (framework, pageName, error) => errorPageHtml({
|
|
6009
|
+
framework,
|
|
6010
|
+
hint: "Fix the file and save. This page reloads by itself when the build succeeds.",
|
|
6011
|
+
kind: "Build Error",
|
|
6012
|
+
message: `${pageName || "This page"} could not be built.
|
|
6013
|
+
|
|
6014
|
+
${error ?? "The dev-server terminal has the build output."}`,
|
|
6015
|
+
script: RELOAD_ON_REBUILD
|
|
6016
|
+
}), ssrErrorPage = (framework, error) => errorPageHtml({
|
|
6017
|
+
framework,
|
|
6018
|
+
hint: "A component threw during server-side rendering. Check the terminal for the full stack trace.",
|
|
6019
|
+
kind: "Server Render Error",
|
|
6020
|
+
message: error instanceof Error ? error.message : String(error)
|
|
6021
|
+
});
|
|
6022
|
+
|
|
5947
6023
|
// src/core/requestContext.ts
|
|
6024
|
+
var exports_requestContext = {};
|
|
6025
|
+
__export(exports_requestContext, {
|
|
6026
|
+
absoluteRequestContext: () => absoluteRequestContext,
|
|
6027
|
+
devBuildErrorResponse: () => devBuildErrorResponse,
|
|
6028
|
+
getCurrentAbsoluteRequest: () => getCurrentAbsoluteRequest,
|
|
6029
|
+
getDevPageWarmer: () => getDevPageWarmer,
|
|
6030
|
+
getMissingAssets: () => getMissingAssets,
|
|
6031
|
+
recordMissingAsset: () => recordMissingAsset,
|
|
6032
|
+
resolveDeferredPageAssets: () => resolveDeferredPageAssets,
|
|
6033
|
+
runWithAbsoluteRequest: () => runWithAbsoluteRequest,
|
|
6034
|
+
setDevPageWarmer: () => setDevPageWarmer,
|
|
6035
|
+
withDeferredStylesheets: () => withDeferredStylesheets
|
|
6036
|
+
});
|
|
5948
6037
|
import { AsyncLocalStorage } from "async_hooks";
|
|
5949
6038
|
import { Elysia } from "elysia";
|
|
5950
6039
|
var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) => typeof value === "object" && value !== null && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", getRequestStorage = () => {
|
|
@@ -5957,7 +6046,17 @@ var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) =>
|
|
|
5957
6046
|
const storage = new AsyncLocalStorage;
|
|
5958
6047
|
Reflect.set(globalThis, REQUEST_STORAGE_KEY, storage);
|
|
5959
6048
|
return storage;
|
|
5960
|
-
}, absoluteRequestContext, getCurrentAbsoluteRequest = () => getRequestStorage()?.getStore()?.request, runWithAbsoluteRequest = (request, callback) => ensureRequestStorage().run({ request }, callback), CSS_KEY_RE, isDevPageWarmer = (value) => typeof value === "object" && value !== null && ("describe" in value) && typeof value.describe === "function" && ("warm" in value) && typeof value.warm === "function" && ("lookup" in value) && typeof value.lookup === "function",
|
|
6049
|
+
}, absoluteRequestContext, getCurrentAbsoluteRequest = () => getRequestStorage()?.getStore()?.request, runWithAbsoluteRequest = (request, callback) => ensureRequestStorage().run({ request }, callback), CSS_KEY_RE, isDevPageWarmer = (value) => typeof value === "object" && value !== null && ("describe" in value) && typeof value.describe === "function" && ("warm" in value) && typeof value.warm === "function" && ("lookup" in value) && typeof value.lookup === "function", devBuildErrorResponse = (framework, assets) => {
|
|
6050
|
+
if (!assets?.failed)
|
|
6051
|
+
return null;
|
|
6052
|
+
return new Response(buildErrorPage(framework, assets.name, assets.error), {
|
|
6053
|
+
headers: {
|
|
6054
|
+
"cache-control": "no-store",
|
|
6055
|
+
"content-type": "text/html; charset=utf-8"
|
|
6056
|
+
},
|
|
6057
|
+
status: 500
|
|
6058
|
+
});
|
|
6059
|
+
}, getDevPageWarmer = () => {
|
|
5961
6060
|
const value = Reflect.get(globalThis, PAGE_WARMER_KEY);
|
|
5962
6061
|
return isDevPageWarmer(value) ? value : undefined;
|
|
5963
6062
|
}, getMissingAssets = () => {
|
|
@@ -5987,6 +6086,7 @@ var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) =>
|
|
|
5987
6086
|
const cssHrefs = () => cssKeys.map(lookup).filter((href) => href.length > 0 && href.startsWith("/"));
|
|
5988
6087
|
const assets = {
|
|
5989
6088
|
cssHrefs,
|
|
6089
|
+
error: failed ? warmer.lastError?.() : undefined,
|
|
5990
6090
|
failed,
|
|
5991
6091
|
lookup,
|
|
5992
6092
|
name: described.name
|
|
@@ -8205,6 +8305,11 @@ var init_svelteServerModule = __esm(() => {
|
|
|
8205
8305
|
});
|
|
8206
8306
|
});
|
|
8207
8307
|
|
|
8308
|
+
// src/utils/isFile.ts
|
|
8309
|
+
import { statSync } from "fs";
|
|
8310
|
+
var isFile = (path) => statSync(path, { throwIfNoEntry: false })?.isFile() ?? false;
|
|
8311
|
+
var init_isFile = () => {};
|
|
8312
|
+
|
|
8208
8313
|
// src/utils/vueCompiler.ts
|
|
8209
8314
|
var exports_vueCompiler = {};
|
|
8210
8315
|
__export(exports_vueCompiler, {
|
|
@@ -8223,7 +8328,7 @@ var createVueCompiler = async () => {
|
|
|
8223
8328
|
};
|
|
8224
8329
|
|
|
8225
8330
|
// src/core/vueServerModule.ts
|
|
8226
|
-
import {
|
|
8331
|
+
import { readFileSync as readFileSync6, realpathSync } from "fs";
|
|
8227
8332
|
import { mkdir as mkdir4 } from "fs/promises";
|
|
8228
8333
|
import { dirname as dirname7, join as join9, relative as relative4, resolve as resolve7 } from "path";
|
|
8229
8334
|
var {Transpiler } = globalThis.Bun;
|
|
@@ -8270,9 +8375,9 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
|
|
|
8270
8375
|
const hasScript = descriptor.script || descriptor.scriptSetup;
|
|
8271
8376
|
const compiledScript = hasScript ? compiler.compileScript(descriptor, {
|
|
8272
8377
|
fs: {
|
|
8273
|
-
fileExists:
|
|
8378
|
+
fileExists: isFile,
|
|
8274
8379
|
realpath: realpathSync,
|
|
8275
|
-
readFile: (file) =>
|
|
8380
|
+
readFile: (file) => isFile(file) ? readFileSync6(file, "utf-8") : undefined
|
|
8276
8381
|
},
|
|
8277
8382
|
id: componentId,
|
|
8278
8383
|
inlineTemplate: false
|
|
@@ -8317,6 +8422,7 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
|
|
|
8317
8422
|
};
|
|
8318
8423
|
var init_vueServerModule = __esm(() => {
|
|
8319
8424
|
init_constants();
|
|
8425
|
+
init_isFile();
|
|
8320
8426
|
serverCacheRoot3 = join9(process.cwd(), ".absolutejs", "islands", "vue");
|
|
8321
8427
|
compiledModuleCache3 = new Map;
|
|
8322
8428
|
transpiler2 = new Transpiler({ loader: "ts", target: "browser" });
|
|
@@ -9594,11 +9700,11 @@ var BOOTSTRAP_MANIFEST_KEY = "BootstrapClient", ISLAND_MARKER = 'data-island="tr
|
|
|
9594
9700
|
};
|
|
9595
9701
|
|
|
9596
9702
|
// src/plugins/openApiPlugin.ts
|
|
9597
|
-
import { existsSync as
|
|
9703
|
+
import { existsSync as existsSync6, readFileSync as readFileSync8 } from "fs";
|
|
9598
9704
|
import { join as join11 } from "path";
|
|
9599
9705
|
var FALLBACK_NAME = "AbsoluteJS API", FALLBACK_VERSION = "1.0.0", projectInfo = (cwd) => {
|
|
9600
9706
|
const path = join11(cwd, "package.json");
|
|
9601
|
-
if (!
|
|
9707
|
+
if (!existsSync6(path)) {
|
|
9602
9708
|
return { name: FALLBACK_NAME, version: FALLBACK_VERSION };
|
|
9603
9709
|
}
|
|
9604
9710
|
try {
|
|
@@ -9651,11 +9757,11 @@ var FALLBACK_NAME = "AbsoluteJS API", FALLBACK_VERSION = "1.0.0", projectInfo =
|
|
|
9651
9757
|
var init_openApiPlugin = () => {};
|
|
9652
9758
|
|
|
9653
9759
|
// src/plugins/telemetryPlugin.ts
|
|
9654
|
-
import { existsSync as
|
|
9760
|
+
import { existsSync as existsSync7, readFileSync as readFileSync9 } from "fs";
|
|
9655
9761
|
import { join as join12 } from "path";
|
|
9656
9762
|
var OTEL_PACKAGE = "@elysia/opentelemetry", readPackageName = (cwd) => {
|
|
9657
9763
|
const path = join12(cwd, "package.json");
|
|
9658
|
-
if (!
|
|
9764
|
+
if (!existsSync7(path))
|
|
9659
9765
|
return null;
|
|
9660
9766
|
try {
|
|
9661
9767
|
const pkg = JSON.parse(readFileSync9(path, "utf-8"));
|
|
@@ -9832,10 +9938,10 @@ var init_loadIslandRegistry = __esm(() => {
|
|
|
9832
9938
|
});
|
|
9833
9939
|
|
|
9834
9940
|
// src/build/scanEntryPoints.ts
|
|
9835
|
-
import { existsSync as
|
|
9941
|
+
import { existsSync as existsSync8 } from "fs";
|
|
9836
9942
|
var {Glob } = globalThis.Bun;
|
|
9837
9943
|
var scanEntryPoints = async (dir, pattern) => {
|
|
9838
|
-
if (!
|
|
9944
|
+
if (!existsSync8(dir))
|
|
9839
9945
|
return [];
|
|
9840
9946
|
const entryPaths = [];
|
|
9841
9947
|
const glob = new Glob(pattern);
|
|
@@ -11371,12 +11477,12 @@ var init_associationFiles = __esm(() => {
|
|
|
11371
11477
|
});
|
|
11372
11478
|
|
|
11373
11479
|
// src/cli/scripts/telemetry.ts
|
|
11374
|
-
import { existsSync as
|
|
11480
|
+
import { existsSync as existsSync9, mkdirSync as mkdirSync2, readFileSync as readFileSync12, writeFileSync as writeFileSync4 } from "fs";
|
|
11375
11481
|
import { homedir } from "os";
|
|
11376
11482
|
import { join as join13 } from "path";
|
|
11377
11483
|
var configDir, configPath, getTelemetryConfig = () => {
|
|
11378
11484
|
try {
|
|
11379
|
-
if (!
|
|
11485
|
+
if (!existsSync9(configPath))
|
|
11380
11486
|
return null;
|
|
11381
11487
|
const raw = readFileSync12(configPath, "utf-8");
|
|
11382
11488
|
const config = JSON.parse(raw);
|
|
@@ -11391,11 +11497,11 @@ var init_telemetry = __esm(() => {
|
|
|
11391
11497
|
});
|
|
11392
11498
|
|
|
11393
11499
|
// src/cli/telemetryEvent.ts
|
|
11394
|
-
import { existsSync as
|
|
11500
|
+
import { existsSync as existsSync10, readFileSync as readFileSync13 } from "fs";
|
|
11395
11501
|
import { arch, platform } from "os";
|
|
11396
11502
|
import { dirname as dirname10, join as join14, parse } from "path";
|
|
11397
11503
|
var checkCandidate = (candidate) => {
|
|
11398
|
-
if (!
|
|
11504
|
+
if (!existsSync10(candidate)) {
|
|
11399
11505
|
return null;
|
|
11400
11506
|
}
|
|
11401
11507
|
const pkg = JSON.parse(readFileSync13(candidate, "utf-8"));
|
|
@@ -11527,7 +11633,7 @@ var init_mobilePreview = __esm(() => {
|
|
|
11527
11633
|
});
|
|
11528
11634
|
|
|
11529
11635
|
// src/mobile/deviceCapabilities.ts
|
|
11530
|
-
import { existsSync as
|
|
11636
|
+
import { existsSync as existsSync11, readFileSync as readFileSync14 } from "fs";
|
|
11531
11637
|
import { extname as extname5, join as join15, relative as relative6, resolve as resolve14 } from "path";
|
|
11532
11638
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
11533
11639
|
import ts2 from "typescript";
|
|
@@ -11731,7 +11837,7 @@ var DEVICES_PACKAGE = "@absolutejs/devices", ABSOLUTE_MOBILE_SHELL_DEVICE_CAPABI
|
|
|
11731
11837
|
return packages;
|
|
11732
11838
|
}, discoverAbsoluteDeviceCapabilities = (projectRoot, providers = loadAbsoluteDeviceCapabilityProviders(projectRoot)) => {
|
|
11733
11839
|
const root = resolve14(projectRoot);
|
|
11734
|
-
if (!
|
|
11840
|
+
if (!existsSync11(root))
|
|
11735
11841
|
return [];
|
|
11736
11842
|
const known = new Set(Object.keys(providers));
|
|
11737
11843
|
const capabilities = new Set;
|
|
@@ -14558,22 +14664,22 @@ var init_verifyAngularCoreUniqueness = __esm(() => {
|
|
|
14558
14664
|
});
|
|
14559
14665
|
|
|
14560
14666
|
// src/build/generateReactIndexes.ts
|
|
14561
|
-
import { existsSync as
|
|
14667
|
+
import { existsSync as existsSync12, mkdirSync as mkdirSync3 } from "fs";
|
|
14562
14668
|
import { readdir as readdir3, rm as rm3, writeFile as writeFile3 } from "fs/promises";
|
|
14563
14669
|
import { basename as basename4, join as join20, relative as relative8, resolve as resolve18, sep as sep2 } from "path";
|
|
14564
14670
|
var {Glob: Glob2 } = globalThis.Bun;
|
|
14565
14671
|
var indexContentCache, resolveDevClientDir = () => {
|
|
14566
14672
|
const projectRoot = process.cwd();
|
|
14567
14673
|
const fromPackage = resolve18(import.meta.dir, "../dev/client");
|
|
14568
|
-
if (
|
|
14674
|
+
if (existsSync12(fromPackage)) {
|
|
14569
14675
|
return fromPackage;
|
|
14570
14676
|
}
|
|
14571
14677
|
const fromNodeModules = resolve18(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
14572
|
-
if (
|
|
14678
|
+
if (existsSync12(fromNodeModules))
|
|
14573
14679
|
return fromNodeModules;
|
|
14574
14680
|
return resolve18(import.meta.dir, "./dev/client");
|
|
14575
14681
|
}, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, reactRefreshRuntimePath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory, isDev2 = false) => {
|
|
14576
|
-
if (!
|
|
14682
|
+
if (!existsSync12(reactIndexesDirectory)) {
|
|
14577
14683
|
mkdirSync3(reactIndexesDirectory, { recursive: true });
|
|
14578
14684
|
}
|
|
14579
14685
|
const CONVENTION_RE = /^(?:(.+)\.)?(error|loading|not-found)\.[^.]+$/;
|
|
@@ -14919,7 +15025,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
14919
15025
|
const hasher = new Bun.CryptoHasher("md5");
|
|
14920
15026
|
hasher.update(content);
|
|
14921
15027
|
const contentHash = hasher.digest("hex");
|
|
14922
|
-
if (indexContentCache.get(indexPath) === contentHash &&
|
|
15028
|
+
if (indexContentCache.get(indexPath) === contentHash && existsSync12(indexPath)) {
|
|
14923
15029
|
return;
|
|
14924
15030
|
}
|
|
14925
15031
|
indexContentCache.set(indexPath, contentHash);
|
|
@@ -14930,7 +15036,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
14930
15036
|
return;
|
|
14931
15037
|
}
|
|
14932
15038
|
const refreshPath = join20(reactIndexesDirectory, "_refresh.tsx");
|
|
14933
|
-
if (!
|
|
15039
|
+
if (!existsSync12(refreshPath)) {
|
|
14934
15040
|
await writeFile3(refreshPath, `import '${refreshSetupPath}';
|
|
14935
15041
|
import 'react';
|
|
14936
15042
|
import 'react-dom/client';
|
|
@@ -15009,14 +15115,14 @@ var init_outputLogs = __esm(() => {
|
|
|
15009
15115
|
});
|
|
15010
15116
|
|
|
15011
15117
|
// src/build/stampedFileCache.ts
|
|
15012
|
-
import { statSync } from "fs";
|
|
15118
|
+
import { statSync as statSync2 } from "fs";
|
|
15013
15119
|
var STAMP_SETTLE_MS = 2000, createStampedFileCache = () => {
|
|
15014
15120
|
const entries = new Map;
|
|
15015
15121
|
const seen = new Set;
|
|
15016
15122
|
const read = (path2, compute) => {
|
|
15017
15123
|
let stamp;
|
|
15018
15124
|
try {
|
|
15019
|
-
const stats =
|
|
15125
|
+
const stats = statSync2(path2);
|
|
15020
15126
|
stamp = { mtimeMs: stats.mtimeMs, size: stats.size };
|
|
15021
15127
|
} catch {
|
|
15022
15128
|
return compute();
|
|
@@ -15048,7 +15154,7 @@ var init_stampedFileCache = () => {};
|
|
|
15048
15154
|
// src/build/scanConventions.ts
|
|
15049
15155
|
import { basename as basename5 } from "path";
|
|
15050
15156
|
var {Glob: Glob3 } = globalThis.Bun;
|
|
15051
|
-
import { existsSync as
|
|
15157
|
+
import { existsSync as existsSync13 } from "fs";
|
|
15052
15158
|
var CONVENTION_RE, classifyFile = (file2, pageFiles, defaults, pages) => {
|
|
15053
15159
|
const fileName = basename5(file2);
|
|
15054
15160
|
const match = CONVENTION_RE.exec(fileName);
|
|
@@ -15073,7 +15179,7 @@ var CONVENTION_RE, classifyFile = (file2, pageFiles, defaults, pages) => {
|
|
|
15073
15179
|
else if (kind === "loading")
|
|
15074
15180
|
pages[pageName].loading = file2;
|
|
15075
15181
|
}, scanConventions = async (pagesDir, pattern) => {
|
|
15076
|
-
if (!
|
|
15182
|
+
if (!existsSync13(pagesDir)) {
|
|
15077
15183
|
const pageFiles2 = [];
|
|
15078
15184
|
return { conventions: undefined, pageFiles: pageFiles2 };
|
|
15079
15185
|
}
|
|
@@ -15135,7 +15241,7 @@ __export(exports_serverExternals, {
|
|
|
15135
15241
|
createDevServerExternalsPlugin: () => createDevServerExternalsPlugin,
|
|
15136
15242
|
packageNameOf: () => packageNameOf
|
|
15137
15243
|
});
|
|
15138
|
-
import { existsSync as
|
|
15244
|
+
import { existsSync as existsSync14, readdirSync, readFileSync as readFileSync17 } from "fs";
|
|
15139
15245
|
import { isBuiltin } from "module";
|
|
15140
15246
|
import { dirname as dirname14, extname as extname7, join as join21 } from "path";
|
|
15141
15247
|
var DEFAULT_BUNDLED_SERVER_DEPENDENCIES, buildServerBundleExternals = (angularVendorPaths) => {
|
|
@@ -15194,7 +15300,7 @@ var DEFAULT_BUNDLED_SERVER_DEPENDENCIES, buildServerBundleExternals = (angularVe
|
|
|
15194
15300
|
let dir = dirname14(filePath);
|
|
15195
15301
|
while (true) {
|
|
15196
15302
|
const manifestPath = join21(dir, "package.json");
|
|
15197
|
-
if (
|
|
15303
|
+
if (existsSync14(manifestPath) && hasPackageName(manifestPath))
|
|
15198
15304
|
return dir;
|
|
15199
15305
|
const parent = dirname14(dir);
|
|
15200
15306
|
if (parent === dir)
|
|
@@ -15463,7 +15569,7 @@ var exports_staticAnalyzeSpaRoutes = {};
|
|
|
15463
15569
|
__export(exports_staticAnalyzeSpaRoutes, {
|
|
15464
15570
|
analyzeAngularSpaRoutes: () => analyzeAngularSpaRoutes
|
|
15465
15571
|
});
|
|
15466
|
-
import { existsSync as
|
|
15572
|
+
import { existsSync as existsSync15, promises as fs } from "fs";
|
|
15467
15573
|
import { join as join23 } from "path";
|
|
15468
15574
|
import ts4 from "typescript";
|
|
15469
15575
|
var DYNAMIC_SEGMENT_PATTERN, pathHasDynamic = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN.test(seg) || seg === "**"), importsSymbolFrom = (sourceFile, localName, moduleSpecifier) => {
|
|
@@ -15670,7 +15776,7 @@ var DYNAMIC_SEGMENT_PATTERN, pathHasDynamic = (path2) => path2.split("/").some((
|
|
|
15670
15776
|
}
|
|
15671
15777
|
await Promise.all(directories.map((directory) => walkTsFiles(directory, files)));
|
|
15672
15778
|
}, analyzeAngularSpaRoutes = async (angularDirectory) => {
|
|
15673
|
-
if (!
|
|
15779
|
+
if (!existsSync15(angularDirectory))
|
|
15674
15780
|
return [];
|
|
15675
15781
|
const tsFiles = [];
|
|
15676
15782
|
await walkTsFiles(angularDirectory, tsFiles);
|
|
@@ -15695,7 +15801,7 @@ var exports_staticAnalyzeSpaRoutes2 = {};
|
|
|
15695
15801
|
__export(exports_staticAnalyzeSpaRoutes2, {
|
|
15696
15802
|
analyzeReactSpaRoutes: () => analyzeReactSpaRoutes
|
|
15697
15803
|
});
|
|
15698
|
-
import { existsSync as
|
|
15804
|
+
import { existsSync as existsSync16, promises as fs2 } from "fs";
|
|
15699
15805
|
import { join as join24 } from "path";
|
|
15700
15806
|
import ts5 from "typescript";
|
|
15701
15807
|
var DYNAMIC_SEGMENT_PATTERN2, pathHasDynamic2 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN2.test(seg) || seg === "**"), readStringLiteral2 = (expression) => {
|
|
@@ -15884,7 +15990,7 @@ var DYNAMIC_SEGMENT_PATTERN2, pathHasDynamic2 = (path2) => path2.split("/").some
|
|
|
15884
15990
|
}
|
|
15885
15991
|
await Promise.all(directories.map((directory) => walkSourceFiles(directory, files)));
|
|
15886
15992
|
}, analyzeReactSpaRoutes = async (reactDirectory) => {
|
|
15887
|
-
if (!
|
|
15993
|
+
if (!existsSync16(reactDirectory))
|
|
15888
15994
|
return [];
|
|
15889
15995
|
const files = [];
|
|
15890
15996
|
await walkSourceFiles(reactDirectory, files);
|
|
@@ -15909,7 +16015,7 @@ var exports_staticAnalyzeSpaRoutes3 = {};
|
|
|
15909
16015
|
__export(exports_staticAnalyzeSpaRoutes3, {
|
|
15910
16016
|
analyzeSvelteSpaRoutes: () => analyzeSvelteSpaRoutes
|
|
15911
16017
|
});
|
|
15912
|
-
import { existsSync as
|
|
16018
|
+
import { existsSync as existsSync17, promises as fs3 } from "fs";
|
|
15913
16019
|
import { join as join25 } from "path";
|
|
15914
16020
|
var DYNAMIC_SEGMENT_PATTERN3, pathHasDynamic3 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN3.test(seg) || seg === "**"), joinSegments3 = (parent, child) => {
|
|
15915
16021
|
if (!child)
|
|
@@ -15992,7 +16098,7 @@ var DYNAMIC_SEGMENT_PATTERN3, pathHasDynamic3 = (path2) => path2.split("/").some
|
|
|
15992
16098
|
}
|
|
15993
16099
|
await Promise.all(directories.map((directory) => walkSvelteFiles(directory, files)));
|
|
15994
16100
|
}, analyzeSvelteSpaRoutes = async (svelteDirectory) => {
|
|
15995
|
-
if (!
|
|
16101
|
+
if (!existsSync17(svelteDirectory))
|
|
15996
16102
|
return [];
|
|
15997
16103
|
const files = [];
|
|
15998
16104
|
await walkSvelteFiles(svelteDirectory, files);
|
|
@@ -16019,7 +16125,7 @@ var exports_staticAnalyzeSpaRoutes4 = {};
|
|
|
16019
16125
|
__export(exports_staticAnalyzeSpaRoutes4, {
|
|
16020
16126
|
analyzeVueSpaRoutes: () => analyzeVueSpaRoutes
|
|
16021
16127
|
});
|
|
16022
|
-
import { existsSync as
|
|
16128
|
+
import { existsSync as existsSync18, promises as fs4 } from "fs";
|
|
16023
16129
|
import { join as join26 } from "path";
|
|
16024
16130
|
import ts6 from "typescript";
|
|
16025
16131
|
var DYNAMIC_SEGMENT_PATTERN4, pathHasDynamic4 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN4.test(seg) || seg === "**"), readStringLiteral3 = (expression) => {
|
|
@@ -16262,7 +16368,7 @@ var DYNAMIC_SEGMENT_PATTERN4, pathHasDynamic4 = (path2) => path2.split("/").some
|
|
|
16262
16368
|
}
|
|
16263
16369
|
await Promise.all(directories.map((directory) => walkSourceFiles2(directory, files)));
|
|
16264
16370
|
}, analyzeVueSpaRoutes = async (vueDirectory) => {
|
|
16265
|
-
if (!
|
|
16371
|
+
if (!existsSync18(vueDirectory))
|
|
16266
16372
|
return [];
|
|
16267
16373
|
const files = [];
|
|
16268
16374
|
await walkSourceFiles2(vueDirectory, files);
|
|
@@ -16519,10 +16625,10 @@ var init_generateSitemap = __esm(() => {
|
|
|
16519
16625
|
});
|
|
16520
16626
|
|
|
16521
16627
|
// src/build/scanCssEntryPoints.ts
|
|
16522
|
-
import { existsSync as
|
|
16628
|
+
import { existsSync as existsSync19 } from "fs";
|
|
16523
16629
|
var {Glob: Glob4 } = globalThis.Bun;
|
|
16524
16630
|
var scanCssEntryPoints = async (dir, ignore) => {
|
|
16525
|
-
if (!
|
|
16631
|
+
if (!existsSync19(dir))
|
|
16526
16632
|
return [];
|
|
16527
16633
|
const entryPaths = [];
|
|
16528
16634
|
const glob = new Glob4("**/*.{css,scss,sass,less,styl,stylus}");
|
|
@@ -16539,7 +16645,7 @@ var init_scanCssEntryPoints = __esm(() => {
|
|
|
16539
16645
|
});
|
|
16540
16646
|
|
|
16541
16647
|
// src/utils/imageProcessing.ts
|
|
16542
|
-
import { existsSync as
|
|
16648
|
+
import { existsSync as existsSync20, mkdirSync as mkdirSync4, readFileSync as readFileSync19, writeFileSync as writeFileSync5 } from "fs";
|
|
16543
16649
|
import { join as join27, resolve as resolve20 } from "path";
|
|
16544
16650
|
var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_ENDPOINT = "/_absolute/image", BLUR_DEVIATION = 20, sharpModule = undefined, sharpLoaded = false, sharpWarned = false, snapToSize = (target, sizes) => {
|
|
16545
16651
|
for (const size of sizes) {
|
|
@@ -16598,7 +16704,7 @@ var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_END
|
|
|
16598
16704
|
return [...device, ...image2].sort((left, right) => left - right);
|
|
16599
16705
|
}, getCacheDir = (buildDir, cacheDirectory) => {
|
|
16600
16706
|
const dir = cacheDirectory ? resolve20(cacheDirectory) : join27(buildDir, ".cache", "images");
|
|
16601
|
-
if (!
|
|
16707
|
+
if (!existsSync20(dir))
|
|
16602
16708
|
mkdirSync4(dir, { recursive: true });
|
|
16603
16709
|
return dir;
|
|
16604
16710
|
}, getCacheKey = (url, width, quality, format) => {
|
|
@@ -16690,7 +16796,7 @@ var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_END
|
|
|
16690
16796
|
}, readFromCache = (cacheDir, cacheKey2) => {
|
|
16691
16797
|
const metaPath = join27(cacheDir, `${cacheKey2}.meta`);
|
|
16692
16798
|
const dataPath = join27(cacheDir, `${cacheKey2}.data`);
|
|
16693
|
-
if (!
|
|
16799
|
+
if (!existsSync20(metaPath) || !existsSync20(dataPath))
|
|
16694
16800
|
return null;
|
|
16695
16801
|
try {
|
|
16696
16802
|
const meta = JSON.parse(readFileSync19(metaPath, "utf-8"));
|
|
@@ -16861,17 +16967,17 @@ var exports_buildHMRClient = {};
|
|
|
16861
16967
|
__export(exports_buildHMRClient, {
|
|
16862
16968
|
buildHMRClient: () => buildHMRClient
|
|
16863
16969
|
});
|
|
16864
|
-
import { existsSync as
|
|
16970
|
+
import { existsSync as existsSync21 } from "fs";
|
|
16865
16971
|
import { resolve as resolve21 } from "path";
|
|
16866
16972
|
var {build: bunBuild } = globalThis.Bun;
|
|
16867
16973
|
var resolveHmrClientPath = () => {
|
|
16868
16974
|
const projectRoot = process.cwd();
|
|
16869
16975
|
const fromSource = resolve21(import.meta.dir, "client/hmrClient.ts");
|
|
16870
|
-
if (
|
|
16976
|
+
if (existsSync21(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
16871
16977
|
return fromSource;
|
|
16872
16978
|
}
|
|
16873
16979
|
const fromNodeModules = resolve21(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client/hmrClient.ts");
|
|
16874
|
-
if (
|
|
16980
|
+
if (existsSync21(fromNodeModules))
|
|
16875
16981
|
return fromNodeModules;
|
|
16876
16982
|
return resolve21(import.meta.dir, "dev/client/hmrClient.ts");
|
|
16877
16983
|
}, hmrClientPath2, buildHMRClient = async () => {
|
|
@@ -17021,10 +17127,10 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
|
|
|
17021
17127
|
};
|
|
17022
17128
|
|
|
17023
17129
|
// src/dev/lazyPages.ts
|
|
17024
|
-
import { existsSync as
|
|
17130
|
+
import { existsSync as existsSync22 } from "fs";
|
|
17025
17131
|
import { basename as basename8, extname as extname8, isAbsolute as isAbsolute4, join as join28, resolve as resolve22 } from "path";
|
|
17026
17132
|
var PAGE_EXTENSIONS, KEY_SUFFIXES, SRC_URL_PREFIX = "/@src/", isTruthyFlag2 = (value) => value === "1" || value === "true", looksLikePath = (value) => value.includes("/") || value.includes("\\") || value.startsWith("."), probeDirForName = ({ dir, framework }, name) => {
|
|
17027
|
-
const extension = PAGE_EXTENSIONS[framework].find((ext) =>
|
|
17133
|
+
const extension = PAGE_EXTENSIONS[framework].find((ext) => existsSync22(join28(dir, `${name}${ext}`)));
|
|
17028
17134
|
return extension === undefined ? undefined : toDevPageEntry(framework, join28(dir, `${name}${extension}`));
|
|
17029
17135
|
}, resolveSourcePath = (keyOrPath) => {
|
|
17030
17136
|
const stripped = keyOrPath.startsWith(SRC_URL_PREFIX) ? keyOrPath.slice(SRC_URL_PREFIX.length).split("?")[0] ?? "" : keyOrPath;
|
|
@@ -17132,7 +17238,7 @@ var init_lazyPages = __esm(() => {
|
|
|
17132
17238
|
});
|
|
17133
17239
|
|
|
17134
17240
|
// src/build/angularLinkerPlugin.ts
|
|
17135
|
-
import { existsSync as
|
|
17241
|
+
import { existsSync as existsSync23, mkdirSync as mkdirSync5, readFileSync as readFileSync20, writeFileSync as writeFileSync6 } from "fs";
|
|
17136
17242
|
import { dirname as dirname15, join as join29, relative as relative10, resolve as resolve23 } from "path";
|
|
17137
17243
|
import { createHash as createHash6 } from "crypto";
|
|
17138
17244
|
var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linkerJitMode) => ({
|
|
@@ -17155,7 +17261,7 @@ var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linker
|
|
|
17155
17261
|
}
|
|
17156
17262
|
const hash = createHash6("md5").update(source).digest("hex");
|
|
17157
17263
|
const cachePath = join29(cacheDir, `${hash}.js`);
|
|
17158
|
-
if (
|
|
17264
|
+
if (existsSync23(cachePath)) {
|
|
17159
17265
|
return {
|
|
17160
17266
|
contents: readFileSync20(cachePath, "utf-8"),
|
|
17161
17267
|
loader: "js"
|
|
@@ -17172,7 +17278,7 @@ var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linker
|
|
|
17172
17278
|
linkerPlugin = mod.createEs2015LinkerPlugin({
|
|
17173
17279
|
fileSystem: {
|
|
17174
17280
|
dirname: dirname15,
|
|
17175
|
-
exists:
|
|
17281
|
+
exists: existsSync23,
|
|
17176
17282
|
readFile: readFileSync20,
|
|
17177
17283
|
relative: relative10,
|
|
17178
17284
|
resolve: resolve23
|
|
@@ -17287,7 +17393,7 @@ var init_bunStringRawUnicodePlugin = __esm(() => {
|
|
|
17287
17393
|
});
|
|
17288
17394
|
|
|
17289
17395
|
// src/build/externalAssetPlugin.ts
|
|
17290
|
-
import { copyFileSync, existsSync as
|
|
17396
|
+
import { copyFileSync, existsSync as existsSync24, mkdirSync as mkdirSync6, statSync as statSync3 } from "fs";
|
|
17291
17397
|
import { basename as basename9, dirname as dirname16, join as join30, resolve as resolve24 } from "path";
|
|
17292
17398
|
var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
|
|
17293
17399
|
name: "absolute-external-asset",
|
|
@@ -17309,12 +17415,12 @@ var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
|
|
|
17309
17415
|
if (!relPath)
|
|
17310
17416
|
continue;
|
|
17311
17417
|
const assetPath = resolve24(sourceDir, relPath);
|
|
17312
|
-
if (!
|
|
17418
|
+
if (!existsSync24(assetPath))
|
|
17313
17419
|
continue;
|
|
17314
|
-
if (!
|
|
17420
|
+
if (!statSync3(assetPath).isFile())
|
|
17315
17421
|
continue;
|
|
17316
17422
|
const targetPath = join30(outDir, basename9(assetPath));
|
|
17317
|
-
if (
|
|
17423
|
+
if (existsSync24(targetPath))
|
|
17318
17424
|
continue;
|
|
17319
17425
|
mkdirSync6(dirname16(targetPath), { recursive: true });
|
|
17320
17426
|
copyFileSync(assetPath, targetPath);
|
|
@@ -17542,7 +17648,7 @@ var vueModuleOutputPath = (outputDir, sourcePath) => {
|
|
|
17542
17648
|
var init_vueModuleOutputPath = () => {};
|
|
17543
17649
|
|
|
17544
17650
|
// src/build/injectVueComposableTracking.ts
|
|
17545
|
-
import { existsSync as
|
|
17651
|
+
import { existsSync as existsSync25, readFileSync as readFileSync21, writeFileSync as writeFileSync7 } from "fs";
|
|
17546
17652
|
import { basename as basename11, isAbsolute as isAbsolute6, relative as relative12, resolve as resolve26 } from "path";
|
|
17547
17653
|
var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT_OPENER, SOURCE_EXTENSIONS2, CHUNK_REFERENCE, isSharedChunkFile = (fileName) => fileName.startsWith("chunk-") && fileName.endsWith(".js"), collectModuleComments = (content) => Array.from(content.matchAll(MODULE_COMMENT), (match) => ({
|
|
17548
17654
|
index: match.index,
|
|
@@ -17657,7 +17763,7 @@ ${wrapped.slice(insertAt)}`);
|
|
|
17657
17763
|
if (!sourcePath)
|
|
17658
17764
|
return absolutePath;
|
|
17659
17765
|
const stem = sourcePath.replace(/\.[cm]?js$/, "");
|
|
17660
|
-
const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) =>
|
|
17766
|
+
const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) => existsSync25(candidate));
|
|
17661
17767
|
return existing ?? `${stem}.ts`;
|
|
17662
17768
|
};
|
|
17663
17769
|
var init_injectVueComposableTracking = __esm(() => {
|
|
@@ -19073,7 +19179,7 @@ __export(exports_fastHmrCompiler, {
|
|
|
19073
19179
|
takePendingModule: () => takePendingModule,
|
|
19074
19180
|
tryFastHmr: () => tryFastHmr
|
|
19075
19181
|
});
|
|
19076
|
-
import { existsSync as
|
|
19182
|
+
import { existsSync as existsSync26, readFileSync as readFileSync23, statSync as statSync4 } from "fs";
|
|
19077
19183
|
import { dirname as dirname19, extname as extname10, relative as relative15, resolve as resolve30 } from "path";
|
|
19078
19184
|
import ts12 from "typescript";
|
|
19079
19185
|
var fail = (reason, detail, location) => ({
|
|
@@ -19397,7 +19503,7 @@ var fail = (reason, detail, location) => ({
|
|
|
19397
19503
|
`${base}/index.tsx`
|
|
19398
19504
|
];
|
|
19399
19505
|
for (const candidate of candidates) {
|
|
19400
|
-
if (!
|
|
19506
|
+
if (!existsSync26(candidate))
|
|
19401
19507
|
continue;
|
|
19402
19508
|
let content;
|
|
19403
19509
|
try {
|
|
@@ -19980,7 +20086,7 @@ var fail = (reason, detail, location) => ({
|
|
|
19980
20086
|
const cacheKey2 = `ts:${filePath}:${className}`;
|
|
19981
20087
|
let stat3;
|
|
19982
20088
|
try {
|
|
19983
|
-
stat3 =
|
|
20089
|
+
stat3 = statSync4(filePath);
|
|
19984
20090
|
} catch {
|
|
19985
20091
|
return null;
|
|
19986
20092
|
}
|
|
@@ -20034,7 +20140,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20034
20140
|
const cacheKey2 = `dts:${dtsPath}:${className}`;
|
|
20035
20141
|
let stat3;
|
|
20036
20142
|
try {
|
|
20037
|
-
stat3 =
|
|
20143
|
+
stat3 = statSync4(dtsPath);
|
|
20038
20144
|
} catch {
|
|
20039
20145
|
return null;
|
|
20040
20146
|
}
|
|
@@ -20162,7 +20268,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20162
20268
|
if (visited.has(startDtsPath))
|
|
20163
20269
|
return null;
|
|
20164
20270
|
visited.add(startDtsPath);
|
|
20165
|
-
if (!
|
|
20271
|
+
if (!existsSync26(startDtsPath))
|
|
20166
20272
|
return null;
|
|
20167
20273
|
let content;
|
|
20168
20274
|
try {
|
|
@@ -20215,16 +20321,16 @@ var fail = (reason, detail, location) => ({
|
|
|
20215
20321
|
`${base}/index.d.cts`
|
|
20216
20322
|
];
|
|
20217
20323
|
for (const c of candidates) {
|
|
20218
|
-
if (
|
|
20324
|
+
if (existsSync26(c))
|
|
20219
20325
|
return c;
|
|
20220
20326
|
}
|
|
20221
20327
|
return null;
|
|
20222
20328
|
}, findPackageDtsForJs = (jsPath) => {
|
|
20223
20329
|
const sibling = jsPath.replace(/\.[mc]?js$/, ".d.ts");
|
|
20224
|
-
if (
|
|
20330
|
+
if (existsSync26(sibling))
|
|
20225
20331
|
return sibling;
|
|
20226
20332
|
const mirror = jsPath.replace(/\/dist\//, "/dist/src/").replace(/\.[mc]?js$/, ".d.ts");
|
|
20227
|
-
if (
|
|
20333
|
+
if (existsSync26(mirror))
|
|
20228
20334
|
return mirror;
|
|
20229
20335
|
return null;
|
|
20230
20336
|
}, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
|
|
@@ -20237,7 +20343,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20237
20343
|
`${base}/index.tsx`
|
|
20238
20344
|
];
|
|
20239
20345
|
for (const candidate of candidates) {
|
|
20240
|
-
if (!
|
|
20346
|
+
if (!existsSync26(candidate))
|
|
20241
20347
|
continue;
|
|
20242
20348
|
const info = getChildComponentInfoFromTsSource(candidate, className);
|
|
20243
20349
|
if (info)
|
|
@@ -20375,7 +20481,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20375
20481
|
}, providerProbeCache, fileHasModuleProviders = (filePath) => {
|
|
20376
20482
|
let stat3;
|
|
20377
20483
|
try {
|
|
20378
|
-
stat3 =
|
|
20484
|
+
stat3 = statSync4(filePath);
|
|
20379
20485
|
} catch {
|
|
20380
20486
|
return true;
|
|
20381
20487
|
}
|
|
@@ -20451,11 +20557,11 @@ var fail = (reason, detail, location) => ({
|
|
|
20451
20557
|
const resolved = resolve30(componentDir, spec);
|
|
20452
20558
|
for (const ext of TS_EXTENSIONS) {
|
|
20453
20559
|
const candidate = resolved + ext;
|
|
20454
|
-
if (
|
|
20560
|
+
if (existsSync26(candidate))
|
|
20455
20561
|
return candidate;
|
|
20456
20562
|
}
|
|
20457
20563
|
const indexCandidate = resolve30(resolved, "index.ts");
|
|
20458
|
-
if (
|
|
20564
|
+
if (existsSync26(indexCandidate))
|
|
20459
20565
|
return indexCandidate;
|
|
20460
20566
|
}
|
|
20461
20567
|
return null;
|
|
@@ -20693,7 +20799,7 @@ ${transpiled}
|
|
|
20693
20799
|
}${staticPatch}`;
|
|
20694
20800
|
}, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
|
|
20695
20801
|
const abs = resolve30(componentDir, url);
|
|
20696
|
-
if (!
|
|
20802
|
+
if (!existsSync26(abs))
|
|
20697
20803
|
return null;
|
|
20698
20804
|
const ext = extname10(abs).toLowerCase();
|
|
20699
20805
|
if (!STYLE_PREPROCESSED_EXT.has(ext) || ext === ".css") {
|
|
@@ -20733,7 +20839,7 @@ ${block}
|
|
|
20733
20839
|
return cached;
|
|
20734
20840
|
const tsconfigPath = resolve30(projectRoot, "tsconfig.json");
|
|
20735
20841
|
const opts = {};
|
|
20736
|
-
if (
|
|
20842
|
+
if (existsSync26(tsconfigPath)) {
|
|
20737
20843
|
try {
|
|
20738
20844
|
const text3 = readFileSync23(tsconfigPath, "utf8");
|
|
20739
20845
|
const parsed = ts12.parseConfigFileTextToJson(tsconfigPath, text3);
|
|
@@ -20760,7 +20866,7 @@ ${block}
|
|
|
20760
20866
|
}, tryFastHmr = async (params) => {
|
|
20761
20867
|
const { componentFilePath, className } = params;
|
|
20762
20868
|
const projectRoot = params.projectRoot ?? process.cwd();
|
|
20763
|
-
if (!
|
|
20869
|
+
if (!existsSync26(componentFilePath)) {
|
|
20764
20870
|
return fail("file-not-found", componentFilePath);
|
|
20765
20871
|
}
|
|
20766
20872
|
let compiler;
|
|
@@ -20816,7 +20922,7 @@ ${block}
|
|
|
20816
20922
|
templatePath = componentFilePath;
|
|
20817
20923
|
} else if (decoratorMeta.templateUrl) {
|
|
20818
20924
|
const tplAbs = resolve30(componentDir, decoratorMeta.templateUrl);
|
|
20819
|
-
if (!
|
|
20925
|
+
if (!existsSync26(tplAbs)) {
|
|
20820
20926
|
return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
|
|
20821
20927
|
}
|
|
20822
20928
|
templateText = readFileSync23(tplAbs, "utf8");
|
|
@@ -21567,7 +21673,7 @@ var exports_parseAngularConfigImports = {};
|
|
|
21567
21673
|
__export(exports_parseAngularConfigImports, {
|
|
21568
21674
|
parseAngularProvidersImport: () => parseAngularProvidersImport
|
|
21569
21675
|
});
|
|
21570
|
-
import { existsSync as
|
|
21676
|
+
import { existsSync as existsSync27, readFileSync as readFileSync27 } from "fs";
|
|
21571
21677
|
import { dirname as dirname20, isAbsolute as isAbsolute7, join as join39 } from "path";
|
|
21572
21678
|
import ts16 from "typescript";
|
|
21573
21679
|
var findDefineConfigCall = (sf) => {
|
|
@@ -21624,7 +21730,7 @@ var findDefineConfigCall = (sf) => {
|
|
|
21624
21730
|
const envOverride = process.env.ABSOLUTE_CONFIG;
|
|
21625
21731
|
if (envOverride) {
|
|
21626
21732
|
const resolved = isAbsolute7(envOverride) ? envOverride : join39(projectRoot, envOverride);
|
|
21627
|
-
if (
|
|
21733
|
+
if (existsSync27(resolved))
|
|
21628
21734
|
return resolved;
|
|
21629
21735
|
}
|
|
21630
21736
|
const candidates = [
|
|
@@ -21634,7 +21740,7 @@ var findDefineConfigCall = (sf) => {
|
|
|
21634
21740
|
join39(projectRoot, "absolute.config.mjs")
|
|
21635
21741
|
];
|
|
21636
21742
|
for (const candidate of candidates) {
|
|
21637
|
-
if (
|
|
21743
|
+
if (existsSync27(candidate))
|
|
21638
21744
|
return candidate;
|
|
21639
21745
|
}
|
|
21640
21746
|
return null;
|
|
@@ -21735,7 +21841,7 @@ __export(exports_compileSvelte, {
|
|
|
21735
21841
|
clearSvelteCompilerCache: () => clearSvelteCompilerCache,
|
|
21736
21842
|
compileSvelte: () => compileSvelte
|
|
21737
21843
|
});
|
|
21738
|
-
import { existsSync as
|
|
21844
|
+
import { existsSync as existsSync28 } from "fs";
|
|
21739
21845
|
import { mkdir as mkdir8, stat as stat3 } from "fs/promises";
|
|
21740
21846
|
import {
|
|
21741
21847
|
dirname as dirname21,
|
|
@@ -21751,11 +21857,11 @@ var {write: write2, file: file2, Transpiler: Transpiler2 } = globalThis.Bun;
|
|
|
21751
21857
|
var resolveDevClientDir2 = () => {
|
|
21752
21858
|
const projectRoot = process.cwd();
|
|
21753
21859
|
const fromSource = resolve31(import.meta.dir, "../dev/client");
|
|
21754
|
-
if (
|
|
21860
|
+
if (existsSync28(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
21755
21861
|
return fromSource;
|
|
21756
21862
|
}
|
|
21757
21863
|
const fromNodeModules = resolve31(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
21758
|
-
if (
|
|
21864
|
+
if (existsSync28(fromNodeModules))
|
|
21759
21865
|
return fromNodeModules;
|
|
21760
21866
|
return resolve31(import.meta.dir, "./dev/client");
|
|
21761
21867
|
}, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
|
|
@@ -21858,7 +21964,7 @@ var resolveDevClientDir2 = () => {
|
|
|
21858
21964
|
const contentHash = Bun.hash(raw).toString(BASE_36_RADIX);
|
|
21859
21965
|
const prevHash = sourceHashCache.get(src);
|
|
21860
21966
|
const persistent = persistentCache.get(src);
|
|
21861
|
-
if (prevHash === contentHash && persistent &&
|
|
21967
|
+
if (prevHash === contentHash && persistent && existsSync28(persistent.ssr) && existsSync28(persistent.client)) {
|
|
21862
21968
|
cache.set(src, persistent);
|
|
21863
21969
|
return persistent;
|
|
21864
21970
|
}
|
|
@@ -22589,7 +22695,7 @@ var init_chainInlineSourcemaps = __esm(() => {
|
|
|
22589
22695
|
|
|
22590
22696
|
// src/build/vueCompileCache.ts
|
|
22591
22697
|
import { createHash as createHash7 } from "crypto";
|
|
22592
|
-
import { existsSync as
|
|
22698
|
+
import { existsSync as existsSync29, readFileSync as readFileSync29 } from "fs";
|
|
22593
22699
|
import { mkdir as mkdir9, rename as rename2, writeFile as writeFile8 } from "fs/promises";
|
|
22594
22700
|
import { join as join41, resolve as resolve32 } from "path";
|
|
22595
22701
|
var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION = 2, FILE_NAME_HASH_LENGTH = 32, vueCompileCacheEnabled = () => process.env.ABSOLUTE_COMPILE_CACHE !== "0", hashContent = (content) => createHash7("sha256").update(content).digest("hex"), hashParts = (parts) => {
|
|
@@ -22650,7 +22756,7 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
|
|
|
22650
22756
|
if (!vueCompileCacheEnabled())
|
|
22651
22757
|
return null;
|
|
22652
22758
|
const entryFile = entryFileFor(sourceFilePath, projectRoot);
|
|
22653
|
-
if (!
|
|
22759
|
+
if (!existsSync29(entryFile))
|
|
22654
22760
|
return null;
|
|
22655
22761
|
try {
|
|
22656
22762
|
const parsed = JSON.parse(readFileSync29(entryFile, "utf-8"));
|
|
@@ -22681,7 +22787,7 @@ __export(exports_emitTsHelpers, {
|
|
|
22681
22787
|
emitTsHelpers: () => emitTsHelpers
|
|
22682
22788
|
});
|
|
22683
22789
|
var {file: file3, Transpiler: Transpiler3, write: write3 } = globalThis.Bun;
|
|
22684
|
-
import { copyFileSync as copyFileSync2, existsSync as
|
|
22790
|
+
import { copyFileSync as copyFileSync2, existsSync as existsSync30, readdirSync as readdirSync6 } from "fs";
|
|
22685
22791
|
import { mkdir as mkdir10, rename as rename3, writeFile as writeFile9 } from "fs/promises";
|
|
22686
22792
|
import { dirname as dirname22, join as join42 } from "path";
|
|
22687
22793
|
var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () => join42(process.cwd(), ".absolutejs", "compile-cache", CACHE_DIR_NAME2), cacheKey2 = (sourcePath, sourceCode) => {
|
|
@@ -22753,7 +22859,7 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
|
|
|
22753
22859
|
const directory = cacheDir();
|
|
22754
22860
|
const fileName = key ? `${key.path}-${key.content}.js` : null;
|
|
22755
22861
|
const cachedPath = fileName ? join42(directory, fileName) : null;
|
|
22756
|
-
if (cachedPath &&
|
|
22862
|
+
if (cachedPath && existsSync30(cachedPath)) {
|
|
22757
22863
|
await copyBoth(clientOutputPath, serverOutputPath, cachedPath);
|
|
22758
22864
|
return;
|
|
22759
22865
|
}
|
|
@@ -22780,7 +22886,7 @@ var exports_compileVueSfc = {};
|
|
|
22780
22886
|
__export(exports_compileVueSfc, {
|
|
22781
22887
|
compileVueSfc: () => compileVueSfc
|
|
22782
22888
|
});
|
|
22783
|
-
import { existsSync as
|
|
22889
|
+
import { existsSync as existsSync31, readFileSync as readFileSync30, realpathSync as realpathSync2 } from "fs";
|
|
22784
22890
|
import { dirname as dirname23, relative as relative17, resolve as resolve33 } from "path";
|
|
22785
22891
|
var {Transpiler: Transpiler4 } = globalThis.Bun;
|
|
22786
22892
|
var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
|
|
@@ -22791,7 +22897,7 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
|
|
|
22791
22897
|
const importRegex = /@import\s+(?:url\(\s*)?(['"])(\.{1,2}\/[^'"]+)\1\s*\)?\s*;?/g;
|
|
22792
22898
|
return cssContent.replace(importRegex, (match, _quote, relPath) => {
|
|
22793
22899
|
const importedPath = resolve33(dirname23(cssFilePath), relPath);
|
|
22794
|
-
if (!
|
|
22900
|
+
if (!isFile(importedPath))
|
|
22795
22901
|
return match;
|
|
22796
22902
|
const importedContent = readFileSync30(importedPath, "utf-8");
|
|
22797
22903
|
return inlineCssImports(importedContent, importedPath, visited);
|
|
@@ -22809,10 +22915,10 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
|
|
|
22809
22915
|
}
|
|
22810
22916
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
22811
22917
|
const directTs = resolve33(sourceDir, `${filePath}.ts`);
|
|
22812
|
-
if (
|
|
22918
|
+
if (existsSync31(directTs))
|
|
22813
22919
|
return `${filePath}.js`;
|
|
22814
22920
|
const indexedTs = resolve33(sourceDir, filePath, "index.ts");
|
|
22815
|
-
if (
|
|
22921
|
+
if (existsSync31(indexedTs))
|
|
22816
22922
|
return `${filePath}/index.js`;
|
|
22817
22923
|
}
|
|
22818
22924
|
return `${filePath}.js`;
|
|
@@ -22878,10 +22984,10 @@ const ${localName} = (source) => ${importedName}(
|
|
|
22878
22984
|
const typeDepHashes = {};
|
|
22879
22985
|
const compiledScript = hasScript ? compiler.compileScript(descriptor, {
|
|
22880
22986
|
fs: {
|
|
22881
|
-
fileExists:
|
|
22987
|
+
fileExists: isFile,
|
|
22882
22988
|
realpath: realpathSync2,
|
|
22883
22989
|
readFile: (file4) => {
|
|
22884
|
-
if (!
|
|
22990
|
+
if (!isFile(file4))
|
|
22885
22991
|
return;
|
|
22886
22992
|
const content = readFileSync30(file4, "utf-8");
|
|
22887
22993
|
typeDepHashes[file4] = hashContent(content);
|
|
@@ -22894,7 +23000,7 @@ const ${localName} = (source) => ${importedName}(
|
|
|
22894
23000
|
}) : { bindings: {}, content: "export default {};", map: undefined };
|
|
22895
23001
|
const typeDependencies = "deps" in compiledScript ? compiledScript.deps ?? [] : [];
|
|
22896
23002
|
for (const dep of typeDependencies) {
|
|
22897
|
-
if (dep in typeDepHashes || !
|
|
23003
|
+
if (dep in typeDepHashes || !existsSync31(dep))
|
|
22898
23004
|
continue;
|
|
22899
23005
|
typeDepHashes[dep] = hashContent(readFileSync30(dep, "utf-8"));
|
|
22900
23006
|
}
|
|
@@ -22986,6 +23092,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
22986
23092
|
};
|
|
22987
23093
|
var init_compileVueSfc = __esm(() => {
|
|
22988
23094
|
init_sourceMetadata();
|
|
23095
|
+
init_isFile();
|
|
22989
23096
|
init_chainInlineSourcemaps();
|
|
22990
23097
|
init_stylePreprocessor();
|
|
22991
23098
|
init_vueCompileCache();
|
|
@@ -23058,7 +23165,7 @@ __export(exports_workerPool, {
|
|
|
23058
23165
|
resolveBuildWorkerCount: () => resolveBuildWorkerCount,
|
|
23059
23166
|
resolveBuildWorkerEntry: () => resolveBuildWorkerEntry
|
|
23060
23167
|
});
|
|
23061
|
-
import { existsSync as
|
|
23168
|
+
import { existsSync as existsSync32, readFileSync as readFileSync31 } from "fs";
|
|
23062
23169
|
import { availableParallelism, freemem } from "os";
|
|
23063
23170
|
import { dirname as dirname24, join as join43 } from "path";
|
|
23064
23171
|
import { pathToFileURL as pathToFileURL3 } from "url";
|
|
@@ -23078,7 +23185,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
23078
23185
|
return Math.max(MIN_WORKERS, Math.min(byCpu, byMemory));
|
|
23079
23186
|
}, isOwnPackageRoot = (dir) => {
|
|
23080
23187
|
const packageFile = join43(dir, "package.json");
|
|
23081
|
-
if (!
|
|
23188
|
+
if (!existsSync32(packageFile))
|
|
23082
23189
|
return false;
|
|
23083
23190
|
try {
|
|
23084
23191
|
const pkg = JSON.parse(readFileSync31(packageFile, "utf-8"));
|
|
@@ -23105,7 +23212,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
23105
23212
|
const sourceEntry = join43(root, "src", "build", "buildWorker.ts");
|
|
23106
23213
|
const runningFromDist = fromDir.startsWith(join43(root, "dist"));
|
|
23107
23214
|
const ordered = runningFromDist ? [distEntry, sourceEntry] : [sourceEntry, distEntry];
|
|
23108
|
-
return ordered.find((candidate) =>
|
|
23215
|
+
return ordered.find((candidate) => existsSync32(candidate)) ?? null;
|
|
23109
23216
|
}, formatPercent = (ratio) => `${Math.round(ratio * PERCENT)}%`, createBuildWorkerPool = (options = {}) => {
|
|
23110
23217
|
const size = options.size ?? resolveBuildWorkerCount();
|
|
23111
23218
|
const entry = options.entry === undefined ? resolveBuildWorkerEntry() : options.entry;
|
|
@@ -23396,7 +23503,7 @@ __export(exports_compileVue, {
|
|
|
23396
23503
|
generateVueHmrId: () => generateVueHmrId,
|
|
23397
23504
|
vueHmrMetadata: () => vueHmrMetadata
|
|
23398
23505
|
});
|
|
23399
|
-
import { existsSync as
|
|
23506
|
+
import { existsSync as existsSync33 } from "fs";
|
|
23400
23507
|
import { mkdir as mkdir11 } from "fs/promises";
|
|
23401
23508
|
import {
|
|
23402
23509
|
basename as basename14,
|
|
@@ -23410,11 +23517,11 @@ var {file: file4, write: write4 } = globalThis.Bun;
|
|
|
23410
23517
|
var resolveDevClientDir3 = () => {
|
|
23411
23518
|
const projectRoot = process.cwd();
|
|
23412
23519
|
const fromSource = resolve34(import.meta.dir, "../dev/client");
|
|
23413
|
-
if (
|
|
23520
|
+
if (existsSync33(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
23414
23521
|
return fromSource;
|
|
23415
23522
|
}
|
|
23416
23523
|
const fromNodeModules = resolve34(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
23417
|
-
if (
|
|
23524
|
+
if (existsSync33(fromNodeModules))
|
|
23418
23525
|
return fromNodeModules;
|
|
23419
23526
|
return resolve34(import.meta.dir, "./dev/client");
|
|
23420
23527
|
}, devClientDir3, hmrClientPath4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
|
|
@@ -23467,10 +23574,10 @@ var resolveDevClientDir3 = () => {
|
|
|
23467
23574
|
if (helper.endsWith(".ts"))
|
|
23468
23575
|
return resolve34(sourceDir, helper);
|
|
23469
23576
|
const direct = resolve34(sourceDir, `${helper}.ts`);
|
|
23470
|
-
if (
|
|
23577
|
+
if (existsSync33(direct))
|
|
23471
23578
|
return direct;
|
|
23472
23579
|
const indexed = resolve34(sourceDir, helper, "index.ts");
|
|
23473
|
-
if (
|
|
23580
|
+
if (existsSync33(indexed))
|
|
23474
23581
|
return indexed;
|
|
23475
23582
|
return direct;
|
|
23476
23583
|
}, HELPER_JOB_MIN_BATCH = 24, runHelperEmit = async (files) => {
|
|
@@ -23600,7 +23707,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23600
23707
|
const contentHash = Bun.hash(sourceContent).toString(BASE_36_RADIX);
|
|
23601
23708
|
const prevHash = vueSourceHashCache.get(sourceFilePath);
|
|
23602
23709
|
const persistent = persistentBuildCache.get(sourceFilePath);
|
|
23603
|
-
if (prevHash === contentHash && persistent &&
|
|
23710
|
+
if (prevHash === contentHash && persistent && existsSync33(persistent.clientPath) && existsSync33(persistent.serverPath)) {
|
|
23604
23711
|
cacheMap.set(sourceFilePath, persistent);
|
|
23605
23712
|
return persistent;
|
|
23606
23713
|
}
|
|
@@ -23760,7 +23867,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23760
23867
|
const routes = parseVueSpaRoutes(descriptor.script?.content ?? "");
|
|
23761
23868
|
for (const { importPath } of routes) {
|
|
23762
23869
|
const childPath = resolve34(dirname25(entryPath), importPath);
|
|
23763
|
-
if (expanded.has(childPath) || !
|
|
23870
|
+
if (expanded.has(childPath) || !existsSync33(childPath)) {
|
|
23764
23871
|
continue;
|
|
23765
23872
|
}
|
|
23766
23873
|
expanded.add(childPath);
|
|
@@ -23967,7 +24074,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23967
24074
|
}));
|
|
23968
24075
|
vueCompileProfile.stagePagesMs = performance.now() - stageStartedAt;
|
|
23969
24076
|
stageStartedAt = performance.now();
|
|
23970
|
-
const helperDependencies = (tsPath, sourceCode) => extractImports(sourceCode).filter((dep) => dep.startsWith(".") && !isStylePath(dep) && !dep.endsWith(".vue")).map((dep) => resolveHelperTsPath(dirname25(tsPath), dep)).filter((resolved) =>
|
|
24077
|
+
const helperDependencies = (tsPath, sourceCode) => extractImports(sourceCode).filter((dep) => dep.startsWith(".") && !isStylePath(dep) && !dep.endsWith(".vue")).map((dep) => resolveHelperTsPath(dirname25(tsPath), dep)).filter((resolved) => existsSync33(resolved) && !allTsHelperPaths.has(resolved));
|
|
23971
24078
|
const readHelperWave = (paths) => Promise.all(paths.map((tsPath) => file4(tsPath).text().then((sourceCode) => helperDependencies(tsPath, sourceCode)).catch(() => [])));
|
|
23972
24079
|
const expandHelpers = async (frontier) => {
|
|
23973
24080
|
if (frontier.length === 0)
|
|
@@ -24539,7 +24646,7 @@ __export(exports_compileAngular, {
|
|
|
24539
24646
|
compileAngularFiles: () => compileAngularFiles,
|
|
24540
24647
|
invalidateAngularJitCache: () => invalidateAngularJitCache
|
|
24541
24648
|
});
|
|
24542
|
-
import { existsSync as
|
|
24649
|
+
import { existsSync as existsSync34, readFileSync as readFileSync32, promises as fs5 } from "fs";
|
|
24543
24650
|
import { join as join45, basename as basename15, sep as sep5, dirname as dirname26, resolve as resolve35, relative as relative19 } from "path";
|
|
24544
24651
|
var {Glob: Glob6 } = globalThis.Bun;
|
|
24545
24652
|
import ts18 from "typescript";
|
|
@@ -24596,7 +24703,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24596
24703
|
join45(candidate, "index.js"),
|
|
24597
24704
|
join45(candidate, "index.jsx")
|
|
24598
24705
|
];
|
|
24599
|
-
return candidates.find((file5) =>
|
|
24706
|
+
return candidates.find((file5) => existsSync34(file5));
|
|
24600
24707
|
}, createLegacyAngularAnimationUsageResolver = (rootDir) => {
|
|
24601
24708
|
const baseDir = resolve35(rootDir);
|
|
24602
24709
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
@@ -24677,11 +24784,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24677
24784
|
}, resolveDevClientDir4 = () => {
|
|
24678
24785
|
const projectRoot = process.cwd();
|
|
24679
24786
|
const fromSource = resolve35(import.meta.dir, "../dev/client");
|
|
24680
|
-
if (
|
|
24787
|
+
if (existsSync34(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
24681
24788
|
return fromSource;
|
|
24682
24789
|
}
|
|
24683
24790
|
const fromNodeModules = resolve35(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
24684
|
-
if (
|
|
24791
|
+
if (existsSync34(fromNodeModules))
|
|
24685
24792
|
return fromNodeModules;
|
|
24686
24793
|
return resolve35(import.meta.dir, "./dev/client");
|
|
24687
24794
|
}, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
|
|
@@ -24727,11 +24834,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24727
24834
|
return `${path2}${query}`;
|
|
24728
24835
|
const importerDir = dirname26(importerOutputPath);
|
|
24729
24836
|
const fileCandidate = resolve35(importerDir, `${path2}.js`);
|
|
24730
|
-
if (outputFiles?.has(fileCandidate) ||
|
|
24837
|
+
if (outputFiles?.has(fileCandidate) || existsSync34(fileCandidate)) {
|
|
24731
24838
|
return `${path2}.js${query}`;
|
|
24732
24839
|
}
|
|
24733
24840
|
const indexCandidate = resolve35(importerDir, path2, "index.js");
|
|
24734
|
-
if (outputFiles?.has(indexCandidate) ||
|
|
24841
|
+
if (outputFiles?.has(indexCandidate) || existsSync34(indexCandidate)) {
|
|
24735
24842
|
return `${path2}/index.js${query}`;
|
|
24736
24843
|
}
|
|
24737
24844
|
return `${path2}.js${query}`;
|
|
@@ -24769,7 +24876,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24769
24876
|
join45(basePath, "index.mts"),
|
|
24770
24877
|
join45(basePath, "index.cts")
|
|
24771
24878
|
];
|
|
24772
|
-
return candidates.map((candidate) => resolve35(candidate)).find((candidate) =>
|
|
24879
|
+
return candidates.map((candidate) => resolve35(candidate)).find((candidate) => existsSync34(candidate) && !candidate.endsWith(".d.ts")) ?? null;
|
|
24773
24880
|
}, readFileForAotTransform = async (fileName, readFile8) => {
|
|
24774
24881
|
const hostSource = readFile8?.(fileName);
|
|
24775
24882
|
if (typeof hostSource === "string")
|
|
@@ -24850,7 +24957,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24850
24957
|
if (visited.has(resolvedPath))
|
|
24851
24958
|
return;
|
|
24852
24959
|
visited.add(resolvedPath);
|
|
24853
|
-
if (!
|
|
24960
|
+
if (!existsSync34(resolvedPath) || resolvedPath.endsWith(".d.ts"))
|
|
24854
24961
|
return;
|
|
24855
24962
|
stats.filesVisited += 1;
|
|
24856
24963
|
const source = await readFileForAotTransform(resolvedPath, readFile8);
|
|
@@ -25024,7 +25131,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
25024
25131
|
return null;
|
|
25025
25132
|
}, resolveAngularDeferImportSpecifier = () => {
|
|
25026
25133
|
const sourceEntry = resolve35(import.meta.dir, "../angular/components/index.ts");
|
|
25027
|
-
if (
|
|
25134
|
+
if (existsSync34(sourceEntry)) {
|
|
25028
25135
|
return sourceEntry.replace(/\\/g, "/");
|
|
25029
25136
|
}
|
|
25030
25137
|
return "@absolutejs/absolute/angular/components";
|
|
@@ -25152,7 +25259,7 @@ ${slot.resolvedBindings.map((binding) => ` "${binding.key}": this.__absoluteDef
|
|
|
25152
25259
|
${fields}
|
|
25153
25260
|
`);
|
|
25154
25261
|
}, readAndEscapeFile = async (filePath, stylePreprocessors) => {
|
|
25155
|
-
if (!
|
|
25262
|
+
if (!existsSync34(filePath)) {
|
|
25156
25263
|
throw new Error(`Unable to inline Angular style resource: file not found at ${filePath}`);
|
|
25157
25264
|
}
|
|
25158
25265
|
const content = await compileStyleFileIfNeeded(filePath, stylePreprocessors);
|
|
@@ -25161,7 +25268,7 @@ ${fields}
|
|
|
25161
25268
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
25162
25269
|
if (templateUrlMatch?.[1]) {
|
|
25163
25270
|
const templatePath = join45(fileDir, templateUrlMatch[1]);
|
|
25164
|
-
if (!
|
|
25271
|
+
if (!existsSync34(templatePath)) {
|
|
25165
25272
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
25166
25273
|
}
|
|
25167
25274
|
const templateRaw2 = await fs5.readFile(templatePath, "utf-8");
|
|
@@ -25192,7 +25299,7 @@ ${fields}
|
|
|
25192
25299
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
25193
25300
|
if (templateUrlMatch?.[1]) {
|
|
25194
25301
|
const templatePath = join45(fileDir, templateUrlMatch[1]);
|
|
25195
|
-
if (!
|
|
25302
|
+
if (!existsSync34(templatePath)) {
|
|
25196
25303
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
25197
25304
|
}
|
|
25198
25305
|
const templateRaw2 = readFileSync32(templatePath, "utf-8");
|
|
@@ -25340,7 +25447,7 @@ ${fields}
|
|
|
25340
25447
|
join45(candidate, "index.js"),
|
|
25341
25448
|
join45(candidate, "index.jsx")
|
|
25342
25449
|
];
|
|
25343
|
-
return candidates.find((file5) =>
|
|
25450
|
+
return candidates.find((file5) => existsSync34(file5));
|
|
25344
25451
|
};
|
|
25345
25452
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
25346
25453
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
@@ -25415,7 +25522,7 @@ ${fields}
|
|
|
25415
25522
|
if (visited.has(resolved))
|
|
25416
25523
|
return;
|
|
25417
25524
|
visited.add(resolved);
|
|
25418
|
-
if (resolved.endsWith(".json") &&
|
|
25525
|
+
if (resolved.endsWith(".json") && existsSync34(resolved)) {
|
|
25419
25526
|
const inputDir2 = dirname26(resolved);
|
|
25420
25527
|
const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
|
|
25421
25528
|
const targetDir2 = join45(outDir, relativeDir2);
|
|
@@ -25428,7 +25535,7 @@ ${fields}
|
|
|
25428
25535
|
let actualPath = resolved;
|
|
25429
25536
|
if (!actualPath.endsWith(".ts"))
|
|
25430
25537
|
actualPath += ".ts";
|
|
25431
|
-
if (!
|
|
25538
|
+
if (!existsSync34(actualPath))
|
|
25432
25539
|
return;
|
|
25433
25540
|
let sourceCode = await fs5.readFile(actualPath, "utf-8");
|
|
25434
25541
|
const inlined = await inlineResources(sourceCode, dirname26(actualPath), stylePreprocessors);
|
|
@@ -25466,7 +25573,7 @@ ${fields}
|
|
|
25466
25573
|
const isEntry = resolve35(actualPath) === resolve35(entryPath);
|
|
25467
25574
|
const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
|
|
25468
25575
|
const cacheKey3 = actualPath;
|
|
25469
|
-
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !
|
|
25576
|
+
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !existsSync34(targetPath);
|
|
25470
25577
|
if (shouldWriteFile) {
|
|
25471
25578
|
const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
|
|
25472
25579
|
const preservedInjection = await readPreservedInjection(targetPath);
|
|
@@ -25479,7 +25586,7 @@ ${fields}
|
|
|
25479
25586
|
};
|
|
25480
25587
|
await transpileFile(inputPath);
|
|
25481
25588
|
const entryOutputPath = toOutputPath(entryPath);
|
|
25482
|
-
if (
|
|
25589
|
+
if (existsSync34(entryOutputPath)) {
|
|
25483
25590
|
const entryOutput = await fs5.readFile(entryOutputPath, "utf-8");
|
|
25484
25591
|
const withoutLegacyFlag = entryOutput.replace(/\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\n?/g, `
|
|
25485
25592
|
`);
|
|
@@ -25505,7 +25612,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25505
25612
|
await traceAngularPhase("aot/copy-json-resources", async () => {
|
|
25506
25613
|
const cwd = process.cwd();
|
|
25507
25614
|
const angularSrcDir = resolve35(outRoot);
|
|
25508
|
-
if (!
|
|
25615
|
+
if (!existsSync34(angularSrcDir))
|
|
25509
25616
|
return;
|
|
25510
25617
|
const jsonGlob = new Glob6("**/*.json");
|
|
25511
25618
|
for (const rel of jsonGlob.scanSync({
|
|
@@ -25540,15 +25647,15 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25540
25647
|
...candidatePaths.map((file5) => resolve35(file5)),
|
|
25541
25648
|
...compiledFallbackPaths
|
|
25542
25649
|
];
|
|
25543
|
-
let candidate = normalizedCandidates.find((file5) =>
|
|
25650
|
+
let candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}${relativeEntry}`));
|
|
25544
25651
|
if (!candidate) {
|
|
25545
|
-
candidate = normalizedCandidates.find((file5) =>
|
|
25652
|
+
candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}pages${sep5}${jsName}`));
|
|
25546
25653
|
}
|
|
25547
25654
|
if (!candidate) {
|
|
25548
|
-
candidate = normalizedCandidates.find((file5) =>
|
|
25655
|
+
candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}${jsName}`));
|
|
25549
25656
|
}
|
|
25550
25657
|
if (!candidate) {
|
|
25551
|
-
candidate = normalizedCandidates.find((file5) =>
|
|
25658
|
+
candidate = normalizedCandidates.find((file5) => existsSync34(file5));
|
|
25552
25659
|
}
|
|
25553
25660
|
return candidate;
|
|
25554
25661
|
};
|
|
@@ -25556,11 +25663,11 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25556
25663
|
if (!rawServerFile) {
|
|
25557
25664
|
rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-fallback", () => resolveRawServerFile([]), { entry: resolvedEntry });
|
|
25558
25665
|
}
|
|
25559
|
-
if (rawServerFile && !
|
|
25666
|
+
if (rawServerFile && !existsSync34(rawServerFile)) {
|
|
25560
25667
|
outputs = hmr ? await compileEntry() : aotOutputs;
|
|
25561
25668
|
rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-retry", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
|
|
25562
25669
|
}
|
|
25563
|
-
if (!rawServerFile || !
|
|
25670
|
+
if (!rawServerFile || !existsSync34(rawServerFile)) {
|
|
25564
25671
|
throw new Error(`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[
|
|
25565
25672
|
...outputs,
|
|
25566
25673
|
...compiledFallbackPaths
|
|
@@ -25596,7 +25703,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25596
25703
|
const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
|
|
25597
25704
|
const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
|
|
25598
25705
|
const clientFile = join45(indexesDir, jsName);
|
|
25599
|
-
if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash &&
|
|
25706
|
+
if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync34(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
|
|
25600
25707
|
return {
|
|
25601
25708
|
clientPath: clientFile,
|
|
25602
25709
|
indexUnchanged: true,
|
|
@@ -25899,7 +26006,7 @@ var init_compileAngular = __esm(() => {
|
|
|
25899
26006
|
|
|
25900
26007
|
// node_modules/content-tag/pkg/node/content_tag.cjs
|
|
25901
26008
|
var require_content_tag = __commonJS(function(exports, module) {
|
|
25902
|
-
var __dirname = "/home
|
|
26009
|
+
var __dirname = "/tmp/claude-1000/-home-alexkahn-onspark-absolutejs-dealroom/2bfd88db-2cb9-4088-8977-3c07598f96a5/scratchpad/absolute-release/node_modules/content-tag/pkg/node";
|
|
25903
26010
|
var imports = {};
|
|
25904
26011
|
imports["__wbindgen_placeholder__"] = exports;
|
|
25905
26012
|
var wasm;
|
|
@@ -26344,7 +26451,7 @@ __export(exports_compileEmber, {
|
|
|
26344
26451
|
getEmberCompiledRoot: () => getEmberCompiledRoot,
|
|
26345
26452
|
getEmberServerCompiledDir: () => getEmberServerCompiledDir
|
|
26346
26453
|
});
|
|
26347
|
-
import { existsSync as
|
|
26454
|
+
import { existsSync as existsSync35 } from "fs";
|
|
26348
26455
|
import { mkdir as mkdir12, rm as rm7 } from "fs/promises";
|
|
26349
26456
|
import { basename as basename16, dirname as dirname27, extname as extname12, join as join46, resolve as resolve36 } from "path";
|
|
26350
26457
|
var {build: bunBuild2, Transpiler: Transpiler5, write: write5, file: file5 } = globalThis.Bun;
|
|
@@ -26446,7 +26553,7 @@ export const importSync = (specifier) => {
|
|
|
26446
26553
|
const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
|
|
26447
26554
|
for (const ext of extensionsToTry) {
|
|
26448
26555
|
const candidate = candidateBase + ext;
|
|
26449
|
-
if (
|
|
26556
|
+
if (existsSync35(candidate))
|
|
26450
26557
|
return { path: candidate };
|
|
26451
26558
|
}
|
|
26452
26559
|
return;
|
|
@@ -26466,7 +26573,7 @@ export const importSync = (specifier) => {
|
|
|
26466
26573
|
if (standalonePackages.has(args.path))
|
|
26467
26574
|
return;
|
|
26468
26575
|
const internal = join46(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
26469
|
-
if (
|
|
26576
|
+
if (existsSync35(internal))
|
|
26470
26577
|
return { path: internal };
|
|
26471
26578
|
return;
|
|
26472
26579
|
});
|
|
@@ -26596,7 +26703,7 @@ __export(exports_buildReactVendor, {
|
|
|
26596
26703
|
buildReactVendor: () => buildReactVendor,
|
|
26597
26704
|
computeVendorPaths: () => computeVendorPaths
|
|
26598
26705
|
});
|
|
26599
|
-
import { existsSync as
|
|
26706
|
+
import { existsSync as existsSync36, mkdirSync as mkdirSync8 } from "fs";
|
|
26600
26707
|
import { join as join47, resolve as resolve37 } from "path";
|
|
26601
26708
|
import { rm as rm8 } from "fs/promises";
|
|
26602
26709
|
var {build: bunBuild3 } = globalThis.Bun;
|
|
@@ -26610,7 +26717,7 @@ var resolveJsxDevRuntimeCompatPath = () => {
|
|
|
26610
26717
|
resolve37(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
|
|
26611
26718
|
];
|
|
26612
26719
|
for (const candidate of candidates) {
|
|
26613
|
-
if (
|
|
26720
|
+
if (existsSync36(candidate)) {
|
|
26614
26721
|
return candidate.replace(/\\/g, "/");
|
|
26615
26722
|
}
|
|
26616
26723
|
}
|
|
@@ -27077,13 +27184,13 @@ var init_buildSvelteVendor = __esm(() => {
|
|
|
27077
27184
|
import {
|
|
27078
27185
|
copyFileSync as copyFileSync3,
|
|
27079
27186
|
cpSync,
|
|
27080
|
-
existsSync as
|
|
27187
|
+
existsSync as existsSync37,
|
|
27081
27188
|
mkdirSync as mkdirSync12,
|
|
27082
27189
|
readdirSync as readdirSync7,
|
|
27083
27190
|
readFileSync as readFileSync33,
|
|
27084
27191
|
renameSync,
|
|
27085
27192
|
rmSync as rmSync2,
|
|
27086
|
-
statSync as
|
|
27193
|
+
statSync as statSync5,
|
|
27087
27194
|
writeFileSync as writeFileSync10
|
|
27088
27195
|
} from "fs";
|
|
27089
27196
|
import { basename as basename17, dirname as dirname28, extname as extname13, join as join51, relative as relative20, resolve as resolve38 } from "path";
|
|
@@ -27254,7 +27361,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27254
27361
|
}, SKIP_DIRS5, addWorkerPathIfExists = (file6, relPath, workerPaths) => {
|
|
27255
27362
|
const absPath = resolve38(file6, "..", relPath);
|
|
27256
27363
|
try {
|
|
27257
|
-
|
|
27364
|
+
statSync5(absPath);
|
|
27258
27365
|
workerPaths.add(absPath);
|
|
27259
27366
|
} catch {}
|
|
27260
27367
|
}, extractWorkerSpecifiers = (file6, patterns) => {
|
|
@@ -27343,7 +27450,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27343
27450
|
copyVueDevIndexes(vueDir, vuePagesPath, vueEntries, devIndexDir);
|
|
27344
27451
|
}
|
|
27345
27452
|
}, copyReactDevIndexes = (reactIndexesPath, reactPagesPath, devIndexDir, readDir) => {
|
|
27346
|
-
if (!
|
|
27453
|
+
if (!existsSync37(reactIndexesPath)) {
|
|
27347
27454
|
return;
|
|
27348
27455
|
}
|
|
27349
27456
|
const indexFiles = readDir(reactIndexesPath).filter((file6) => file6.endsWith(".tsx"));
|
|
@@ -27359,7 +27466,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27359
27466
|
for (const entry of sveltePageEntries) {
|
|
27360
27467
|
const name = basename17(entry).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
27361
27468
|
const indexFile = join51(svelteIndexDir, "pages", `${name}.js`);
|
|
27362
|
-
if (!
|
|
27469
|
+
if (!existsSync37(indexFile))
|
|
27363
27470
|
continue;
|
|
27364
27471
|
let content = readFileSync33(indexFile, "utf-8");
|
|
27365
27472
|
const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
|
|
@@ -27372,7 +27479,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27372
27479
|
for (const entry of vuePageEntries) {
|
|
27373
27480
|
const name = basename17(entry, ".vue");
|
|
27374
27481
|
const indexFile = join51(vueIndexDir, `${name}.js`);
|
|
27375
|
-
if (!
|
|
27482
|
+
if (!existsSync37(indexFile))
|
|
27376
27483
|
continue;
|
|
27377
27484
|
let content = readFileSync33(indexFile, "utf-8");
|
|
27378
27485
|
const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
|
|
@@ -27384,7 +27491,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27384
27491
|
for (const srcPath of urlReferencedFiles) {
|
|
27385
27492
|
const rel = relative20(projectRoot, srcPath).replace(/\\/g, "/");
|
|
27386
27493
|
const name = basename17(srcPath);
|
|
27387
|
-
const mtime = Math.round(
|
|
27494
|
+
const mtime = Math.round(statSync5(srcPath).mtimeMs);
|
|
27388
27495
|
const url = `/@src/${rel}?v=${mtime}`;
|
|
27389
27496
|
urlFileMap.set(name, url);
|
|
27390
27497
|
urlFileMap.set(name.replace(/\.tsx?$/, ".js"), url);
|
|
@@ -28536,7 +28643,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28536
28643
|
await tracePhase("postprocess/client-rewrite", rewriteClientGroups, clientRewriteStats);
|
|
28537
28644
|
if (!hmr) {
|
|
28538
28645
|
const reactVendorDir = join51(buildPath, "react", "vendor");
|
|
28539
|
-
const vendorChunkPaths =
|
|
28646
|
+
const vendorChunkPaths = existsSync37(reactVendorDir) ? [
|
|
28540
28647
|
...new Glob8("**/*.js").scanSync({
|
|
28541
28648
|
absolute: true,
|
|
28542
28649
|
cwd: reactVendorDir
|
|
@@ -28944,7 +29051,7 @@ var init_build = __esm(() => {
|
|
|
28944
29051
|
});
|
|
28945
29052
|
|
|
28946
29053
|
// src/build/buildEmberVendor.ts
|
|
28947
|
-
import { mkdirSync as mkdirSync13, existsSync as
|
|
29054
|
+
import { mkdirSync as mkdirSync13, existsSync as existsSync38 } from "fs";
|
|
28948
29055
|
import { join as join52 } from "path";
|
|
28949
29056
|
import { rm as rm12 } from "fs/promises";
|
|
28950
29057
|
var {build: bunBuild8 } = globalThis.Bun;
|
|
@@ -28998,7 +29105,7 @@ export const importSync = (specifier) => {
|
|
|
28998
29105
|
return { resolveTo: specifier, specifier };
|
|
28999
29106
|
}
|
|
29000
29107
|
const emberInternalPath = join52(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
|
|
29001
|
-
if (!
|
|
29108
|
+
if (!existsSync38(emberInternalPath)) {
|
|
29002
29109
|
throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
|
|
29003
29110
|
}
|
|
29004
29111
|
return { resolveTo: emberInternalPath, specifier };
|
|
@@ -29030,7 +29137,7 @@ export const importSync = (specifier) => {
|
|
|
29030
29137
|
return;
|
|
29031
29138
|
}
|
|
29032
29139
|
const internal = join52(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
29033
|
-
if (
|
|
29140
|
+
if (existsSync38(internal)) {
|
|
29034
29141
|
return { path: internal };
|
|
29035
29142
|
}
|
|
29036
29143
|
return;
|
|
@@ -29202,7 +29309,7 @@ __export(exports_dependencyGraph, {
|
|
|
29202
29309
|
getAffectedFiles: () => getAffectedFiles,
|
|
29203
29310
|
removeFileFromGraph: () => removeFileFromGraph
|
|
29204
29311
|
});
|
|
29205
|
-
import { existsSync as
|
|
29312
|
+
import { existsSync as existsSync39, readFileSync as readFileSync34 } from "fs";
|
|
29206
29313
|
var {Glob: Glob9 } = globalThis.Bun;
|
|
29207
29314
|
import { resolve as resolve39 } from "path";
|
|
29208
29315
|
var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
|
|
@@ -29232,10 +29339,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29232
29339
|
];
|
|
29233
29340
|
for (const ext of extensions) {
|
|
29234
29341
|
const withExt = normalized + ext;
|
|
29235
|
-
if (
|
|
29342
|
+
if (existsSync39(withExt))
|
|
29236
29343
|
return withExt;
|
|
29237
29344
|
}
|
|
29238
|
-
if (
|
|
29345
|
+
if (existsSync39(normalized))
|
|
29239
29346
|
return normalized;
|
|
29240
29347
|
return null;
|
|
29241
29348
|
}, clearExistingDependents = (graph, normalizedPath) => {
|
|
@@ -29250,7 +29357,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29250
29357
|
}
|
|
29251
29358
|
}, addFileToGraph = (graph, filePath) => {
|
|
29252
29359
|
const normalizedPath = resolve39(filePath);
|
|
29253
|
-
if (!
|
|
29360
|
+
if (!existsSync39(normalizedPath))
|
|
29254
29361
|
return;
|
|
29255
29362
|
const dependencies = extractDependencies(normalizedPath);
|
|
29256
29363
|
clearExistingDependents(graph, normalizedPath);
|
|
@@ -29276,7 +29383,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29276
29383
|
}, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
|
|
29277
29384
|
const processedFiles = new Set;
|
|
29278
29385
|
const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
|
|
29279
|
-
const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) =>
|
|
29386
|
+
const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) => existsSync39(dir));
|
|
29280
29387
|
const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
|
|
29281
29388
|
for (const file6 of allFiles) {
|
|
29282
29389
|
const fullPath = resolve39(file6);
|
|
@@ -29530,7 +29637,7 @@ var init_clientManager = __esm(() => {
|
|
|
29530
29637
|
});
|
|
29531
29638
|
|
|
29532
29639
|
// src/dev/pathUtils.ts
|
|
29533
|
-
import { existsSync as
|
|
29640
|
+
import { existsSync as existsSync40, readdirSync as readdirSync8, readFileSync as readFileSync35 } from "fs";
|
|
29534
29641
|
import { dirname as dirname29, resolve as resolve41 } from "path";
|
|
29535
29642
|
var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
29536
29643
|
if (shouldIgnorePath(filePath, resolved)) {
|
|
@@ -29704,7 +29811,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29704
29811
|
push(cfg.stylesDir);
|
|
29705
29812
|
for (const candidate of ["src", "db", "assets", "styles"]) {
|
|
29706
29813
|
const abs = normalizePath2(resolve41(cwd2, candidate));
|
|
29707
|
-
if (
|
|
29814
|
+
if (existsSync40(abs) && !roots.includes(abs))
|
|
29708
29815
|
roots.push(abs);
|
|
29709
29816
|
}
|
|
29710
29817
|
try {
|
|
@@ -29796,7 +29903,7 @@ var init_pathUtils = __esm(() => {
|
|
|
29796
29903
|
});
|
|
29797
29904
|
|
|
29798
29905
|
// src/dev/devPrescan.ts
|
|
29799
|
-
import { existsSync as
|
|
29906
|
+
import { existsSync as existsSync41, readdirSync as readdirSync9, rmSync as rmSync3 } from "fs";
|
|
29800
29907
|
import { mkdir as mkdir13, readFile as readFile8, rename as rename4, writeFile as writeFile10 } from "fs/promises";
|
|
29801
29908
|
import { join as join53 } from "path";
|
|
29802
29909
|
var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2000, collectConfigVendorSourceDirs = (config) => Array.from(new Set([
|
|
@@ -29809,7 +29916,7 @@ var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2
|
|
|
29809
29916
|
].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((resolve42) => {
|
|
29810
29917
|
setTimeout(resolve42, delayMs);
|
|
29811
29918
|
}), isPayload = (value) => typeof value === "object" && value !== null && ("version" in value) && value.version === PAYLOAD_VERSION, tryReadPrescan = async (path2) => {
|
|
29812
|
-
if (!
|
|
29919
|
+
if (!existsSync41(path2))
|
|
29813
29920
|
return;
|
|
29814
29921
|
try {
|
|
29815
29922
|
const parsed = JSON.parse(await readFile8(path2, "utf8"));
|
|
@@ -29865,7 +29972,7 @@ var init_serverEntryCopies = () => {};
|
|
|
29865
29972
|
|
|
29866
29973
|
// src/dev/fileWatcher.ts
|
|
29867
29974
|
import { watch } from "fs";
|
|
29868
|
-
import { existsSync as
|
|
29975
|
+
import { existsSync as existsSync42, readdirSync as readdirSync10, statSync as statSync6 } from "fs";
|
|
29869
29976
|
import { dirname as dirname30, join as join54, resolve as resolve42 } from "path";
|
|
29870
29977
|
var safeRemoveFromGraph = (graph, fullPath) => {
|
|
29871
29978
|
try {
|
|
@@ -29901,7 +30008,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29901
30008
|
const child = join54(eventDir, name).replace(/\\/g, "/");
|
|
29902
30009
|
let st2;
|
|
29903
30010
|
try {
|
|
29904
|
-
st2 =
|
|
30011
|
+
st2 = statSync6(child);
|
|
29905
30012
|
} catch {
|
|
29906
30013
|
continue;
|
|
29907
30014
|
}
|
|
@@ -29932,12 +30039,12 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29932
30039
|
if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
|
|
29933
30040
|
return;
|
|
29934
30041
|
}
|
|
29935
|
-
if (event === "rename" && !
|
|
30042
|
+
if (event === "rename" && !existsSync42(fullPath)) {
|
|
29936
30043
|
safeRemoveFromGraph(state.dependencyGraph, fullPath);
|
|
29937
30044
|
onFileChange(fullPath);
|
|
29938
30045
|
return;
|
|
29939
30046
|
}
|
|
29940
|
-
if (
|
|
30047
|
+
if (existsSync42(fullPath)) {
|
|
29941
30048
|
onFileChange(fullPath);
|
|
29942
30049
|
safeAddToGraph(state.dependencyGraph, fullPath);
|
|
29943
30050
|
}
|
|
@@ -29947,7 +30054,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29947
30054
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
29948
30055
|
paths.forEach((path2) => {
|
|
29949
30056
|
const absolutePath = resolve42(path2).replace(/\\/g, "/");
|
|
29950
|
-
if (!
|
|
30057
|
+
if (!existsSync42(absolutePath)) {
|
|
29951
30058
|
return;
|
|
29952
30059
|
}
|
|
29953
30060
|
const isStylesDir = Boolean(stylesDir && absolutePath.startsWith(stylesDir));
|
|
@@ -29958,7 +30065,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29958
30065
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
29959
30066
|
watchPaths.forEach((path2) => {
|
|
29960
30067
|
const absolutePath = resolve42(path2).replace(/\\/g, "/");
|
|
29961
|
-
if (!
|
|
30068
|
+
if (!existsSync42(absolutePath)) {
|
|
29962
30069
|
return;
|
|
29963
30070
|
}
|
|
29964
30071
|
const isStylesDir = Boolean(stylesDir && absolutePath.startsWith(stylesDir));
|
|
@@ -30103,6 +30210,26 @@ var init_assetStore = __esm(() => {
|
|
|
30103
30210
|
HASHED_FILE_RE = /\.[a-z0-9]{8}\.(js|css|mjs)$/;
|
|
30104
30211
|
});
|
|
30105
30212
|
|
|
30213
|
+
// src/dev/restartScope.ts
|
|
30214
|
+
import { realpathSync as realpathSync3 } from "fs";
|
|
30215
|
+
var MODULE_FILE, DOCUMENT_FILE, realPath = (path2) => {
|
|
30216
|
+
try {
|
|
30217
|
+
return realpathSync3(path2);
|
|
30218
|
+
} catch {
|
|
30219
|
+
return path2;
|
|
30220
|
+
}
|
|
30221
|
+
}, isLoadedByThisProcess = (path2) => (path2 in __require.cache) || (realPath(path2) in __require.cache), changeNeedsRestart = (path2, isLoaded = isLoadedByThisProcess) => {
|
|
30222
|
+
if (DOCUMENT_FILE.test(path2) || isTestSourcePath(path2))
|
|
30223
|
+
return false;
|
|
30224
|
+
if (MODULE_FILE.test(path2))
|
|
30225
|
+
return isLoaded(path2);
|
|
30226
|
+
return true;
|
|
30227
|
+
};
|
|
30228
|
+
var init_restartScope = __esm(() => {
|
|
30229
|
+
MODULE_FILE = /\.(?:[cm]?[jt]sx?|mts|cts)$/;
|
|
30230
|
+
DOCUMENT_FILE = /\.(?:md|mdx|markdown|txt|rst|adoc|log|csv)$/i;
|
|
30231
|
+
});
|
|
30232
|
+
|
|
30106
30233
|
// src/dev/fileHashTracker.ts
|
|
30107
30234
|
import { readFileSync as readFileSync36 } from "fs";
|
|
30108
30235
|
var computeFileHash = (filePath) => {
|
|
@@ -30424,7 +30551,7 @@ __export(exports_resolveOwningComponents, {
|
|
|
30424
30551
|
resolveDescendantsOfParent: () => resolveDescendantsOfParent,
|
|
30425
30552
|
resolveOwningComponents: () => resolveOwningComponents
|
|
30426
30553
|
});
|
|
30427
|
-
import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as
|
|
30554
|
+
import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as statSync7 } from "fs";
|
|
30428
30555
|
import { dirname as dirname32, extname as extname14, join as join55, resolve as resolve47 } from "path";
|
|
30429
30556
|
import ts19 from "typescript";
|
|
30430
30557
|
var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") || file6.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
|
|
@@ -30559,7 +30686,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30559
30686
|
}
|
|
30560
30687
|
let rootStat;
|
|
30561
30688
|
try {
|
|
30562
|
-
rootStat =
|
|
30689
|
+
rootStat = statSync7(userAngularRoot);
|
|
30563
30690
|
} catch {
|
|
30564
30691
|
return out;
|
|
30565
30692
|
}
|
|
@@ -30617,7 +30744,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30617
30744
|
const angularRootNorm = safeNormalize(angularRoot);
|
|
30618
30745
|
for (const candidate of candidates) {
|
|
30619
30746
|
try {
|
|
30620
|
-
if (
|
|
30747
|
+
if (statSync7(candidate).isFile()) {
|
|
30621
30748
|
const norm = safeNormalize(candidate);
|
|
30622
30749
|
if (!norm.startsWith(angularRootNorm))
|
|
30623
30750
|
return null;
|
|
@@ -30674,7 +30801,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30674
30801
|
const norm = safeNormalize(params.changedFilePath);
|
|
30675
30802
|
let rootStat;
|
|
30676
30803
|
try {
|
|
30677
|
-
rootStat =
|
|
30804
|
+
rootStat = statSync7(params.userAngularRoot);
|
|
30678
30805
|
} catch {
|
|
30679
30806
|
return [];
|
|
30680
30807
|
}
|
|
@@ -30911,7 +31038,7 @@ __export(exports_moduleServer, {
|
|
|
30911
31038
|
warmPage: () => warmPage,
|
|
30912
31039
|
warnIfReactFastRefreshUnsupported: () => warnIfReactFastRefreshUnsupported
|
|
30913
31040
|
});
|
|
30914
|
-
import { existsSync as
|
|
31041
|
+
import { existsSync as existsSync43, readFileSync as readFileSync38, realpathSync as realpathSync4, statSync as statSync8 } from "fs";
|
|
30915
31042
|
import { basename as basename19, dirname as dirname33, extname as extname15, join as join56, resolve as resolve48, relative as relative21 } from "path";
|
|
30916
31043
|
var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfig, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
30917
31044
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
@@ -30932,10 +31059,10 @@ var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfi
|
|
|
30932
31059
|
${stubs}
|
|
30933
31060
|
`;
|
|
30934
31061
|
}, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
|
|
30935
|
-
const directHit = extensions.find((ext) =>
|
|
31062
|
+
const directHit = extensions.find((ext) => existsSync43(resolve48(projectRoot, srcPath + ext)));
|
|
30936
31063
|
if (directHit)
|
|
30937
31064
|
return srcPath + directHit;
|
|
30938
|
-
const indexHit = extensions.find((ext) =>
|
|
31065
|
+
const indexHit = extensions.find((ext) => existsSync43(resolve48(projectRoot, srcPath, `index${ext}`)));
|
|
30939
31066
|
if (indexHit)
|
|
30940
31067
|
return `${srcPath}/index${indexHit}`;
|
|
30941
31068
|
return srcPath;
|
|
@@ -30969,7 +31096,7 @@ ${stubs}
|
|
|
30969
31096
|
if (cached !== undefined)
|
|
30970
31097
|
return `${base}?v=${buildVersion(cached, absPath)}`;
|
|
30971
31098
|
try {
|
|
30972
|
-
const mtime = Math.round(
|
|
31099
|
+
const mtime = Math.round(statSync8(absPath).mtimeMs);
|
|
30973
31100
|
mtimeCache.set(absPath, mtime);
|
|
30974
31101
|
return `${base}?v=${buildVersion(mtime, absPath)}`;
|
|
30975
31102
|
} catch {
|
|
@@ -31002,12 +31129,12 @@ ${stubs}
|
|
|
31002
31129
|
if (!subpath) {
|
|
31003
31130
|
const pkgDir = resolve48(projectRoot, "node_modules", packageName ?? "");
|
|
31004
31131
|
const pkgJsonPath = join56(pkgDir, "package.json");
|
|
31005
|
-
if (
|
|
31132
|
+
if (existsSync43(pkgJsonPath)) {
|
|
31006
31133
|
const pkg = JSON.parse(readFileSync38(pkgJsonPath, "utf-8"));
|
|
31007
31134
|
const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
|
|
31008
31135
|
if (esmEntry) {
|
|
31009
31136
|
const resolved = resolve48(pkgDir, esmEntry);
|
|
31010
|
-
if (
|
|
31137
|
+
if (existsSync43(resolved))
|
|
31011
31138
|
return relative21(projectRoot, resolved);
|
|
31012
31139
|
}
|
|
31013
31140
|
}
|
|
@@ -31371,9 +31498,9 @@ ${code2}`;
|
|
|
31371
31498
|
const hasScript = descriptor.script || descriptor.scriptSetup;
|
|
31372
31499
|
const compiledScript = hasScript ? vueCompiler.compileScript(descriptor, {
|
|
31373
31500
|
fs: {
|
|
31374
|
-
fileExists:
|
|
31375
|
-
realpath:
|
|
31376
|
-
readFile: (file6) =>
|
|
31501
|
+
fileExists: isFile,
|
|
31502
|
+
realpath: realpathSync4,
|
|
31503
|
+
readFile: (file6) => isFile(file6) ? readFileSync38(file6, "utf-8") : undefined
|
|
31377
31504
|
},
|
|
31378
31505
|
id: componentId,
|
|
31379
31506
|
inlineTemplate: false
|
|
@@ -31403,11 +31530,11 @@ ${code2}`;
|
|
|
31403
31530
|
`);
|
|
31404
31531
|
return result;
|
|
31405
31532
|
}, resolveSvelteModulePath = (path2) => {
|
|
31406
|
-
if (
|
|
31533
|
+
if (existsSync43(path2))
|
|
31407
31534
|
return path2;
|
|
31408
|
-
if (
|
|
31535
|
+
if (existsSync43(`${path2}.ts`))
|
|
31409
31536
|
return `${path2}.ts`;
|
|
31410
|
-
if (
|
|
31537
|
+
if (existsSync43(`${path2}.js`))
|
|
31411
31538
|
return `${path2}.js`;
|
|
31412
31539
|
return path2;
|
|
31413
31540
|
}, jsResponse = (body) => {
|
|
@@ -31555,7 +31682,7 @@ export default {};
|
|
|
31555
31682
|
return { ext, filePath: resolveSvelteModulePath(filePath) };
|
|
31556
31683
|
if (ext)
|
|
31557
31684
|
return { ext, filePath };
|
|
31558
|
-
const found = MODULE_EXTENSIONS.find((candidate) =>
|
|
31685
|
+
const found = MODULE_EXTENSIONS.find((candidate) => existsSync43(filePath + candidate));
|
|
31559
31686
|
if (!found)
|
|
31560
31687
|
return { ext, filePath };
|
|
31561
31688
|
const resolved = filePath + found;
|
|
@@ -31623,7 +31750,7 @@ export default {};
|
|
|
31623
31750
|
return transformAndCacheVue(filePath, projectRoot, rewriter, vueDir, stylePreprocessors);
|
|
31624
31751
|
if (!TRANSPILABLE.has(ext))
|
|
31625
31752
|
return;
|
|
31626
|
-
const stat4 =
|
|
31753
|
+
const stat4 = statSync8(filePath);
|
|
31627
31754
|
const resolvedVueDir = vueDir ? resolve48(vueDir) : undefined;
|
|
31628
31755
|
let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
|
|
31629
31756
|
const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
|
|
@@ -31651,12 +31778,12 @@ export default {};
|
|
|
31651
31778
|
cachedAngularUserRoot = configuredAngularUserRoot ?? null;
|
|
31652
31779
|
return cachedAngularUserRoot;
|
|
31653
31780
|
}, configuredAngularUserRoot, transformAndCacheSvelte = async (filePath, projectRoot, rewriter, stylePreprocessors) => {
|
|
31654
|
-
const stat4 =
|
|
31781
|
+
const stat4 = statSync8(filePath);
|
|
31655
31782
|
const content = await transformSvelteFile(filePath, projectRoot, rewriter, stylePreprocessors);
|
|
31656
31783
|
setTransformed(filePath, content, stat4.mtimeMs, extractImportedFiles(content, projectRoot));
|
|
31657
31784
|
return jsResponse(content);
|
|
31658
31785
|
}, transformAndCacheVue = async (filePath, projectRoot, rewriter, vueDir, stylePreprocessors) => {
|
|
31659
|
-
const stat4 =
|
|
31786
|
+
const stat4 = statSync8(filePath);
|
|
31660
31787
|
const content = await transformVueFile(filePath, projectRoot, rewriter, vueDir, stylePreprocessors);
|
|
31661
31788
|
setTransformed(filePath, content, stat4.mtimeMs, extractImportedFiles(content, projectRoot));
|
|
31662
31789
|
return jsResponse(content);
|
|
@@ -31760,6 +31887,7 @@ export default {};
|
|
|
31760
31887
|
name: entry.name
|
|
31761
31888
|
};
|
|
31762
31889
|
},
|
|
31890
|
+
lastError: () => getDevResult()?.hmrState.lazyPages?.lastError,
|
|
31763
31891
|
lookup: (key) => getDevResult()?.manifest[key],
|
|
31764
31892
|
warm: (key) => warmPage(key)
|
|
31765
31893
|
};
|
|
@@ -31817,6 +31945,7 @@ var init_moduleServer = __esm(() => {
|
|
|
31817
31945
|
init_resolvePackageImport();
|
|
31818
31946
|
init_vueAutoRouterTransform();
|
|
31819
31947
|
init_sourceMetadata();
|
|
31948
|
+
init_isFile();
|
|
31820
31949
|
init_stylePreprocessor();
|
|
31821
31950
|
init_lowerAwaitSlotSyntax();
|
|
31822
31951
|
init_lowerIslandSyntax();
|
|
@@ -32041,62 +32170,6 @@ var init_routeAssets = __esm(() => {
|
|
|
32041
32170
|
ENTITY_RE = /&(?:amp|lt|gt|quot|#0?39);/g;
|
|
32042
32171
|
});
|
|
32043
32172
|
|
|
32044
|
-
// src/utils/ssrErrorPage.ts
|
|
32045
|
-
var exports_ssrErrorPage = {};
|
|
32046
|
-
__export(exports_ssrErrorPage, {
|
|
32047
|
-
ssrErrorPage: () => ssrErrorPage
|
|
32048
|
-
});
|
|
32049
|
-
var ssrErrorPage = (framework, error) => {
|
|
32050
|
-
const frameworkColors2 = {
|
|
32051
|
-
angular: "#dd0031",
|
|
32052
|
-
html: "#e34c26",
|
|
32053
|
-
htmx: "#1a365d",
|
|
32054
|
-
react: "#61dafb",
|
|
32055
|
-
svelte: "#ff3e00",
|
|
32056
|
-
vue: "#42b883"
|
|
32057
|
-
};
|
|
32058
|
-
const accent = frameworkColors2[framework] ?? "#94a3b8";
|
|
32059
|
-
const label = framework.charAt(0).toUpperCase() + framework.slice(1);
|
|
32060
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
32061
|
-
return `<!DOCTYPE html>
|
|
32062
|
-
<html>
|
|
32063
|
-
<head>
|
|
32064
|
-
<meta charset="utf-8">
|
|
32065
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
32066
|
-
<title>SSR Error - AbsoluteJS</title>
|
|
32067
|
-
<style>
|
|
32068
|
-
*{margin:0;padding:0;box-sizing:border-box}
|
|
32069
|
-
body{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}
|
|
32070
|
-
.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}
|
|
32071
|
-
.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}
|
|
32072
|
-
.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}
|
|
32073
|
-
.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
|
|
32074
|
-
.kind{color:#94a3b8;font-size:13px;font-weight:500}
|
|
32075
|
-
.content{padding:24px}
|
|
32076
|
-
.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}
|
|
32077
|
-
.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}
|
|
32078
|
-
.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}
|
|
32079
|
-
</style>
|
|
32080
|
-
</head>
|
|
32081
|
-
<body>
|
|
32082
|
-
<div class="card">
|
|
32083
|
-
<div class="header">
|
|
32084
|
-
<div style="display:flex;align-items:center;gap:12px">
|
|
32085
|
-
<span class="brand">AbsoluteJS</span>
|
|
32086
|
-
<span class="badge">${label}</span>
|
|
32087
|
-
</div>
|
|
32088
|
-
<span class="kind">Server Render Error</span>
|
|
32089
|
-
</div>
|
|
32090
|
-
<div class="content">
|
|
32091
|
-
<div class="label">What went wrong</div>
|
|
32092
|
-
<pre class="message">${message.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")}</pre>
|
|
32093
|
-
<div class="hint">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>
|
|
32094
|
-
</div>
|
|
32095
|
-
</div>
|
|
32096
|
-
</body>
|
|
32097
|
-
</html>`;
|
|
32098
|
-
};
|
|
32099
|
-
|
|
32100
32173
|
// src/ember/pageHandler.ts
|
|
32101
32174
|
import { pathToFileURL as pathToFileURL4 } from "url";
|
|
32102
32175
|
var resolveRequestPathname = (request) => {
|
|
@@ -32139,6 +32212,9 @@ var resolveRequestPathname = (request) => {
|
|
|
32139
32212
|
return cachedEmberHmrShim;
|
|
32140
32213
|
}, handleEmberPageRequest = async (input) => {
|
|
32141
32214
|
const deferredAssets = input.pagePath === "" ? await resolveDeferredPageAssets() : null;
|
|
32215
|
+
const buildFailure = devBuildErrorResponse("ember", deferredAssets);
|
|
32216
|
+
if (buildFailure)
|
|
32217
|
+
return buildFailure;
|
|
32142
32218
|
const pagePath = deferredAssets && input.pagePath === "" ? deferredAssets.lookup(deferredAssets.name) : input.pagePath;
|
|
32143
32219
|
if (pagePath === "") {
|
|
32144
32220
|
throw new Error(`Asset "${deferredAssets?.name || "Page"}" not found in manifest.`);
|
|
@@ -32283,7 +32359,7 @@ __export(exports_rebuildTrigger, {
|
|
|
32283
32359
|
queueFileChange: () => queueFileChange,
|
|
32284
32360
|
triggerRebuild: () => triggerRebuild
|
|
32285
32361
|
});
|
|
32286
|
-
import { existsSync as
|
|
32362
|
+
import { existsSync as existsSync44, readdirSync as readdirSync12, rmSync as rmSync4, statSync as statSync9 } from "fs";
|
|
32287
32363
|
import {
|
|
32288
32364
|
basename as basename20,
|
|
32289
32365
|
dirname as dirname35,
|
|
@@ -32397,7 +32473,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32397
32473
|
detectedFw = detected !== "ignored" ? detected : affectedFrameworks[0];
|
|
32398
32474
|
}
|
|
32399
32475
|
return { ...parsed, framework: detectedFw };
|
|
32400
|
-
}, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) &&
|
|
32476
|
+
}, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync44(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
|
|
32401
32477
|
const { config } = state;
|
|
32402
32478
|
const cwd2 = process.cwd();
|
|
32403
32479
|
const absDeleted = resolvePath(deletedFile).replace(/\\/g, "/");
|
|
@@ -32443,7 +32519,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32443
32519
|
if (!dependents || dependents.size === 0) {
|
|
32444
32520
|
return;
|
|
32445
32521
|
}
|
|
32446
|
-
const dependentFiles = Array.from(dependents).filter((file6) =>
|
|
32522
|
+
const dependentFiles = Array.from(dependents).filter((file6) => existsSync44(file6));
|
|
32447
32523
|
if (dependentFiles.length === 0) {
|
|
32448
32524
|
return;
|
|
32449
32525
|
}
|
|
@@ -32459,7 +32535,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32459
32535
|
try {
|
|
32460
32536
|
const affectedFiles = getAffectedFiles(state.dependencyGraph, normalizedFilePath);
|
|
32461
32537
|
affectedFiles.forEach((affectedFile) => {
|
|
32462
|
-
if (!processedFiles.has(affectedFile) && affectedFile !== normalizedFilePath &&
|
|
32538
|
+
if (!processedFiles.has(affectedFile) && affectedFile !== normalizedFilePath && existsSync44(affectedFile)) {
|
|
32463
32539
|
validFiles.push(affectedFile);
|
|
32464
32540
|
processedFiles.add(affectedFile);
|
|
32465
32541
|
}
|
|
@@ -32484,7 +32560,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32484
32560
|
collectChangedFileAffected(state, normalizedFilePath, processedFiles, validFiles);
|
|
32485
32561
|
}, processFilePathSet = (state, filePathSet, processedFiles, validFiles) => {
|
|
32486
32562
|
filePathSet.forEach((filePathInSet) => {
|
|
32487
|
-
if (!
|
|
32563
|
+
if (!existsSync44(filePathInSet)) {
|
|
32488
32564
|
collectDeletedFileAffected(state, filePathInSet, processedFiles, validFiles);
|
|
32489
32565
|
return;
|
|
32490
32566
|
}
|
|
@@ -32704,6 +32780,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32704
32780
|
} catch {}
|
|
32705
32781
|
}
|
|
32706
32782
|
if (!hasAngularDependent) {
|
|
32783
|
+
if (!changeNeedsRestart(resolvePath(filePath)))
|
|
32784
|
+
return;
|
|
32707
32785
|
console.log(`[abs:restart] ${resolvePath(filePath)}`);
|
|
32708
32786
|
return;
|
|
32709
32787
|
}
|
|
@@ -32749,7 +32827,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32749
32827
|
return componentFile;
|
|
32750
32828
|
}
|
|
32751
32829
|
const tsCounterpart = componentFile.replace(/\.html$/, ".ts");
|
|
32752
|
-
if (
|
|
32830
|
+
if (existsSync44(tsCounterpart)) {
|
|
32753
32831
|
return tsCounterpart;
|
|
32754
32832
|
}
|
|
32755
32833
|
if (!graph)
|
|
@@ -33430,7 +33508,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33430
33508
|
return url;
|
|
33431
33509
|
}, getReactModuleUrl, isReactComponentPath = (file6) => file6.endsWith(".tsx") || file6.endsWith(".jsx"), isReactPagePath = (file6) => file6.replace(/\\/g, "/").includes("/pages/"), isImportableModule = (file6) => {
|
|
33432
33510
|
try {
|
|
33433
|
-
return
|
|
33511
|
+
return statSync9(file6).isFile();
|
|
33434
33512
|
} catch {
|
|
33435
33513
|
return false;
|
|
33436
33514
|
}
|
|
@@ -33677,7 +33755,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33677
33755
|
}
|
|
33678
33756
|
return ctx;
|
|
33679
33757
|
}, runSvelteBundleRebuild = async (state, svelteFiles, config) => {
|
|
33680
|
-
const existingSvelteFiles = svelteFiles.filter((file6) =>
|
|
33758
|
+
const existingSvelteFiles = svelteFiles.filter((file6) => existsSync44(file6));
|
|
33681
33759
|
if (existingSvelteFiles.length === 0)
|
|
33682
33760
|
return;
|
|
33683
33761
|
const svelteDir = config.svelteDirectory ?? "";
|
|
@@ -35006,6 +35084,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
35006
35084
|
}
|
|
35007
35085
|
};
|
|
35008
35086
|
var init_rebuildTrigger = __esm(() => {
|
|
35087
|
+
init_restartScope();
|
|
35009
35088
|
init_generatedDir();
|
|
35010
35089
|
init_build();
|
|
35011
35090
|
init_lazyPages();
|
|
@@ -35406,7 +35485,7 @@ __export(exports_vendorCache, {
|
|
|
35406
35485
|
import { createHash as createHash8 } from "crypto";
|
|
35407
35486
|
import {
|
|
35408
35487
|
copyFileSync as copyFileSync4,
|
|
35409
|
-
existsSync as
|
|
35488
|
+
existsSync as existsSync45,
|
|
35410
35489
|
mkdirSync as mkdirSync15,
|
|
35411
35490
|
readdirSync as readdirSync13,
|
|
35412
35491
|
readFileSync as readFileSync39
|
|
@@ -35440,7 +35519,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35440
35519
|
let found = false;
|
|
35441
35520
|
for (const name of LOCKFILES) {
|
|
35442
35521
|
const path2 = join59(projectRoot, name);
|
|
35443
|
-
if (!
|
|
35522
|
+
if (!existsSync45(path2))
|
|
35444
35523
|
continue;
|
|
35445
35524
|
found = true;
|
|
35446
35525
|
hash.update(name);
|
|
@@ -35460,21 +35539,21 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35460
35539
|
}, copySlotsInto = (cacheDir2, vendorDirs) => {
|
|
35461
35540
|
for (const [index, dir] of vendorDirs.entries()) {
|
|
35462
35541
|
const source = join59(cacheDir2, slotName(index, dir));
|
|
35463
|
-
if (!
|
|
35542
|
+
if (!existsSync45(source)) {
|
|
35464
35543
|
throw new Error(`missing cached vendor dir ${source}`);
|
|
35465
35544
|
}
|
|
35466
35545
|
copyTree(source, dir);
|
|
35467
35546
|
}
|
|
35468
35547
|
}, copySlotsFrom = (stagingDir, vendorDirs) => {
|
|
35469
35548
|
for (const [index, dir] of vendorDirs.entries()) {
|
|
35470
|
-
if (!
|
|
35549
|
+
if (!existsSync45(dir))
|
|
35471
35550
|
continue;
|
|
35472
35551
|
copyTree(dir, join59(stagingDir, slotName(index, dir)));
|
|
35473
35552
|
}
|
|
35474
35553
|
}, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) => resolve52(projectRoot, CACHE_ROOT2, key), slotName = (index, dir) => `${index}-${basename21(resolve52(dir, ".."))}`, restoreVendorCache = async (key, vendorDirs, projectRoot = process.cwd()) => {
|
|
35475
35554
|
const cacheDir2 = cacheDirFor(key, projectRoot);
|
|
35476
35555
|
const payloadPath = join59(cacheDir2, "payload.json");
|
|
35477
|
-
if (!
|
|
35556
|
+
if (!existsSync45(payloadPath))
|
|
35478
35557
|
return null;
|
|
35479
35558
|
try {
|
|
35480
35559
|
const payload = JSON.parse(await readFile10(payloadPath, "utf8"));
|
|
@@ -35487,7 +35566,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35487
35566
|
}
|
|
35488
35567
|
}, saveVendorCache = async (key, vendorDirs, payload, projectRoot = process.cwd()) => {
|
|
35489
35568
|
const cacheDir2 = cacheDirFor(key, projectRoot);
|
|
35490
|
-
if (
|
|
35569
|
+
if (existsSync45(join59(cacheDir2, "payload.json")))
|
|
35491
35570
|
return;
|
|
35492
35571
|
const stagingDir = `${cacheDir2}.${process.pid}.tmp`;
|
|
35493
35572
|
try {
|
|
@@ -35522,7 +35601,7 @@ __export(exports_devBuild, {
|
|
|
35522
35601
|
devBuild: () => devBuild
|
|
35523
35602
|
});
|
|
35524
35603
|
import { readdir as readdir5 } from "fs/promises";
|
|
35525
|
-
import { existsSync as
|
|
35604
|
+
import { existsSync as existsSync46, statSync as statSync10 } from "fs";
|
|
35526
35605
|
import { resolve as resolve53 } from "path";
|
|
35527
35606
|
var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.dir, "../dev/client"), collectDepVendorSourceDirs = (config) => {
|
|
35528
35607
|
const configuredDirs = [
|
|
@@ -35662,7 +35741,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
|
|
|
35662
35741
|
});
|
|
35663
35742
|
}
|
|
35664
35743
|
}, handleCachedReload = async () => {
|
|
35665
|
-
const serverMtime =
|
|
35744
|
+
const serverMtime = statSync10(resolve53(Bun.main)).mtimeMs;
|
|
35666
35745
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
35667
35746
|
globalThis.__hmrServerMtime = serverMtime;
|
|
35668
35747
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -35800,7 +35879,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
|
|
|
35800
35879
|
const sourceFiles = await collectDepVendorSourceFiles(config);
|
|
35801
35880
|
const configVendorDirs = collectConfigVendorSourceDirs(config);
|
|
35802
35881
|
const prescannedVendorPaths = prescanVendorPaths(prescan, configVendorDirs);
|
|
35803
|
-
const remainingVendorDirs = prescannedVendorPaths ? sourceDirs.filter((dir) => !configVendorDirs.includes(dir) &&
|
|
35882
|
+
const remainingVendorDirs = prescannedVendorPaths ? sourceDirs.filter((dir) => !configVendorDirs.includes(dir) && existsSync46(dir)) : sourceDirs;
|
|
35804
35883
|
if (prescannedVendorPaths && remainingVendorDirs.length === 0 && sourceFiles.length === 0) {
|
|
35805
35884
|
globalThis.__depVendorPaths = prescannedVendorPaths;
|
|
35806
35885
|
} else {
|
|
@@ -36043,7 +36122,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
|
|
|
36043
36122
|
manifest
|
|
36044
36123
|
};
|
|
36045
36124
|
globalThis.__hmrDevResult = result;
|
|
36046
|
-
globalThis.__hmrServerMtime =
|
|
36125
|
+
globalThis.__hmrServerMtime = statSync10(resolve53(Bun.main)).mtimeMs;
|
|
36047
36126
|
return result;
|
|
36048
36127
|
};
|
|
36049
36128
|
var init_devBuild = __esm(() => {
|
|
@@ -36302,14 +36381,14 @@ __export(exports_devtoolsJson, {
|
|
|
36302
36381
|
normalizeDevtoolsWorkspaceRoot: () => normalizeDevtoolsWorkspaceRoot,
|
|
36303
36382
|
resolveDevtoolsUuidCachePath: () => resolveDevtoolsUuidCachePath
|
|
36304
36383
|
});
|
|
36305
|
-
import { existsSync as
|
|
36384
|
+
import { existsSync as existsSync47, mkdirSync as mkdirSync16, readFileSync as readFileSync40, writeFileSync as writeFileSync11 } from "fs";
|
|
36306
36385
|
import { dirname as dirname36, join as join60, resolve as resolve54 } from "path";
|
|
36307
36386
|
import { Elysia as Elysia7 } from "elysia";
|
|
36308
36387
|
var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
|
|
36309
36388
|
Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
|
|
36310
36389
|
return uuid;
|
|
36311
36390
|
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve54(uuidCachePath ?? join60(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
|
|
36312
|
-
if (!
|
|
36391
|
+
if (!existsSync47(cachePath))
|
|
36313
36392
|
return null;
|
|
36314
36393
|
try {
|
|
36315
36394
|
const value = readFileSync40(cachePath, "utf-8").trim();
|
|
@@ -36362,13 +36441,13 @@ var exports_imageOptimizer = {};
|
|
|
36362
36441
|
__export(exports_imageOptimizer, {
|
|
36363
36442
|
imageOptimizer: () => imageOptimizer
|
|
36364
36443
|
});
|
|
36365
|
-
import { existsSync as
|
|
36444
|
+
import { existsSync as existsSync48 } from "fs";
|
|
36366
36445
|
import { resolve as resolve55 } from "path";
|
|
36367
36446
|
import { Elysia as Elysia8 } from "elysia";
|
|
36368
36447
|
var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avifInProgress, safeResolve = (path2, baseDir) => {
|
|
36369
36448
|
try {
|
|
36370
36449
|
const resolved = validateSafePath(path2, baseDir);
|
|
36371
|
-
if (
|
|
36450
|
+
if (existsSync48(resolved))
|
|
36372
36451
|
return resolved;
|
|
36373
36452
|
return null;
|
|
36374
36453
|
} catch {
|
|
@@ -37620,6 +37699,7 @@ ${serverOutput}` : "Server failed to start for pre-rendering";
|
|
|
37620
37699
|
...env4,
|
|
37621
37700
|
ABSOLUTE_HOST: "localhost",
|
|
37622
37701
|
ABSOLUTE_PORT: String(port),
|
|
37702
|
+
ABSOLUTE_PRERENDER: "1",
|
|
37623
37703
|
HOST: "localhost",
|
|
37624
37704
|
PORT: String(port)
|
|
37625
37705
|
},
|
|
@@ -37651,7 +37731,7 @@ __export(exports_prepare, {
|
|
|
37651
37731
|
startDevPrebuild: () => startDevPrebuild
|
|
37652
37732
|
});
|
|
37653
37733
|
import { createHash as createHash12 } from "crypto";
|
|
37654
|
-
import { existsSync as
|
|
37734
|
+
import { existsSync as existsSync49, readdirSync as readdirSync14, readFileSync as readFileSync42 } from "fs";
|
|
37655
37735
|
import { basename as basename22, join as join64, relative as relative24, resolve as resolvePath4 } from "path";
|
|
37656
37736
|
import { Elysia as Elysia11, NotFound } from "elysia";
|
|
37657
37737
|
var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((resolve56) => {
|
|
@@ -37780,7 +37860,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37780
37860
|
if (!fileName)
|
|
37781
37861
|
continue;
|
|
37782
37862
|
const srcPath = resolvePath4(devIndexDir, fileName);
|
|
37783
|
-
if (!
|
|
37863
|
+
if (!existsSync49(srcPath))
|
|
37784
37864
|
continue;
|
|
37785
37865
|
const rel = relative24(process.cwd(), srcPath).replace(/\\/g, "/");
|
|
37786
37866
|
manifest[key] = `${SRC_URL_PREFIX3}${rel}`;
|
|
@@ -37796,7 +37876,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37796
37876
|
const path2 = href.split("?")[0] ?? href;
|
|
37797
37877
|
const filePath = join64(buildDir, path2);
|
|
37798
37878
|
let versioned = href;
|
|
37799
|
-
if (
|
|
37879
|
+
if (existsSync49(filePath)) {
|
|
37800
37880
|
const hash = createHash12("sha256").update(readFileSync42(filePath)).digest("hex").slice(0, ICON_HASH_LENGTH);
|
|
37801
37881
|
versioned = href.includes("?") ? `${href}&v=${hash}` : `${href}?v=${hash}`;
|
|
37802
37882
|
}
|
|
@@ -37928,7 +38008,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37928
38008
|
};
|
|
37929
38009
|
}, loadPrerenderMap = (prerenderDir) => {
|
|
37930
38010
|
const map = new Map;
|
|
37931
|
-
if (!
|
|
38011
|
+
if (!existsSync49(prerenderDir))
|
|
37932
38012
|
return map;
|
|
37933
38013
|
let entries;
|
|
37934
38014
|
try {
|
|
@@ -37946,7 +38026,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37946
38026
|
return map;
|
|
37947
38027
|
}, loadMobileCompatibilityPlugin = async (buildDir) => {
|
|
37948
38028
|
const root = join64(buildDir, ".absolutejs", "mobile-compatibility");
|
|
37949
|
-
if (!
|
|
38029
|
+
if (!existsSync49(join64(root, "current.json"))) {
|
|
37950
38030
|
return new Elysia11({ name: "absolutejs-mobile-compatibility-empty" });
|
|
37951
38031
|
}
|
|
37952
38032
|
const [
|
|
@@ -37971,10 +38051,9 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37971
38051
|
const missingAsset = assetMatch[1] ?? "";
|
|
37972
38052
|
const framework = /^(?:[A-Z][a-z]*)*?(Angular|Vue|Svelte|React|Html|Htmx|Ember)/.exec(missingAsset)?.[1]?.toLowerCase() ?? "absolutejs";
|
|
37973
38053
|
console.error(`[hmr] Build artifact "${missingAsset}" missing from manifest \u2014 ` + `the user likely has a build-time error. Save a fix to trigger a recovery rebuild.`);
|
|
37974
|
-
const {
|
|
37975
|
-
const
|
|
37976
|
-
|
|
37977
|
-
This usually means a build-time error in a source file. Check the dev-server terminal for the underlying error, fix the file, and save to trigger a recovery rebuild.`));
|
|
38054
|
+
const { buildErrorPage: buildErrorPage2 } = await Promise.resolve().then(() => exports_ssrErrorPage);
|
|
38055
|
+
const { getDevPageWarmer: getDevPageWarmer2 } = await Promise.resolve().then(() => (init_requestContext(), exports_requestContext));
|
|
38056
|
+
const html = buildErrorPage2(framework, missingAsset, getDevPageWarmer2()?.lastError?.());
|
|
37978
38057
|
return new Response(html, {
|
|
37979
38058
|
headers: { "content-type": "text/html; charset=utf-8" },
|
|
37980
38059
|
status: 500
|
|
@@ -38012,12 +38091,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
|
|
|
38012
38091
|
recordStep("load production manifest and island metadata", stepStartedAt);
|
|
38013
38092
|
stepStartedAt = performance.now();
|
|
38014
38093
|
const conventionsPath = join64(buildDir, "conventions.json");
|
|
38015
|
-
if (
|
|
38094
|
+
if (existsSync49(conventionsPath)) {
|
|
38016
38095
|
const conventions2 = JSON.parse(readFileSync42(conventionsPath, "utf-8"));
|
|
38017
38096
|
setConventions(conventions2);
|
|
38018
38097
|
}
|
|
38019
38098
|
const spaRoutesPath = join64(buildDir, "spa-routes.json");
|
|
38020
|
-
if (
|
|
38099
|
+
if (existsSync49(spaRoutesPath)) {
|
|
38021
38100
|
setSpaRouteManifest(JSON.parse(readFileSync42(spaRoutesPath, "utf-8")));
|
|
38022
38101
|
}
|
|
38023
38102
|
recordStep("load production conventions", stepStartedAt);
|
|
@@ -38183,10 +38262,10 @@ __export(exports_serverEntryWatcher, {
|
|
|
38183
38262
|
});
|
|
38184
38263
|
import {
|
|
38185
38264
|
copyFileSync as copyFileSync6,
|
|
38186
|
-
existsSync as
|
|
38265
|
+
existsSync as existsSync51,
|
|
38187
38266
|
readdirSync as readdirSync16,
|
|
38188
38267
|
readFileSync as readFileSync45,
|
|
38189
|
-
statSync as
|
|
38268
|
+
statSync as statSync11,
|
|
38190
38269
|
watch as watch2
|
|
38191
38270
|
} from "fs";
|
|
38192
38271
|
import { createHash as createHash13 } from "crypto";
|
|
@@ -38214,7 +38293,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
|
|
|
38214
38293
|
if (globalThis.__absoluteEntryWatcherStarted)
|
|
38215
38294
|
return;
|
|
38216
38295
|
const originalEntry = process.env.ABSOLUTE_SERVER_ENTRY ?? Bun.main;
|
|
38217
|
-
if (!originalEntry || !
|
|
38296
|
+
if (!originalEntry || !existsSync51(originalEntry))
|
|
38218
38297
|
return;
|
|
38219
38298
|
globalThis.__absoluteEntryWatcherStarted = true;
|
|
38220
38299
|
globalThis.__absoluteEntryWatcherReady = false;
|
|
@@ -38345,7 +38424,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
|
|
|
38345
38424
|
continue;
|
|
38346
38425
|
let st2;
|
|
38347
38426
|
try {
|
|
38348
|
-
st2 =
|
|
38427
|
+
st2 = statSync11(join67(dir, entry.name));
|
|
38349
38428
|
} catch {
|
|
38350
38429
|
continue;
|
|
38351
38430
|
}
|
|
@@ -38756,7 +38835,7 @@ import { buildGlobalWSHandler } from "elysia/ws";
|
|
|
38756
38835
|
// src/dev/devCert.ts
|
|
38757
38836
|
import {
|
|
38758
38837
|
copyFileSync as copyFileSync5,
|
|
38759
|
-
existsSync as
|
|
38838
|
+
existsSync as existsSync50,
|
|
38760
38839
|
mkdirSync as mkdirSync18,
|
|
38761
38840
|
readFileSync as readFileSync43,
|
|
38762
38841
|
rmSync as rmSync5
|
|
@@ -38772,7 +38851,7 @@ var DEFAULT_CERTIFICATE_HOSTS = ["localhost", "127.0.0.1", "::1"];
|
|
|
38772
38851
|
var CERTIFICATE_HOSTNAME_PATTERN = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/u;
|
|
38773
38852
|
var devLog = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[36m[dev]\x1B[0m ${msg}`);
|
|
38774
38853
|
var devWarn = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[33m[dev]\x1B[0m \x1B[33m${msg}\x1B[0m`);
|
|
38775
|
-
var certFilesExist = () =>
|
|
38854
|
+
var certFilesExist = () => existsSync50(CERT_PATH) && existsSync50(KEY_PATH);
|
|
38776
38855
|
var normalizeDevCertificateHosts = (hosts = []) => {
|
|
38777
38856
|
const normalized = new Set(DEFAULT_CERTIFICATE_HOSTS);
|
|
38778
38857
|
for (const host2 of hosts) {
|
|
@@ -39440,7 +39519,7 @@ var serializeSpeculationRules = (rules) => {
|
|
|
39440
39519
|
};
|
|
39441
39520
|
// src/utils/defineEnv.ts
|
|
39442
39521
|
var {env: bunEnv } = globalThis.Bun;
|
|
39443
|
-
import { existsSync as
|
|
39522
|
+
import { existsSync as existsSync52, readFileSync as readFileSync46 } from "fs";
|
|
39444
39523
|
import { resolve as resolve57 } from "path";
|
|
39445
39524
|
|
|
39446
39525
|
// node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
|
|
@@ -45477,7 +45556,7 @@ ${lines.join(`
|
|
|
45477
45556
|
var checkEnvFileSecurity = (properties) => {
|
|
45478
45557
|
const cwd2 = process.cwd();
|
|
45479
45558
|
const envPath = resolve57(cwd2, ".env");
|
|
45480
|
-
if (!
|
|
45559
|
+
if (!existsSync52(envPath))
|
|
45481
45560
|
return;
|
|
45482
45561
|
const sensitiveKeys = Object.keys(properties).filter(isSensitive);
|
|
45483
45562
|
if (sensitiveKeys.length === 0)
|
|
@@ -45487,7 +45566,7 @@ var checkEnvFileSecurity = (properties) => {
|
|
|
45487
45566
|
if (presentKeys.length === 0)
|
|
45488
45567
|
return;
|
|
45489
45568
|
const gitignorePath = resolve57(cwd2, ".gitignore");
|
|
45490
|
-
if (
|
|
45569
|
+
if (existsSync52(gitignorePath)) {
|
|
45491
45570
|
const gitignore = readFileSync46(gitignorePath, "utf-8");
|
|
45492
45571
|
if (gitignore.split(`
|
|
45493
45572
|
`).some((line) => line.trim() === ".env"))
|
|
@@ -45520,7 +45599,7 @@ var getEnv = (key) => {
|
|
|
45520
45599
|
return environmentVariable;
|
|
45521
45600
|
};
|
|
45522
45601
|
// src/utils/projectRoot.ts
|
|
45523
|
-
import { existsSync as
|
|
45602
|
+
import { existsSync as existsSync53 } from "fs";
|
|
45524
45603
|
import { dirname as dirname39, resolve as resolve58 } from "path";
|
|
45525
45604
|
var CONFIG_CANDIDATES = [
|
|
45526
45605
|
"absolute.config.ts",
|
|
@@ -45530,7 +45609,7 @@ var CONFIG_CANDIDATES = [
|
|
|
45530
45609
|
"absolute.config.mts",
|
|
45531
45610
|
"absolute.config.cts"
|
|
45532
45611
|
];
|
|
45533
|
-
var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) =>
|
|
45612
|
+
var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync53(resolve58(directory, name)));
|
|
45534
45613
|
var findProjectRoot = () => {
|
|
45535
45614
|
const start = process.cwd();
|
|
45536
45615
|
let packageRoot = null;
|
|
@@ -45539,7 +45618,7 @@ var findProjectRoot = () => {
|
|
|
45539
45618
|
if (hasAbsoluteConfig(directory)) {
|
|
45540
45619
|
return directory;
|
|
45541
45620
|
}
|
|
45542
|
-
if (packageRoot === null &&
|
|
45621
|
+
if (packageRoot === null && existsSync53(resolve58(directory, "package.json"))) {
|
|
45543
45622
|
packageRoot = directory;
|
|
45544
45623
|
}
|
|
45545
45624
|
const parent = dirname39(directory);
|
|
@@ -45616,6 +45695,8 @@ var createStreamingSlotMetricSink = ({
|
|
|
45616
45695
|
// src/utils/index.ts
|
|
45617
45696
|
init_streamingSlots();
|
|
45618
45697
|
|
|
45698
|
+
// src/utils/isPrerendering.ts
|
|
45699
|
+
var isPrerendering = () => process.env.ABSOLUTE_PRERENDER === "1";
|
|
45619
45700
|
// src/index.ts
|
|
45620
45701
|
markBoot("framework runtime imported");
|
|
45621
45702
|
export {
|
|
@@ -45735,6 +45816,7 @@ export {
|
|
|
45735
45816
|
defineIslandRegistry,
|
|
45736
45817
|
defineRenderErrorPage,
|
|
45737
45818
|
defineRenderNotFoundPage,
|
|
45819
|
+
devBuildErrorResponse,
|
|
45738
45820
|
devtoolsJson,
|
|
45739
45821
|
disposeTailwindCompiler,
|
|
45740
45822
|
enhanceHtmlResponseWithStreamingSlots,
|
|
@@ -45763,6 +45845,7 @@ export {
|
|
|
45763
45845
|
injectHtmlIntoHead,
|
|
45764
45846
|
injectStreamingRuntimeIntoStream,
|
|
45765
45847
|
isIslandComponentDefinition,
|
|
45848
|
+
isPrerendering,
|
|
45766
45849
|
isTailwindCandidate,
|
|
45767
45850
|
isValidHMRClientMessage,
|
|
45768
45851
|
jsonLd2 as jsonLd,
|
|
@@ -45801,5 +45884,5 @@ export {
|
|
|
45801
45884
|
wrapPageHandlerWithStreamingSlots
|
|
45802
45885
|
};
|
|
45803
45886
|
|
|
45804
|
-
//# debugId=
|
|
45887
|
+
//# debugId=9189760E6EEA8CAD64756E2164756E21
|
|
45805
45888
|
//# sourceMappingURL=index.js.map
|