@absolutejs/absolute 0.19.0-beta.12 → 0.19.0-beta.14
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/.claude/settings.local.json +3 -1
- package/dist/build.js +274 -121
- package/dist/build.js.map +6 -4
- package/dist/dev/client/handlers/react.ts +13 -3
- package/dist/index.js +295 -127
- package/dist/index.js.map +8 -6
- package/dist/src/dev/moduleServer.d.ts +8 -0
- package/dist/src/dev/transformCache.d.ts +4 -0
- package/dist/src/plugins/hmr.d.ts +1 -1
- package/native/packages/darwin-arm64/fast_ops.dylib +0 -0
- package/native/packages/darwin-arm64/package.json +1 -1
- package/native/packages/darwin-x64/fast_ops.dylib +0 -0
- package/native/packages/darwin-x64/package.json +1 -1
- package/native/packages/linux-arm64/package.json +1 -1
- package/native/packages/linux-x64/fast_ops.so +0 -0
- package/native/packages/linux-x64/package.json +1 -1
- package/package.json +5 -5
package/dist/build.js
CHANGED
|
@@ -202101,16 +202101,213 @@ var init_pageHandler = __esm(() => {
|
|
|
202101
202101
|
setSsrContextGetter(() => angularSsrContext.getStore());
|
|
202102
202102
|
});
|
|
202103
202103
|
|
|
202104
|
+
// src/dev/transformCache.ts
|
|
202105
|
+
import { statSync } from "fs";
|
|
202106
|
+
var cache, getTransformed = (filePath) => {
|
|
202107
|
+
const entry = cache.get(filePath);
|
|
202108
|
+
if (!entry)
|
|
202109
|
+
return;
|
|
202110
|
+
try {
|
|
202111
|
+
const stat2 = statSync(filePath);
|
|
202112
|
+
if (stat2.mtimeMs === entry.mtime)
|
|
202113
|
+
return entry.content;
|
|
202114
|
+
} catch {
|
|
202115
|
+
cache.delete(filePath);
|
|
202116
|
+
}
|
|
202117
|
+
return;
|
|
202118
|
+
}, setTransformed = (filePath, content, mtime) => {
|
|
202119
|
+
cache.set(filePath, { content, mtime });
|
|
202120
|
+
}, invalidate = (filePath) => {
|
|
202121
|
+
cache.delete(filePath);
|
|
202122
|
+
};
|
|
202123
|
+
var init_transformCache = __esm(() => {
|
|
202124
|
+
cache = new Map;
|
|
202125
|
+
});
|
|
202126
|
+
|
|
202127
|
+
// src/dev/moduleServer.ts
|
|
202128
|
+
var exports_moduleServer = {};
|
|
202129
|
+
__export(exports_moduleServer, {
|
|
202130
|
+
invalidateModule: () => invalidateModule,
|
|
202131
|
+
createModuleServer: () => createModuleServer,
|
|
202132
|
+
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
202133
|
+
});
|
|
202134
|
+
import { readFileSync as readFileSync9, statSync as statSync2 } from "fs";
|
|
202135
|
+
import { dirname as dirname7, extname as extname3, resolve as resolve16, relative as relative6 } from "path";
|
|
202136
|
+
var {build: bunBuild5 } = globalThis.Bun;
|
|
202137
|
+
var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
|
|
202138
|
+
const entries = Object.entries(vendorPaths).sort(([a], [b]) => b.length - a.length);
|
|
202139
|
+
if (entries.length === 0)
|
|
202140
|
+
return null;
|
|
202141
|
+
const alt = entries.map(([spec]) => escapeRegex3(spec)).join("|");
|
|
202142
|
+
const lookup = new Map(entries);
|
|
202143
|
+
const fromRegex = new RegExp(`(from\\s*["'])(${alt})(["'])`, "g");
|
|
202144
|
+
const sideEffectRegex = new RegExp(`(import\\s*["'])(${alt})(["']\\s*;?)`, "g");
|
|
202145
|
+
const dynamicRegex = new RegExp(`(import\\s*\\(\\s*["'])(${alt})(["']\\s*\\))`, "g");
|
|
202146
|
+
return { dynamicRegex, fromRegex, lookup, sideEffectRegex };
|
|
202147
|
+
}, rewriteImports2 = (code, filePath, projectRoot, rewriter) => {
|
|
202148
|
+
let result = code;
|
|
202149
|
+
if (rewriter) {
|
|
202150
|
+
const replacer = (_match, prefix, specifier, suffix) => {
|
|
202151
|
+
const webPath = rewriter.lookup.get(specifier);
|
|
202152
|
+
if (!webPath)
|
|
202153
|
+
return _match;
|
|
202154
|
+
return `${prefix}${webPath}${suffix}`;
|
|
202155
|
+
};
|
|
202156
|
+
rewriter.fromRegex.lastIndex = 0;
|
|
202157
|
+
rewriter.sideEffectRegex.lastIndex = 0;
|
|
202158
|
+
rewriter.dynamicRegex.lastIndex = 0;
|
|
202159
|
+
result = result.replace(rewriter.fromRegex, replacer);
|
|
202160
|
+
result = result.replace(rewriter.sideEffectRegex, replacer);
|
|
202161
|
+
result = result.replace(rewriter.dynamicRegex, replacer);
|
|
202162
|
+
}
|
|
202163
|
+
const fileDir = dirname7(filePath);
|
|
202164
|
+
result = result.replace(/(from\s*["'])(\.\.?\/[^"']+)(["'])/g, (_match, prefix, relPath, suffix) => {
|
|
202165
|
+
const absPath = resolve16(fileDir, relPath);
|
|
202166
|
+
const rel = relative6(projectRoot, absPath);
|
|
202167
|
+
let srcPath = rel;
|
|
202168
|
+
if (!extname3(srcPath)) {
|
|
202169
|
+
const extensions = [".tsx", ".ts", ".jsx", ".js"];
|
|
202170
|
+
for (const ext of extensions) {
|
|
202171
|
+
try {
|
|
202172
|
+
statSync2(resolve16(projectRoot, srcPath + ext));
|
|
202173
|
+
srcPath += ext;
|
|
202174
|
+
break;
|
|
202175
|
+
} catch {}
|
|
202176
|
+
}
|
|
202177
|
+
}
|
|
202178
|
+
return `${prefix}${SRC_PREFIX}${srcPath.replace(/\\/g, "/")}${suffix}`;
|
|
202179
|
+
});
|
|
202180
|
+
result = result.replace(/(import\s*\(\s*["'])(\.\.?\/[^"']+)(["']\s*\))/g, (_match, prefix, relPath, suffix) => {
|
|
202181
|
+
const absPath = resolve16(fileDir, relPath);
|
|
202182
|
+
const rel = relative6(projectRoot, absPath);
|
|
202183
|
+
return `${prefix}${SRC_PREFIX}${rel.replace(/\\/g, "/")}${suffix}`;
|
|
202184
|
+
});
|
|
202185
|
+
result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => {
|
|
202186
|
+
const absPath = resolve16(fileDir, relPath);
|
|
202187
|
+
const rel = relative6(projectRoot, absPath);
|
|
202188
|
+
let srcPath = rel;
|
|
202189
|
+
if (!extname3(srcPath)) {
|
|
202190
|
+
const extensions = [".tsx", ".ts", ".jsx", ".js", ".css"];
|
|
202191
|
+
for (const ext of extensions) {
|
|
202192
|
+
try {
|
|
202193
|
+
statSync2(resolve16(projectRoot, srcPath + ext));
|
|
202194
|
+
srcPath += ext;
|
|
202195
|
+
break;
|
|
202196
|
+
} catch {}
|
|
202197
|
+
}
|
|
202198
|
+
}
|
|
202199
|
+
return `${prefix}${SRC_PREFIX}${srcPath.replace(/\\/g, "/")}${suffix}`;
|
|
202200
|
+
});
|
|
202201
|
+
return result;
|
|
202202
|
+
}, transformReactFile = async (filePath, projectRoot, vendorPaths, rewriter) => {
|
|
202203
|
+
const buildConfig = {
|
|
202204
|
+
entrypoints: [filePath],
|
|
202205
|
+
external: Object.keys(vendorPaths),
|
|
202206
|
+
format: "esm",
|
|
202207
|
+
jsx: { development: true },
|
|
202208
|
+
reactFastRefresh: true,
|
|
202209
|
+
splitting: false,
|
|
202210
|
+
target: "browser",
|
|
202211
|
+
throw: false,
|
|
202212
|
+
write: false
|
|
202213
|
+
};
|
|
202214
|
+
const result = await bunBuild5(buildConfig);
|
|
202215
|
+
if (!result.success || result.outputs.length === 0)
|
|
202216
|
+
return;
|
|
202217
|
+
const output = result.outputs[0];
|
|
202218
|
+
if (!output)
|
|
202219
|
+
return;
|
|
202220
|
+
const code = await output.text();
|
|
202221
|
+
return rewriteImports2(code, filePath, projectRoot, rewriter);
|
|
202222
|
+
}, transformPlainFile = (filePath, projectRoot, rewriter) => {
|
|
202223
|
+
const raw = readFileSync9(filePath, "utf-8");
|
|
202224
|
+
const ext = extname3(filePath);
|
|
202225
|
+
const transpiled = ext === ".js" || ext === ".mjs" ? jsTranspiler2.transformSync(raw) : new Bun.Transpiler({ loader: "tsx" }).transformSync(raw);
|
|
202226
|
+
return rewriteImports2(transpiled, filePath, projectRoot, rewriter);
|
|
202227
|
+
}, handleCssRequest = (filePath) => {
|
|
202228
|
+
const raw = readFileSync9(filePath, "utf-8");
|
|
202229
|
+
const escaped = raw.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
202230
|
+
return [
|
|
202231
|
+
`const style = document.createElement('style');`,
|
|
202232
|
+
`style.textContent = \`${escaped}\`;`,
|
|
202233
|
+
`style.dataset.hmrId = ${JSON.stringify(filePath)};`,
|
|
202234
|
+
`const existing = document.querySelector(\`style[data-hmr-id="${filePath}"]\`);`,
|
|
202235
|
+
`if (existing) existing.remove();`,
|
|
202236
|
+
`document.head.appendChild(style);`
|
|
202237
|
+
].join(`
|
|
202238
|
+
`);
|
|
202239
|
+
}, createModuleServer = (config) => {
|
|
202240
|
+
const { projectRoot, vendorPaths } = config;
|
|
202241
|
+
const rewriter = buildImportRewriter(vendorPaths);
|
|
202242
|
+
return async (pathname) => {
|
|
202243
|
+
if (!pathname.startsWith(SRC_PREFIX))
|
|
202244
|
+
return;
|
|
202245
|
+
const relPath = pathname.slice(SRC_PREFIX.length);
|
|
202246
|
+
const filePath = resolve16(projectRoot, relPath);
|
|
202247
|
+
const ext = extname3(filePath);
|
|
202248
|
+
try {
|
|
202249
|
+
if (ext === ".css") {
|
|
202250
|
+
return new Response(handleCssRequest(filePath), {
|
|
202251
|
+
headers: {
|
|
202252
|
+
"Cache-Control": "no-cache",
|
|
202253
|
+
"Content-Type": "application/javascript"
|
|
202254
|
+
}
|
|
202255
|
+
});
|
|
202256
|
+
}
|
|
202257
|
+
if (!TRANSPILABLE.has(ext))
|
|
202258
|
+
return;
|
|
202259
|
+
const cached = getTransformed(filePath);
|
|
202260
|
+
if (cached) {
|
|
202261
|
+
return new Response(cached, {
|
|
202262
|
+
headers: {
|
|
202263
|
+
"Cache-Control": "no-cache",
|
|
202264
|
+
"Content-Type": "application/javascript"
|
|
202265
|
+
}
|
|
202266
|
+
});
|
|
202267
|
+
}
|
|
202268
|
+
const stat2 = statSync2(filePath);
|
|
202269
|
+
let content;
|
|
202270
|
+
if (REACT_EXTENSIONS.has(ext)) {
|
|
202271
|
+
content = await transformReactFile(filePath, projectRoot, vendorPaths, rewriter);
|
|
202272
|
+
}
|
|
202273
|
+
if (!content) {
|
|
202274
|
+
content = transformPlainFile(filePath, projectRoot, rewriter);
|
|
202275
|
+
}
|
|
202276
|
+
setTransformed(filePath, content, stat2.mtimeMs);
|
|
202277
|
+
return new Response(content, {
|
|
202278
|
+
headers: {
|
|
202279
|
+
"Cache-Control": "no-cache",
|
|
202280
|
+
"Content-Type": "application/javascript"
|
|
202281
|
+
}
|
|
202282
|
+
});
|
|
202283
|
+
} catch (err) {
|
|
202284
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
202285
|
+
return new Response(`console.error('[ModuleServer] Transform error:', ${JSON.stringify(message)});`, {
|
|
202286
|
+
headers: { "Content-Type": "application/javascript" },
|
|
202287
|
+
status: 500
|
|
202288
|
+
});
|
|
202289
|
+
}
|
|
202290
|
+
};
|
|
202291
|
+
}, invalidateModule, SRC_URL_PREFIX;
|
|
202292
|
+
var init_moduleServer = __esm(() => {
|
|
202293
|
+
init_transformCache();
|
|
202294
|
+
jsTranspiler2 = new Bun.Transpiler({ loader: "js" });
|
|
202295
|
+
TRANSPILABLE = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs"]);
|
|
202296
|
+
REACT_EXTENSIONS = new Set([".tsx", ".jsx"]);
|
|
202297
|
+
invalidateModule = invalidate;
|
|
202298
|
+
SRC_URL_PREFIX = SRC_PREFIX;
|
|
202299
|
+
});
|
|
202300
|
+
|
|
202104
202301
|
// src/dev/simpleHTMLHMR.ts
|
|
202105
202302
|
var exports_simpleHTMLHMR = {};
|
|
202106
202303
|
__export(exports_simpleHTMLHMR, {
|
|
202107
202304
|
handleHTMLUpdate: () => handleHTMLUpdate
|
|
202108
202305
|
});
|
|
202109
|
-
import { resolve as
|
|
202306
|
+
import { resolve as resolve17 } from "path";
|
|
202110
202307
|
var handleHTMLUpdate = async (htmlFilePath) => {
|
|
202111
202308
|
let htmlContent;
|
|
202112
202309
|
try {
|
|
202113
|
-
const resolvedPath =
|
|
202310
|
+
const resolvedPath = resolve17(htmlFilePath);
|
|
202114
202311
|
const file3 = Bun.file(resolvedPath);
|
|
202115
202312
|
if (!await file3.exists()) {
|
|
202116
202313
|
return null;
|
|
@@ -202136,11 +202333,11 @@ var exports_simpleHTMXHMR = {};
|
|
|
202136
202333
|
__export(exports_simpleHTMXHMR, {
|
|
202137
202334
|
handleHTMXUpdate: () => handleHTMXUpdate
|
|
202138
202335
|
});
|
|
202139
|
-
import { resolve as
|
|
202336
|
+
import { resolve as resolve18 } from "path";
|
|
202140
202337
|
var handleHTMXUpdate = async (htmxFilePath) => {
|
|
202141
202338
|
let htmlContent;
|
|
202142
202339
|
try {
|
|
202143
|
-
const resolvedPath =
|
|
202340
|
+
const resolvedPath = resolve18(htmxFilePath);
|
|
202144
202341
|
const file3 = Bun.file(resolvedPath);
|
|
202145
202342
|
if (!await file3.exists()) {
|
|
202146
202343
|
return null;
|
|
@@ -202164,7 +202361,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
202164
202361
|
// src/dev/rebuildTrigger.ts
|
|
202165
202362
|
import { existsSync as existsSync13 } from "fs";
|
|
202166
202363
|
import { rm as rm6 } from "fs/promises";
|
|
202167
|
-
import { basename as basename7, relative as
|
|
202364
|
+
import { basename as basename7, relative as relative7, resolve as resolve19 } from "path";
|
|
202168
202365
|
var parseErrorLocationFromMessage = (msg) => {
|
|
202169
202366
|
const pathLineCol = msg.match(/^([^\s:]+):(\d+)(?::(\d+))?/);
|
|
202170
202367
|
if (pathLineCol) {
|
|
@@ -202236,7 +202433,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202236
202433
|
state.fileHashes.delete(filePathInSet);
|
|
202237
202434
|
try {
|
|
202238
202435
|
const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
|
|
202239
|
-
const deletedPathResolved =
|
|
202436
|
+
const deletedPathResolved = resolve19(filePathInSet);
|
|
202240
202437
|
affectedFiles.forEach((affectedFile) => {
|
|
202241
202438
|
if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
|
|
202242
202439
|
validFiles.push(affectedFile);
|
|
@@ -202280,7 +202477,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202280
202477
|
if (storedHash !== undefined && storedHash === fileHash) {
|
|
202281
202478
|
return;
|
|
202282
202479
|
}
|
|
202283
|
-
const normalizedFilePath =
|
|
202480
|
+
const normalizedFilePath = resolve19(filePathInSet);
|
|
202284
202481
|
if (!processedFiles.has(normalizedFilePath)) {
|
|
202285
202482
|
validFiles.push(normalizedFilePath);
|
|
202286
202483
|
processedFiles.add(normalizedFilePath);
|
|
@@ -202371,7 +202568,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202371
202568
|
}
|
|
202372
202569
|
if (!graph)
|
|
202373
202570
|
return componentFile;
|
|
202374
|
-
const dependents = graph.dependents.get(
|
|
202571
|
+
const dependents = graph.dependents.get(resolve19(componentFile));
|
|
202375
202572
|
if (!dependents)
|
|
202376
202573
|
return componentFile;
|
|
202377
202574
|
for (const dep of dependents) {
|
|
@@ -202380,7 +202577,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202380
202577
|
}
|
|
202381
202578
|
return componentFile;
|
|
202382
202579
|
}, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
|
|
202383
|
-
const pageEntries = angularFiles.filter((file3) => file3.endsWith(".ts") &&
|
|
202580
|
+
const pageEntries = angularFiles.filter((file3) => file3.endsWith(".ts") && resolve19(file3).startsWith(angularPagesPath));
|
|
202384
202581
|
if (pageEntries.length > 0 || !state.dependencyGraph) {
|
|
202385
202582
|
return pageEntries;
|
|
202386
202583
|
}
|
|
@@ -202389,7 +202586,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202389
202586
|
const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
|
|
202390
202587
|
const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
|
|
202391
202588
|
affected.forEach((file3) => {
|
|
202392
|
-
if (file3.endsWith(".ts") &&
|
|
202589
|
+
if (file3.endsWith(".ts") && resolve19(file3).startsWith(angularPagesPath)) {
|
|
202393
202590
|
resolvedPages.add(file3);
|
|
202394
202591
|
}
|
|
202395
202592
|
});
|
|
@@ -202413,7 +202610,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202413
202610
|
}
|
|
202414
202611
|
state.manifest[toPascal(baseName)] = artifact.path;
|
|
202415
202612
|
}, bundleAngularClient = async (state, clientPaths, buildDir) => {
|
|
202416
|
-
const { build:
|
|
202613
|
+
const { build: bunBuild6 } = await Promise.resolve(globalThis.Bun);
|
|
202417
202614
|
const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
|
|
202418
202615
|
const { getAngularVendorPaths: getAngularVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
|
|
202419
202616
|
const clientRoot = await computeClientRoot(state.resolvedPaths);
|
|
@@ -202424,7 +202621,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202424
202621
|
angVendorPaths = computeAngularVendorPaths2();
|
|
202425
202622
|
setAngularVendorPaths2(angVendorPaths);
|
|
202426
202623
|
}
|
|
202427
|
-
const clientResult = await
|
|
202624
|
+
const clientResult = await bunBuild6({
|
|
202428
202625
|
entrypoints: clientPaths,
|
|
202429
202626
|
...angVendorPaths ? { external: Object.keys(angVendorPaths) } : {},
|
|
202430
202627
|
format: "esm",
|
|
@@ -202438,8 +202635,8 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202438
202635
|
return;
|
|
202439
202636
|
}
|
|
202440
202637
|
if (angVendorPaths) {
|
|
202441
|
-
const { rewriteImports:
|
|
202442
|
-
await
|
|
202638
|
+
const { rewriteImports: rewriteImports3 } = await Promise.resolve().then(() => exports_rewriteImports);
|
|
202639
|
+
await rewriteImports3(clientResult.outputs.map((artifact) => artifact.path), angVendorPaths);
|
|
202443
202640
|
}
|
|
202444
202641
|
const clientManifest = generateManifest2(clientResult.outputs, buildDir);
|
|
202445
202642
|
Object.assign(state.manifest, clientManifest);
|
|
@@ -202470,7 +202667,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202470
202667
|
const { clientPaths, serverPaths } = await compileAngular2(pageEntries, angularDir, true);
|
|
202471
202668
|
serverPaths.forEach((serverPath) => {
|
|
202472
202669
|
const fileBase = basename7(serverPath, ".js");
|
|
202473
|
-
state.manifest[toPascal(fileBase)] =
|
|
202670
|
+
state.manifest[toPascal(fileBase)] = resolve19(serverPath);
|
|
202474
202671
|
});
|
|
202475
202672
|
if (clientPaths.length > 0) {
|
|
202476
202673
|
await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir);
|
|
@@ -202478,14 +202675,14 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202478
202675
|
}, handleAngularFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202479
202676
|
const angularDir = config.angularDirectory ?? "";
|
|
202480
202677
|
const angularFiles = filesToRebuild.filter((file3) => detectFramework(file3, state.resolvedPaths) === "angular");
|
|
202481
|
-
const angularPagesPath =
|
|
202678
|
+
const angularPagesPath = resolve19(angularDir, "pages");
|
|
202482
202679
|
const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
|
|
202483
202680
|
if (pageEntries.length > 0) {
|
|
202484
202681
|
await compileAndBundleAngular(state, pageEntries, angularDir);
|
|
202485
202682
|
invalidateAngularSsrCache();
|
|
202486
202683
|
}
|
|
202487
202684
|
if (pageEntries.length > 0 && !config.options?.preserveIntermediateFiles) {
|
|
202488
|
-
await rm6(
|
|
202685
|
+
await rm6(resolve19(angularDir, "compiled"), {
|
|
202489
202686
|
force: true,
|
|
202490
202687
|
recursive: true
|
|
202491
202688
|
});
|
|
@@ -202499,7 +202696,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202499
202696
|
return manifest;
|
|
202500
202697
|
}, resolveReactEntryForPageFile = (normalized, pagesPathResolved, reactIndexesPath) => {
|
|
202501
202698
|
const pageName = basename7(normalized, ".tsx");
|
|
202502
|
-
const indexPath =
|
|
202699
|
+
const indexPath = resolve19(reactIndexesPath, `${pageName}.tsx`);
|
|
202503
202700
|
if (!existsSync13(indexPath)) {
|
|
202504
202701
|
return;
|
|
202505
202702
|
}
|
|
@@ -202511,13 +202708,13 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202511
202708
|
return;
|
|
202512
202709
|
}
|
|
202513
202710
|
const pageName = basename7(dep, ".tsx");
|
|
202514
|
-
const indexPath =
|
|
202711
|
+
const indexPath = resolve19(reactIndexesPath, `${pageName}.tsx`);
|
|
202515
202712
|
if (existsSync13(indexPath) && !reactEntries.includes(indexPath)) {
|
|
202516
202713
|
reactEntries.push(indexPath);
|
|
202517
202714
|
}
|
|
202518
202715
|
});
|
|
202519
202716
|
}, resolveReactEntryForFile = (state, file3, pagesPathResolved, reactIndexesPath, reactEntries) => {
|
|
202520
|
-
const normalized =
|
|
202717
|
+
const normalized = resolve19(file3);
|
|
202521
202718
|
if (!normalized.startsWith(pagesPathResolved)) {
|
|
202522
202719
|
resolveReactEntriesFromDeps(state, normalized, pagesPathResolved, reactIndexesPath, reactEntries);
|
|
202523
202720
|
return;
|
|
@@ -202528,18 +202725,18 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202528
202725
|
}
|
|
202529
202726
|
}, collectReactEntries = (state, filesToRebuild, reactPagesPath, reactIndexesPath) => {
|
|
202530
202727
|
const reactEntries = [];
|
|
202531
|
-
const pagesPathResolved =
|
|
202728
|
+
const pagesPathResolved = resolve19(reactPagesPath);
|
|
202532
202729
|
filesToRebuild.forEach((file3) => {
|
|
202533
202730
|
resolveReactEntryForFile(state, file3, pagesPathResolved, reactIndexesPath, reactEntries);
|
|
202534
202731
|
});
|
|
202535
202732
|
return reactEntries;
|
|
202536
202733
|
}, bundleReactClient = async (state, reactEntries, reactIndexesPath, buildDir) => {
|
|
202537
|
-
const { build:
|
|
202734
|
+
const { build: bunBuild6 } = await Promise.resolve(globalThis.Bun);
|
|
202538
202735
|
const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
|
|
202539
202736
|
const { getDevVendorPaths: getDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
|
|
202540
202737
|
const { rewriteReactImports: rewriteReactImports2 } = await Promise.resolve().then(() => (init_rewriteReactImports(), exports_rewriteReactImports));
|
|
202541
202738
|
const clientRoot = await computeClientRoot(state.resolvedPaths);
|
|
202542
|
-
const refreshEntry =
|
|
202739
|
+
const refreshEntry = resolve19(reactIndexesPath, "_refresh.tsx");
|
|
202543
202740
|
if (!reactEntries.includes(refreshEntry)) {
|
|
202544
202741
|
reactEntries.push(refreshEntry);
|
|
202545
202742
|
}
|
|
@@ -202551,11 +202748,11 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202551
202748
|
setDevVendorPaths2(vendorPaths);
|
|
202552
202749
|
}
|
|
202553
202750
|
const { rmSync: rmSync2 } = await import("fs");
|
|
202554
|
-
rmSync2(
|
|
202751
|
+
rmSync2(resolve19(buildDir, "react", "indexes"), {
|
|
202555
202752
|
force: true,
|
|
202556
202753
|
recursive: true
|
|
202557
202754
|
});
|
|
202558
|
-
const clientResult = await
|
|
202755
|
+
const clientResult = await bunBuild6({
|
|
202559
202756
|
entrypoints: reactEntries,
|
|
202560
202757
|
format: "esm",
|
|
202561
202758
|
jsx: { development: true },
|
|
@@ -202577,68 +202774,23 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202577
202774
|
const clientManifest = generateManifest2(clientResult.outputs, buildDir);
|
|
202578
202775
|
Object.assign(state.manifest, clientManifest);
|
|
202579
202776
|
await populateAssetStore(state.assetStore, clientManifest, buildDir);
|
|
202580
|
-
},
|
|
202581
|
-
const {
|
|
202582
|
-
|
|
202583
|
-
const
|
|
202584
|
-
|
|
202585
|
-
const { commonAncestor: commonAncestor2 } = await Promise.resolve().then(() => (init_commonAncestor(), exports_commonAncestor));
|
|
202586
|
-
const clientRoots = [
|
|
202587
|
-
state.resolvedPaths.reactDir,
|
|
202588
|
-
state.resolvedPaths.svelteDir,
|
|
202589
|
-
state.resolvedPaths.htmlDir,
|
|
202590
|
-
state.resolvedPaths.vueDir,
|
|
202591
|
-
state.resolvedPaths.angularDir
|
|
202592
|
-
].filter((dir) => Boolean(dir));
|
|
202593
|
-
const clientRoot = clientRoots.length === 1 ? clientRoots[0] ?? process.cwd() : commonAncestor2(clientRoots, process.cwd());
|
|
202594
|
-
let vendorPaths = getDevVendorPaths2();
|
|
202595
|
-
if (!vendorPaths) {
|
|
202596
|
-
const { computeVendorPaths: computeVendorPaths2 } = await Promise.resolve().then(() => (init_buildReactVendor(), exports_buildReactVendor));
|
|
202597
|
-
const { setDevVendorPaths: setDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
|
|
202598
|
-
vendorPaths = computeVendorPaths2();
|
|
202599
|
-
setDevVendorPaths2(vendorPaths);
|
|
202600
|
-
}
|
|
202601
|
-
const result = await bunBuild5({
|
|
202602
|
-
entrypoints: [pageFile],
|
|
202603
|
-
external: vendorPaths ? Object.keys(vendorPaths) : [],
|
|
202604
|
-
format: "esm",
|
|
202605
|
-
jsx: { development: true },
|
|
202606
|
-
naming: "[dir]/[name].[hash].[ext]",
|
|
202607
|
-
outdir: buildDir,
|
|
202608
|
-
reactFastRefresh: true,
|
|
202609
|
-
root: clientRoot,
|
|
202610
|
-
splitting: false,
|
|
202611
|
-
target: "browser",
|
|
202612
|
-
throw: false
|
|
202613
|
-
});
|
|
202614
|
-
if (!result.success)
|
|
202615
|
-
return;
|
|
202616
|
-
const outputPaths = result.outputs.map((a) => a.path);
|
|
202617
|
-
if (vendorPaths) {
|
|
202618
|
-
await rewriteReactImports2(outputPaths, vendorPaths);
|
|
202619
|
-
}
|
|
202620
|
-
const pageManifest = generateManifest2(result.outputs, buildDir);
|
|
202621
|
-
Object.assign(state.manifest, pageManifest);
|
|
202622
|
-
await populateAssetStore(state.assetStore, pageManifest, buildDir);
|
|
202623
|
-
const [firstOutput] = result.outputs;
|
|
202624
|
-
if (!firstOutput)
|
|
202625
|
-
return;
|
|
202626
|
-
return `/${relative6(buildDir, firstOutput.path).replace(/\\/g, "/")}`;
|
|
202777
|
+
}, getReactModuleUrl = async (pageFile) => {
|
|
202778
|
+
const { invalidateModule: invalidateModule2, SRC_URL_PREFIX: SRC_URL_PREFIX2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
202779
|
+
invalidateModule2(pageFile);
|
|
202780
|
+
const rel = relative7(process.cwd(), pageFile).replace(/\\/g, "/");
|
|
202781
|
+
return `${SRC_URL_PREFIX2}${rel}`;
|
|
202627
202782
|
}, handleReactFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202628
202783
|
const reactDir = config.reactDirectory ?? "";
|
|
202629
|
-
const reactPagesPath =
|
|
202630
|
-
const reactIndexesPath =
|
|
202784
|
+
const reactPagesPath = resolve19(reactDir, "pages");
|
|
202785
|
+
const reactIndexesPath = resolve19(reactDir, "indexes");
|
|
202631
202786
|
const { buildDir } = state.resolvedPaths;
|
|
202632
202787
|
const reactFiles = filesToRebuild.filter((file3) => detectFramework(file3, state.resolvedPaths) === "react");
|
|
202633
|
-
|
|
202634
|
-
|
|
202635
|
-
|
|
202636
|
-
|
|
202637
|
-
if (pageFile) {
|
|
202638
|
-
const pageModuleUrl = await buildSingleReactPage(state, pageFile, buildDir);
|
|
202788
|
+
if (reactFiles.length > 0) {
|
|
202789
|
+
const [changedFile] = reactFiles;
|
|
202790
|
+
if (changedFile) {
|
|
202791
|
+
const pageModuleUrl = await getReactModuleUrl(changedFile);
|
|
202639
202792
|
if (pageModuleUrl) {
|
|
202640
|
-
|
|
202641
|
-
logHmrUpdate(pageFile, "react", duration2);
|
|
202793
|
+
logHmrUpdate(changedFile, "react", Date.now() - startTime);
|
|
202642
202794
|
broadcastToClients(state, {
|
|
202643
202795
|
data: {
|
|
202644
202796
|
framework: "react",
|
|
@@ -202646,8 +202798,9 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202646
202798
|
hasCSSChanges: false,
|
|
202647
202799
|
manifest: state.manifest,
|
|
202648
202800
|
pageModuleUrl,
|
|
202649
|
-
primarySource:
|
|
202650
|
-
sourceFiles: reactFiles
|
|
202801
|
+
primarySource: changedFile,
|
|
202802
|
+
sourceFiles: reactFiles,
|
|
202803
|
+
startTime
|
|
202651
202804
|
},
|
|
202652
202805
|
type: "react-update"
|
|
202653
202806
|
});
|
|
@@ -202702,18 +202855,18 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202702
202855
|
}, handleSvelteFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202703
202856
|
const svelteDir = config.svelteDirectory ?? "";
|
|
202704
202857
|
const { buildDir } = state.resolvedPaths;
|
|
202705
|
-
const svelteFiles = filesToRebuild.filter((file3) => file3.endsWith(".svelte") &&
|
|
202858
|
+
const svelteFiles = filesToRebuild.filter((file3) => file3.endsWith(".svelte") && resolve19(file3).startsWith(resolve19(svelteDir, "pages")));
|
|
202706
202859
|
if (svelteFiles.length > 0) {
|
|
202707
202860
|
const { compileSvelte: compileSvelte2 } = await Promise.resolve().then(() => (init_compileSvelte(), exports_compileSvelte));
|
|
202708
|
-
const { build:
|
|
202861
|
+
const { build: bunBuild6 } = await Promise.resolve(globalThis.Bun);
|
|
202709
202862
|
const clientRoot = await computeClientRoot(state.resolvedPaths);
|
|
202710
202863
|
const { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = await compileSvelte2(svelteFiles, svelteDir, new Map, true);
|
|
202711
202864
|
const serverEntries = [...svelteServerPaths];
|
|
202712
202865
|
const clientEntries = [...svelteIndexPaths, ...svelteClientPaths];
|
|
202713
|
-
const serverRoot =
|
|
202714
|
-
const serverOutDir =
|
|
202866
|
+
const serverRoot = resolve19(svelteDir, "server");
|
|
202867
|
+
const serverOutDir = resolve19(buildDir, basename7(svelteDir));
|
|
202715
202868
|
const [serverResult, clientResult] = await Promise.all([
|
|
202716
|
-
serverEntries.length > 0 ?
|
|
202869
|
+
serverEntries.length > 0 ? bunBuild6({
|
|
202717
202870
|
entrypoints: serverEntries,
|
|
202718
202871
|
external: ["svelte", "svelte/*"],
|
|
202719
202872
|
format: "esm",
|
|
@@ -202723,7 +202876,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202723
202876
|
target: "bun",
|
|
202724
202877
|
throw: false
|
|
202725
202878
|
}) : undefined,
|
|
202726
|
-
clientEntries.length > 0 ?
|
|
202879
|
+
clientEntries.length > 0 ? bunBuild6({
|
|
202727
202880
|
entrypoints: clientEntries,
|
|
202728
202881
|
format: "esm",
|
|
202729
202882
|
naming: "[dir]/[name].[hash].[ext]",
|
|
@@ -202737,15 +202890,15 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202737
202890
|
await handleClientManifestUpdate(state, clientResult, buildDir);
|
|
202738
202891
|
}
|
|
202739
202892
|
await Promise.all([
|
|
202740
|
-
rm6(
|
|
202893
|
+
rm6(resolve19(svelteDir, "client"), {
|
|
202741
202894
|
force: true,
|
|
202742
202895
|
recursive: true
|
|
202743
202896
|
}),
|
|
202744
|
-
rm6(
|
|
202897
|
+
rm6(resolve19(svelteDir, "indexes"), {
|
|
202745
202898
|
force: true,
|
|
202746
202899
|
recursive: true
|
|
202747
202900
|
}),
|
|
202748
|
-
rm6(
|
|
202901
|
+
rm6(resolve19(svelteDir, "server"), {
|
|
202749
202902
|
force: true,
|
|
202750
202903
|
recursive: true
|
|
202751
202904
|
})
|
|
@@ -202778,23 +202931,23 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202778
202931
|
}, handleVueFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
|
|
202779
202932
|
const vueDir = config.vueDirectory ?? "";
|
|
202780
202933
|
const { buildDir } = state.resolvedPaths;
|
|
202781
|
-
const vueFiles = filesToRebuild.filter((file3) => file3.endsWith(".vue") &&
|
|
202934
|
+
const vueFiles = filesToRebuild.filter((file3) => file3.endsWith(".vue") && resolve19(file3).startsWith(resolve19(vueDir, "pages")));
|
|
202782
202935
|
if (vueFiles.length > 0) {
|
|
202783
202936
|
const { compileVue: compileVue2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
202784
|
-
const { build:
|
|
202937
|
+
const { build: bunBuild6 } = await Promise.resolve(globalThis.Bun);
|
|
202785
202938
|
const clientRoot = await computeClientRoot(state.resolvedPaths);
|
|
202786
202939
|
const { vueServerPaths, vueIndexPaths, vueClientPaths } = await compileVue2(vueFiles, vueDir, true);
|
|
202787
202940
|
const serverEntries = [...vueServerPaths];
|
|
202788
202941
|
const clientEntries = [...vueIndexPaths, ...vueClientPaths];
|
|
202789
|
-
const serverRoot =
|
|
202790
|
-
const serverOutDir =
|
|
202942
|
+
const serverRoot = resolve19(vueDir, "server");
|
|
202943
|
+
const serverOutDir = resolve19(buildDir, basename7(vueDir));
|
|
202791
202944
|
const vueFeatureFlags2 = {
|
|
202792
202945
|
__VUE_OPTIONS_API__: "true",
|
|
202793
202946
|
__VUE_PROD_DEVTOOLS__: "true",
|
|
202794
202947
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "true"
|
|
202795
202948
|
};
|
|
202796
202949
|
const [serverResult, clientResult] = await Promise.all([
|
|
202797
|
-
serverEntries.length > 0 ?
|
|
202950
|
+
serverEntries.length > 0 ? bunBuild6({
|
|
202798
202951
|
entrypoints: serverEntries,
|
|
202799
202952
|
external: ["vue", "vue/*"],
|
|
202800
202953
|
format: "esm",
|
|
@@ -202804,7 +202957,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202804
202957
|
target: "bun",
|
|
202805
202958
|
throw: false
|
|
202806
202959
|
}) : undefined,
|
|
202807
|
-
clientEntries.length > 0 ?
|
|
202960
|
+
clientEntries.length > 0 ? bunBuild6({
|
|
202808
202961
|
define: vueFeatureFlags2,
|
|
202809
202962
|
entrypoints: clientEntries,
|
|
202810
202963
|
format: "esm",
|
|
@@ -202819,19 +202972,19 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202819
202972
|
await handleClientManifestUpdate(state, clientResult, buildDir);
|
|
202820
202973
|
}
|
|
202821
202974
|
await Promise.all([
|
|
202822
|
-
rm6(
|
|
202975
|
+
rm6(resolve19(vueDir, "client"), {
|
|
202823
202976
|
force: true,
|
|
202824
202977
|
recursive: true
|
|
202825
202978
|
}),
|
|
202826
|
-
rm6(
|
|
202979
|
+
rm6(resolve19(vueDir, "indexes"), {
|
|
202827
202980
|
force: true,
|
|
202828
202981
|
recursive: true
|
|
202829
202982
|
}),
|
|
202830
|
-
rm6(
|
|
202983
|
+
rm6(resolve19(vueDir, "server"), {
|
|
202831
202984
|
force: true,
|
|
202832
202985
|
recursive: true
|
|
202833
202986
|
}),
|
|
202834
|
-
rm6(
|
|
202987
|
+
rm6(resolve19(vueDir, "compiled"), {
|
|
202835
202988
|
force: true,
|
|
202836
202989
|
recursive: true
|
|
202837
202990
|
})
|
|
@@ -202846,7 +202999,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202846
202999
|
const cssKey = `${pascalName}CSS`;
|
|
202847
203000
|
const cssUrl = manifest[cssKey] || null;
|
|
202848
203001
|
const vueRoot = config.vueDirectory;
|
|
202849
|
-
const hmrId = vueRoot ?
|
|
203002
|
+
const hmrId = vueRoot ? relative7(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
|
|
202850
203003
|
logHmrUpdate(vuePagePath, "vue", duration);
|
|
202851
203004
|
broadcastToClients(state, {
|
|
202852
203005
|
data: {
|
|
@@ -202951,10 +203104,10 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202951
203104
|
}, computeOutputPagesDir = (state, config, framework) => {
|
|
202952
203105
|
const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
|
|
202953
203106
|
if (isSingle) {
|
|
202954
|
-
return
|
|
203107
|
+
return resolve19(state.resolvedPaths.buildDir, "pages");
|
|
202955
203108
|
}
|
|
202956
203109
|
const dirName = framework === "html" ? basename7(config.htmlDirectory ?? "html") : basename7(config.htmxDirectory ?? "htmx");
|
|
202957
|
-
return
|
|
203110
|
+
return resolve19(state.resolvedPaths.buildDir, dirName, "pages");
|
|
202958
203111
|
}, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
|
|
202959
203112
|
try {
|
|
202960
203113
|
const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
|
|
@@ -202990,7 +203143,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
202990
203143
|
const outputHtmlPages = computeOutputPagesDir(state, config, "html");
|
|
202991
203144
|
for (const pageFile of htmlPageFiles) {
|
|
202992
203145
|
const htmlPageName = basename7(pageFile);
|
|
202993
|
-
const builtHtmlPagePath =
|
|
203146
|
+
const builtHtmlPagePath = resolve19(outputHtmlPages, htmlPageName);
|
|
202994
203147
|
await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
|
|
202995
203148
|
}
|
|
202996
203149
|
}, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
|
|
@@ -203051,11 +203204,11 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203051
203204
|
const baseName = fileName.replace(/\.vue$/, "");
|
|
203052
203205
|
const pascalName = toPascal(baseName);
|
|
203053
203206
|
const vueRoot = config.vueDirectory;
|
|
203054
|
-
const hmrId = vueRoot ?
|
|
203207
|
+
const hmrId = vueRoot ? relative7(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
|
|
203055
203208
|
const cssKey = `${pascalName}CSS`;
|
|
203056
203209
|
const cssUrl = manifest[cssKey] || null;
|
|
203057
203210
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
203058
|
-
const hmrMeta = vueHmrMetadata2.get(
|
|
203211
|
+
const hmrMeta = vueHmrMetadata2.get(resolve19(vuePagePath));
|
|
203059
203212
|
const changeType = hmrMeta?.changeType ?? "full";
|
|
203060
203213
|
if (changeType === "style-only") {
|
|
203061
203214
|
broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
|
|
@@ -203289,7 +203442,7 @@ var parseErrorLocationFromMessage = (msg) => {
|
|
|
203289
203442
|
const outputHtmxPages = computeOutputPagesDir(state, config, "htmx");
|
|
203290
203443
|
for (const htmxPageFile of htmxPageFiles) {
|
|
203291
203444
|
const htmxPageName = basename7(htmxPageFile);
|
|
203292
|
-
const builtHtmxPagePath =
|
|
203445
|
+
const builtHtmxPagePath = resolve19(outputHtmxPages, htmxPageName);
|
|
203293
203446
|
await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
|
|
203294
203447
|
}
|
|
203295
203448
|
}, collectUpdatedModulePaths = (allModuleUpdates) => {
|
|
@@ -203507,8 +203660,8 @@ __export(exports_devBuild, {
|
|
|
203507
203660
|
devBuild: () => devBuild
|
|
203508
203661
|
});
|
|
203509
203662
|
import { readdir as readdir3 } from "fs/promises";
|
|
203510
|
-
import { statSync } from "fs";
|
|
203511
|
-
import { resolve as
|
|
203663
|
+
import { statSync as statSync3 } from "fs";
|
|
203664
|
+
import { resolve as resolve20 } from "path";
|
|
203512
203665
|
var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
203513
203666
|
const config = {};
|
|
203514
203667
|
const dirPattern = /(\w+Directory)\s*:\s*['"]([^'"]+)['"]/g;
|
|
@@ -203521,7 +203674,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203521
203674
|
return Object.keys(config).length > 0 ? config : null;
|
|
203522
203675
|
}, reloadConfig = async () => {
|
|
203523
203676
|
try {
|
|
203524
|
-
const configPath2 =
|
|
203677
|
+
const configPath2 = resolve20(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
203525
203678
|
const source = await Bun.file(configPath2).text();
|
|
203526
203679
|
return parseDirectoryConfig(source);
|
|
203527
203680
|
} catch {
|
|
@@ -203594,7 +203747,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203594
203747
|
state.fileChangeQueue.clear();
|
|
203595
203748
|
}
|
|
203596
203749
|
}, handleCachedReload = async () => {
|
|
203597
|
-
const serverMtime =
|
|
203750
|
+
const serverMtime = statSync3(resolve20(Bun.main)).mtimeMs;
|
|
203598
203751
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
203599
203752
|
globalThis.__hmrServerMtime = serverMtime;
|
|
203600
203753
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -203622,8 +203775,8 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203622
203775
|
return true;
|
|
203623
203776
|
}, resolveAbsoluteVersion2 = async () => {
|
|
203624
203777
|
const candidates = [
|
|
203625
|
-
|
|
203626
|
-
|
|
203778
|
+
resolve20(import.meta.dir, "..", "..", "package.json"),
|
|
203779
|
+
resolve20(import.meta.dir, "..", "package.json")
|
|
203627
203780
|
];
|
|
203628
203781
|
for (const candidate of candidates) {
|
|
203629
203782
|
const found = await tryReadPackageVersion(candidate);
|
|
@@ -203636,7 +203789,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203636
203789
|
const entries = await readdir3(vendorDir).catch(() => emptyStringArray);
|
|
203637
203790
|
await Promise.all(entries.map(async (entry) => {
|
|
203638
203791
|
const webPath = `/${framework}/vendor/${entry}`;
|
|
203639
|
-
const bytes = await Bun.file(
|
|
203792
|
+
const bytes = await Bun.file(resolve20(vendorDir, entry)).bytes();
|
|
203640
203793
|
assetStore.set(webPath, bytes);
|
|
203641
203794
|
}));
|
|
203642
203795
|
}, devBuild = async (config) => {
|
|
@@ -203670,7 +203823,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203670
203823
|
await populateAssetStore(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
|
|
203671
203824
|
cleanStaleAssets(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
|
|
203672
203825
|
const buildReactVendorTask = config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir).then(async () => {
|
|
203673
|
-
const vendorDir =
|
|
203826
|
+
const vendorDir = resolve20(state.resolvedPaths.buildDir, "react", "vendor");
|
|
203674
203827
|
await loadVendorFiles(state.assetStore, vendorDir, "react");
|
|
203675
203828
|
if (!globalThis.__reactModuleRef) {
|
|
203676
203829
|
globalThis.__reactModuleRef = await import("react");
|
|
@@ -203678,7 +203831,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203678
203831
|
return true;
|
|
203679
203832
|
}) : undefined;
|
|
203680
203833
|
const buildAngularVendorTask = config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir).then(async () => {
|
|
203681
|
-
const vendorDir =
|
|
203834
|
+
const vendorDir = resolve20(state.resolvedPaths.buildDir, "angular", "vendor");
|
|
203682
203835
|
await loadVendorFiles(state.assetStore, vendorDir, "angular");
|
|
203683
203836
|
return true;
|
|
203684
203837
|
}) : undefined;
|
|
@@ -203696,7 +203849,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
|
|
|
203696
203849
|
manifest
|
|
203697
203850
|
};
|
|
203698
203851
|
globalThis.__hmrDevResult = result;
|
|
203699
|
-
globalThis.__hmrServerMtime =
|
|
203852
|
+
globalThis.__hmrServerMtime = statSync3(resolve20(Bun.main)).mtimeMs;
|
|
203700
203853
|
return result;
|
|
203701
203854
|
};
|
|
203702
203855
|
var init_devBuild = __esm(() => {
|
|
@@ -203729,5 +203882,5 @@ export {
|
|
|
203729
203882
|
build
|
|
203730
203883
|
};
|
|
203731
203884
|
|
|
203732
|
-
//# debugId=
|
|
203885
|
+
//# debugId=399551415B4FE8B664756E2164756E21
|
|
203733
203886
|
//# sourceMappingURL=build.js.map
|