@absolutejs/absolute 0.19.0-beta.36 → 0.19.0-beta.38
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/.absolutejs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.js +292 -207
- package/dist/index.js.map +5 -4
- package/dist/react/index.js +86 -1
- package/dist/react/index.js.map +5 -4
- package/native/packages/darwin-arm64/package.json +1 -1
- package/native/packages/darwin-x64/package.json +1 -1
- package/native/packages/linux-arm64/package.json +1 -1
- package/native/packages/linux-x64/package.json +1 -1
- package/package.json +6 -6
- /package/dist/{dev/ssrWorker.ts → ssrWorker.ts} +0 -0
package/dist/index.js
CHANGED
|
@@ -133,6 +133,56 @@ body{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,r
|
|
|
133
133
|
</html>`;
|
|
134
134
|
};
|
|
135
135
|
|
|
136
|
+
// src/dev/ssrRenderer.ts
|
|
137
|
+
var exports_ssrRenderer = {};
|
|
138
|
+
__export(exports_ssrRenderer, {
|
|
139
|
+
renderInWorker: () => renderInWorker
|
|
140
|
+
});
|
|
141
|
+
import { resolve } from "path";
|
|
142
|
+
var worker = null, requestId = 0, pending, getWorker = () => {
|
|
143
|
+
if (worker)
|
|
144
|
+
return worker;
|
|
145
|
+
const workerPath = resolve(import.meta.dir, "ssrWorker.ts");
|
|
146
|
+
worker = new Worker(workerPath, { cwd: process.cwd() });
|
|
147
|
+
worker.onmessage = (event) => {
|
|
148
|
+
const { id, ok, html, error } = event.data;
|
|
149
|
+
const req = pending.get(id);
|
|
150
|
+
if (!req)
|
|
151
|
+
return;
|
|
152
|
+
pending.delete(id);
|
|
153
|
+
if (ok) {
|
|
154
|
+
req.resolve(html);
|
|
155
|
+
} else {
|
|
156
|
+
req.reject(new Error(error ?? "SSR render failed"));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
worker.onerror = (event) => {
|
|
160
|
+
console.error("[SSR Worker] Error:", event);
|
|
161
|
+
for (const [id, req] of pending) {
|
|
162
|
+
req.reject(new Error("SSR worker crashed"));
|
|
163
|
+
pending.delete(id);
|
|
164
|
+
}
|
|
165
|
+
worker = null;
|
|
166
|
+
};
|
|
167
|
+
return worker;
|
|
168
|
+
}, renderInWorker = (request) => new Promise((resolvePromise, rejectPromise) => {
|
|
169
|
+
const id = ++requestId;
|
|
170
|
+
pending.set(id, {
|
|
171
|
+
reject: rejectPromise,
|
|
172
|
+
resolve: resolvePromise
|
|
173
|
+
});
|
|
174
|
+
const w = getWorker();
|
|
175
|
+
w.postMessage({
|
|
176
|
+
componentPath: resolve(request.componentPath),
|
|
177
|
+
id,
|
|
178
|
+
indexPath: request.indexPath,
|
|
179
|
+
props: request.props
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
var init_ssrRenderer = __esm(() => {
|
|
183
|
+
pending = new Map;
|
|
184
|
+
});
|
|
185
|
+
|
|
136
186
|
// src/utils/normalizePath.ts
|
|
137
187
|
var normalizePath = (path) => path.replace(/\\/g, "/");
|
|
138
188
|
|
|
@@ -202,14 +252,14 @@ __export(exports_generateReactIndexes, {
|
|
|
202
252
|
});
|
|
203
253
|
import { existsSync, mkdirSync } from "fs";
|
|
204
254
|
import { readdir, rm, writeFile } from "fs/promises";
|
|
205
|
-
import { basename, join, resolve as
|
|
255
|
+
import { basename, join, resolve as resolve3 } from "path";
|
|
206
256
|
var {Glob } = globalThis.Bun;
|
|
207
257
|
var indexContentCache, resolveDevClientDir = () => {
|
|
208
|
-
const fromSource =
|
|
258
|
+
const fromSource = resolve3(import.meta.dir, "../dev/client");
|
|
209
259
|
if (existsSync(fromSource))
|
|
210
260
|
return fromSource;
|
|
211
|
-
return
|
|
212
|
-
}, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory,
|
|
261
|
+
return resolve3(import.meta.dir, "./dev/client");
|
|
262
|
+
}, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory, isDev2 = false) => {
|
|
213
263
|
if (!existsSync(reactIndexesDirectory)) {
|
|
214
264
|
mkdirSync(reactIndexesDirectory, { recursive: true });
|
|
215
265
|
}
|
|
@@ -236,7 +286,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
236
286
|
const promises = files.map(async (file2) => {
|
|
237
287
|
const fileName = basename(file2);
|
|
238
288
|
const [componentName] = fileName.split(".");
|
|
239
|
-
const hmrPreamble =
|
|
289
|
+
const hmrPreamble = isDev2 ? [
|
|
240
290
|
`window.__HMR_FRAMEWORK__ = "react";`,
|
|
241
291
|
`window.__REACT_COMPONENT_KEY__ = "${componentName}Index";`,
|
|
242
292
|
`import '${refreshSetupPath}';`,
|
|
@@ -244,14 +294,14 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
244
294
|
`import { showErrorOverlay, hideErrorOverlay } from '${errorOverlayPath}';
|
|
245
295
|
`
|
|
246
296
|
] : [];
|
|
247
|
-
const reactImports =
|
|
297
|
+
const reactImports = isDev2 ? [
|
|
248
298
|
`import { hydrateRoot, createRoot } from 'react-dom/client';`,
|
|
249
299
|
`import { createElement, Component } from 'react';`
|
|
250
300
|
] : [
|
|
251
301
|
`import { hydrateRoot, createRoot } from 'react-dom/client';`,
|
|
252
302
|
`import { createElement } from 'react';`
|
|
253
303
|
];
|
|
254
|
-
const errorBoundaryDef =
|
|
304
|
+
const errorBoundaryDef = isDev2 ? [
|
|
255
305
|
`
|
|
256
306
|
// Dev-only Error Boundary to catch React render errors`,
|
|
257
307
|
`class ErrorBoundary extends Component {`,
|
|
@@ -304,7 +354,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
304
354
|
`,
|
|
305
355
|
...errorBoundaryDef,
|
|
306
356
|
`// Hydration with error handling and fallback`,
|
|
307
|
-
`const isDev = ${
|
|
357
|
+
`const isDev = ${isDev2};`,
|
|
308
358
|
`const componentPath = '../pages/${componentName}';
|
|
309
359
|
`,
|
|
310
360
|
`function isHydrationError(error) {`,
|
|
@@ -377,7 +427,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
377
427
|
`,
|
|
378
428
|
` // Render into the same root container when falling back to client-only`,
|
|
379
429
|
` const root = createRoot(container);`,
|
|
380
|
-
` root.render(${
|
|
430
|
+
` root.render(${isDev2 ? `createElement(ErrorBoundary, null, createElement(${componentName}, mergedProps))` : `createElement(${componentName}, mergedProps)`});`,
|
|
381
431
|
` window.__REACT_ROOT__ = root;`,
|
|
382
432
|
` window.__HMR_CLIENT_ONLY_MODE__ = true;`,
|
|
383
433
|
` } catch (fallbackError) {`,
|
|
@@ -423,7 +473,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
423
473
|
` // Use onRecoverableError to catch hydration errors (React 19)`,
|
|
424
474
|
` root = hydrateRoot(`,
|
|
425
475
|
` container,`,
|
|
426
|
-
` ${
|
|
476
|
+
` ${isDev2 ? `createElement(ErrorBoundary, null, createElement(${componentName}, mergedProps))` : `createElement(${componentName}, mergedProps)`},`,
|
|
427
477
|
` {`,
|
|
428
478
|
` onRecoverableError: (error) => {`,
|
|
429
479
|
` // Check if this is a hydration error (isHydrationError filters out whitespace-only head mismatches)`,
|
|
@@ -505,7 +555,7 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
505
555
|
await writeFile(indexPath, content);
|
|
506
556
|
});
|
|
507
557
|
await Promise.all(promises);
|
|
508
|
-
if (!
|
|
558
|
+
if (!isDev2) {
|
|
509
559
|
return;
|
|
510
560
|
}
|
|
511
561
|
const refreshPath = join(reactIndexesDirectory, "_refresh.tsx");
|
|
@@ -746,13 +796,13 @@ var init_updateAssetPaths = __esm(() => {
|
|
|
746
796
|
|
|
747
797
|
// src/dev/buildHMRClient.ts
|
|
748
798
|
import { existsSync as existsSync6 } from "fs";
|
|
749
|
-
import { resolve as
|
|
799
|
+
import { resolve as resolve4 } from "path";
|
|
750
800
|
var {build: bunBuild } = globalThis.Bun;
|
|
751
801
|
var resolveHmrClientPath = () => {
|
|
752
|
-
const fromSource =
|
|
802
|
+
const fromSource = resolve4(import.meta.dir, "client/hmrClient.ts");
|
|
753
803
|
if (existsSync6(fromSource))
|
|
754
804
|
return fromSource;
|
|
755
|
-
return
|
|
805
|
+
return resolve4(import.meta.dir, "dev/client/hmrClient.ts");
|
|
756
806
|
}, hmrClientPath2, buildHMRClient = async () => {
|
|
757
807
|
const entryPoint = hmrClientPath2;
|
|
758
808
|
const result = await bunBuild({
|
|
@@ -871,11 +921,11 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
|
|
|
871
921
|
|
|
872
922
|
// src/build/angularLinkerPlugin.ts
|
|
873
923
|
import { existsSync as existsSync7, mkdirSync as mkdirSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
|
|
874
|
-
import { dirname as dirname2, join as join4, relative, resolve as
|
|
924
|
+
import { dirname as dirname2, join as join4, relative, resolve as resolve5 } from "path";
|
|
875
925
|
import { createHash } from "crypto";
|
|
876
926
|
var CACHE_DIR, angularLinkerPlugin;
|
|
877
927
|
var init_angularLinkerPlugin = __esm(() => {
|
|
878
|
-
CACHE_DIR =
|
|
928
|
+
CACHE_DIR = resolve5(".absolutejs", "cache", "angular-linker");
|
|
879
929
|
angularLinkerPlugin = {
|
|
880
930
|
name: "angular-linker",
|
|
881
931
|
setup(bld) {
|
|
@@ -915,7 +965,7 @@ var init_angularLinkerPlugin = __esm(() => {
|
|
|
915
965
|
exists: existsSync7,
|
|
916
966
|
readFile: readFileSync3,
|
|
917
967
|
relative,
|
|
918
|
-
resolve:
|
|
968
|
+
resolve: resolve5
|
|
919
969
|
},
|
|
920
970
|
linkerJitMode: false,
|
|
921
971
|
logger: {
|
|
@@ -949,14 +999,14 @@ var init_angularLinkerPlugin = __esm(() => {
|
|
|
949
999
|
|
|
950
1000
|
// src/utils/cleanStaleOutputs.ts
|
|
951
1001
|
import { rm as rm2 } from "fs/promises";
|
|
952
|
-
import { resolve as
|
|
1002
|
+
import { resolve as resolve6 } from "path";
|
|
953
1003
|
var {Glob: Glob4 } = globalThis.Bun;
|
|
954
1004
|
var HASHED_FILE_PATTERN, cleanStaleOutputs = async (buildPath, currentOutputPaths) => {
|
|
955
|
-
const currentPaths = new Set(currentOutputPaths.map((path) =>
|
|
1005
|
+
const currentPaths = new Set(currentOutputPaths.map((path) => resolve6(path)));
|
|
956
1006
|
const glob = new Glob4("**/*");
|
|
957
1007
|
const removals = [];
|
|
958
1008
|
for (const relative2 of glob.scanSync({ cwd: buildPath })) {
|
|
959
|
-
const absolute =
|
|
1009
|
+
const absolute = resolve6(buildPath, relative2);
|
|
960
1010
|
if (currentPaths.has(absolute))
|
|
961
1011
|
continue;
|
|
962
1012
|
if (!HASHED_FILE_PATTERN.test(relative2))
|
|
@@ -1177,10 +1227,10 @@ var init_logger = __esm(() => {
|
|
|
1177
1227
|
});
|
|
1178
1228
|
|
|
1179
1229
|
// src/utils/validateSafePath.ts
|
|
1180
|
-
import { resolve as
|
|
1230
|
+
import { resolve as resolve7, relative as relative2 } from "path";
|
|
1181
1231
|
var validateSafePath = (targetPath, baseDirectory) => {
|
|
1182
|
-
const absoluteBase =
|
|
1183
|
-
const absoluteTarget =
|
|
1232
|
+
const absoluteBase = resolve7(baseDirectory);
|
|
1233
|
+
const absoluteTarget = resolve7(baseDirectory, targetPath);
|
|
1184
1234
|
const relativePath = normalizePath(relative2(absoluteBase, absoluteTarget));
|
|
1185
1235
|
if (relativePath.startsWith("../") || relativePath === "..") {
|
|
1186
1236
|
throw new Error(`Unsafe path: ${targetPath}`);
|
|
@@ -1202,17 +1252,17 @@ import {
|
|
|
1202
1252
|
join as join6,
|
|
1203
1253
|
basename as basename2,
|
|
1204
1254
|
extname as extname2,
|
|
1205
|
-
resolve as
|
|
1255
|
+
resolve as resolve8,
|
|
1206
1256
|
relative as relative3,
|
|
1207
1257
|
sep
|
|
1208
1258
|
} from "path";
|
|
1209
1259
|
import { env } from "process";
|
|
1210
1260
|
var {write, file: file2, Transpiler } = globalThis.Bun;
|
|
1211
1261
|
var resolveDevClientDir2 = () => {
|
|
1212
|
-
const fromSource =
|
|
1262
|
+
const fromSource = resolve8(import.meta.dir, "../dev/client");
|
|
1213
1263
|
if (existsSync8(fromSource))
|
|
1214
1264
|
return fromSource;
|
|
1215
|
-
return
|
|
1265
|
+
return resolve8(import.meta.dir, "./dev/client");
|
|
1216
1266
|
}, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
|
|
1217
1267
|
persistentCache.clear();
|
|
1218
1268
|
sourceHashCache.clear();
|
|
@@ -1224,7 +1274,7 @@ var resolveDevClientDir2 = () => {
|
|
|
1224
1274
|
return false;
|
|
1225
1275
|
}
|
|
1226
1276
|
}, resolveSvelte = async (spec, from) => {
|
|
1227
|
-
const basePath =
|
|
1277
|
+
const basePath = resolve8(dirname3(from), spec);
|
|
1228
1278
|
const explicit = /\.(svelte|svelte\.(?:ts|js))$/.test(basePath);
|
|
1229
1279
|
if (!explicit) {
|
|
1230
1280
|
const extensions = [".svelte", ".svelte.ts", ".svelte.js"];
|
|
@@ -1244,7 +1294,7 @@ var resolveDevClientDir2 = () => {
|
|
|
1244
1294
|
if (await exists(jsPath))
|
|
1245
1295
|
return jsPath;
|
|
1246
1296
|
return null;
|
|
1247
|
-
}, compileSvelte = async (entryPoints, svelteRoot, cache = new Map,
|
|
1297
|
+
}, compileSvelte = async (entryPoints, svelteRoot, cache = new Map, isDev2 = false) => {
|
|
1248
1298
|
const { compile, compileModule, preprocess } = await import("svelte/compiler");
|
|
1249
1299
|
const clientDir = join6(svelteRoot, "client");
|
|
1250
1300
|
const indexDir = join6(svelteRoot, "indexes");
|
|
@@ -1314,7 +1364,7 @@ var resolveDevClientDir2 = () => {
|
|
|
1314
1364
|
const indexPath = join6(indexDir, relClientDir, `${name}.js`);
|
|
1315
1365
|
const importRaw = relative3(dirname3(indexPath), client2).split(sep).join("/");
|
|
1316
1366
|
const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
|
|
1317
|
-
const hmrImports =
|
|
1367
|
+
const hmrImports = isDev2 ? `window.__HMR_FRAMEWORK__ = "svelte";
|
|
1318
1368
|
import "${hmrClientPath3}";
|
|
1319
1369
|
` : "";
|
|
1320
1370
|
const bootstrap = `${hmrImports}import Component from "${importPath}";
|
|
@@ -1377,13 +1427,13 @@ __export(exports_compileVue, {
|
|
|
1377
1427
|
});
|
|
1378
1428
|
import { existsSync as existsSync9 } from "fs";
|
|
1379
1429
|
import { mkdir as mkdir2 } from "fs/promises";
|
|
1380
|
-
import { basename as basename3, dirname as dirname4, join as join7, relative as relative4, resolve as
|
|
1430
|
+
import { basename as basename3, dirname as dirname4, join as join7, relative as relative4, resolve as resolve9 } from "path";
|
|
1381
1431
|
var {file: file3, write: write2, Transpiler: Transpiler2 } = globalThis.Bun;
|
|
1382
1432
|
var resolveDevClientDir3 = () => {
|
|
1383
|
-
const fromSource =
|
|
1433
|
+
const fromSource = resolve9(import.meta.dir, "../dev/client");
|
|
1384
1434
|
if (existsSync9(fromSource))
|
|
1385
1435
|
return fromSource;
|
|
1386
|
-
return
|
|
1436
|
+
return resolve9(import.meta.dir, "./dev/client");
|
|
1387
1437
|
}, devClientDir3, hmrClientPath4, transpiler2, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
|
|
1388
1438
|
scriptCache.clear();
|
|
1389
1439
|
scriptSetupCache.clear();
|
|
@@ -1472,7 +1522,7 @@ var resolveDevClientDir3 = () => {
|
|
|
1472
1522
|
const importPaths = extractImports(scriptSource);
|
|
1473
1523
|
const childComponentPaths = importPaths.filter((path) => path.startsWith(".") && path.endsWith(".vue"));
|
|
1474
1524
|
const helperModulePaths = importPaths.filter((path) => path.startsWith(".") && !path.endsWith(".vue"));
|
|
1475
|
-
const childBuildResults = await Promise.all(childComponentPaths.map((relativeChildPath) => compileVueFile(
|
|
1525
|
+
const childBuildResults = await Promise.all(childComponentPaths.map((relativeChildPath) => compileVueFile(resolve9(dirname4(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler)));
|
|
1476
1526
|
const compiledScript = compiler.compileScript(descriptor, {
|
|
1477
1527
|
id: componentId,
|
|
1478
1528
|
inlineTemplate: false
|
|
@@ -1548,14 +1598,14 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1548
1598
|
hmrId,
|
|
1549
1599
|
serverPath: serverOutputPath,
|
|
1550
1600
|
tsHelperPaths: [
|
|
1551
|
-
...helperModulePaths.map((helper) =>
|
|
1601
|
+
...helperModulePaths.map((helper) => resolve9(dirname4(sourceFilePath), helper.endsWith(".ts") ? helper : `${helper}.ts`)),
|
|
1552
1602
|
...childBuildResults.flatMap((child) => child.tsHelperPaths)
|
|
1553
1603
|
]
|
|
1554
1604
|
};
|
|
1555
1605
|
cacheMap.set(sourceFilePath, result);
|
|
1556
1606
|
persistentBuildCache.set(sourceFilePath, result);
|
|
1557
1607
|
return result;
|
|
1558
|
-
}, compileVue = async (entryPoints, vueRootDir,
|
|
1608
|
+
}, compileVue = async (entryPoints, vueRootDir, isDev2 = false) => {
|
|
1559
1609
|
const compiler = await import("@vue/compiler-sfc");
|
|
1560
1610
|
const clientOutputDir = join7(vueRootDir, "client");
|
|
1561
1611
|
const indexOutputDir = join7(vueRootDir, "indexes");
|
|
@@ -1570,7 +1620,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1570
1620
|
const buildCache = new Map;
|
|
1571
1621
|
const allTsHelperPaths = new Set;
|
|
1572
1622
|
const compiledPages = await Promise.all(entryPoints.map(async (entryPath) => {
|
|
1573
|
-
const result = await compileVueFile(
|
|
1623
|
+
const result = await compileVueFile(resolve9(entryPath), {
|
|
1574
1624
|
client: clientOutputDir,
|
|
1575
1625
|
css: cssOutputDir,
|
|
1576
1626
|
server: serverOutputDir
|
|
@@ -1580,7 +1630,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1580
1630
|
const indexOutputFile = join7(indexOutputDir, `${entryBaseName}.js`);
|
|
1581
1631
|
const clientOutputFile = join7(clientOutputDir, relative4(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
|
|
1582
1632
|
await mkdir2(dirname4(indexOutputFile), { recursive: true });
|
|
1583
|
-
const vueHmrImports =
|
|
1633
|
+
const vueHmrImports = isDev2 ? [
|
|
1584
1634
|
`window.__HMR_FRAMEWORK__ = "vue";`,
|
|
1585
1635
|
`import "${hmrClientPath4}";`
|
|
1586
1636
|
] : [];
|
|
@@ -24860,8 +24910,8 @@ ${lanes.join(`
|
|
|
24860
24910
|
}
|
|
24861
24911
|
function forEachProjectReference(projectReferences, resolvedProjectReferences, cbResolvedRef, cbRef) {
|
|
24862
24912
|
let seenResolvedRefs;
|
|
24863
|
-
return
|
|
24864
|
-
function
|
|
24913
|
+
return worker2(projectReferences, resolvedProjectReferences, undefined);
|
|
24914
|
+
function worker2(projectReferences2, resolvedProjectReferences2, parent2) {
|
|
24865
24915
|
if (cbRef) {
|
|
24866
24916
|
const result = cbRef(projectReferences2, parent2);
|
|
24867
24917
|
if (result)
|
|
@@ -24877,7 +24927,7 @@ ${lanes.join(`
|
|
|
24877
24927
|
if (result || !resolvedRef)
|
|
24878
24928
|
return result;
|
|
24879
24929
|
(seenResolvedRefs || (seenResolvedRefs = /* @__PURE__ */ new Set)).add(resolvedRef.sourceFile.path);
|
|
24880
|
-
}) || forEach(resolvedProjectReferences2, (resolvedRef) => resolvedRef && !(skipChildren == null ? undefined : skipChildren.has(resolvedRef)) ?
|
|
24930
|
+
}) || forEach(resolvedProjectReferences2, (resolvedRef) => resolvedRef && !(skipChildren == null ? undefined : skipChildren.has(resolvedRef)) ? worker2(resolvedRef.commandLine.projectReferences, resolvedRef.references, resolvedRef) : undefined);
|
|
24881
24931
|
}
|
|
24882
24932
|
}
|
|
24883
24933
|
function getOptionsSyntaxByArrayElementValue(optionsObject, name, value) {
|
|
@@ -99994,14 +100044,14 @@ ${lanes.join(`
|
|
|
99994
100044
|
}
|
|
99995
100045
|
}
|
|
99996
100046
|
function createImportCallExpressionAMD(arg, containsLexicalThis) {
|
|
99997
|
-
const
|
|
100047
|
+
const resolve10 = factory2.createUniqueName("resolve");
|
|
99998
100048
|
const reject = factory2.createUniqueName("reject");
|
|
99999
100049
|
const parameters = [
|
|
100000
|
-
factory2.createParameterDeclaration(undefined, undefined,
|
|
100050
|
+
factory2.createParameterDeclaration(undefined, undefined, resolve10),
|
|
100001
100051
|
factory2.createParameterDeclaration(undefined, undefined, reject)
|
|
100002
100052
|
];
|
|
100003
100053
|
const body = factory2.createBlock([
|
|
100004
|
-
factory2.createExpressionStatement(factory2.createCallExpression(factory2.createIdentifier("require"), undefined, [factory2.createArrayLiteralExpression([arg || factory2.createOmittedExpression()]),
|
|
100054
|
+
factory2.createExpressionStatement(factory2.createCallExpression(factory2.createIdentifier("require"), undefined, [factory2.createArrayLiteralExpression([arg || factory2.createOmittedExpression()]), resolve10, reject]))
|
|
100005
100055
|
]);
|
|
100006
100056
|
let func;
|
|
100007
100057
|
if (languageVersion >= 2) {
|
|
@@ -112706,18 +112756,18 @@ ${lanes.join(`
|
|
|
112706
112756
|
state.programEmitPending = undefined;
|
|
112707
112757
|
}
|
|
112708
112758
|
(_b = state.affectedFilesPendingEmit) == null || _b.forEach((emitKind, path) => {
|
|
112709
|
-
const
|
|
112710
|
-
if (!
|
|
112759
|
+
const pending2 = !isForDtsErrors ? emitKind & 7 : emitKind & (7 | 48);
|
|
112760
|
+
if (!pending2)
|
|
112711
112761
|
state.affectedFilesPendingEmit.delete(path);
|
|
112712
112762
|
else
|
|
112713
|
-
state.affectedFilesPendingEmit.set(path,
|
|
112763
|
+
state.affectedFilesPendingEmit.set(path, pending2);
|
|
112714
112764
|
});
|
|
112715
112765
|
if (state.programEmitPending) {
|
|
112716
|
-
const
|
|
112717
|
-
if (!
|
|
112766
|
+
const pending2 = !isForDtsErrors ? state.programEmitPending & 7 : state.programEmitPending & (7 | 48);
|
|
112767
|
+
if (!pending2)
|
|
112718
112768
|
state.programEmitPending = undefined;
|
|
112719
112769
|
else
|
|
112720
|
-
state.programEmitPending =
|
|
112770
|
+
state.programEmitPending = pending2;
|
|
112721
112771
|
}
|
|
112722
112772
|
}
|
|
112723
112773
|
function getPendingEmitKindWithSeen(optionsOrEmitKind, seenOldOptionsOrEmitKind, emitOnlyDtsFiles, isForDtsErrors) {
|
|
@@ -115666,8 +115716,8 @@ ${lanes.join(`
|
|
|
115666
115716
|
if (!host.setTimeout || !host.clearTimeout) {
|
|
115667
115717
|
return resolutionCache.invalidateResolutionsOfFailedLookupLocations();
|
|
115668
115718
|
}
|
|
115669
|
-
const
|
|
115670
|
-
writeLog(`Scheduling invalidateFailedLookup${
|
|
115719
|
+
const pending2 = clearInvalidateResolutionsOfFailedLookupLocations();
|
|
115720
|
+
writeLog(`Scheduling invalidateFailedLookup${pending2 ? ", Cancelled earlier one" : ""}`);
|
|
115671
115721
|
timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250, "timerToInvalidateFailedLookupResolutions");
|
|
115672
115722
|
}
|
|
115673
115723
|
function invalidateResolutionsOfFailedLookup() {
|
|
@@ -160479,16 +160529,16 @@ ${options.prefix}` : `
|
|
|
160479
160529
|
return;
|
|
160480
160530
|
}
|
|
160481
160531
|
this.ensurePackageDirectoryExists(cachePath);
|
|
160482
|
-
const
|
|
160532
|
+
const requestId2 = this.installRunCount;
|
|
160483
160533
|
this.installRunCount++;
|
|
160484
160534
|
this.sendResponse({
|
|
160485
160535
|
kind: EventBeginInstallTypes,
|
|
160486
|
-
eventId:
|
|
160536
|
+
eventId: requestId2,
|
|
160487
160537
|
typingsInstallerVersion: version,
|
|
160488
160538
|
projectName: req.projectName
|
|
160489
160539
|
});
|
|
160490
160540
|
const scopedTypings = filteredTypings.map(typingsName);
|
|
160491
|
-
this.installTypingsAsync(
|
|
160541
|
+
this.installTypingsAsync(requestId2, scopedTypings, cachePath, (ok) => {
|
|
160492
160542
|
try {
|
|
160493
160543
|
if (!ok) {
|
|
160494
160544
|
if (this.log.isEnabled()) {
|
|
@@ -160522,7 +160572,7 @@ ${options.prefix}` : `
|
|
|
160522
160572
|
} finally {
|
|
160523
160573
|
const response = {
|
|
160524
160574
|
kind: EventEndInstallTypes,
|
|
160525
|
-
eventId:
|
|
160575
|
+
eventId: requestId2,
|
|
160526
160576
|
projectName: req.projectName,
|
|
160527
160577
|
packagesToInstall: scopedTypings,
|
|
160528
160578
|
installSuccess: ok,
|
|
@@ -160565,8 +160615,8 @@ ${options.prefix}` : `
|
|
|
160565
160615
|
kind: ActionSet
|
|
160566
160616
|
};
|
|
160567
160617
|
}
|
|
160568
|
-
installTypingsAsync(
|
|
160569
|
-
this.pendingRunRequests.unshift({ requestId, packageNames, cwd, onRequestCompleted });
|
|
160618
|
+
installTypingsAsync(requestId2, packageNames, cwd, onRequestCompleted) {
|
|
160619
|
+
this.pendingRunRequests.unshift({ requestId: requestId2, packageNames, cwd, onRequestCompleted });
|
|
160570
160620
|
this.executeWithThrottling();
|
|
160571
160621
|
}
|
|
160572
160622
|
executeWithThrottling() {
|
|
@@ -166662,19 +166712,19 @@ ${json}${newLine}`;
|
|
|
166662
166712
|
this.performanceData = undefined;
|
|
166663
166713
|
}
|
|
166664
166714
|
immediate(actionType, action) {
|
|
166665
|
-
const
|
|
166666
|
-
Debug.assert(
|
|
166715
|
+
const requestId2 = this.requestId;
|
|
166716
|
+
Debug.assert(requestId2 === this.operationHost.getCurrentRequestId(), "immediate: incorrect request id");
|
|
166667
166717
|
this.setImmediateId(this.operationHost.getServerHost().setImmediate(() => {
|
|
166668
166718
|
this.immediateId = undefined;
|
|
166669
|
-
this.operationHost.executeWithRequestId(
|
|
166719
|
+
this.operationHost.executeWithRequestId(requestId2, () => this.executeAction(action), this.performanceData);
|
|
166670
166720
|
}, actionType));
|
|
166671
166721
|
}
|
|
166672
166722
|
delay(actionType, ms, action) {
|
|
166673
|
-
const
|
|
166674
|
-
Debug.assert(
|
|
166723
|
+
const requestId2 = this.requestId;
|
|
166724
|
+
Debug.assert(requestId2 === this.operationHost.getCurrentRequestId(), "delay: incorrect request id");
|
|
166675
166725
|
this.setTimerHandle(this.operationHost.getServerHost().setTimeout(() => {
|
|
166676
166726
|
this.timerHandle = undefined;
|
|
166677
|
-
this.operationHost.executeWithRequestId(
|
|
166727
|
+
this.operationHost.executeWithRequestId(requestId2, () => this.executeAction(action), this.performanceData);
|
|
166678
166728
|
}, ms, actionType));
|
|
166679
166729
|
}
|
|
166680
166730
|
executeAction(action) {
|
|
@@ -167449,12 +167499,12 @@ ${json}${newLine}`;
|
|
|
167449
167499
|
const { throttleWaitMilliseconds } = opts;
|
|
167450
167500
|
this.eventHandler = this.canUseEvents ? opts.eventHandler || ((event) => this.defaultEventHandler(event)) : undefined;
|
|
167451
167501
|
const multistepOperationHost = {
|
|
167452
|
-
executeWithRequestId: (
|
|
167502
|
+
executeWithRequestId: (requestId2, action, performanceData) => this.executeWithRequestId(requestId2, action, performanceData),
|
|
167453
167503
|
getCurrentRequestId: () => this.currentRequestId,
|
|
167454
167504
|
getPerformanceData: () => this.performanceData,
|
|
167455
167505
|
getServerHost: () => this.host,
|
|
167456
167506
|
logError: (err, cmd) => this.logError(err, cmd),
|
|
167457
|
-
sendRequestCompletedEvent: (
|
|
167507
|
+
sendRequestCompletedEvent: (requestId2, performanceData) => this.sendRequestCompletedEvent(requestId2, performanceData),
|
|
167458
167508
|
isCancellationRequested: () => this.cancellationToken.isCancellationRequested()
|
|
167459
167509
|
};
|
|
167460
167510
|
this.errorCheck = new MultistepOperation(multistepOperationHost);
|
|
@@ -167497,9 +167547,9 @@ ${json}${newLine}`;
|
|
|
167497
167547
|
Debug.assertNever(this.projectService.serverMode);
|
|
167498
167548
|
}
|
|
167499
167549
|
}
|
|
167500
|
-
sendRequestCompletedEvent(
|
|
167550
|
+
sendRequestCompletedEvent(requestId2, performanceData) {
|
|
167501
167551
|
this.event({
|
|
167502
|
-
request_seq:
|
|
167552
|
+
request_seq: requestId2,
|
|
167503
167553
|
performanceData: performanceData && toProtocolPerformanceData(performanceData)
|
|
167504
167554
|
}, "requestCompleted");
|
|
167505
167555
|
}
|
|
@@ -169285,24 +169335,24 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range
|
|
|
169285
169335
|
}
|
|
169286
169336
|
this.handlers.set(command, handler);
|
|
169287
169337
|
}
|
|
169288
|
-
setCurrentRequest(
|
|
169338
|
+
setCurrentRequest(requestId2) {
|
|
169289
169339
|
Debug.assert(this.currentRequestId === undefined);
|
|
169290
|
-
this.currentRequestId =
|
|
169291
|
-
this.cancellationToken.setRequest(
|
|
169340
|
+
this.currentRequestId = requestId2;
|
|
169341
|
+
this.cancellationToken.setRequest(requestId2);
|
|
169292
169342
|
}
|
|
169293
|
-
resetCurrentRequest(
|
|
169294
|
-
Debug.assert(this.currentRequestId ===
|
|
169343
|
+
resetCurrentRequest(requestId2) {
|
|
169344
|
+
Debug.assert(this.currentRequestId === requestId2);
|
|
169295
169345
|
this.currentRequestId = undefined;
|
|
169296
|
-
this.cancellationToken.resetRequest(
|
|
169346
|
+
this.cancellationToken.resetRequest(requestId2);
|
|
169297
169347
|
}
|
|
169298
|
-
executeWithRequestId(
|
|
169348
|
+
executeWithRequestId(requestId2, f, perfomanceData) {
|
|
169299
169349
|
const currentPerformanceData = this.performanceData;
|
|
169300
169350
|
try {
|
|
169301
169351
|
this.performanceData = perfomanceData;
|
|
169302
|
-
this.setCurrentRequest(
|
|
169352
|
+
this.setCurrentRequest(requestId2);
|
|
169303
169353
|
return f();
|
|
169304
169354
|
} finally {
|
|
169305
|
-
this.resetCurrentRequest(
|
|
169355
|
+
this.resetCurrentRequest(requestId2);
|
|
169306
169356
|
this.performanceData = currentPerformanceData;
|
|
169307
169357
|
}
|
|
169308
169358
|
}
|
|
@@ -170176,8 +170226,8 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range
|
|
|
170176
170226
|
installPackage(options) {
|
|
170177
170227
|
this.packageInstallId++;
|
|
170178
170228
|
const request = { kind: "installPackage", ...options, id: this.packageInstallId };
|
|
170179
|
-
const promise = new Promise((
|
|
170180
|
-
(this.packageInstalledPromise ?? (this.packageInstalledPromise = /* @__PURE__ */ new Map)).set(this.packageInstallId, { resolve:
|
|
170229
|
+
const promise = new Promise((resolve10, reject) => {
|
|
170230
|
+
(this.packageInstalledPromise ?? (this.packageInstalledPromise = /* @__PURE__ */ new Map)).set(this.packageInstallId, { resolve: resolve10, reject });
|
|
170181
170231
|
});
|
|
170182
170232
|
this.installer.send(request);
|
|
170183
170233
|
return promise;
|
|
@@ -170444,7 +170494,7 @@ __export(exports_compileAngular, {
|
|
|
170444
170494
|
compileAngular: () => compileAngular
|
|
170445
170495
|
});
|
|
170446
170496
|
import { existsSync as existsSync10, readFileSync as readFileSync4, promises as fs } from "fs";
|
|
170447
|
-
import { join as join8, basename as basename4, sep as sep2, dirname as dirname5, resolve as
|
|
170497
|
+
import { join as join8, basename as basename4, sep as sep2, dirname as dirname5, resolve as resolve10, relative as relative5 } from "path";
|
|
170448
170498
|
import { createHash as createHash2 } from "crypto";
|
|
170449
170499
|
var import_typescript, computeConfigHash = () => {
|
|
170450
170500
|
try {
|
|
@@ -170454,10 +170504,10 @@ var import_typescript, computeConfigHash = () => {
|
|
|
170454
170504
|
return "";
|
|
170455
170505
|
}
|
|
170456
170506
|
}, resolveDevClientDir4 = () => {
|
|
170457
|
-
const fromSource =
|
|
170507
|
+
const fromSource = resolve10(import.meta.dir, "../dev/client");
|
|
170458
170508
|
if (existsSync10(fromSource))
|
|
170459
170509
|
return fromSource;
|
|
170460
|
-
return
|
|
170510
|
+
return resolve10(import.meta.dir, "./dev/client");
|
|
170461
170511
|
}, devClientDir4, hmrClientPath5, hmrRuntimePath, injectHMRRegistration = (content, sourceId) => {
|
|
170462
170512
|
const componentClassRegex = /(?:export\s+)?class\s+(\w+Component)\s/g;
|
|
170463
170513
|
const componentNames = [];
|
|
@@ -170519,7 +170569,7 @@ ${registrations}
|
|
|
170519
170569
|
} else {
|
|
170520
170570
|
const tsPath = __require.resolve("/home/alexkahn/abs/absolutejs/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/typescript.js");
|
|
170521
170571
|
const tsRootDir = dirname5(tsPath);
|
|
170522
|
-
tsLibDir = tsRootDir.endsWith("lib") ? tsRootDir :
|
|
170572
|
+
tsLibDir = tsRootDir.endsWith("lib") ? tsRootDir : resolve10(tsRootDir, "lib");
|
|
170523
170573
|
const config = readConfiguration("./tsconfig.json");
|
|
170524
170574
|
options = {
|
|
170525
170575
|
emitDecoratorMetadata: true,
|
|
@@ -170565,7 +170615,7 @@ ${registrations}
|
|
|
170565
170615
|
};
|
|
170566
170616
|
}
|
|
170567
170617
|
const emitted = {};
|
|
170568
|
-
const resolvedOutDir =
|
|
170618
|
+
const resolvedOutDir = resolve10(outDir);
|
|
170569
170619
|
host.writeFile = (fileName, text) => {
|
|
170570
170620
|
const relativePath = resolveRelativePath(fileName, resolvedOutDir, outDir);
|
|
170571
170621
|
emitted[relativePath] = text;
|
|
@@ -170652,9 +170702,9 @@ ${registrations}
|
|
|
170652
170702
|
sourceMap: false,
|
|
170653
170703
|
target: import_typescript.default.ScriptTarget.ES2022
|
|
170654
170704
|
};
|
|
170655
|
-
const baseDir =
|
|
170705
|
+
const baseDir = resolve10(rootDir ?? process.cwd());
|
|
170656
170706
|
const transpileFile = async (filePath) => {
|
|
170657
|
-
const resolved =
|
|
170707
|
+
const resolved = resolve10(filePath);
|
|
170658
170708
|
if (visited.has(resolved))
|
|
170659
170709
|
return;
|
|
170660
170710
|
visited.add(resolved);
|
|
@@ -170703,7 +170753,7 @@ ${registrations}
|
|
|
170703
170753
|
}
|
|
170704
170754
|
const inputDirForResolve = dirname5(actualPath);
|
|
170705
170755
|
await Promise.all(localImports.map((imp) => {
|
|
170706
|
-
const importPath =
|
|
170756
|
+
const importPath = resolve10(inputDirForResolve, imp);
|
|
170707
170757
|
return transpileFile(importPath);
|
|
170708
170758
|
}));
|
|
170709
170759
|
};
|
|
@@ -171006,10 +171056,10 @@ import {
|
|
|
171006
171056
|
rmSync,
|
|
171007
171057
|
writeFileSync as writeFileSync3
|
|
171008
171058
|
} from "fs";
|
|
171009
|
-
import { basename as basename5, join as join11, relative as relative6, resolve as
|
|
171059
|
+
import { basename as basename5, join as join11, relative as relative6, resolve as resolve11 } from "path";
|
|
171010
171060
|
import { cwd, env as env2, exit } from "process";
|
|
171011
171061
|
var {build: bunBuild4, Glob: Glob5 } = globalThis.Bun;
|
|
171012
|
-
var
|
|
171062
|
+
var isDev2, extractBuildError = (logs, pass, label, frameworkNames, isIncremental, throwOnError) => {
|
|
171013
171063
|
const errLog = logs.find((log2) => log2.level === "error") ?? logs[0];
|
|
171014
171064
|
if (!errLog) {
|
|
171015
171065
|
exit(1);
|
|
@@ -171044,8 +171094,8 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171044
171094
|
}
|
|
171045
171095
|
}, resolveAbsoluteVersion = async () => {
|
|
171046
171096
|
const candidates = [
|
|
171047
|
-
|
|
171048
|
-
|
|
171097
|
+
resolve11(import.meta.dir, "..", "..", "package.json"),
|
|
171098
|
+
resolve11(import.meta.dir, "..", "package.json")
|
|
171049
171099
|
];
|
|
171050
171100
|
for (const candidate of candidates) {
|
|
171051
171101
|
const pkg = await tryReadPackageJson(candidate);
|
|
@@ -171118,7 +171168,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171118
171168
|
sendTelemetryEvent("build:start", {
|
|
171119
171169
|
framework: frameworkNames[0],
|
|
171120
171170
|
frameworks: frameworkNames,
|
|
171121
|
-
mode: mode ?? (
|
|
171171
|
+
mode: mode ?? (isDev2 ? "development" : "production"),
|
|
171122
171172
|
tailwind: Boolean(tailwind)
|
|
171123
171173
|
});
|
|
171124
171174
|
const clientRoots = [
|
|
@@ -171155,13 +171205,13 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171155
171205
|
const filterToIncrementalEntries = (entryPoints, mapToSource) => {
|
|
171156
171206
|
if (!isIncremental || !incrementalFiles)
|
|
171157
171207
|
return entryPoints;
|
|
171158
|
-
const normalizedIncremental = new Set(incrementalFiles.map((f) =>
|
|
171208
|
+
const normalizedIncremental = new Set(incrementalFiles.map((f) => resolve11(f)));
|
|
171159
171209
|
const matchingEntries = [];
|
|
171160
171210
|
for (const entry of entryPoints) {
|
|
171161
171211
|
const sourceFile = mapToSource(entry);
|
|
171162
171212
|
if (!sourceFile)
|
|
171163
171213
|
continue;
|
|
171164
|
-
if (!normalizedIncremental.has(
|
|
171214
|
+
if (!normalizedIncremental.has(resolve11(sourceFile)))
|
|
171165
171215
|
continue;
|
|
171166
171216
|
matchingEntries.push(entry);
|
|
171167
171217
|
}
|
|
@@ -171214,7 +171264,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171214
171264
|
]);
|
|
171215
171265
|
const shouldIncludeHtmlAssets = !isIncremental || normalizedIncrementalFiles?.some((f) => f.includes("/html/") && (f.endsWith(".html") || f.endsWith(".css")));
|
|
171216
171266
|
const reactEntries = isIncremental && reactIndexesPath && reactPagesPath ? filterToIncrementalEntries(allReactEntries, (entry) => {
|
|
171217
|
-
if (entry.startsWith(
|
|
171267
|
+
if (entry.startsWith(resolve11(reactIndexesPath))) {
|
|
171218
171268
|
const pageName = basename5(entry, ".tsx");
|
|
171219
171269
|
return join11(reactPagesPath, `${pageName}.tsx`);
|
|
171220
171270
|
}
|
|
@@ -171285,7 +171335,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171285
171335
|
},
|
|
171286
171336
|
frameworks: frameworkNames,
|
|
171287
171337
|
incremental: Boolean(isIncremental),
|
|
171288
|
-
mode: mode ?? (
|
|
171338
|
+
mode: mode ?? (isDev2 ? "development" : "production"),
|
|
171289
171339
|
scannedEntries: {
|
|
171290
171340
|
angular: allAngularEntries.length,
|
|
171291
171341
|
html: allHtmlEntries.length,
|
|
@@ -171318,7 +171368,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171318
171368
|
entrypoints: reactClientEntryPoints,
|
|
171319
171369
|
...vendorPaths ? { external: Object.keys(vendorPaths) } : {},
|
|
171320
171370
|
format: "esm",
|
|
171321
|
-
minify: !
|
|
171371
|
+
minify: !isDev2,
|
|
171322
171372
|
naming: `[dir]/[name].[hash].[ext]`,
|
|
171323
171373
|
outdir: buildPath,
|
|
171324
171374
|
...hmr ? { jsx: { development: true }, reactFastRefresh: true } : {},
|
|
@@ -171377,15 +171427,15 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171377
171427
|
entrypoints: nonReactClientEntryPoints,
|
|
171378
171428
|
...angularVendorPaths2 ? { external: Object.keys(angularVendorPaths2) } : {},
|
|
171379
171429
|
format: "esm",
|
|
171380
|
-
minify: !
|
|
171430
|
+
minify: !isDev2,
|
|
171381
171431
|
naming: `[dir]/[name].[hash].[ext]`,
|
|
171382
171432
|
outdir: buildPath,
|
|
171383
171433
|
plugins: [
|
|
171384
|
-
...angularDir && !
|
|
171434
|
+
...angularDir && !isDev2 ? [angularLinkerPlugin] : [],
|
|
171385
171435
|
...htmlScriptPlugin ? [htmlScriptPlugin] : []
|
|
171386
171436
|
],
|
|
171387
171437
|
root: clientRoot,
|
|
171388
|
-
splitting: !
|
|
171438
|
+
splitting: !isDev2,
|
|
171389
171439
|
target: "browser",
|
|
171390
171440
|
throw: false
|
|
171391
171441
|
}) : undefined,
|
|
@@ -171548,7 +171598,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171548
171598
|
const devIndexDir = join11(buildPath, "_src_indexes");
|
|
171549
171599
|
mkdirSync6(devIndexDir, { recursive: true });
|
|
171550
171600
|
const indexFiles = readDir(reactIndexesPath).filter((f) => f.endsWith(".tsx"));
|
|
171551
|
-
const pagesRel = relative6(process.cwd(),
|
|
171601
|
+
const pagesRel = relative6(process.cwd(), resolve11(reactPagesPath)).replace(/\\/g, "/");
|
|
171552
171602
|
for (const file4 of indexFiles) {
|
|
171553
171603
|
let content = readFileSync5(join11(reactIndexesPath, file4), "utf-8");
|
|
171554
171604
|
content = content.replace(/from\s*['"]\.\.\/pages\/([^'"]+)['"]/g, `from '/@src/${pagesRel}/$1'`);
|
|
@@ -171568,7 +171618,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171568
171618
|
sendTelemetryEvent("build:complete", {
|
|
171569
171619
|
durationMs: Math.round(performance.now() - buildStart),
|
|
171570
171620
|
frameworks: frameworkNames,
|
|
171571
|
-
mode: mode ?? (
|
|
171621
|
+
mode: mode ?? (isDev2 ? "development" : "production")
|
|
171572
171622
|
});
|
|
171573
171623
|
if (!isIncremental) {
|
|
171574
171624
|
writeFileSync3(join11(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
|
|
@@ -171592,17 +171642,17 @@ var init_build = __esm(() => {
|
|
|
171592
171642
|
init_commonAncestor();
|
|
171593
171643
|
init_logger();
|
|
171594
171644
|
init_validateSafePath();
|
|
171595
|
-
|
|
171645
|
+
isDev2 = env2.NODE_ENV === "development";
|
|
171596
171646
|
vueFeatureFlags = {
|
|
171597
171647
|
__VUE_OPTIONS_API__: "true",
|
|
171598
|
-
__VUE_PROD_DEVTOOLS__:
|
|
171599
|
-
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__:
|
|
171648
|
+
__VUE_PROD_DEVTOOLS__: isDev2 ? "true" : "false",
|
|
171649
|
+
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDev2 ? "true" : "false"
|
|
171600
171650
|
};
|
|
171601
171651
|
});
|
|
171602
171652
|
|
|
171603
171653
|
// src/dev/dependencyGraph.ts
|
|
171604
171654
|
import { existsSync as existsSync11, readFileSync as readFileSync6, readdirSync } from "fs";
|
|
171605
|
-
import { resolve as
|
|
171655
|
+
import { resolve as resolve12 } from "path";
|
|
171606
171656
|
var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
|
|
171607
171657
|
const lower = filePath.toLowerCase();
|
|
171608
171658
|
if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
|
|
@@ -171616,8 +171666,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171616
171666
|
if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
|
|
171617
171667
|
return null;
|
|
171618
171668
|
}
|
|
171619
|
-
const fromDir =
|
|
171620
|
-
const normalized =
|
|
171669
|
+
const fromDir = resolve12(fromFile, "..");
|
|
171670
|
+
const normalized = resolve12(fromDir, importPath);
|
|
171621
171671
|
const extensions = [
|
|
171622
171672
|
".ts",
|
|
171623
171673
|
".tsx",
|
|
@@ -171647,7 +171697,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171647
171697
|
dependents.delete(normalizedPath);
|
|
171648
171698
|
}
|
|
171649
171699
|
}, addFileToGraph = (graph, filePath) => {
|
|
171650
|
-
const normalizedPath =
|
|
171700
|
+
const normalizedPath = resolve12(filePath);
|
|
171651
171701
|
if (!existsSync11(normalizedPath))
|
|
171652
171702
|
return;
|
|
171653
171703
|
const dependencies = extractDependencies(normalizedPath);
|
|
@@ -171665,7 +171715,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171665
171715
|
const ext = fileName.split(".").pop()?.toLowerCase() ?? "";
|
|
171666
171716
|
return SCANNABLE_EXTENSIONS.has(ext);
|
|
171667
171717
|
}, processEntry = (graph, processedFiles, scanDir, normalizedDir, entry) => {
|
|
171668
|
-
const fullPath =
|
|
171718
|
+
const fullPath = resolve12(normalizedDir, entry.name);
|
|
171669
171719
|
if (isIgnoredPath(fullPath, entry.name))
|
|
171670
171720
|
return;
|
|
171671
171721
|
if (entry.isDirectory()) {
|
|
@@ -171691,13 +171741,13 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171691
171741
|
});
|
|
171692
171742
|
};
|
|
171693
171743
|
const scanDirectory = (dir) => {
|
|
171694
|
-
const normalizedDir =
|
|
171744
|
+
const normalizedDir = resolve12(dir);
|
|
171695
171745
|
try {
|
|
171696
171746
|
scanEntries(normalizedDir);
|
|
171697
171747
|
} catch {}
|
|
171698
171748
|
};
|
|
171699
171749
|
for (const dir of directories) {
|
|
171700
|
-
const resolvedDir =
|
|
171750
|
+
const resolvedDir = resolve12(dir);
|
|
171701
171751
|
if (!existsSync11(resolvedDir))
|
|
171702
171752
|
continue;
|
|
171703
171753
|
scanDirectory(resolvedDir);
|
|
@@ -171807,7 +171857,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171807
171857
|
return [];
|
|
171808
171858
|
}
|
|
171809
171859
|
}, getAffectedFiles = (graph, changedFile) => {
|
|
171810
|
-
const normalizedPath =
|
|
171860
|
+
const normalizedPath = resolve12(changedFile);
|
|
171811
171861
|
const affected = new Set;
|
|
171812
171862
|
const toProcess = [normalizedPath];
|
|
171813
171863
|
const processNode = (current) => {
|
|
@@ -171847,7 +171897,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
171847
171897
|
}
|
|
171848
171898
|
graph.dependents.delete(normalizedPath);
|
|
171849
171899
|
}, removeFileFromGraph = (graph, filePath) => {
|
|
171850
|
-
const normalizedPath =
|
|
171900
|
+
const normalizedPath = resolve12(filePath);
|
|
171851
171901
|
removeDepsForFile(graph, normalizedPath);
|
|
171852
171902
|
removeDependentsForFile(graph, normalizedPath);
|
|
171853
171903
|
};
|
|
@@ -171900,12 +171950,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
|
|
|
171900
171950
|
};
|
|
171901
171951
|
|
|
171902
171952
|
// src/dev/configResolver.ts
|
|
171903
|
-
import { resolve as
|
|
171953
|
+
import { resolve as resolve13 } from "path";
|
|
171904
171954
|
var resolveBuildPaths = (config) => {
|
|
171905
171955
|
const cwd2 = process.cwd();
|
|
171906
171956
|
const normalize = (path) => path.replace(/\\/g, "/");
|
|
171907
|
-
const withDefault = (value, fallback) => normalize(
|
|
171908
|
-
const optional = (value) => value ? normalize(
|
|
171957
|
+
const withDefault = (value, fallback) => normalize(resolve13(cwd2, value ?? fallback));
|
|
171958
|
+
const optional = (value) => value ? normalize(resolve13(cwd2, value)) : undefined;
|
|
171909
171959
|
return {
|
|
171910
171960
|
angularDir: optional(config.angularDirectory),
|
|
171911
171961
|
assetsDir: optional(config.assetsDirectory),
|
|
@@ -172071,7 +172121,7 @@ var init_pathUtils = () => {};
|
|
|
172071
172121
|
// src/dev/fileWatcher.ts
|
|
172072
172122
|
import { watch } from "fs";
|
|
172073
172123
|
import { existsSync as existsSync12 } from "fs";
|
|
172074
|
-
import { join as join12, resolve as
|
|
172124
|
+
import { join as join12, resolve as resolve14 } from "path";
|
|
172075
172125
|
var safeRemoveFromGraph = (graph, fullPath) => {
|
|
172076
172126
|
try {
|
|
172077
172127
|
removeFileFromGraph(graph, fullPath);
|
|
@@ -172116,7 +172166,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
172116
172166
|
}, addFileWatchers = (state, paths, onFileChange) => {
|
|
172117
172167
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
172118
172168
|
paths.forEach((path) => {
|
|
172119
|
-
const absolutePath =
|
|
172169
|
+
const absolutePath = resolve14(path).replace(/\\/g, "/");
|
|
172120
172170
|
if (!existsSync12(absolutePath)) {
|
|
172121
172171
|
return;
|
|
172122
172172
|
}
|
|
@@ -172127,7 +172177,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
172127
172177
|
const watchPaths = getWatchPaths(config, state.resolvedPaths);
|
|
172128
172178
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
172129
172179
|
watchPaths.forEach((path) => {
|
|
172130
|
-
const absolutePath =
|
|
172180
|
+
const absolutePath = resolve14(path).replace(/\\/g, "/");
|
|
172131
172181
|
if (!existsSync12(absolutePath)) {
|
|
172132
172182
|
return;
|
|
172133
172183
|
}
|
|
@@ -172142,13 +172192,13 @@ var init_fileWatcher = __esm(() => {
|
|
|
172142
172192
|
});
|
|
172143
172193
|
|
|
172144
172194
|
// src/dev/assetStore.ts
|
|
172145
|
-
import { resolve as
|
|
172195
|
+
import { resolve as resolve15 } from "path";
|
|
172146
172196
|
import { readdir as readdir2, unlink } from "fs/promises";
|
|
172147
172197
|
var mimeTypes, getMimeType = (filePath) => {
|
|
172148
172198
|
const ext = filePath.slice(filePath.lastIndexOf("."));
|
|
172149
172199
|
return mimeTypes[ext] ?? "application/octet-stream";
|
|
172150
172200
|
}, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
|
|
172151
|
-
const fullPath =
|
|
172201
|
+
const fullPath = resolve15(dir, entry.name);
|
|
172152
172202
|
if (entry.isDirectory()) {
|
|
172153
172203
|
return walkAndClean(fullPath);
|
|
172154
172204
|
}
|
|
@@ -172164,10 +172214,10 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
172164
172214
|
}, cleanStaleAssets = async (store, manifest, buildDir) => {
|
|
172165
172215
|
const liveByIdentity = new Map;
|
|
172166
172216
|
for (const webPath of store.keys()) {
|
|
172167
|
-
const diskPath =
|
|
172217
|
+
const diskPath = resolve15(buildDir, webPath.slice(1));
|
|
172168
172218
|
liveByIdentity.set(stripHash(diskPath), diskPath);
|
|
172169
172219
|
}
|
|
172170
|
-
const absBuildDir =
|
|
172220
|
+
const absBuildDir = resolve15(buildDir);
|
|
172171
172221
|
Object.values(manifest).forEach((val) => {
|
|
172172
172222
|
if (!HASHED_FILE_RE.test(val))
|
|
172173
172223
|
return;
|
|
@@ -172185,7 +172235,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
172185
172235
|
} catch {}
|
|
172186
172236
|
}, lookupAsset = (store, path) => store.get(path), processScanEntry = (entry, dir, prefix, store, scanDir) => {
|
|
172187
172237
|
if (entry.isDirectory()) {
|
|
172188
|
-
return scanDir(
|
|
172238
|
+
return scanDir(resolve15(dir, entry.name), `${prefix}${entry.name}/`);
|
|
172189
172239
|
}
|
|
172190
172240
|
if (!entry.name.startsWith("chunk-")) {
|
|
172191
172241
|
return null;
|
|
@@ -172194,7 +172244,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
172194
172244
|
if (store.has(webPath)) {
|
|
172195
172245
|
return null;
|
|
172196
172246
|
}
|
|
172197
|
-
return Bun.file(
|
|
172247
|
+
return Bun.file(resolve15(dir, entry.name)).bytes().then((bytes) => {
|
|
172198
172248
|
store.set(webPath, bytes);
|
|
172199
172249
|
return;
|
|
172200
172250
|
}).catch(() => {});
|
|
@@ -172219,7 +172269,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
172219
172269
|
for (const webPath of newIdentities.values()) {
|
|
172220
172270
|
if (store.has(webPath))
|
|
172221
172271
|
continue;
|
|
172222
|
-
loadPromises.push(Bun.file(
|
|
172272
|
+
loadPromises.push(Bun.file(resolve15(buildDir, webPath.slice(1))).bytes().then((bytes) => {
|
|
172223
172273
|
store.set(webPath, bytes);
|
|
172224
172274
|
return;
|
|
172225
172275
|
}).catch(() => {}));
|
|
@@ -172270,9 +172320,9 @@ var init_fileHashTracker = __esm(() => {
|
|
|
172270
172320
|
});
|
|
172271
172321
|
|
|
172272
172322
|
// src/dev/reactComponentClassifier.ts
|
|
172273
|
-
import { resolve as
|
|
172323
|
+
import { resolve as resolve16 } from "path";
|
|
172274
172324
|
var classifyComponent = (filePath) => {
|
|
172275
|
-
const normalizedPath =
|
|
172325
|
+
const normalizedPath = resolve16(filePath);
|
|
172276
172326
|
if (normalizedPath.includes("/react/pages/")) {
|
|
172277
172327
|
return "server";
|
|
172278
172328
|
}
|
|
@@ -172284,7 +172334,7 @@ var classifyComponent = (filePath) => {
|
|
|
172284
172334
|
var init_reactComponentClassifier = () => {};
|
|
172285
172335
|
|
|
172286
172336
|
// src/dev/moduleMapper.ts
|
|
172287
|
-
import { basename as basename6, resolve as
|
|
172337
|
+
import { basename as basename6, resolve as resolve17 } from "path";
|
|
172288
172338
|
var buildModulePaths = (moduleKeys, manifest) => {
|
|
172289
172339
|
const modulePaths = {};
|
|
172290
172340
|
moduleKeys.forEach((key) => {
|
|
@@ -172294,7 +172344,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
172294
172344
|
});
|
|
172295
172345
|
return modulePaths;
|
|
172296
172346
|
}, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
|
|
172297
|
-
const normalizedFile =
|
|
172347
|
+
const normalizedFile = resolve17(sourceFile);
|
|
172298
172348
|
const normalizedPath = normalizedFile.replace(/\\/g, "/");
|
|
172299
172349
|
if (processedFiles.has(normalizedFile)) {
|
|
172300
172350
|
return null;
|
|
@@ -172330,7 +172380,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
172330
172380
|
});
|
|
172331
172381
|
return grouped;
|
|
172332
172382
|
}, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
|
|
172333
|
-
const normalizedFile =
|
|
172383
|
+
const normalizedFile = resolve17(sourceFile);
|
|
172334
172384
|
const fileName = basename6(normalizedFile);
|
|
172335
172385
|
const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
|
|
172336
172386
|
const pascalName = toPascal(baseName);
|
|
@@ -172490,8 +172540,8 @@ var init_webSocket = __esm(() => {
|
|
|
172490
172540
|
});
|
|
172491
172541
|
|
|
172492
172542
|
// src/utils/registerClientScript.ts
|
|
172493
|
-
var scriptRegistry, requestCounter = 0, getRequestId = () => `req_${Date.now()}_${++requestCounter}`, ssrContextGetter = null, registerClientScript = (script,
|
|
172494
|
-
const id =
|
|
172543
|
+
var scriptRegistry, requestCounter = 0, getRequestId = () => `req_${Date.now()}_${++requestCounter}`, ssrContextGetter = null, registerClientScript = (script, requestId2) => {
|
|
172544
|
+
const id = requestId2 || ssrContextGetter?.() || Object.getOwnPropertyDescriptor(globalThis, "__absolutejs_requestId")?.value || getRequestId();
|
|
172495
172545
|
if (!scriptRegistry.has(id)) {
|
|
172496
172546
|
scriptRegistry.set(id, new Set);
|
|
172497
172547
|
}
|
|
@@ -172549,8 +172599,8 @@ var scriptRegistry, requestCounter = 0, getRequestId = () => `req_${Date.now()}_
|
|
|
172549
172599
|
${scriptCode}
|
|
172550
172600
|
})();
|
|
172551
172601
|
</script>`;
|
|
172552
|
-
}, getAndClearClientScripts = (
|
|
172553
|
-
const id =
|
|
172602
|
+
}, getAndClearClientScripts = (requestId2) => {
|
|
172603
|
+
const id = requestId2 || ssrContextGetter?.();
|
|
172554
172604
|
if (!id)
|
|
172555
172605
|
return [];
|
|
172556
172606
|
const scripts = scriptRegistry.get(id);
|
|
@@ -202040,9 +202090,9 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
|
|
|
202040
202090
|
return html.replace("</html>", `${snippet}</html>`);
|
|
202041
202091
|
}
|
|
202042
202092
|
return html + snippet;
|
|
202043
|
-
}, injectSsrScripts = (html,
|
|
202093
|
+
}, injectSsrScripts = (html, requestId2, indexPath) => {
|
|
202044
202094
|
let result = html;
|
|
202045
|
-
const registeredScripts = getAndClearClientScripts(
|
|
202095
|
+
const registeredScripts = getAndClearClientScripts(requestId2);
|
|
202046
202096
|
if (registeredScripts.length > 0) {
|
|
202047
202097
|
result = injectBeforeClose(result, generateClientScriptCode(registeredScripts));
|
|
202048
202098
|
}
|
|
@@ -202081,8 +202131,8 @@ var ssrDirty = false, lastSelector = "angular-page", invalidateAngularSsrCache =
|
|
|
202081
202131
|
ssrDirty = true;
|
|
202082
202132
|
clearSelectorCache();
|
|
202083
202133
|
}, angularSsrContext, handleAngularPageRequest = async (_importer, pagePath, indexPath, headTag = "<head></head>", ...props) => {
|
|
202084
|
-
const
|
|
202085
|
-
return angularSsrContext.run(
|
|
202134
|
+
const requestId2 = `angular_${Date.now()}_${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;
|
|
202135
|
+
return angularSsrContext.run(requestId2, async () => {
|
|
202086
202136
|
const [maybeProps] = props;
|
|
202087
202137
|
cacheRouteData(pagePath, { headTag, props: maybeProps });
|
|
202088
202138
|
if (ssrDirty) {
|
|
@@ -202107,7 +202157,7 @@ var ssrDirty = false, lastSelector = "angular-page", invalidateAngularSsrCache =
|
|
|
202107
202157
|
const sanitizer = getSsrSanitizer(deps);
|
|
202108
202158
|
const providers = buildProviders(deps, sanitizer, maybeProps, tokenMap);
|
|
202109
202159
|
const rawHtml = await renderAngularApp(deps, PageComponent, providers, htmlString);
|
|
202110
|
-
const html = injectSsrScripts(rawHtml,
|
|
202160
|
+
const html = injectSsrScripts(rawHtml, requestId2, indexPath);
|
|
202111
202161
|
return new Response(html, {
|
|
202112
202162
|
headers: { "Content-Type": "text/html" }
|
|
202113
202163
|
});
|
|
@@ -202164,7 +202214,7 @@ __export(exports_moduleServer, {
|
|
|
202164
202214
|
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
202165
202215
|
});
|
|
202166
202216
|
import { readFileSync as readFileSync9, statSync as statSync2 } from "fs";
|
|
202167
|
-
import { dirname as dirname7, extname as extname3, resolve as
|
|
202217
|
+
import { dirname as dirname7, extname as extname3, resolve as resolve18, relative as relative7 } from "path";
|
|
202168
202218
|
var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, TRANSPILABLE, ALL_EXPORTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
202169
202219
|
const allExports = [];
|
|
202170
202220
|
let match;
|
|
@@ -202203,14 +202253,14 @@ ${stubs}
|
|
|
202203
202253
|
});
|
|
202204
202254
|
const fileDir = dirname7(filePath);
|
|
202205
202255
|
result = result.replace(/(from\s*["'])(\.\.?\/[^"']+)(["'])/g, (_match, prefix, relPath, suffix) => {
|
|
202206
|
-
const absPath =
|
|
202256
|
+
const absPath = resolve18(fileDir, relPath);
|
|
202207
202257
|
const rel = relative7(projectRoot, absPath);
|
|
202208
202258
|
let srcPath = rel;
|
|
202209
202259
|
if (!extname3(srcPath)) {
|
|
202210
202260
|
const extensions = [".tsx", ".ts", ".jsx", ".js"];
|
|
202211
202261
|
for (const ext of extensions) {
|
|
202212
202262
|
try {
|
|
202213
|
-
statSync2(
|
|
202263
|
+
statSync2(resolve18(projectRoot, srcPath + ext));
|
|
202214
202264
|
srcPath += ext;
|
|
202215
202265
|
break;
|
|
202216
202266
|
} catch {}
|
|
@@ -202219,19 +202269,19 @@ ${stubs}
|
|
|
202219
202269
|
return `${prefix}${SRC_PREFIX}${srcPath.replace(/\\/g, "/")}${suffix}`;
|
|
202220
202270
|
});
|
|
202221
202271
|
result = result.replace(/(import\s*\(\s*["'])(\.\.?\/[^"']+)(["']\s*\))/g, (_match, prefix, relPath, suffix) => {
|
|
202222
|
-
const absPath =
|
|
202272
|
+
const absPath = resolve18(fileDir, relPath);
|
|
202223
202273
|
const rel = relative7(projectRoot, absPath);
|
|
202224
202274
|
return `${prefix}${SRC_PREFIX}${rel.replace(/\\/g, "/")}${suffix}`;
|
|
202225
202275
|
});
|
|
202226
202276
|
result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => {
|
|
202227
|
-
const absPath =
|
|
202277
|
+
const absPath = resolve18(fileDir, relPath);
|
|
202228
202278
|
const rel = relative7(projectRoot, absPath);
|
|
202229
202279
|
let srcPath = rel;
|
|
202230
202280
|
if (!extname3(srcPath)) {
|
|
202231
202281
|
const extensions = [".tsx", ".ts", ".jsx", ".js", ".css"];
|
|
202232
202282
|
for (const ext of extensions) {
|
|
202233
202283
|
try {
|
|
202234
|
-
statSync2(
|
|
202284
|
+
statSync2(resolve18(projectRoot, srcPath + ext));
|
|
202235
202285
|
srcPath += ext;
|
|
202236
202286
|
break;
|
|
202237
202287
|
} catch {}
|
|
@@ -202341,7 +202391,7 @@ export default {};
|
|
|
202341
202391
|
if (!pathname.startsWith(SRC_PREFIX))
|
|
202342
202392
|
return;
|
|
202343
202393
|
const relPath = pathname.slice(SRC_PREFIX.length);
|
|
202344
|
-
let filePath =
|
|
202394
|
+
let filePath = resolve18(projectRoot, relPath);
|
|
202345
202395
|
let ext = extname3(filePath);
|
|
202346
202396
|
if (!ext) {
|
|
202347
202397
|
const tryExts = [".tsx", ".ts", ".jsx", ".js"];
|
|
@@ -202461,11 +202511,11 @@ var exports_simpleHTMLHMR = {};
|
|
|
202461
202511
|
__export(exports_simpleHTMLHMR, {
|
|
202462
202512
|
handleHTMLUpdate: () => handleHTMLUpdate
|
|
202463
202513
|
});
|
|
202464
|
-
import { resolve as
|
|
202514
|
+
import { resolve as resolve19 } from "path";
|
|
202465
202515
|
var handleHTMLUpdate = async (htmlFilePath) => {
|
|
202466
202516
|
let htmlContent;
|
|
202467
202517
|
try {
|
|
202468
|
-
const resolvedPath =
|
|
202518
|
+
const resolvedPath = resolve19(htmlFilePath);
|
|
202469
202519
|
const file4 = Bun.file(resolvedPath);
|
|
202470
202520
|
if (!await file4.exists()) {
|
|
202471
202521
|
return null;
|
|
@@ -202491,11 +202541,11 @@ var exports_simpleHTMXHMR = {};
|
|
|
202491
202541
|
__export(exports_simpleHTMXHMR, {
|
|
202492
202542
|
handleHTMXUpdate: () => handleHTMXUpdate
|
|
202493
202543
|
});
|
|
202494
|
-
import { resolve as
|
|
202544
|
+
import { resolve as resolve20 } from "path";
|
|
202495
202545
|
var handleHTMXUpdate = async (htmxFilePath) => {
|
|
202496
202546
|
let htmlContent;
|
|
202497
202547
|
try {
|
|
202498
|
-
const resolvedPath =
|
|
202548
|
+
const resolvedPath = resolve20(htmxFilePath);
|
|
202499
202549
|
const file4 = Bun.file(resolvedPath);
|
|
202500
202550
|
if (!await file4.exists()) {
|
|
202501
202551
|
return null;
|
|
@@ -202519,7 +202569,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
202519
202569
|
// src/dev/rebuildTrigger.ts
|
|
202520
202570
|
import { existsSync as existsSync13 } from "fs";
|
|
202521
202571
|
import { rm as rm6 } from "fs/promises";
|
|
202522
|
-
import { basename as basename7, relative as relative8, resolve as
|
|
202572
|
+
import { basename as basename7, relative as relative8, resolve as resolve21 } from "path";
|
|
202523
202573
|
var parseErrorLocationFromMessage = (msg) => {
|
|
202524
202574
|
const pathLineCol = msg.match(/^([^\s:]+):(\d+)(?::(\d+))?/);
|
|
202525
202575
|
if (pathLineCol) {
|
|
@@ -202591,7 +202641,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202591
202641
|
state.fileHashes.delete(filePathInSet);
|
|
202592
202642
|
try {
|
|
202593
202643
|
const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
|
|
202594
|
-
const deletedPathResolved =
|
|
202644
|
+
const deletedPathResolved = resolve21(filePathInSet);
|
|
202595
202645
|
affectedFiles.forEach((affectedFile) => {
|
|
202596
202646
|
if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
|
|
202597
202647
|
validFiles.push(affectedFile);
|
|
@@ -202635,7 +202685,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202635
202685
|
if (storedHash !== undefined && storedHash === fileHash) {
|
|
202636
202686
|
return;
|
|
202637
202687
|
}
|
|
202638
|
-
const normalizedFilePath =
|
|
202688
|
+
const normalizedFilePath = resolve21(filePathInSet);
|
|
202639
202689
|
if (!processedFiles.has(normalizedFilePath)) {
|
|
202640
202690
|
validFiles.push(normalizedFilePath);
|
|
202641
202691
|
processedFiles.add(normalizedFilePath);
|
|
@@ -202726,7 +202776,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202726
202776
|
}
|
|
202727
202777
|
if (!graph)
|
|
202728
202778
|
return componentFile;
|
|
202729
|
-
const dependents = graph.dependents.get(
|
|
202779
|
+
const dependents = graph.dependents.get(resolve21(componentFile));
|
|
202730
202780
|
if (!dependents)
|
|
202731
202781
|
return componentFile;
|
|
202732
202782
|
for (const dep of dependents) {
|
|
@@ -202735,7 +202785,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202735
202785
|
}
|
|
202736
202786
|
return componentFile;
|
|
202737
202787
|
}, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
|
|
202738
|
-
const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") &&
|
|
202788
|
+
const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") && resolve21(file4).startsWith(angularPagesPath));
|
|
202739
202789
|
if (pageEntries.length > 0 || !state.dependencyGraph) {
|
|
202740
202790
|
return pageEntries;
|
|
202741
202791
|
}
|
|
@@ -202744,7 +202794,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202744
202794
|
const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
|
|
202745
202795
|
const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
|
|
202746
202796
|
affected.forEach((file4) => {
|
|
202747
|
-
if (file4.endsWith(".ts") &&
|
|
202797
|
+
if (file4.endsWith(".ts") && resolve21(file4).startsWith(angularPagesPath)) {
|
|
202748
202798
|
resolvedPages.add(file4);
|
|
202749
202799
|
}
|
|
202750
202800
|
});
|
|
@@ -202825,7 +202875,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202825
202875
|
const { clientPaths, serverPaths } = await compileAngular2(pageEntries, angularDir, true);
|
|
202826
202876
|
serverPaths.forEach((serverPath) => {
|
|
202827
202877
|
const fileBase = basename7(serverPath, ".js");
|
|
202828
|
-
state.manifest[toPascal(fileBase)] =
|
|
202878
|
+
state.manifest[toPascal(fileBase)] = resolve21(serverPath);
|
|
202829
202879
|
});
|
|
202830
202880
|
if (clientPaths.length > 0) {
|
|
202831
202881
|
await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir);
|
|
@@ -202833,14 +202883,14 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202833
202883
|
}, handleAngularFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202834
202884
|
const angularDir = config.angularDirectory ?? "";
|
|
202835
202885
|
const angularFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === "angular");
|
|
202836
|
-
const angularPagesPath =
|
|
202886
|
+
const angularPagesPath = resolve21(angularDir, "pages");
|
|
202837
202887
|
const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
|
|
202838
202888
|
if (pageEntries.length > 0) {
|
|
202839
202889
|
await compileAndBundleAngular(state, pageEntries, angularDir);
|
|
202840
202890
|
invalidateAngularSsrCache();
|
|
202841
202891
|
}
|
|
202842
202892
|
if (pageEntries.length > 0 && !config.options?.preserveIntermediateFiles) {
|
|
202843
|
-
await rm6(
|
|
202893
|
+
await rm6(resolve21(angularDir, "compiled"), {
|
|
202844
202894
|
force: true,
|
|
202845
202895
|
recursive: true
|
|
202846
202896
|
});
|
|
@@ -202854,7 +202904,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202854
202904
|
return manifest;
|
|
202855
202905
|
}, resolveReactEntryForPageFile = (normalized, pagesPathResolved, reactIndexesPath) => {
|
|
202856
202906
|
const pageName = basename7(normalized, ".tsx");
|
|
202857
|
-
const indexPath =
|
|
202907
|
+
const indexPath = resolve21(reactIndexesPath, `${pageName}.tsx`);
|
|
202858
202908
|
if (!existsSync13(indexPath)) {
|
|
202859
202909
|
return;
|
|
202860
202910
|
}
|
|
@@ -202866,13 +202916,13 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202866
202916
|
return;
|
|
202867
202917
|
}
|
|
202868
202918
|
const pageName = basename7(dep, ".tsx");
|
|
202869
|
-
const indexPath =
|
|
202919
|
+
const indexPath = resolve21(reactIndexesPath, `${pageName}.tsx`);
|
|
202870
202920
|
if (existsSync13(indexPath) && !reactEntries.includes(indexPath)) {
|
|
202871
202921
|
reactEntries.push(indexPath);
|
|
202872
202922
|
}
|
|
202873
202923
|
});
|
|
202874
202924
|
}, resolveReactEntryForFile = (state, file4, pagesPathResolved, reactIndexesPath, reactEntries) => {
|
|
202875
|
-
const normalized =
|
|
202925
|
+
const normalized = resolve21(file4);
|
|
202876
202926
|
if (!normalized.startsWith(pagesPathResolved)) {
|
|
202877
202927
|
resolveReactEntriesFromDeps(state, normalized, pagesPathResolved, reactIndexesPath, reactEntries);
|
|
202878
202928
|
return;
|
|
@@ -202883,7 +202933,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202883
202933
|
}
|
|
202884
202934
|
}, collectReactEntries = (state, filesToRebuild, reactPagesPath, reactIndexesPath) => {
|
|
202885
202935
|
const reactEntries = [];
|
|
202886
|
-
const pagesPathResolved =
|
|
202936
|
+
const pagesPathResolved = resolve21(reactPagesPath);
|
|
202887
202937
|
filesToRebuild.forEach((file4) => {
|
|
202888
202938
|
resolveReactEntryForFile(state, file4, pagesPathResolved, reactIndexesPath, reactEntries);
|
|
202889
202939
|
});
|
|
@@ -202894,7 +202944,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202894
202944
|
const { getDevVendorPaths: getDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
|
|
202895
202945
|
const { rewriteReactImports: rewriteReactImports2 } = await Promise.resolve().then(() => (init_rewriteReactImports(), exports_rewriteReactImports));
|
|
202896
202946
|
const clientRoot = await computeClientRoot(state.resolvedPaths);
|
|
202897
|
-
const refreshEntry =
|
|
202947
|
+
const refreshEntry = resolve21(reactIndexesPath, "_refresh.tsx");
|
|
202898
202948
|
if (!reactEntries.includes(refreshEntry)) {
|
|
202899
202949
|
reactEntries.push(refreshEntry);
|
|
202900
202950
|
}
|
|
@@ -202906,7 +202956,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202906
202956
|
setDevVendorPaths2(vendorPaths);
|
|
202907
202957
|
}
|
|
202908
202958
|
const { rmSync: rmSync2 } = await import("fs");
|
|
202909
|
-
rmSync2(
|
|
202959
|
+
rmSync2(resolve21(buildDir, "react", "indexes"), {
|
|
202910
202960
|
force: true,
|
|
202911
202961
|
recursive: true
|
|
202912
202962
|
});
|
|
@@ -202941,8 +202991,8 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202941
202991
|
return url;
|
|
202942
202992
|
}, handleReactFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202943
202993
|
const reactDir = config.reactDirectory ?? "";
|
|
202944
|
-
const reactPagesPath =
|
|
202945
|
-
const reactIndexesPath =
|
|
202994
|
+
const reactPagesPath = resolve21(reactDir, "pages");
|
|
202995
|
+
const reactIndexesPath = resolve21(reactDir, "indexes");
|
|
202946
202996
|
const { buildDir } = state.resolvedPaths;
|
|
202947
202997
|
const reactFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === "react");
|
|
202948
202998
|
if (reactFiles.length > 0) {
|
|
@@ -203017,7 +203067,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203017
203067
|
}, handleSvelteFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
203018
203068
|
const svelteDir = config.svelteDirectory ?? "";
|
|
203019
203069
|
const { buildDir } = state.resolvedPaths;
|
|
203020
|
-
const svelteFiles = filesToRebuild.filter((file4) => file4.endsWith(".svelte") &&
|
|
203070
|
+
const svelteFiles = filesToRebuild.filter((file4) => file4.endsWith(".svelte") && resolve21(file4).startsWith(resolve21(svelteDir, "pages")));
|
|
203021
203071
|
if (svelteFiles.length > 0) {
|
|
203022
203072
|
const { compileSvelte: compileSvelte2 } = await Promise.resolve().then(() => (init_compileSvelte(), exports_compileSvelte));
|
|
203023
203073
|
const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
|
|
@@ -203025,8 +203075,8 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203025
203075
|
const { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = await compileSvelte2(svelteFiles, svelteDir, new Map, true);
|
|
203026
203076
|
const serverEntries = [...svelteServerPaths];
|
|
203027
203077
|
const clientEntries = [...svelteIndexPaths, ...svelteClientPaths];
|
|
203028
|
-
const serverRoot =
|
|
203029
|
-
const serverOutDir =
|
|
203078
|
+
const serverRoot = resolve21(svelteDir, "server");
|
|
203079
|
+
const serverOutDir = resolve21(buildDir, basename7(svelteDir));
|
|
203030
203080
|
const [serverResult, clientResult] = await Promise.all([
|
|
203031
203081
|
serverEntries.length > 0 ? bunBuild5({
|
|
203032
203082
|
entrypoints: serverEntries,
|
|
@@ -203052,15 +203102,15 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203052
203102
|
await handleClientManifestUpdate(state, clientResult, buildDir);
|
|
203053
203103
|
}
|
|
203054
203104
|
await Promise.all([
|
|
203055
|
-
rm6(
|
|
203105
|
+
rm6(resolve21(svelteDir, "client"), {
|
|
203056
203106
|
force: true,
|
|
203057
203107
|
recursive: true
|
|
203058
203108
|
}),
|
|
203059
|
-
rm6(
|
|
203109
|
+
rm6(resolve21(svelteDir, "indexes"), {
|
|
203060
203110
|
force: true,
|
|
203061
203111
|
recursive: true
|
|
203062
203112
|
}),
|
|
203063
|
-
rm6(
|
|
203113
|
+
rm6(resolve21(svelteDir, "server"), {
|
|
203064
203114
|
force: true,
|
|
203065
203115
|
recursive: true
|
|
203066
203116
|
})
|
|
@@ -203093,7 +203143,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203093
203143
|
}, handleVueFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
203094
203144
|
const vueDir = config.vueDirectory ?? "";
|
|
203095
203145
|
const { buildDir } = state.resolvedPaths;
|
|
203096
|
-
const vueFiles = filesToRebuild.filter((file4) => file4.endsWith(".vue") &&
|
|
203146
|
+
const vueFiles = filesToRebuild.filter((file4) => file4.endsWith(".vue") && resolve21(file4).startsWith(resolve21(vueDir, "pages")));
|
|
203097
203147
|
if (vueFiles.length > 0) {
|
|
203098
203148
|
const { compileVue: compileVue2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
203099
203149
|
const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
|
|
@@ -203101,8 +203151,8 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203101
203151
|
const { vueServerPaths, vueIndexPaths, vueClientPaths } = await compileVue2(vueFiles, vueDir, true);
|
|
203102
203152
|
const serverEntries = [...vueServerPaths];
|
|
203103
203153
|
const clientEntries = [...vueIndexPaths, ...vueClientPaths];
|
|
203104
|
-
const serverRoot =
|
|
203105
|
-
const serverOutDir =
|
|
203154
|
+
const serverRoot = resolve21(vueDir, "server");
|
|
203155
|
+
const serverOutDir = resolve21(buildDir, basename7(vueDir));
|
|
203106
203156
|
const vueFeatureFlags2 = {
|
|
203107
203157
|
__VUE_OPTIONS_API__: "true",
|
|
203108
203158
|
__VUE_PROD_DEVTOOLS__: "true",
|
|
@@ -203134,19 +203184,19 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203134
203184
|
await handleClientManifestUpdate(state, clientResult, buildDir);
|
|
203135
203185
|
}
|
|
203136
203186
|
await Promise.all([
|
|
203137
|
-
rm6(
|
|
203187
|
+
rm6(resolve21(vueDir, "client"), {
|
|
203138
203188
|
force: true,
|
|
203139
203189
|
recursive: true
|
|
203140
203190
|
}),
|
|
203141
|
-
rm6(
|
|
203191
|
+
rm6(resolve21(vueDir, "indexes"), {
|
|
203142
203192
|
force: true,
|
|
203143
203193
|
recursive: true
|
|
203144
203194
|
}),
|
|
203145
|
-
rm6(
|
|
203195
|
+
rm6(resolve21(vueDir, "server"), {
|
|
203146
203196
|
force: true,
|
|
203147
203197
|
recursive: true
|
|
203148
203198
|
}),
|
|
203149
|
-
rm6(
|
|
203199
|
+
rm6(resolve21(vueDir, "compiled"), {
|
|
203150
203200
|
force: true,
|
|
203151
203201
|
recursive: true
|
|
203152
203202
|
})
|
|
@@ -203266,10 +203316,10 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203266
203316
|
}, computeOutputPagesDir = (state, config, framework) => {
|
|
203267
203317
|
const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
|
|
203268
203318
|
if (isSingle) {
|
|
203269
|
-
return
|
|
203319
|
+
return resolve21(state.resolvedPaths.buildDir, "pages");
|
|
203270
203320
|
}
|
|
203271
203321
|
const dirName = framework === "html" ? basename7(config.htmlDirectory ?? "html") : basename7(config.htmxDirectory ?? "htmx");
|
|
203272
|
-
return
|
|
203322
|
+
return resolve21(state.resolvedPaths.buildDir, dirName, "pages");
|
|
203273
203323
|
}, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
|
|
203274
203324
|
try {
|
|
203275
203325
|
const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
|
|
@@ -203305,7 +203355,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203305
203355
|
const outputHtmlPages = computeOutputPagesDir(state, config, "html");
|
|
203306
203356
|
for (const pageFile of htmlPageFiles) {
|
|
203307
203357
|
const htmlPageName = basename7(pageFile);
|
|
203308
|
-
const builtHtmlPagePath =
|
|
203358
|
+
const builtHtmlPagePath = resolve21(outputHtmlPages, htmlPageName);
|
|
203309
203359
|
await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
|
|
203310
203360
|
}
|
|
203311
203361
|
}, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
|
|
@@ -203370,7 +203420,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203370
203420
|
const cssKey = `${pascalName}CSS`;
|
|
203371
203421
|
const cssUrl = manifest[cssKey] || null;
|
|
203372
203422
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
203373
|
-
const hmrMeta = vueHmrMetadata2.get(
|
|
203423
|
+
const hmrMeta = vueHmrMetadata2.get(resolve21(vuePagePath));
|
|
203374
203424
|
const changeType = hmrMeta?.changeType ?? "full";
|
|
203375
203425
|
if (changeType === "style-only") {
|
|
203376
203426
|
broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
|
|
@@ -203604,7 +203654,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203604
203654
|
const outputHtmxPages = computeOutputPagesDir(state, config, "htmx");
|
|
203605
203655
|
for (const htmxPageFile of htmxPageFiles) {
|
|
203606
203656
|
const htmxPageName = basename7(htmxPageFile);
|
|
203607
|
-
const builtHtmxPagePath =
|
|
203657
|
+
const builtHtmxPagePath = resolve21(outputHtmxPages, htmxPageName);
|
|
203608
203658
|
await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
|
|
203609
203659
|
}
|
|
203610
203660
|
}, collectUpdatedModulePaths = (allModuleUpdates) => {
|
|
@@ -203750,13 +203800,13 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203750
203800
|
if (state.fileChangeQueue.size === 0) {
|
|
203751
203801
|
return;
|
|
203752
203802
|
}
|
|
203753
|
-
const
|
|
203803
|
+
const pending2 = Array.from(state.fileChangeQueue.keys());
|
|
203754
203804
|
const queuedFiles = [];
|
|
203755
203805
|
state.fileChangeQueue.forEach((filePaths) => {
|
|
203756
203806
|
queuedFiles.push(...filePaths);
|
|
203757
203807
|
});
|
|
203758
203808
|
state.fileChangeQueue.clear();
|
|
203759
|
-
|
|
203809
|
+
pending2.forEach((file4) => state.rebuildQueue.add(file4));
|
|
203760
203810
|
if (state.rebuildTimeout)
|
|
203761
203811
|
clearTimeout(state.rebuildTimeout);
|
|
203762
203812
|
state.rebuildTimeout = setTimeout(() => {
|
|
@@ -203964,7 +204014,7 @@ __export(exports_devBuild, {
|
|
|
203964
204014
|
});
|
|
203965
204015
|
import { readdir as readdir3 } from "fs/promises";
|
|
203966
204016
|
import { statSync as statSync3 } from "fs";
|
|
203967
|
-
import { resolve as
|
|
204017
|
+
import { resolve as resolve22 } from "path";
|
|
203968
204018
|
var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
203969
204019
|
const config = {};
|
|
203970
204020
|
const dirPattern = /(\w+Directory)\s*:\s*['"]([^'"]+)['"]/g;
|
|
@@ -203977,7 +204027,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203977
204027
|
return Object.keys(config).length > 0 ? config : null;
|
|
203978
204028
|
}, reloadConfig = async () => {
|
|
203979
204029
|
try {
|
|
203980
|
-
const configPath2 =
|
|
204030
|
+
const configPath2 = resolve22(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
203981
204031
|
const source = await Bun.file(configPath2).text();
|
|
203982
204032
|
return parseDirectoryConfig(source);
|
|
203983
204033
|
} catch {
|
|
@@ -204050,7 +204100,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204050
204100
|
state.fileChangeQueue.clear();
|
|
204051
204101
|
}
|
|
204052
204102
|
}, handleCachedReload = async () => {
|
|
204053
|
-
const serverMtime = statSync3(
|
|
204103
|
+
const serverMtime = statSync3(resolve22(Bun.main)).mtimeMs;
|
|
204054
204104
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
204055
204105
|
globalThis.__hmrServerMtime = serverMtime;
|
|
204056
204106
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -204078,8 +204128,8 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204078
204128
|
return true;
|
|
204079
204129
|
}, resolveAbsoluteVersion2 = async () => {
|
|
204080
204130
|
const candidates = [
|
|
204081
|
-
|
|
204082
|
-
|
|
204131
|
+
resolve22(import.meta.dir, "..", "..", "package.json"),
|
|
204132
|
+
resolve22(import.meta.dir, "..", "package.json")
|
|
204083
204133
|
];
|
|
204084
204134
|
for (const candidate of candidates) {
|
|
204085
204135
|
const found = await tryReadPackageVersion(candidate);
|
|
@@ -204092,7 +204142,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204092
204142
|
const entries = await readdir3(vendorDir).catch(() => emptyStringArray);
|
|
204093
204143
|
await Promise.all(entries.map(async (entry) => {
|
|
204094
204144
|
const webPath = `/${framework}/vendor/${entry}`;
|
|
204095
|
-
const bytes = await Bun.file(
|
|
204145
|
+
const bytes = await Bun.file(resolve22(vendorDir, entry)).bytes();
|
|
204096
204146
|
assetStore.set(webPath, bytes);
|
|
204097
204147
|
}));
|
|
204098
204148
|
}, devBuild = async (config) => {
|
|
@@ -204126,7 +204176,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204126
204176
|
await populateAssetStore(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
|
|
204127
204177
|
cleanStaleAssets(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
|
|
204128
204178
|
const buildReactVendorTask = config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir).then(async () => {
|
|
204129
|
-
const vendorDir =
|
|
204179
|
+
const vendorDir = resolve22(state.resolvedPaths.buildDir, "react", "vendor");
|
|
204130
204180
|
await loadVendorFiles(state.assetStore, vendorDir, "react");
|
|
204131
204181
|
if (!globalThis.__reactModuleRef) {
|
|
204132
204182
|
globalThis.__reactModuleRef = await import("react");
|
|
@@ -204134,7 +204184,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204134
204184
|
return true;
|
|
204135
204185
|
}) : undefined;
|
|
204136
204186
|
const buildAngularVendorTask = config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir).then(async () => {
|
|
204137
|
-
const vendorDir =
|
|
204187
|
+
const vendorDir = resolve22(state.resolvedPaths.buildDir, "angular", "vendor");
|
|
204138
204188
|
await loadVendorFiles(state.assetStore, vendorDir, "angular");
|
|
204139
204189
|
return true;
|
|
204140
204190
|
}) : undefined;
|
|
@@ -204148,7 +204198,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204148
204198
|
config.htmxDirectory
|
|
204149
204199
|
].filter((dir) => Boolean(dir));
|
|
204150
204200
|
const buildDepVendorTask = buildDepVendor2(state.resolvedPaths.buildDir, sourceDirs).then(async (depPaths) => {
|
|
204151
|
-
const vendorDir =
|
|
204201
|
+
const vendorDir = resolve22(state.resolvedPaths.buildDir, "vendor");
|
|
204152
204202
|
await loadVendorFiles(state.assetStore, vendorDir, "vendor");
|
|
204153
204203
|
globalThis.__depVendorPaths = depPaths;
|
|
204154
204204
|
return true;
|
|
@@ -204171,7 +204221,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
204171
204221
|
manifest
|
|
204172
204222
|
};
|
|
204173
204223
|
globalThis.__hmrDevResult = result;
|
|
204174
|
-
globalThis.__hmrServerMtime = statSync3(
|
|
204224
|
+
globalThis.__hmrServerMtime = statSync3(resolve22(Bun.main)).mtimeMs;
|
|
204175
204225
|
return result;
|
|
204176
204226
|
};
|
|
204177
204227
|
var init_devBuild = __esm(() => {
|
|
@@ -204319,9 +204369,44 @@ var asset = (source, name) => {
|
|
|
204319
204369
|
var {file } = globalThis.Bun;
|
|
204320
204370
|
|
|
204321
204371
|
// src/react/pageHandler.ts
|
|
204372
|
+
var isDev = process.env["NODE_ENV"] === "development";
|
|
204373
|
+
var findComponentPath = (component) => {
|
|
204374
|
+
const name = component.displayName ?? component.name;
|
|
204375
|
+
if (!name)
|
|
204376
|
+
return null;
|
|
204377
|
+
const config = globalThis.__hmrDevResult?.hmrState?.config;
|
|
204378
|
+
const reactDir = config?.reactDirectory;
|
|
204379
|
+
if (!reactDir)
|
|
204380
|
+
return null;
|
|
204381
|
+
const { resolve: resolve2, join } = __require("path");
|
|
204382
|
+
const { existsSync } = __require("fs");
|
|
204383
|
+
const pagesDir = resolve2(reactDir, "pages");
|
|
204384
|
+
for (const ext of [".tsx", ".jsx", ".ts"]) {
|
|
204385
|
+
const candidate = join(pagesDir, `${name}${ext}`);
|
|
204386
|
+
if (existsSync(candidate))
|
|
204387
|
+
return candidate;
|
|
204388
|
+
}
|
|
204389
|
+
return null;
|
|
204390
|
+
};
|
|
204322
204391
|
var handleReactPageRequest = async (PageComponent, index, ...props) => {
|
|
204323
204392
|
try {
|
|
204324
204393
|
const [maybeProps] = props;
|
|
204394
|
+
if (isDev) {
|
|
204395
|
+
const componentPath = findComponentPath(PageComponent);
|
|
204396
|
+
if (componentPath) {
|
|
204397
|
+
try {
|
|
204398
|
+
const { renderInWorker: renderInWorker2 } = await Promise.resolve().then(() => (init_ssrRenderer(), exports_ssrRenderer));
|
|
204399
|
+
const html = await renderInWorker2({
|
|
204400
|
+
componentPath,
|
|
204401
|
+
indexPath: index,
|
|
204402
|
+
props: maybeProps
|
|
204403
|
+
});
|
|
204404
|
+
return new Response(html, {
|
|
204405
|
+
headers: { "Content-Type": "text/html" }
|
|
204406
|
+
});
|
|
204407
|
+
} catch {}
|
|
204408
|
+
}
|
|
204409
|
+
}
|
|
204325
204410
|
const { createElement } = await import("react");
|
|
204326
204411
|
const { renderToReadableStream } = await import("react-dom/server");
|
|
204327
204412
|
const element = maybeProps !== undefined ? createElement(PageComponent, maybeProps) : createElement(PageComponent);
|
|
@@ -204350,12 +204435,12 @@ var handleHTMLPageRequest = (pagePath) => file(pagePath);
|
|
|
204350
204435
|
var handleHTMXPageRequest = (pagePath) => file(pagePath);
|
|
204351
204436
|
// src/core/prepare.ts
|
|
204352
204437
|
import { readFileSync as readFileSync10 } from "fs";
|
|
204353
|
-
import { relative as relative9, resolve as
|
|
204438
|
+
import { relative as relative9, resolve as resolve23 } from "path";
|
|
204354
204439
|
|
|
204355
204440
|
// src/utils/loadConfig.ts
|
|
204356
|
-
import { resolve } from "path";
|
|
204441
|
+
import { resolve as resolve2 } from "path";
|
|
204357
204442
|
var loadConfig = async (configPath) => {
|
|
204358
|
-
const resolved =
|
|
204443
|
+
const resolved = resolve2(configPath ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
204359
204444
|
const mod = await import(resolved);
|
|
204360
204445
|
const config = mod.default ?? mod.config;
|
|
204361
204446
|
if (!config) {
|
|
@@ -204369,9 +204454,9 @@ Expected: export default defineConfig({ ... })`);
|
|
|
204369
204454
|
var prepare = async (configOrPath) => {
|
|
204370
204455
|
const config = await loadConfig(configOrPath);
|
|
204371
204456
|
const nodeEnv = process.env["NODE_ENV"];
|
|
204372
|
-
const
|
|
204373
|
-
const buildDir =
|
|
204374
|
-
if (
|
|
204457
|
+
const isDev3 = nodeEnv === "development";
|
|
204458
|
+
const buildDir = resolve23(isDev3 ? config.buildDirectory ?? "build" : process.env.ABSOLUTE_BUILD_DIR ?? config.buildDirectory ?? "build");
|
|
204459
|
+
if (isDev3) {
|
|
204375
204460
|
const { devBuild: devBuild2 } = await Promise.resolve().then(() => (init_devBuild(), exports_devBuild));
|
|
204376
204461
|
const result = await devBuild2(config);
|
|
204377
204462
|
const { hmr: hmr2 } = await Promise.resolve().then(() => (init_hmr(), exports_hmr));
|
|
@@ -204392,11 +204477,11 @@ var prepare = async (configOrPath) => {
|
|
|
204392
204477
|
setGlobalModuleServer2(moduleHandler);
|
|
204393
204478
|
const hmrPlugin = hmr2(result.hmrState, result.manifest, moduleHandler);
|
|
204394
204479
|
const { SRC_URL_PREFIX: SRC_URL_PREFIX2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
204395
|
-
const devIndexDir =
|
|
204480
|
+
const devIndexDir = resolve23(buildDir, "_src_indexes");
|
|
204396
204481
|
for (const key of Object.keys(result.manifest)) {
|
|
204397
204482
|
if (key.endsWith("Index") && typeof result.manifest[key] === "string" && result.manifest[key].includes("/indexes/")) {
|
|
204398
204483
|
const fileName = key.replace(/Index$/, "") + ".tsx";
|
|
204399
|
-
const srcPath =
|
|
204484
|
+
const srcPath = resolve23(devIndexDir, fileName);
|
|
204400
204485
|
const rel = relative9(process.cwd(), srcPath).replace(/\\/g, "/");
|
|
204401
204486
|
result.manifest[key] = `${SRC_URL_PREFIX2}${rel}`;
|
|
204402
204487
|
}
|
|
@@ -204567,5 +204652,5 @@ export {
|
|
|
204567
204652
|
ANGULAR_INIT_TIMEOUT_MS
|
|
204568
204653
|
};
|
|
204569
204654
|
|
|
204570
|
-
//# debugId=
|
|
204655
|
+
//# debugId=C7E8263A117DC2CD64756E2164756E21
|
|
204571
204656
|
//# sourceMappingURL=index.js.map
|