@absolutejs/absolute 0.19.0-beta.983 → 0.19.0-beta.985
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/browser.js +2 -16
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +4 -16
- package/dist/angular/index.js.map +4 -4
- package/dist/angular/server.js +3 -1
- package/dist/angular/server.js.map +3 -3
- package/dist/build.js +319 -392
- package/dist/build.js.map +4 -4
- package/dist/index.js +330 -403
- package/dist/index.js.map +4 -4
- package/dist/src/angular/composables/useSubscription.d.ts +13 -6
- package/dist/src/angular/pageHandler.d.ts +14 -7
- package/dist/src/build/scanAngularHandlerCalls.d.ts +0 -22
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11861,7 +11861,7 @@ var init_validateSafePath = () => {};
|
|
|
11861
11861
|
|
|
11862
11862
|
// src/build/scanAngularHandlerCalls.ts
|
|
11863
11863
|
import { readdirSync as readdirSync2, readFileSync as readFileSync14 } from "fs";
|
|
11864
|
-
import {
|
|
11864
|
+
import { join as join23 } from "path";
|
|
11865
11865
|
import ts6 from "typescript";
|
|
11866
11866
|
var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (filePath) => {
|
|
11867
11867
|
if (filePath.endsWith(".tsx"))
|
|
@@ -11901,86 +11901,7 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
11901
11901
|
}
|
|
11902
11902
|
}
|
|
11903
11903
|
return out;
|
|
11904
|
-
}, fileMayContainAngularHandler = (source) => source.includes("handleAngularPageRequest"),
|
|
11905
|
-
const map = new Map;
|
|
11906
|
-
const fileDir = dirname13(filePath);
|
|
11907
|
-
const recordSpec = (localName, spec) => {
|
|
11908
|
-
map.set(localName, spec);
|
|
11909
|
-
};
|
|
11910
|
-
const resolveSource = (specifier) => {
|
|
11911
|
-
if (specifier.startsWith(".")) {
|
|
11912
|
-
return resolve22(fileDir, specifier);
|
|
11913
|
-
}
|
|
11914
|
-
if (isAbsolute3(specifier)) {
|
|
11915
|
-
return specifier;
|
|
11916
|
-
}
|
|
11917
|
-
return null;
|
|
11918
|
-
};
|
|
11919
|
-
for (const statement of sf.statements) {
|
|
11920
|
-
if (!ts6.isImportDeclaration(statement))
|
|
11921
|
-
continue;
|
|
11922
|
-
if (!ts6.isStringLiteral(statement.moduleSpecifier))
|
|
11923
|
-
continue;
|
|
11924
|
-
if (statement.importClause?.isTypeOnly)
|
|
11925
|
-
continue;
|
|
11926
|
-
const source = statement.moduleSpecifier.text;
|
|
11927
|
-
const resolvedAbsPath = resolveSource(source);
|
|
11928
|
-
const clause = statement.importClause;
|
|
11929
|
-
if (!clause)
|
|
11930
|
-
continue;
|
|
11931
|
-
if (clause.name) {
|
|
11932
|
-
recordSpec(clause.name.text, {
|
|
11933
|
-
importedName: "default",
|
|
11934
|
-
isDefault: true,
|
|
11935
|
-
localName: clause.name.text,
|
|
11936
|
-
resolvedAbsPath,
|
|
11937
|
-
source
|
|
11938
|
-
});
|
|
11939
|
-
}
|
|
11940
|
-
const bindings = clause.namedBindings;
|
|
11941
|
-
if (!bindings)
|
|
11942
|
-
continue;
|
|
11943
|
-
if (ts6.isNamespaceImport(bindings)) {
|
|
11944
|
-
recordSpec(bindings.name.text, {
|
|
11945
|
-
importedName: "*",
|
|
11946
|
-
isDefault: false,
|
|
11947
|
-
localName: bindings.name.text,
|
|
11948
|
-
resolvedAbsPath,
|
|
11949
|
-
source
|
|
11950
|
-
});
|
|
11951
|
-
continue;
|
|
11952
|
-
}
|
|
11953
|
-
for (const element of bindings.elements) {
|
|
11954
|
-
if (element.isTypeOnly)
|
|
11955
|
-
continue;
|
|
11956
|
-
const localName = element.name.text;
|
|
11957
|
-
const importedName = element.propertyName?.text ?? localName;
|
|
11958
|
-
recordSpec(localName, {
|
|
11959
|
-
importedName,
|
|
11960
|
-
isDefault: false,
|
|
11961
|
-
localName,
|
|
11962
|
-
resolvedAbsPath,
|
|
11963
|
-
source
|
|
11964
|
-
});
|
|
11965
|
-
}
|
|
11966
|
-
}
|
|
11967
|
-
return map;
|
|
11968
|
-
}, collectExpressionIdentifiers = (expr) => {
|
|
11969
|
-
const out = new Set;
|
|
11970
|
-
const visit = (node) => {
|
|
11971
|
-
if (ts6.isIdentifier(node)) {
|
|
11972
|
-
out.add(node.text);
|
|
11973
|
-
return;
|
|
11974
|
-
}
|
|
11975
|
-
if (ts6.isPropertyAccessExpression(node)) {
|
|
11976
|
-
visit(node.expression);
|
|
11977
|
-
return;
|
|
11978
|
-
}
|
|
11979
|
-
ts6.forEachChild(node, visit);
|
|
11980
|
-
};
|
|
11981
|
-
visit(expr);
|
|
11982
|
-
return out;
|
|
11983
|
-
}, extractManifestKey = (pagePathValue) => {
|
|
11904
|
+
}, fileMayContainAngularHandler = (source) => source.includes("handleAngularPageRequest"), extractManifestKey = (pagePathValue) => {
|
|
11984
11905
|
if (!ts6.isCallExpression(pagePathValue))
|
|
11985
11906
|
return null;
|
|
11986
11907
|
const callee = pagePathValue.expression;
|
|
@@ -12017,13 +11938,11 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
12017
11938
|
if (!fileMayContainAngularHandler(source))
|
|
12018
11939
|
return;
|
|
12019
11940
|
const sf = ts6.createSourceFile(filePath, source, ts6.ScriptTarget.Latest, true, getScriptKind2(filePath));
|
|
12020
|
-
const imports = collectFileImports(sf, filePath);
|
|
12021
11941
|
const visit = (node) => {
|
|
12022
11942
|
if (ts6.isCallExpression(node) && ts6.isIdentifier(node.expression) && node.expression.text === "handleAngularPageRequest") {
|
|
12023
11943
|
const [arg] = node.arguments;
|
|
12024
11944
|
if (arg && ts6.isObjectLiteralExpression(arg)) {
|
|
12025
11945
|
let manifestKey = null;
|
|
12026
|
-
let providersExpr = null;
|
|
12027
11946
|
for (const prop of arg.properties) {
|
|
12028
11947
|
if (ts6.isPropertyAssignment(prop)) {
|
|
12029
11948
|
if (!prop.name)
|
|
@@ -12031,8 +11950,6 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
12031
11950
|
const name = ts6.isIdentifier(prop.name) ? prop.name.text : ts6.isStringLiteral(prop.name) ? prop.name.text : null;
|
|
12032
11951
|
if (name === "pagePath") {
|
|
12033
11952
|
manifestKey = extractManifestKey(prop.initializer);
|
|
12034
|
-
} else if (name === "providers") {
|
|
12035
|
-
providersExpr = prop.initializer;
|
|
12036
11953
|
}
|
|
12037
11954
|
} else if (ts6.isSpreadAssignment(prop)) {
|
|
12038
11955
|
if (manifestKey)
|
|
@@ -12047,22 +11964,9 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
12047
11964
|
}
|
|
12048
11965
|
}
|
|
12049
11966
|
if (manifestKey) {
|
|
12050
|
-
const providerImports = [];
|
|
12051
|
-
let providersExprText = null;
|
|
12052
|
-
if (providersExpr) {
|
|
12053
|
-
providersExprText = providersExpr.getText(sf);
|
|
12054
|
-
const idents = collectExpressionIdentifiers(providersExpr);
|
|
12055
|
-
for (const ident of idents) {
|
|
12056
|
-
const spec = imports.get(ident);
|
|
12057
|
-
if (spec)
|
|
12058
|
-
providerImports.push(spec);
|
|
12059
|
-
}
|
|
12060
|
-
}
|
|
12061
11967
|
out.push({
|
|
12062
11968
|
manifestKey,
|
|
12063
11969
|
mountPath: findEnclosingMountPath(node),
|
|
12064
|
-
providerImports,
|
|
12065
|
-
providersExpr: providersExprText,
|
|
12066
11970
|
sourceFile: filePath
|
|
12067
11971
|
});
|
|
12068
11972
|
}
|
|
@@ -12226,7 +12130,7 @@ __export(exports_parseAngularConfigImports, {
|
|
|
12226
12130
|
parseAngularProvidersImport: () => parseAngularProvidersImport
|
|
12227
12131
|
});
|
|
12228
12132
|
import { existsSync as existsSync20, readFileSync as readFileSync16 } from "fs";
|
|
12229
|
-
import { dirname as
|
|
12133
|
+
import { dirname as dirname13, isAbsolute as isAbsolute3, join as join25 } from "path";
|
|
12230
12134
|
import ts8 from "typescript";
|
|
12231
12135
|
var findDefineConfigCall = (sf) => {
|
|
12232
12136
|
let result = null;
|
|
@@ -12315,8 +12219,8 @@ var findDefineConfigCall = (sf) => {
|
|
|
12315
12219
|
const importInfo = findImportForBinding(sf, binding);
|
|
12316
12220
|
if (!importInfo)
|
|
12317
12221
|
return null;
|
|
12318
|
-
const configDir2 =
|
|
12319
|
-
const absolutePath = importInfo.source.startsWith(".") ? join25(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") :
|
|
12222
|
+
const configDir2 = dirname13(configPath2);
|
|
12223
|
+
const absolutePath = importInfo.source.startsWith(".") ? join25(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute3(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
|
|
12320
12224
|
return {
|
|
12321
12225
|
absolutePath,
|
|
12322
12226
|
bindingName: binding,
|
|
@@ -12390,11 +12294,11 @@ __export(exports_compileSvelte, {
|
|
|
12390
12294
|
import { existsSync as existsSync21 } from "fs";
|
|
12391
12295
|
import { mkdir as mkdir4, stat as stat2 } from "fs/promises";
|
|
12392
12296
|
import {
|
|
12393
|
-
dirname as
|
|
12297
|
+
dirname as dirname14,
|
|
12394
12298
|
join as join26,
|
|
12395
12299
|
basename as basename7,
|
|
12396
12300
|
extname as extname5,
|
|
12397
|
-
resolve as
|
|
12301
|
+
resolve as resolve22,
|
|
12398
12302
|
relative as relative9,
|
|
12399
12303
|
sep as sep2
|
|
12400
12304
|
} from "path";
|
|
@@ -12402,14 +12306,14 @@ import { env as env2 } from "process";
|
|
|
12402
12306
|
var {write: write2, file: file2, Transpiler: Transpiler2 } = globalThis.Bun;
|
|
12403
12307
|
var resolveDevClientDir2 = () => {
|
|
12404
12308
|
const projectRoot = process.cwd();
|
|
12405
|
-
const fromSource =
|
|
12309
|
+
const fromSource = resolve22(import.meta.dir, "../dev/client");
|
|
12406
12310
|
if (existsSync21(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
12407
12311
|
return fromSource;
|
|
12408
12312
|
}
|
|
12409
|
-
const fromNodeModules =
|
|
12313
|
+
const fromNodeModules = resolve22(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
12410
12314
|
if (existsSync21(fromNodeModules))
|
|
12411
12315
|
return fromNodeModules;
|
|
12412
|
-
return
|
|
12316
|
+
return resolve22(import.meta.dir, "./dev/client");
|
|
12413
12317
|
}, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
|
|
12414
12318
|
persistentCache.clear();
|
|
12415
12319
|
sourceHashCache.clear();
|
|
@@ -12439,7 +12343,7 @@ var resolveDevClientDir2 = () => {
|
|
|
12439
12343
|
}, resolveRelativeModule2 = async (spec, from) => {
|
|
12440
12344
|
if (!spec.startsWith("."))
|
|
12441
12345
|
return null;
|
|
12442
|
-
const basePath =
|
|
12346
|
+
const basePath = resolve22(dirname14(from), spec);
|
|
12443
12347
|
const candidates = [
|
|
12444
12348
|
basePath,
|
|
12445
12349
|
`${basePath}.ts`,
|
|
@@ -12466,7 +12370,7 @@ var resolveDevClientDir2 = () => {
|
|
|
12466
12370
|
const resolved = resolvePackageImport(spec);
|
|
12467
12371
|
return resolved && /\.svelte(\.(?:ts|js))?$/.test(resolved) ? resolved : null;
|
|
12468
12372
|
}
|
|
12469
|
-
const basePath =
|
|
12373
|
+
const basePath = resolve22(dirname14(from), spec);
|
|
12470
12374
|
const explicit = /\.(svelte|svelte\.(?:ts|js))$/.test(basePath);
|
|
12471
12375
|
if (!explicit) {
|
|
12472
12376
|
const extensions = [".svelte", ".svelte.ts", ".svelte.js"];
|
|
@@ -12526,8 +12430,8 @@ var resolveDevClientDir2 = () => {
|
|
|
12526
12430
|
const preprocessedClient = isModule ? loweredClientSource.code : (await preprocess(loweredClientSource.code, svelteStylePreprocessor)).code;
|
|
12527
12431
|
const transpiledServer = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedServer) : preprocessedServer;
|
|
12528
12432
|
const transpiledClient = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedClient) : preprocessedClient;
|
|
12529
|
-
const rawRel =
|
|
12530
|
-
const relDir = rawRel.startsWith("..") ? `_ext/${relative9(process.cwd(),
|
|
12433
|
+
const rawRel = dirname14(relative9(svelteRoot, src)).replace(/\\/g, "/");
|
|
12434
|
+
const relDir = rawRel.startsWith("..") ? `_ext/${relative9(process.cwd(), dirname14(src)).replace(/\\/g, "/")}` : rawRel;
|
|
12531
12435
|
const baseName = basename7(src).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
12532
12436
|
const importPaths = Array.from(transpiledServer.matchAll(/from\s+['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((path) => path !== undefined);
|
|
12533
12437
|
const resolvedModuleImports = await Promise.all(importPaths.map((importPath) => resolveRelativeModule2(importPath, src)));
|
|
@@ -12536,8 +12440,8 @@ var resolveDevClientDir2 = () => {
|
|
|
12536
12440
|
const childBuilt = await Promise.all(childSources.map((child) => build2(child)));
|
|
12537
12441
|
const hasAwaitSlotFromChildren = childBuilt.some((child) => child.hasAwaitSlot);
|
|
12538
12442
|
const externalRewrites = new Map;
|
|
12539
|
-
const ssrOutputDir =
|
|
12540
|
-
const clientOutputDir =
|
|
12443
|
+
const ssrOutputDir = dirname14(join26(serverDir, relDir, `${baseName}.js`));
|
|
12444
|
+
const clientOutputDir = dirname14(join26(clientDir, relDir, `${baseName}.js`));
|
|
12541
12445
|
for (let idx = 0;idx < importPaths.length; idx++) {
|
|
12542
12446
|
const rawSpec = importPaths[idx];
|
|
12543
12447
|
if (!rawSpec)
|
|
@@ -12605,8 +12509,8 @@ var resolveDevClientDir2 = () => {
|
|
|
12605
12509
|
const ssrPath = join26(serverDir, relDir, `${baseName}.js`);
|
|
12606
12510
|
const clientPath = join26(clientDir, relDir, `${baseName}.js`);
|
|
12607
12511
|
await Promise.all([
|
|
12608
|
-
mkdir4(
|
|
12609
|
-
mkdir4(
|
|
12512
|
+
mkdir4(dirname14(ssrPath), { recursive: true }),
|
|
12513
|
+
mkdir4(dirname14(clientPath), { recursive: true })
|
|
12610
12514
|
]);
|
|
12611
12515
|
const inlineMap = (map) => map ? `
|
|
12612
12516
|
//# sourceMappingURL=data:application/json;base64,${Buffer.from(JSON.stringify(map)).toString("base64")}
|
|
@@ -12639,10 +12543,10 @@ var resolveDevClientDir2 = () => {
|
|
|
12639
12543
|
};
|
|
12640
12544
|
const roots = await Promise.all(entryPoints.map(build2));
|
|
12641
12545
|
await Promise.all(roots.map(async ({ client: client2, hasAwaitSlot }) => {
|
|
12642
|
-
const relClientDir =
|
|
12546
|
+
const relClientDir = dirname14(relative9(clientDir, client2));
|
|
12643
12547
|
const name = basename7(client2, extname5(client2));
|
|
12644
12548
|
const indexPath = join26(indexDir, relClientDir, `${name}.js`);
|
|
12645
|
-
const importRaw = relative9(
|
|
12549
|
+
const importRaw = relative9(dirname14(indexPath), client2).split(sep2).join("/");
|
|
12646
12550
|
const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
|
|
12647
12551
|
const hmrImports = isDev2 ? `window.__HMR_FRAMEWORK__ = "svelte";
|
|
12648
12552
|
import "${hmrClientPath3}";
|
|
@@ -12713,13 +12617,13 @@ if (typeof window !== "undefined") {
|
|
|
12713
12617
|
setTimeout(releaseStreamingSlots, 0);
|
|
12714
12618
|
}
|
|
12715
12619
|
}`;
|
|
12716
|
-
await mkdir4(
|
|
12620
|
+
await mkdir4(dirname14(indexPath), { recursive: true });
|
|
12717
12621
|
return write2(indexPath, bootstrap);
|
|
12718
12622
|
}));
|
|
12719
12623
|
return {
|
|
12720
12624
|
svelteClientPaths: roots.map(({ client: client2 }) => client2),
|
|
12721
12625
|
svelteIndexPaths: roots.map(({ client: client2 }) => {
|
|
12722
|
-
const rel =
|
|
12626
|
+
const rel = dirname14(relative9(clientDir, client2));
|
|
12723
12627
|
return join26(indexDir, rel, basename7(client2));
|
|
12724
12628
|
}),
|
|
12725
12629
|
svelteServerPaths: roots.map(({ ssr }) => ssr)
|
|
@@ -13131,23 +13035,23 @@ import { existsSync as existsSync22 } from "fs";
|
|
|
13131
13035
|
import { mkdir as mkdir5 } from "fs/promises";
|
|
13132
13036
|
import {
|
|
13133
13037
|
basename as basename8,
|
|
13134
|
-
dirname as
|
|
13135
|
-
isAbsolute as
|
|
13038
|
+
dirname as dirname15,
|
|
13039
|
+
isAbsolute as isAbsolute4,
|
|
13136
13040
|
join as join27,
|
|
13137
13041
|
relative as relative10,
|
|
13138
|
-
resolve as
|
|
13042
|
+
resolve as resolve23
|
|
13139
13043
|
} from "path";
|
|
13140
13044
|
var {file: file3, write: write3, Transpiler: Transpiler3 } = globalThis.Bun;
|
|
13141
13045
|
var resolveDevClientDir3 = () => {
|
|
13142
13046
|
const projectRoot = process.cwd();
|
|
13143
|
-
const fromSource =
|
|
13047
|
+
const fromSource = resolve23(import.meta.dir, "../dev/client");
|
|
13144
13048
|
if (existsSync22(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
13145
13049
|
return fromSource;
|
|
13146
13050
|
}
|
|
13147
|
-
const fromNodeModules =
|
|
13051
|
+
const fromNodeModules = resolve23(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
13148
13052
|
if (existsSync22(fromNodeModules))
|
|
13149
13053
|
return fromNodeModules;
|
|
13150
|
-
return
|
|
13054
|
+
return resolve23(import.meta.dir, "./dev/client");
|
|
13151
13055
|
}, devClientDir3, hmrClientPath4, transpiler4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
|
|
13152
13056
|
scriptCache.clear();
|
|
13153
13057
|
scriptSetupCache.clear();
|
|
@@ -13193,7 +13097,7 @@ var resolveDevClientDir3 = () => {
|
|
|
13193
13097
|
return filePath.replace(/\.ts$/, ".js");
|
|
13194
13098
|
if (isStylePath(filePath)) {
|
|
13195
13099
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
13196
|
-
return
|
|
13100
|
+
return resolve23(sourceDir, filePath);
|
|
13197
13101
|
}
|
|
13198
13102
|
return filePath;
|
|
13199
13103
|
}
|
|
@@ -13257,12 +13161,12 @@ var resolveDevClientDir3 = () => {
|
|
|
13257
13161
|
const childComponentPaths = importPaths.filter((path) => path.startsWith(".") && path.endsWith(".vue"));
|
|
13258
13162
|
const packageComponentPaths = Array.from(resolvedPackageVueImports.entries());
|
|
13259
13163
|
const helperModulePaths = importPaths.filter((path) => path.startsWith(".") && !path.endsWith(".vue") && !isStylePath(path));
|
|
13260
|
-
const stylePathsImported = importPaths.filter((path) => (path.startsWith(".") ||
|
|
13164
|
+
const stylePathsImported = importPaths.filter((path) => (path.startsWith(".") || isAbsolute4(path)) && isStylePath(path)).map((path) => isAbsolute4(path) ? path : resolve23(dirname15(sourceFilePath), path));
|
|
13261
13165
|
for (const stylePath of stylePathsImported) {
|
|
13262
13166
|
addStyleImporter(sourceFilePath, stylePath);
|
|
13263
13167
|
}
|
|
13264
13168
|
const childBuildResults = await Promise.all([
|
|
13265
|
-
...childComponentPaths.map((relativeChildPath) => compileVueFile(
|
|
13169
|
+
...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve23(dirname15(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, stylePreprocessors)),
|
|
13266
13170
|
...packageComponentPaths.map(([, absolutePath]) => compileVueFile(absolutePath, outputDirs, cacheMap, false, vueRootDir, compiler, stylePreprocessors))
|
|
13267
13171
|
]);
|
|
13268
13172
|
const hasScript = descriptor.script || descriptor.scriptSetup;
|
|
@@ -13272,7 +13176,7 @@ var resolveDevClientDir3 = () => {
|
|
|
13272
13176
|
sourceMap: true
|
|
13273
13177
|
}) : { bindings: {}, content: "export default {};", map: undefined };
|
|
13274
13178
|
const strippedScript = stripExports2(compiledScript.content);
|
|
13275
|
-
const sourceDir =
|
|
13179
|
+
const sourceDir = dirname15(sourceFilePath);
|
|
13276
13180
|
const transpiledScript = transpiler4.transformSync(strippedScript).replace(/(['"])(\.{1,2}\/[^'"]+)(['"])/g, (_2, quoteStart, relativeImport, quoteEnd) => `${quoteStart}${toJs(relativeImport, sourceDir)}${quoteEnd}`);
|
|
13277
13181
|
const packageImportRewrites = new Map;
|
|
13278
13182
|
for (const [bareImport, absolutePath] of packageComponentPaths) {
|
|
@@ -13312,7 +13216,7 @@ var resolveDevClientDir3 = () => {
|
|
|
13312
13216
|
let cssOutputPaths = [];
|
|
13313
13217
|
if (isEntryPoint && allCss.length) {
|
|
13314
13218
|
const cssOutputFile = join27(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
|
|
13315
|
-
await mkdir5(
|
|
13219
|
+
await mkdir5(dirname15(cssOutputFile), { recursive: true });
|
|
13316
13220
|
await write3(cssOutputFile, allCss.join(`
|
|
13317
13221
|
`));
|
|
13318
13222
|
cssOutputPaths = [cssOutputFile];
|
|
@@ -13344,7 +13248,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13344
13248
|
const serverCode = assembleModule(generateRenderFunction(true), "ssrRender", false) + islandMetadataExports;
|
|
13345
13249
|
const clientOutputPath = join27(outputDirs.client, `${relativeWithoutExtension}.js`);
|
|
13346
13250
|
const serverOutputPath = join27(outputDirs.server, `${relativeWithoutExtension}.js`);
|
|
13347
|
-
const relDir =
|
|
13251
|
+
const relDir = dirname15(relativeFilePath);
|
|
13348
13252
|
const relDepth = relDir === "." ? 0 : relDir.split("/").length;
|
|
13349
13253
|
const adjustImports = (code) => code.replace(/(from\s+['"])(\.\.\/(?:\.\.\/)*)/g, (_2, prefix, dots) => {
|
|
13350
13254
|
const upCount = dots.split("/").length - 1;
|
|
@@ -13356,15 +13260,15 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13356
13260
|
let result2 = code;
|
|
13357
13261
|
for (const [bareImport, paths] of packageImportRewrites) {
|
|
13358
13262
|
const targetPath = mode === "server" ? paths.server : paths.client;
|
|
13359
|
-
let rel = relative10(
|
|
13263
|
+
let rel = relative10(dirname15(outputPath), targetPath).replace(/\\/g, "/");
|
|
13360
13264
|
if (!rel.startsWith("."))
|
|
13361
13265
|
rel = `./${rel}`;
|
|
13362
13266
|
result2 = result2.replaceAll(bareImport, rel);
|
|
13363
13267
|
}
|
|
13364
13268
|
return result2;
|
|
13365
13269
|
};
|
|
13366
|
-
await mkdir5(
|
|
13367
|
-
await mkdir5(
|
|
13270
|
+
await mkdir5(dirname15(clientOutputPath), { recursive: true });
|
|
13271
|
+
await mkdir5(dirname15(serverOutputPath), { recursive: true });
|
|
13368
13272
|
const clientFinal = rewritePackageImports(adjustImports(clientCode), clientOutputPath, "client");
|
|
13369
13273
|
const serverFinal = rewritePackageImports(adjustImports(serverCode), serverOutputPath, "server");
|
|
13370
13274
|
const inlineSourceMapFor = (finalContent) => {
|
|
@@ -13386,7 +13290,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13386
13290
|
hmrId,
|
|
13387
13291
|
serverPath: serverOutputPath,
|
|
13388
13292
|
tsHelperPaths: [
|
|
13389
|
-
...helperModulePaths.map((helper) =>
|
|
13293
|
+
...helperModulePaths.map((helper) => resolve23(dirname15(sourceFilePath), helper.endsWith(".ts") ? helper : `${helper}.ts`)),
|
|
13390
13294
|
...childBuildResults.flatMap((child) => child.tsHelperPaths)
|
|
13391
13295
|
]
|
|
13392
13296
|
};
|
|
@@ -13409,7 +13313,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13409
13313
|
const buildCache = new Map;
|
|
13410
13314
|
const allTsHelperPaths = new Set;
|
|
13411
13315
|
const compiledPages = await Promise.all(entryPoints.map(async (entryPath) => {
|
|
13412
|
-
const result = await compileVueFile(
|
|
13316
|
+
const result = await compileVueFile(resolve23(entryPath), {
|
|
13413
13317
|
client: clientOutputDir,
|
|
13414
13318
|
css: cssOutputDir,
|
|
13415
13319
|
server: serverOutputDir
|
|
@@ -13418,14 +13322,14 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13418
13322
|
const entryBaseName = basename8(entryPath, ".vue");
|
|
13419
13323
|
const indexOutputFile = join27(indexOutputDir, `${entryBaseName}.js`);
|
|
13420
13324
|
const clientOutputFile = join27(clientOutputDir, relative10(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
|
|
13421
|
-
await mkdir5(
|
|
13325
|
+
await mkdir5(dirname15(indexOutputFile), { recursive: true });
|
|
13422
13326
|
const vueHmrImports = isDev2 ? [
|
|
13423
13327
|
`window.__HMR_FRAMEWORK__ = "vue";`,
|
|
13424
13328
|
`import "${hmrClientPath4}";`
|
|
13425
13329
|
] : [];
|
|
13426
13330
|
await write3(indexOutputFile, [
|
|
13427
13331
|
...vueHmrImports,
|
|
13428
|
-
`import Comp, * as PageModule from "${relative10(
|
|
13332
|
+
`import Comp, * as PageModule from "${relative10(dirname15(indexOutputFile), clientOutputFile).replace(/\\/g, "/")}";`,
|
|
13429
13333
|
'import { createSSRApp, createApp } from "vue";',
|
|
13430
13334
|
"",
|
|
13431
13335
|
"// HMR State Preservation: Check for preserved state from HMR",
|
|
@@ -13572,8 +13476,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13572
13476
|
const relativeJsPath = relative10(vueRootDir, tsPath).replace(/\.ts$/, ".js");
|
|
13573
13477
|
const outClientPath = join27(clientOutputDir, relativeJsPath);
|
|
13574
13478
|
const outServerPath = join27(serverOutputDir, relativeJsPath);
|
|
13575
|
-
await mkdir5(
|
|
13576
|
-
await mkdir5(
|
|
13479
|
+
await mkdir5(dirname15(outClientPath), { recursive: true });
|
|
13480
|
+
await mkdir5(dirname15(outServerPath), { recursive: true });
|
|
13577
13481
|
await write3(outClientPath, transpiledCode);
|
|
13578
13482
|
await write3(outServerPath, transpiledCode);
|
|
13579
13483
|
}));
|
|
@@ -14076,7 +13980,7 @@ __export(exports_compileAngular, {
|
|
|
14076
13980
|
compileAngular: () => compileAngular
|
|
14077
13981
|
});
|
|
14078
13982
|
import { existsSync as existsSync23, readFileSync as readFileSync18, promises as fs5 } from "fs";
|
|
14079
|
-
import { join as join28, basename as basename9, sep as sep3, dirname as
|
|
13983
|
+
import { join as join28, basename as basename9, sep as sep3, dirname as dirname16, resolve as resolve24, relative as relative11 } from "path";
|
|
14080
13984
|
var {Glob: Glob6 } = globalThis.Bun;
|
|
14081
13985
|
import ts9 from "typescript";
|
|
14082
13986
|
var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
@@ -14084,10 +13988,10 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14084
13988
|
return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata2) : await fn2();
|
|
14085
13989
|
}, readTsconfigPathAliases = () => {
|
|
14086
13990
|
try {
|
|
14087
|
-
const configPath2 =
|
|
13991
|
+
const configPath2 = resolve24(process.cwd(), "tsconfig.json");
|
|
14088
13992
|
const config = ts9.readConfigFile(configPath2, ts9.sys.readFile).config;
|
|
14089
13993
|
const compilerOptions = config?.compilerOptions ?? {};
|
|
14090
|
-
const baseUrl =
|
|
13994
|
+
const baseUrl = resolve24(process.cwd(), compilerOptions.baseUrl ?? ".");
|
|
14091
13995
|
const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
|
|
14092
13996
|
return { aliases, baseUrl };
|
|
14093
13997
|
} catch {
|
|
@@ -14107,7 +14011,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14107
14011
|
const wildcardValue = exactMatch ? "" : specifier.slice(prefix.length, specifier.length - suffix.length);
|
|
14108
14012
|
for (const replacement of alias.replacements) {
|
|
14109
14013
|
const candidate = replacement.replace("*", wildcardValue);
|
|
14110
|
-
const resolved = resolveSourceFile(
|
|
14014
|
+
const resolved = resolveSourceFile(resolve24(baseUrl, candidate));
|
|
14111
14015
|
if (resolved)
|
|
14112
14016
|
return resolved;
|
|
14113
14017
|
}
|
|
@@ -14126,13 +14030,13 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14126
14030
|
];
|
|
14127
14031
|
return candidates.find((file4) => existsSync23(file4));
|
|
14128
14032
|
}, createLegacyAngularAnimationUsageResolver = (rootDir) => {
|
|
14129
|
-
const baseDir =
|
|
14033
|
+
const baseDir = resolve24(rootDir);
|
|
14130
14034
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
14131
14035
|
const transpiler5 = new Bun.Transpiler({ loader: "tsx" });
|
|
14132
14036
|
const scanCache = new Map;
|
|
14133
14037
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
14134
14038
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
14135
|
-
return resolveSourceFile(
|
|
14039
|
+
return resolveSourceFile(resolve24(fromDir, specifier));
|
|
14136
14040
|
}
|
|
14137
14041
|
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile);
|
|
14138
14042
|
if (aliased)
|
|
@@ -14141,7 +14045,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14141
14045
|
const resolved = Bun.resolveSync(specifier, fromDir);
|
|
14142
14046
|
if (resolved.includes("/node_modules/"))
|
|
14143
14047
|
return;
|
|
14144
|
-
const absolute =
|
|
14048
|
+
const absolute = resolve24(resolved);
|
|
14145
14049
|
if (!absolute.startsWith(baseDir))
|
|
14146
14050
|
return;
|
|
14147
14051
|
return resolveSourceFile(absolute);
|
|
@@ -14157,7 +14061,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14157
14061
|
usesLegacyAnimations: false
|
|
14158
14062
|
});
|
|
14159
14063
|
}
|
|
14160
|
-
const resolved =
|
|
14064
|
+
const resolved = resolve24(actualPath);
|
|
14161
14065
|
const cached = scanCache.get(resolved);
|
|
14162
14066
|
if (cached)
|
|
14163
14067
|
return cached;
|
|
@@ -14186,7 +14090,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14186
14090
|
const actualPath = resolveSourceFile(filePath);
|
|
14187
14091
|
if (!actualPath)
|
|
14188
14092
|
return false;
|
|
14189
|
-
const resolved =
|
|
14093
|
+
const resolved = resolve24(actualPath);
|
|
14190
14094
|
if (visited.has(resolved))
|
|
14191
14095
|
return false;
|
|
14192
14096
|
visited.add(resolved);
|
|
@@ -14194,7 +14098,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14194
14098
|
if (scan.usesLegacyAnimations)
|
|
14195
14099
|
return true;
|
|
14196
14100
|
for (const specifier of scan.imports) {
|
|
14197
|
-
const importedPath = resolveLocalImport(specifier,
|
|
14101
|
+
const importedPath = resolveLocalImport(specifier, dirname16(resolved));
|
|
14198
14102
|
if (importedPath && await visit(importedPath, visited)) {
|
|
14199
14103
|
return true;
|
|
14200
14104
|
}
|
|
@@ -14204,14 +14108,14 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14204
14108
|
return (entryPath) => visit(entryPath);
|
|
14205
14109
|
}, resolveDevClientDir4 = () => {
|
|
14206
14110
|
const projectRoot = process.cwd();
|
|
14207
|
-
const fromSource =
|
|
14111
|
+
const fromSource = resolve24(import.meta.dir, "../dev/client");
|
|
14208
14112
|
if (existsSync23(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
14209
14113
|
return fromSource;
|
|
14210
14114
|
}
|
|
14211
|
-
const fromNodeModules =
|
|
14115
|
+
const fromNodeModules = resolve24(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
14212
14116
|
if (existsSync23(fromNodeModules))
|
|
14213
14117
|
return fromNodeModules;
|
|
14214
|
-
return
|
|
14118
|
+
return resolve24(import.meta.dir, "./dev/client");
|
|
14215
14119
|
}, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
|
|
14216
14120
|
try {
|
|
14217
14121
|
return ts9.flattenDiagnosticMessageText(diagnostic.messageText, `
|
|
@@ -14253,12 +14157,12 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14253
14157
|
return `${path.replace(/\.ts$/, ".js")}${query}`;
|
|
14254
14158
|
if (hasJsLikeExtension(path))
|
|
14255
14159
|
return `${path}${query}`;
|
|
14256
|
-
const importerDir =
|
|
14257
|
-
const fileCandidate =
|
|
14160
|
+
const importerDir = dirname16(importerOutputPath);
|
|
14161
|
+
const fileCandidate = resolve24(importerDir, `${path}.js`);
|
|
14258
14162
|
if (outputFiles?.has(fileCandidate) || existsSync23(fileCandidate)) {
|
|
14259
14163
|
return `${path}.js${query}`;
|
|
14260
14164
|
}
|
|
14261
|
-
const indexCandidate =
|
|
14165
|
+
const indexCandidate = resolve24(importerDir, path, "index.js");
|
|
14262
14166
|
if (outputFiles?.has(indexCandidate) || existsSync23(indexCandidate)) {
|
|
14263
14167
|
return `${path}/index.js${query}`;
|
|
14264
14168
|
}
|
|
@@ -14286,7 +14190,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14286
14190
|
}, resolveLocalTsImport = (fromFile, specifier) => {
|
|
14287
14191
|
if (!isRelativeModuleSpecifier(specifier))
|
|
14288
14192
|
return null;
|
|
14289
|
-
const basePath =
|
|
14193
|
+
const basePath = resolve24(dirname16(fromFile), specifier);
|
|
14290
14194
|
const candidates = /\.[cm]?[tj]sx?$/.test(basePath) ? [basePath] : [
|
|
14291
14195
|
`${basePath}.ts`,
|
|
14292
14196
|
`${basePath}.tsx`,
|
|
@@ -14297,7 +14201,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14297
14201
|
join28(basePath, "index.mts"),
|
|
14298
14202
|
join28(basePath, "index.cts")
|
|
14299
14203
|
];
|
|
14300
|
-
return candidates.map((candidate) =>
|
|
14204
|
+
return candidates.map((candidate) => resolve24(candidate)).find((candidate) => existsSync23(candidate) && !candidate.endsWith(".d.ts")) ?? null;
|
|
14301
14205
|
}, readFileForAotTransform = async (fileName, readFile6) => {
|
|
14302
14206
|
const hostSource = readFile6?.(fileName);
|
|
14303
14207
|
if (typeof hostSource === "string")
|
|
@@ -14332,7 +14236,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14332
14236
|
paths.push(join28(fileDir, urlMatch.replace(/['"]/g, "")));
|
|
14333
14237
|
}
|
|
14334
14238
|
}
|
|
14335
|
-
return paths.map((path) =>
|
|
14239
|
+
return paths.map((path) => resolve24(path));
|
|
14336
14240
|
}, readResourceCacheFile = async (cachePath) => {
|
|
14337
14241
|
try {
|
|
14338
14242
|
const entry = JSON.parse(await fs5.readFile(cachePath, "utf-8"));
|
|
@@ -14344,13 +14248,13 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14344
14248
|
return null;
|
|
14345
14249
|
}
|
|
14346
14250
|
}, writeResourceCacheFile = async (cachePath, source) => {
|
|
14347
|
-
await fs5.mkdir(
|
|
14251
|
+
await fs5.mkdir(dirname16(cachePath), { recursive: true });
|
|
14348
14252
|
await fs5.writeFile(cachePath, JSON.stringify({
|
|
14349
14253
|
source,
|
|
14350
14254
|
version: 1
|
|
14351
14255
|
}), "utf-8");
|
|
14352
14256
|
}, resolveResourceTransformCachePath = async (filePath, source, stylePreprocessors) => {
|
|
14353
|
-
const resourcePaths = collectAngularResourcePaths(source,
|
|
14257
|
+
const resourcePaths = collectAngularResourcePaths(source, dirname16(filePath));
|
|
14354
14258
|
const resourceContents = await Promise.all(resourcePaths.map(async (resourcePath) => {
|
|
14355
14259
|
const content = await fs5.readFile(resourcePath, "utf-8");
|
|
14356
14260
|
return `${resourcePath}\x00${content}`;
|
|
@@ -14374,7 +14278,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14374
14278
|
transformedFiles: 0
|
|
14375
14279
|
};
|
|
14376
14280
|
const transformFile = async (filePath) => {
|
|
14377
|
-
const resolvedPath =
|
|
14281
|
+
const resolvedPath = resolve24(filePath);
|
|
14378
14282
|
if (visited.has(resolvedPath))
|
|
14379
14283
|
return;
|
|
14380
14284
|
visited.add(resolvedPath);
|
|
@@ -14390,7 +14294,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14390
14294
|
transformedSource = cached.source;
|
|
14391
14295
|
} else {
|
|
14392
14296
|
stats.cacheMisses += 1;
|
|
14393
|
-
const transformed = await inlineResources(source,
|
|
14297
|
+
const transformed = await inlineResources(source, dirname16(resolvedPath), stylePreprocessors);
|
|
14394
14298
|
transformedSource = transformed.source;
|
|
14395
14299
|
await writeResourceCacheFile(cachePath, transformedSource);
|
|
14396
14300
|
}
|
|
@@ -14409,7 +14313,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14409
14313
|
return { stats, transformedSources };
|
|
14410
14314
|
}, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
|
|
14411
14315
|
const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
|
|
14412
|
-
const outputPath =
|
|
14316
|
+
const outputPath = resolve24(join28(outDir, relative11(process.cwd(), resolve24(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
|
|
14413
14317
|
return [
|
|
14414
14318
|
outputPath,
|
|
14415
14319
|
buildIslandMetadataExports(readFileSync18(inputPath, "utf-8"))
|
|
@@ -14419,8 +14323,8 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14419
14323
|
const { readConfiguration, performCompilation, EmitFlags } = await traceAngularPhase("aot/import-compiler-cli", () => import("@angular/compiler-cli"));
|
|
14420
14324
|
const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
|
|
14421
14325
|
const tsPath = __require.resolve("typescript");
|
|
14422
|
-
const tsRootDir =
|
|
14423
|
-
return tsRootDir.endsWith("lib") ? tsRootDir :
|
|
14326
|
+
const tsRootDir = dirname16(tsPath);
|
|
14327
|
+
return tsRootDir.endsWith("lib") ? tsRootDir : resolve24(tsRootDir, "lib");
|
|
14424
14328
|
});
|
|
14425
14329
|
const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
|
|
14426
14330
|
const options = {
|
|
@@ -14462,7 +14366,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14462
14366
|
return originalGetSourceFile?.call(host, fileName, languageVersion, onError);
|
|
14463
14367
|
};
|
|
14464
14368
|
const emitted = {};
|
|
14465
|
-
const resolvedOutDir =
|
|
14369
|
+
const resolvedOutDir = resolve24(outDir);
|
|
14466
14370
|
host.writeFile = (fileName, text) => {
|
|
14467
14371
|
const relativePath = resolveRelativePath(fileName, resolvedOutDir, outDir);
|
|
14468
14372
|
emitted[relativePath] = text;
|
|
@@ -14484,12 +14388,12 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14484
14388
|
if (!fileName.endsWith(".ts") || fileName.endsWith(".d.ts")) {
|
|
14485
14389
|
return source;
|
|
14486
14390
|
}
|
|
14487
|
-
const resolvedPath =
|
|
14391
|
+
const resolvedPath = resolve24(fileName);
|
|
14488
14392
|
return transformedSources.get(resolvedPath) ?? source;
|
|
14489
14393
|
};
|
|
14490
14394
|
const originalGetSourceFileForCompile = host.getSourceFile;
|
|
14491
14395
|
host.getSourceFile = (fileName, languageVersion, onError) => {
|
|
14492
|
-
const source = transformedSources.get(
|
|
14396
|
+
const source = transformedSources.get(resolve24(fileName));
|
|
14493
14397
|
if (source) {
|
|
14494
14398
|
return ts9.createSourceFile(fileName, source, languageVersion, true);
|
|
14495
14399
|
}
|
|
@@ -14513,7 +14417,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14513
14417
|
content,
|
|
14514
14418
|
target: join28(outDir, fileName)
|
|
14515
14419
|
}));
|
|
14516
|
-
const outputFiles = new Set(rawEntries.map(({ target }) =>
|
|
14420
|
+
const outputFiles = new Set(rawEntries.map(({ target }) => resolve24(target)));
|
|
14517
14421
|
return rawEntries.map(({ content, target }) => {
|
|
14518
14422
|
let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path) => {
|
|
14519
14423
|
const rewritten = rewriteRelativeJsSpecifier(target, path, outputFiles);
|
|
@@ -14528,17 +14432,17 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14528
14432
|
return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
|
|
14529
14433
|
});
|
|
14530
14434
|
processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
|
|
14531
|
-
processedContent += islandMetadataByOutputPath.get(
|
|
14435
|
+
processedContent += islandMetadataByOutputPath.get(resolve24(target)) ?? "";
|
|
14532
14436
|
return { content: processedContent, target };
|
|
14533
14437
|
});
|
|
14534
14438
|
});
|
|
14535
14439
|
await traceAngularPhase("aot/write-output", () => Promise.all(entries.map(async ({ target, content }) => {
|
|
14536
|
-
await fs5.mkdir(
|
|
14440
|
+
await fs5.mkdir(dirname16(target), { recursive: true });
|
|
14537
14441
|
await fs5.writeFile(target, content, "utf-8");
|
|
14538
14442
|
})), { outputs: entries.length });
|
|
14539
14443
|
return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
|
|
14540
14444
|
}, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, invalidateAngularJitCache = (filePath) => {
|
|
14541
|
-
jitContentCache.delete(
|
|
14445
|
+
jitContentCache.delete(resolve24(filePath));
|
|
14542
14446
|
}, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
|
|
14543
14447
|
const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
|
|
14544
14448
|
let match;
|
|
@@ -14551,7 +14455,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14551
14455
|
}
|
|
14552
14456
|
return null;
|
|
14553
14457
|
}, resolveAngularDeferImportSpecifier = () => {
|
|
14554
|
-
const sourceEntry =
|
|
14458
|
+
const sourceEntry = resolve24(import.meta.dir, "../angular/components/index.ts");
|
|
14555
14459
|
if (existsSync23(sourceEntry)) {
|
|
14556
14460
|
return sourceEntry.replace(/\\/g, "/");
|
|
14557
14461
|
}
|
|
@@ -14781,10 +14685,10 @@ ${fields}
|
|
|
14781
14685
|
source: result
|
|
14782
14686
|
};
|
|
14783
14687
|
}, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
|
|
14784
|
-
const entryPath =
|
|
14688
|
+
const entryPath = resolve24(inputPath);
|
|
14785
14689
|
const allOutputs = [];
|
|
14786
14690
|
const visited = new Set;
|
|
14787
|
-
const baseDir =
|
|
14691
|
+
const baseDir = resolve24(rootDir ?? process.cwd());
|
|
14788
14692
|
let usesLegacyAnimations = false;
|
|
14789
14693
|
const angularTranspiler = new Bun.Transpiler({
|
|
14790
14694
|
loader: "ts",
|
|
@@ -14812,7 +14716,7 @@ ${fields}
|
|
|
14812
14716
|
};
|
|
14813
14717
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
14814
14718
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
14815
|
-
return resolveSourceFile2(
|
|
14719
|
+
return resolveSourceFile2(resolve24(fromDir, specifier));
|
|
14816
14720
|
}
|
|
14817
14721
|
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile2);
|
|
14818
14722
|
if (aliased)
|
|
@@ -14821,7 +14725,7 @@ ${fields}
|
|
|
14821
14725
|
const resolved = Bun.resolveSync(specifier, fromDir);
|
|
14822
14726
|
if (resolved.includes("/node_modules/"))
|
|
14823
14727
|
return;
|
|
14824
|
-
const absolute =
|
|
14728
|
+
const absolute = resolve24(resolved);
|
|
14825
14729
|
if (!absolute.startsWith(baseDir))
|
|
14826
14730
|
return;
|
|
14827
14731
|
return resolveSourceFile2(absolute);
|
|
@@ -14830,7 +14734,7 @@ ${fields}
|
|
|
14830
14734
|
}
|
|
14831
14735
|
};
|
|
14832
14736
|
const toOutputPath = (sourcePath) => {
|
|
14833
|
-
const inputDir =
|
|
14737
|
+
const inputDir = dirname16(sourcePath);
|
|
14834
14738
|
const fileBase = basename9(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
14835
14739
|
if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep3}`)) {
|
|
14836
14740
|
return join28(inputDir, fileBase);
|
|
@@ -14873,18 +14777,18 @@ ${fields}
|
|
|
14873
14777
|
return `${prefix}${dots}`;
|
|
14874
14778
|
return `${prefix}../${dots}`;
|
|
14875
14779
|
});
|
|
14876
|
-
if (
|
|
14780
|
+
if (resolve24(actualPath) === entryPath) {
|
|
14877
14781
|
processedContent += buildIslandMetadataExports(sourceCode);
|
|
14878
14782
|
}
|
|
14879
14783
|
return processedContent;
|
|
14880
14784
|
};
|
|
14881
14785
|
const transpileFile = async (filePath) => {
|
|
14882
|
-
const resolved =
|
|
14786
|
+
const resolved = resolve24(filePath);
|
|
14883
14787
|
if (visited.has(resolved))
|
|
14884
14788
|
return;
|
|
14885
14789
|
visited.add(resolved);
|
|
14886
14790
|
if (resolved.endsWith(".json") && existsSync23(resolved)) {
|
|
14887
|
-
const inputDir2 =
|
|
14791
|
+
const inputDir2 = dirname16(resolved);
|
|
14888
14792
|
const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
|
|
14889
14793
|
const targetDir2 = join28(outDir, relativeDir2);
|
|
14890
14794
|
const targetPath2 = join28(targetDir2, basename9(resolved));
|
|
@@ -14899,12 +14803,12 @@ ${fields}
|
|
|
14899
14803
|
if (!existsSync23(actualPath))
|
|
14900
14804
|
return;
|
|
14901
14805
|
let sourceCode = await fs5.readFile(actualPath, "utf-8");
|
|
14902
|
-
const inlined = await inlineResources(sourceCode,
|
|
14903
|
-
sourceCode = inlineTemplateAndLowerDeferSync(inlined.source,
|
|
14904
|
-
const inputDir =
|
|
14806
|
+
const inlined = await inlineResources(sourceCode, dirname16(actualPath), stylePreprocessors);
|
|
14807
|
+
sourceCode = inlineTemplateAndLowerDeferSync(inlined.source, dirname16(actualPath)).source;
|
|
14808
|
+
const inputDir = dirname16(actualPath);
|
|
14905
14809
|
const fileBase = basename9(actualPath).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
14906
14810
|
const targetPath = toOutputPath(actualPath);
|
|
14907
|
-
const targetDir =
|
|
14811
|
+
const targetDir = dirname16(targetPath);
|
|
14908
14812
|
const relativeDir = relative11(outDir, targetDir).replace(/\\/g, "/");
|
|
14909
14813
|
const localImports = [];
|
|
14910
14814
|
const importRewrites = new Map;
|
|
@@ -14931,7 +14835,7 @@ ${fields}
|
|
|
14931
14835
|
importRewrites.set(specifier, relativeRewrite);
|
|
14932
14836
|
return resolved2;
|
|
14933
14837
|
}).filter((path) => Boolean(path));
|
|
14934
|
-
const isEntry =
|
|
14838
|
+
const isEntry = resolve24(actualPath) === resolve24(entryPath);
|
|
14935
14839
|
const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
|
|
14936
14840
|
const cacheKey2 = actualPath;
|
|
14937
14841
|
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey2) !== contentHash || !existsSync23(targetPath);
|
|
@@ -14967,11 +14871,11 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14967
14871
|
const compiledRoot = compiledParent;
|
|
14968
14872
|
const indexesDir = join28(compiledParent, "indexes");
|
|
14969
14873
|
await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
|
|
14970
|
-
const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) =>
|
|
14874
|
+
const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve24(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
|
|
14971
14875
|
if (!hmr) {
|
|
14972
14876
|
await traceAngularPhase("aot/copy-json-resources", async () => {
|
|
14973
14877
|
const cwd = process.cwd();
|
|
14974
|
-
const angularSrcDir =
|
|
14878
|
+
const angularSrcDir = resolve24(outRoot);
|
|
14975
14879
|
if (!existsSync23(angularSrcDir))
|
|
14976
14880
|
return;
|
|
14977
14881
|
const jsonGlob = new Glob6("**/*.json");
|
|
@@ -14982,14 +14886,14 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14982
14886
|
const sourcePath = join28(angularSrcDir, rel);
|
|
14983
14887
|
const cwdRel = relative11(cwd, sourcePath);
|
|
14984
14888
|
const targetPath = join28(compiledRoot, cwdRel);
|
|
14985
|
-
await fs5.mkdir(
|
|
14889
|
+
await fs5.mkdir(dirname16(targetPath), { recursive: true });
|
|
14986
14890
|
await fs5.copyFile(sourcePath, targetPath);
|
|
14987
14891
|
}
|
|
14988
14892
|
});
|
|
14989
14893
|
}
|
|
14990
14894
|
const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
|
|
14991
14895
|
const compileTasks = entryPoints.map(async (entry) => {
|
|
14992
|
-
const resolvedEntry =
|
|
14896
|
+
const resolvedEntry = resolve24(entry);
|
|
14993
14897
|
const relativeEntry = relative11(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
|
|
14994
14898
|
const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
|
|
14995
14899
|
let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
|
|
@@ -15001,10 +14905,10 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
15001
14905
|
join28(compiledRoot, relativeEntry),
|
|
15002
14906
|
join28(compiledRoot, "pages", jsName),
|
|
15003
14907
|
join28(compiledRoot, jsName)
|
|
15004
|
-
].map((file4) =>
|
|
14908
|
+
].map((file4) => resolve24(file4));
|
|
15005
14909
|
const resolveRawServerFile = (candidatePaths) => {
|
|
15006
14910
|
const normalizedCandidates = [
|
|
15007
|
-
...candidatePaths.map((file4) =>
|
|
14911
|
+
...candidatePaths.map((file4) => resolve24(file4)),
|
|
15008
14912
|
...compiledFallbackPaths
|
|
15009
14913
|
];
|
|
15010
14914
|
let candidate = normalizedCandidates.find((file4) => existsSync23(file4) && file4.endsWith(`${sep3}${relativeEntry}`));
|
|
@@ -15076,13 +14980,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
15076
14980
|
const pageInjection = providersInjection?.pagesByFile.get(resolvedEntry);
|
|
15077
14981
|
if (providersInjection && pageInjection) {
|
|
15078
14982
|
const compiledAppProvidersPath = (() => {
|
|
15079
|
-
const angularDirAbs =
|
|
15080
|
-
const appSourceAbs =
|
|
14983
|
+
const angularDirAbs = resolve24(outRoot);
|
|
14984
|
+
const appSourceAbs = resolve24(providersInjection.appProvidersSource);
|
|
15081
14985
|
const rel = relative11(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
|
|
15082
14986
|
return join28(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
15083
14987
|
})();
|
|
15084
14988
|
const appProvidersSpec = (() => {
|
|
15085
|
-
const rel = relative11(
|
|
14989
|
+
const rel = relative11(dirname16(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
|
|
15086
14990
|
return rel.startsWith(".") ? rel : `./${rel}`;
|
|
15087
14991
|
})();
|
|
15088
14992
|
const importLines = [
|
|
@@ -16024,7 +15928,7 @@ __export(exports_fastHmrCompiler, {
|
|
|
16024
15928
|
invalidateFingerprintCache: () => invalidateFingerprintCache
|
|
16025
15929
|
});
|
|
16026
15930
|
import { existsSync as existsSync24, readFileSync as readFileSync19, statSync as statSync2 } from "fs";
|
|
16027
|
-
import { dirname as
|
|
15931
|
+
import { dirname as dirname17, extname as extname6, relative as relative12, resolve as resolve25 } from "path";
|
|
16028
15932
|
import ts13 from "typescript";
|
|
16029
15933
|
var fail = (reason, detail, location) => ({
|
|
16030
15934
|
ok: false,
|
|
@@ -16152,7 +16056,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16152
16056
|
continue;
|
|
16153
16057
|
const decoratorMeta = readDecoratorMeta(args);
|
|
16154
16058
|
const { inputs, outputs } = extractInputsAndOutputs(stmt, null);
|
|
16155
|
-
const componentDir =
|
|
16059
|
+
const componentDir = dirname17(componentFilePath);
|
|
16156
16060
|
const fingerprint = extractFingerprint(stmt, className, decoratorMeta, inputs, outputs, sourceFile, componentDir);
|
|
16157
16061
|
fingerprintCache.set(id, fingerprint);
|
|
16158
16062
|
} else {
|
|
@@ -16328,7 +16232,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16328
16232
|
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
16329
16233
|
return true;
|
|
16330
16234
|
}
|
|
16331
|
-
const base =
|
|
16235
|
+
const base = resolve25(componentDir, spec);
|
|
16332
16236
|
const candidates = [
|
|
16333
16237
|
`${base}.ts`,
|
|
16334
16238
|
`${base}.tsx`,
|
|
@@ -17112,7 +17016,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17112
17016
|
});
|
|
17113
17017
|
if (!names.includes(className))
|
|
17114
17018
|
continue;
|
|
17115
|
-
const nextDts = resolveDtsFromSpec(fromPath,
|
|
17019
|
+
const nextDts = resolveDtsFromSpec(fromPath, dirname17(startDtsPath));
|
|
17116
17020
|
if (!nextDts)
|
|
17117
17021
|
continue;
|
|
17118
17022
|
const found = findDtsContainingClass(nextDts, className, visited);
|
|
@@ -17122,7 +17026,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17122
17026
|
const starReExportRe = /export\s*\*\s*from\s*["']([^"']+)["']/g;
|
|
17123
17027
|
while ((m = starReExportRe.exec(content)) !== null) {
|
|
17124
17028
|
const fromPath = m[1] || "";
|
|
17125
|
-
const nextDts = resolveDtsFromSpec(fromPath,
|
|
17029
|
+
const nextDts = resolveDtsFromSpec(fromPath, dirname17(startDtsPath));
|
|
17126
17030
|
if (!nextDts)
|
|
17127
17031
|
continue;
|
|
17128
17032
|
const found = findDtsContainingClass(nextDts, className, visited);
|
|
@@ -17132,7 +17036,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17132
17036
|
return null;
|
|
17133
17037
|
}, resolveDtsFromSpec = (spec, fromDir) => {
|
|
17134
17038
|
const stripped = spec.replace(/\.[mc]?js$/, "");
|
|
17135
|
-
const base =
|
|
17039
|
+
const base = resolve25(fromDir, stripped);
|
|
17136
17040
|
const candidates = [
|
|
17137
17041
|
`${base}.d.ts`,
|
|
17138
17042
|
`${base}.d.mts`,
|
|
@@ -17156,7 +17060,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17156
17060
|
return null;
|
|
17157
17061
|
}, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
|
|
17158
17062
|
if (spec.startsWith(".") || spec.startsWith("/")) {
|
|
17159
|
-
const base =
|
|
17063
|
+
const base = resolve25(componentDir, spec);
|
|
17160
17064
|
const candidates = [
|
|
17161
17065
|
`${base}.ts`,
|
|
17162
17066
|
`${base}.tsx`,
|
|
@@ -17375,13 +17279,13 @@ var fail = (reason, detail, location) => ({
|
|
|
17375
17279
|
}
|
|
17376
17280
|
if (!matches)
|
|
17377
17281
|
continue;
|
|
17378
|
-
const resolved =
|
|
17282
|
+
const resolved = resolve25(componentDir, spec);
|
|
17379
17283
|
for (const ext of TS_EXTENSIONS) {
|
|
17380
17284
|
const candidate = resolved + ext;
|
|
17381
17285
|
if (existsSync24(candidate))
|
|
17382
17286
|
return candidate;
|
|
17383
17287
|
}
|
|
17384
|
-
const indexCandidate =
|
|
17288
|
+
const indexCandidate = resolve25(resolved, "index.ts");
|
|
17385
17289
|
if (existsSync24(indexCandidate))
|
|
17386
17290
|
return indexCandidate;
|
|
17387
17291
|
}
|
|
@@ -17614,7 +17518,7 @@ ${transpiled}
|
|
|
17614
17518
|
}
|
|
17615
17519
|
}${staticPatch}`;
|
|
17616
17520
|
}, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
|
|
17617
|
-
const abs =
|
|
17521
|
+
const abs = resolve25(componentDir, url);
|
|
17618
17522
|
if (!existsSync24(abs))
|
|
17619
17523
|
return null;
|
|
17620
17524
|
const ext = extname6(abs).toLowerCase();
|
|
@@ -17654,7 +17558,7 @@ ${block}
|
|
|
17654
17558
|
const cached = projectOptionsCache.get(projectRoot);
|
|
17655
17559
|
if (cached !== undefined)
|
|
17656
17560
|
return cached;
|
|
17657
|
-
const tsconfigPath =
|
|
17561
|
+
const tsconfigPath = resolve25(projectRoot, "tsconfig.json");
|
|
17658
17562
|
const opts = {};
|
|
17659
17563
|
if (existsSync24(tsconfigPath)) {
|
|
17660
17564
|
try {
|
|
@@ -17719,7 +17623,7 @@ ${block}
|
|
|
17719
17623
|
rebootstrapRequired: false
|
|
17720
17624
|
};
|
|
17721
17625
|
}
|
|
17722
|
-
if (inheritsDecoratedClass(classNode, sourceFile,
|
|
17626
|
+
if (inheritsDecoratedClass(classNode, sourceFile, dirname17(componentFilePath), projectRoot)) {
|
|
17723
17627
|
return fail("inherits-decorated-class");
|
|
17724
17628
|
}
|
|
17725
17629
|
const decorator = findComponentDecorator(classNode);
|
|
@@ -17731,14 +17635,14 @@ ${block}
|
|
|
17731
17635
|
const projectDefaults = readProjectAngularCompilerOptions(projectRoot);
|
|
17732
17636
|
const decoratorMeta = readDecoratorMeta(decoratorArgs, projectDefaults);
|
|
17733
17637
|
const advancedMetadata = extractAdvancedMetadata(classNode, decoratorArgs, compiler);
|
|
17734
|
-
const componentDir =
|
|
17638
|
+
const componentDir = dirname17(componentFilePath);
|
|
17735
17639
|
let templateText;
|
|
17736
17640
|
let templatePath;
|
|
17737
17641
|
if (decoratorMeta.template !== null) {
|
|
17738
17642
|
templateText = decoratorMeta.template;
|
|
17739
17643
|
templatePath = componentFilePath;
|
|
17740
17644
|
} else if (decoratorMeta.templateUrl) {
|
|
17741
|
-
const tplAbs =
|
|
17645
|
+
const tplAbs = resolve25(componentDir, decoratorMeta.templateUrl);
|
|
17742
17646
|
if (!existsSync24(tplAbs)) {
|
|
17743
17647
|
return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
|
|
17744
17648
|
}
|
|
@@ -18492,7 +18396,7 @@ __export(exports_compileEmber, {
|
|
|
18492
18396
|
getEmberServerCompiledDir: () => getEmberServerCompiledDir,
|
|
18493
18397
|
getEmberCompiledRoot: () => getEmberCompiledRoot,
|
|
18494
18398
|
getEmberClientCompiledDir: () => getEmberClientCompiledDir,
|
|
18495
|
-
dirname: () =>
|
|
18399
|
+
dirname: () => dirname18,
|
|
18496
18400
|
compileEmberFileSource: () => compileEmberFileSource,
|
|
18497
18401
|
compileEmberFile: () => compileEmberFile,
|
|
18498
18402
|
compileEmber: () => compileEmber,
|
|
@@ -18501,7 +18405,7 @@ __export(exports_compileEmber, {
|
|
|
18501
18405
|
});
|
|
18502
18406
|
import { existsSync as existsSync25 } from "fs";
|
|
18503
18407
|
import { mkdir as mkdir6, rm as rm4 } from "fs/promises";
|
|
18504
|
-
import { basename as basename10, dirname as
|
|
18408
|
+
import { basename as basename10, dirname as dirname18, extname as extname7, join as join29, resolve as resolve26 } from "path";
|
|
18505
18409
|
var {build: bunBuild2, Transpiler: Transpiler4, write: write4, file: file4 } = globalThis.Bun;
|
|
18506
18410
|
var cachedPreprocessor = null, getPreprocessor = async () => {
|
|
18507
18411
|
if (cachedPreprocessor)
|
|
@@ -18597,7 +18501,7 @@ export const importSync = (specifier) => {
|
|
|
18597
18501
|
const originalImporter = stagedSourceMap.get(args.importer);
|
|
18598
18502
|
if (!originalImporter)
|
|
18599
18503
|
return;
|
|
18600
|
-
const candidateBase =
|
|
18504
|
+
const candidateBase = resolve26(dirname18(originalImporter), args.path);
|
|
18601
18505
|
const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
|
|
18602
18506
|
for (const ext of extensionsToTry) {
|
|
18603
18507
|
const candidate = candidateBase + ext;
|
|
@@ -18656,7 +18560,7 @@ export const renderToHTML = (props = {}) => {
|
|
|
18656
18560
|
export { PageComponent };
|
|
18657
18561
|
export default PageComponent;
|
|
18658
18562
|
`, compileEmberFile = async (entry, compiledRoot, cwd = process.cwd()) => {
|
|
18659
|
-
const resolvedEntry =
|
|
18563
|
+
const resolvedEntry = resolve26(entry);
|
|
18660
18564
|
const source = await file4(resolvedEntry).text();
|
|
18661
18565
|
let preprocessed = source;
|
|
18662
18566
|
if (isTemplateTagFile(resolvedEntry)) {
|
|
@@ -18676,8 +18580,8 @@ export default PageComponent;
|
|
|
18676
18580
|
mkdir6(serverDir, { recursive: true }),
|
|
18677
18581
|
mkdir6(clientDir, { recursive: true })
|
|
18678
18582
|
]);
|
|
18679
|
-
const tmpPagePath =
|
|
18680
|
-
const tmpHarnessPath =
|
|
18583
|
+
const tmpPagePath = resolve26(join29(tmpDir, `${baseName}.module.js`));
|
|
18584
|
+
const tmpHarnessPath = resolve26(join29(tmpDir, `${baseName}.harness.js`));
|
|
18681
18585
|
await Promise.all([
|
|
18682
18586
|
write4(tmpPagePath, transpiled),
|
|
18683
18587
|
write4(tmpHarnessPath, generateServerHarness(tmpPagePath))
|
|
@@ -18719,7 +18623,7 @@ export default PageComponent;
|
|
|
18719
18623
|
serverPaths: outputs.map((o3) => o3.serverPath)
|
|
18720
18624
|
};
|
|
18721
18625
|
}, compileEmberFileSource = async (entry) => {
|
|
18722
|
-
const resolvedEntry =
|
|
18626
|
+
const resolvedEntry = resolve26(entry);
|
|
18723
18627
|
const source = await file4(resolvedEntry).text();
|
|
18724
18628
|
let preprocessed = source;
|
|
18725
18629
|
if (isTemplateTagFile(resolvedEntry)) {
|
|
@@ -18752,24 +18656,24 @@ __export(exports_buildReactVendor, {
|
|
|
18752
18656
|
buildReactVendor: () => buildReactVendor
|
|
18753
18657
|
});
|
|
18754
18658
|
import { existsSync as existsSync26, mkdirSync as mkdirSync8 } from "fs";
|
|
18755
|
-
import { join as join30, resolve as
|
|
18659
|
+
import { join as join30, resolve as resolve27 } from "path";
|
|
18756
18660
|
import { rm as rm5 } from "fs/promises";
|
|
18757
18661
|
var {build: bunBuild3 } = globalThis.Bun;
|
|
18758
18662
|
var resolveJsxDevRuntimeCompatPath = () => {
|
|
18759
18663
|
const candidates = [
|
|
18760
|
-
|
|
18761
|
-
|
|
18762
|
-
|
|
18763
|
-
|
|
18764
|
-
|
|
18765
|
-
|
|
18664
|
+
resolve27(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
|
|
18665
|
+
resolve27(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
|
|
18666
|
+
resolve27(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
|
|
18667
|
+
resolve27(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
|
|
18668
|
+
resolve27(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
|
|
18669
|
+
resolve27(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
|
|
18766
18670
|
];
|
|
18767
18671
|
for (const candidate of candidates) {
|
|
18768
18672
|
if (existsSync26(candidate)) {
|
|
18769
18673
|
return candidate.replace(/\\/g, "/");
|
|
18770
18674
|
}
|
|
18771
18675
|
}
|
|
18772
|
-
return (candidates[0] ??
|
|
18676
|
+
return (candidates[0] ?? resolve27(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
|
|
18773
18677
|
}, jsxDevRuntimeCompatPath, reactSpecifiers, isResolvable = (specifier) => {
|
|
18774
18678
|
try {
|
|
18775
18679
|
Bun.resolveSync(specifier, process.cwd());
|
|
@@ -19419,7 +19323,7 @@ import {
|
|
|
19419
19323
|
statSync as statSync3,
|
|
19420
19324
|
writeFileSync as writeFileSync9
|
|
19421
19325
|
} from "fs";
|
|
19422
|
-
import { basename as basename11, dirname as
|
|
19326
|
+
import { basename as basename11, dirname as dirname19, extname as extname8, join as join35, relative as relative13, resolve as resolve28 } from "path";
|
|
19423
19327
|
import { cwd, env as env3, exit } from "process";
|
|
19424
19328
|
var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
|
|
19425
19329
|
var isDev2, isBuildTraceEnabled = () => {
|
|
@@ -19510,8 +19414,8 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19510
19414
|
}
|
|
19511
19415
|
}, resolveAbsoluteVersion = async () => {
|
|
19512
19416
|
const candidates = [
|
|
19513
|
-
|
|
19514
|
-
|
|
19417
|
+
resolve28(import.meta.dir, "..", "..", "package.json"),
|
|
19418
|
+
resolve28(import.meta.dir, "..", "package.json")
|
|
19515
19419
|
];
|
|
19516
19420
|
const resolveCandidate = async (remaining) => {
|
|
19517
19421
|
const [candidate, ...rest] = remaining;
|
|
@@ -19527,7 +19431,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19527
19431
|
};
|
|
19528
19432
|
await resolveCandidate(candidates);
|
|
19529
19433
|
}, SKIP_DIRS4, addWorkerPathIfExists = (file5, relPath, workerPaths) => {
|
|
19530
|
-
const absPath =
|
|
19434
|
+
const absPath = resolve28(file5, "..", relPath);
|
|
19531
19435
|
try {
|
|
19532
19436
|
statSync3(absPath);
|
|
19533
19437
|
workerPaths.add(absPath);
|
|
@@ -19589,7 +19493,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19589
19493
|
return;
|
|
19590
19494
|
}
|
|
19591
19495
|
const indexFiles = readDir(reactIndexesPath).filter((file5) => file5.endsWith(".tsx"));
|
|
19592
|
-
const pagesRel = relative13(process.cwd(),
|
|
19496
|
+
const pagesRel = relative13(process.cwd(), resolve28(reactPagesPath)).replace(/\\/g, "/");
|
|
19593
19497
|
for (const file5 of indexFiles) {
|
|
19594
19498
|
let content = readFileSync20(join35(reactIndexesPath, file5), "utf-8");
|
|
19595
19499
|
content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
|
|
@@ -19597,27 +19501,27 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19597
19501
|
}
|
|
19598
19502
|
}, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
|
|
19599
19503
|
const svelteIndexDir = join35(getFrameworkGeneratedDir("svelte"), "indexes");
|
|
19600
|
-
const sveltePageEntries = svelteEntries.filter((file5) =>
|
|
19504
|
+
const sveltePageEntries = svelteEntries.filter((file5) => resolve28(file5).startsWith(resolve28(sveltePagesPath)));
|
|
19601
19505
|
for (const entry of sveltePageEntries) {
|
|
19602
19506
|
const name = basename11(entry).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
19603
19507
|
const indexFile = join35(svelteIndexDir, "pages", `${name}.js`);
|
|
19604
19508
|
if (!existsSync27(indexFile))
|
|
19605
19509
|
continue;
|
|
19606
19510
|
let content = readFileSync20(indexFile, "utf-8");
|
|
19607
|
-
const srcRel = relative13(process.cwd(),
|
|
19511
|
+
const srcRel = relative13(process.cwd(), resolve28(entry)).replace(/\\/g, "/");
|
|
19608
19512
|
content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
|
|
19609
19513
|
writeFileSync9(join35(devIndexDir, `${name}.svelte.js`), content);
|
|
19610
19514
|
}
|
|
19611
19515
|
}, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
|
|
19612
19516
|
const vueIndexDir = join35(getFrameworkGeneratedDir("vue"), "indexes");
|
|
19613
|
-
const vuePageEntries = vueEntries.filter((file5) =>
|
|
19517
|
+
const vuePageEntries = vueEntries.filter((file5) => resolve28(file5).startsWith(resolve28(vuePagesPath)));
|
|
19614
19518
|
for (const entry of vuePageEntries) {
|
|
19615
19519
|
const name = basename11(entry, ".vue");
|
|
19616
19520
|
const indexFile = join35(vueIndexDir, `${name}.js`);
|
|
19617
19521
|
if (!existsSync27(indexFile))
|
|
19618
19522
|
continue;
|
|
19619
19523
|
let content = readFileSync20(indexFile, "utf-8");
|
|
19620
|
-
const srcRel = relative13(process.cwd(),
|
|
19524
|
+
const srcRel = relative13(process.cwd(), resolve28(entry)).replace(/\\/g, "/");
|
|
19621
19525
|
content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
|
|
19622
19526
|
writeFileSync9(join35(devIndexDir, `${name}.vue.js`), content);
|
|
19623
19527
|
}
|
|
@@ -19630,7 +19534,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19630
19534
|
const last = allComments[allComments.length - 1];
|
|
19631
19535
|
if (!last?.[1])
|
|
19632
19536
|
return JSON.stringify(outputPath);
|
|
19633
|
-
const srcPath =
|
|
19537
|
+
const srcPath = resolve28(projectRoot, last[1].replace("/client/", "/").replace(/\.js$/, ".ts"));
|
|
19634
19538
|
return JSON.stringify(srcPath);
|
|
19635
19539
|
}, QUOTE_CHARS, OPEN_BRACES, CLOSE_BRACES, findFunctionExpressionEnd = (content, startPos) => {
|
|
19636
19540
|
let depth = 0;
|
|
@@ -19915,7 +19819,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19915
19819
|
const sourceClientRoots = [
|
|
19916
19820
|
htmlDir,
|
|
19917
19821
|
htmxDir,
|
|
19918
|
-
islandBootstrapPath &&
|
|
19822
|
+
islandBootstrapPath && dirname19(islandBootstrapPath)
|
|
19919
19823
|
].filter((dir) => Boolean(dir));
|
|
19920
19824
|
const usesGenerated = Boolean(reactDir) || Boolean(svelteDir) || Boolean(vueDir) || Boolean(angularDir);
|
|
19921
19825
|
if (usesGenerated)
|
|
@@ -19956,13 +19860,13 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19956
19860
|
const filterToIncrementalEntries = (entryPoints, mapToSource) => {
|
|
19957
19861
|
if (!isIncremental || !incrementalFiles)
|
|
19958
19862
|
return entryPoints;
|
|
19959
|
-
const normalizedIncremental = new Set(incrementalFiles.map((f2) =>
|
|
19863
|
+
const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve28(f2)));
|
|
19960
19864
|
const matchingEntries = [];
|
|
19961
19865
|
for (const entry of entryPoints) {
|
|
19962
19866
|
const sourceFile = mapToSource(entry);
|
|
19963
19867
|
if (!sourceFile)
|
|
19964
19868
|
continue;
|
|
19965
|
-
if (!normalizedIncremental.has(
|
|
19869
|
+
if (!normalizedIncremental.has(resolve28(sourceFile)))
|
|
19966
19870
|
continue;
|
|
19967
19871
|
matchingEntries.push(entry);
|
|
19968
19872
|
}
|
|
@@ -20127,7 +20031,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20127
20031
|
}
|
|
20128
20032
|
const shouldIncludeHtmlAssets = !isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/html/") && (f2.endsWith(".html") || isStylePath(f2)));
|
|
20129
20033
|
const reactEntries = isIncremental && reactIndexesPath && reactPagesPath ? filterToIncrementalEntries(allReactEntries, (entry) => {
|
|
20130
|
-
if (entry.startsWith(
|
|
20034
|
+
if (entry.startsWith(resolve28(reactIndexesPath))) {
|
|
20131
20035
|
const pageName = basename11(entry, ".tsx");
|
|
20132
20036
|
return join35(reactPagesPath, `${pageName}.tsx`);
|
|
20133
20037
|
}
|
|
@@ -20277,7 +20181,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20277
20181
|
const clientPath = islandSvelteClientPaths[idx];
|
|
20278
20182
|
if (!sourcePath || !clientPath)
|
|
20279
20183
|
continue;
|
|
20280
|
-
islandSvelteClientPathMap.set(
|
|
20184
|
+
islandSvelteClientPathMap.set(resolve28(sourcePath), clientPath);
|
|
20281
20185
|
}
|
|
20282
20186
|
const islandVueClientPathMap = new Map;
|
|
20283
20187
|
for (let idx = 0;idx < islandVueSources.length; idx++) {
|
|
@@ -20285,7 +20189,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20285
20189
|
const clientPath = islandVueClientPaths[idx];
|
|
20286
20190
|
if (!sourcePath || !clientPath)
|
|
20287
20191
|
continue;
|
|
20288
|
-
islandVueClientPathMap.set(
|
|
20192
|
+
islandVueClientPathMap.set(resolve28(sourcePath), clientPath);
|
|
20289
20193
|
}
|
|
20290
20194
|
const islandAngularClientPathMap = new Map;
|
|
20291
20195
|
for (let idx = 0;idx < islandAngularSources.length; idx++) {
|
|
@@ -20293,7 +20197,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20293
20197
|
const clientPath = islandAngularClientPaths[idx];
|
|
20294
20198
|
if (!sourcePath || !clientPath)
|
|
20295
20199
|
continue;
|
|
20296
|
-
islandAngularClientPathMap.set(
|
|
20200
|
+
islandAngularClientPathMap.set(resolve28(sourcePath), clientPath);
|
|
20297
20201
|
}
|
|
20298
20202
|
const reactConventionSources = collectConventionSourceFiles(conventionsMap.react);
|
|
20299
20203
|
const svelteConventionSources = collectConventionSourceFiles(conventionsMap.svelte);
|
|
@@ -20320,7 +20224,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20320
20224
|
naming: `${idx}-[name].[ext]`,
|
|
20321
20225
|
outdir: destDir,
|
|
20322
20226
|
plugins: [stylePreprocessorPlugin2],
|
|
20323
|
-
root:
|
|
20227
|
+
root: dirname19(source),
|
|
20324
20228
|
target: "bun",
|
|
20325
20229
|
throw: false,
|
|
20326
20230
|
tsconfig: "./tsconfig.json"
|
|
@@ -20744,7 +20648,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20744
20648
|
if (serverOutputs.length > 0 && angularServerVendorPaths2 && Object.keys(angularServerVendorPaths2).length > 0) {
|
|
20745
20649
|
const { rewriteBuildOutputsWith: rewriteBuildOutputsWith2 } = await Promise.resolve().then(() => (init_rewriteImportsPlugin(), exports_rewriteImportsPlugin));
|
|
20746
20650
|
await tracePhase("postprocess/server-angular-vendor-imports", () => rewriteBuildOutputsWith2(serverOutputs, (artifact) => {
|
|
20747
|
-
const fileDir =
|
|
20651
|
+
const fileDir = dirname19(artifact.path);
|
|
20748
20652
|
const relativePaths = {};
|
|
20749
20653
|
for (const [specifier, absolute] of Object.entries(angularServerVendorPaths2)) {
|
|
20750
20654
|
const rel = relative13(fileDir, absolute);
|
|
@@ -21218,7 +21122,7 @@ __export(exports_dependencyGraph, {
|
|
|
21218
21122
|
});
|
|
21219
21123
|
import { existsSync as existsSync29, readFileSync as readFileSync21 } from "fs";
|
|
21220
21124
|
var {Glob: Glob9 } = globalThis.Bun;
|
|
21221
|
-
import { resolve as
|
|
21125
|
+
import { resolve as resolve29 } from "path";
|
|
21222
21126
|
var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
|
|
21223
21127
|
const lower = filePath.toLowerCase();
|
|
21224
21128
|
if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
|
|
@@ -21232,8 +21136,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21232
21136
|
if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
|
|
21233
21137
|
return null;
|
|
21234
21138
|
}
|
|
21235
|
-
const fromDir =
|
|
21236
|
-
const normalized =
|
|
21139
|
+
const fromDir = resolve29(fromFile, "..");
|
|
21140
|
+
const normalized = resolve29(fromDir, importPath);
|
|
21237
21141
|
const extensions = [
|
|
21238
21142
|
".ts",
|
|
21239
21143
|
".tsx",
|
|
@@ -21263,7 +21167,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21263
21167
|
dependents.delete(normalizedPath);
|
|
21264
21168
|
}
|
|
21265
21169
|
}, addFileToGraph = (graph, filePath) => {
|
|
21266
|
-
const normalizedPath =
|
|
21170
|
+
const normalizedPath = resolve29(filePath);
|
|
21267
21171
|
if (!existsSync29(normalizedPath))
|
|
21268
21172
|
return;
|
|
21269
21173
|
const dependencies = extractDependencies(normalizedPath);
|
|
@@ -21290,10 +21194,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21290
21194
|
}, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
|
|
21291
21195
|
const processedFiles = new Set;
|
|
21292
21196
|
const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
|
|
21293
|
-
const resolvedDirs = directories.map((dir) =>
|
|
21197
|
+
const resolvedDirs = directories.map((dir) => resolve29(dir)).filter((dir) => existsSync29(dir));
|
|
21294
21198
|
const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
|
|
21295
21199
|
for (const file5 of allFiles) {
|
|
21296
|
-
const fullPath =
|
|
21200
|
+
const fullPath = resolve29(file5);
|
|
21297
21201
|
if (IGNORED_SEGMENTS.some((seg) => fullPath.includes(seg)))
|
|
21298
21202
|
continue;
|
|
21299
21203
|
if (processedFiles.has(fullPath))
|
|
@@ -21406,7 +21310,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21406
21310
|
return [];
|
|
21407
21311
|
}
|
|
21408
21312
|
}, getAffectedFiles = (graph, changedFile) => {
|
|
21409
|
-
const normalizedPath =
|
|
21313
|
+
const normalizedPath = resolve29(changedFile);
|
|
21410
21314
|
const affected = new Set;
|
|
21411
21315
|
const toProcess = [normalizedPath];
|
|
21412
21316
|
const processNode = (current) => {
|
|
@@ -21437,7 +21341,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21437
21341
|
}, removeDependentsForFile = (graph, normalizedPath) => {
|
|
21438
21342
|
graph.dependents.delete(normalizedPath);
|
|
21439
21343
|
}, removeFileFromGraph = (graph, filePath) => {
|
|
21440
|
-
const normalizedPath =
|
|
21344
|
+
const normalizedPath = resolve29(filePath);
|
|
21441
21345
|
removeDepsForFile(graph, normalizedPath);
|
|
21442
21346
|
removeDependentsForFile(graph, normalizedPath);
|
|
21443
21347
|
};
|
|
@@ -21480,12 +21384,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
|
|
|
21480
21384
|
};
|
|
21481
21385
|
|
|
21482
21386
|
// src/dev/configResolver.ts
|
|
21483
|
-
import { resolve as
|
|
21387
|
+
import { resolve as resolve30 } from "path";
|
|
21484
21388
|
var resolveBuildPaths = (config) => {
|
|
21485
21389
|
const cwd2 = process.cwd();
|
|
21486
21390
|
const normalize = (path) => path.replace(/\\/g, "/");
|
|
21487
|
-
const withDefault = (value, fallback) => normalize(
|
|
21488
|
-
const optional = (value) => value ? normalize(
|
|
21391
|
+
const withDefault = (value, fallback) => normalize(resolve30(cwd2, value ?? fallback));
|
|
21392
|
+
const optional = (value) => value ? normalize(resolve30(cwd2, value)) : undefined;
|
|
21489
21393
|
return {
|
|
21490
21394
|
angularDir: optional(config.angularDirectory),
|
|
21491
21395
|
assetsDir: optional(config.assetsDirectory),
|
|
@@ -21539,7 +21443,7 @@ var init_clientManager = __esm(() => {
|
|
|
21539
21443
|
|
|
21540
21444
|
// src/dev/pathUtils.ts
|
|
21541
21445
|
import { existsSync as existsSync30, readdirSync as readdirSync4, readFileSync as readFileSync22 } from "fs";
|
|
21542
|
-
import { dirname as
|
|
21446
|
+
import { dirname as dirname20, resolve as resolve31 } from "path";
|
|
21543
21447
|
var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
21544
21448
|
if (shouldIgnorePath(filePath, resolved)) {
|
|
21545
21449
|
return "ignored";
|
|
@@ -21615,7 +21519,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21615
21519
|
return "unknown";
|
|
21616
21520
|
}, collectAngularResourceDirs = (angularDir) => {
|
|
21617
21521
|
const out = new Set;
|
|
21618
|
-
const angularRoot =
|
|
21522
|
+
const angularRoot = resolve31(angularDir);
|
|
21619
21523
|
const angularRootNormalized = normalizePath(angularRoot);
|
|
21620
21524
|
const walk = (dir) => {
|
|
21621
21525
|
let entries;
|
|
@@ -21628,7 +21532,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21628
21532
|
if (entry.name.startsWith(".") || entry.name === "node_modules") {
|
|
21629
21533
|
continue;
|
|
21630
21534
|
}
|
|
21631
|
-
const full =
|
|
21535
|
+
const full = resolve31(dir, entry.name);
|
|
21632
21536
|
if (entry.isDirectory()) {
|
|
21633
21537
|
walk(full);
|
|
21634
21538
|
continue;
|
|
@@ -21667,10 +21571,10 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21667
21571
|
refs.push(strMatch[1]);
|
|
21668
21572
|
}
|
|
21669
21573
|
}
|
|
21670
|
-
const componentDir =
|
|
21574
|
+
const componentDir = dirname20(full);
|
|
21671
21575
|
for (const ref of refs) {
|
|
21672
|
-
const refAbs = normalizePath(
|
|
21673
|
-
const refDir = normalizePath(
|
|
21576
|
+
const refAbs = normalizePath(resolve31(componentDir, ref));
|
|
21577
|
+
const refDir = normalizePath(dirname20(refAbs));
|
|
21674
21578
|
if (refDir === angularRootNormalized || refDir.startsWith(angularRootNormalized + "/")) {
|
|
21675
21579
|
continue;
|
|
21676
21580
|
}
|
|
@@ -21686,7 +21590,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21686
21590
|
const push = (path) => {
|
|
21687
21591
|
if (!path)
|
|
21688
21592
|
return;
|
|
21689
|
-
const abs = normalizePath(
|
|
21593
|
+
const abs = normalizePath(resolve31(cwd2, path));
|
|
21690
21594
|
if (!roots.includes(abs))
|
|
21691
21595
|
roots.push(abs);
|
|
21692
21596
|
};
|
|
@@ -21711,7 +21615,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21711
21615
|
push(cfg.assetsDir);
|
|
21712
21616
|
push(cfg.stylesDir);
|
|
21713
21617
|
for (const candidate of ["src", "db", "assets", "styles"]) {
|
|
21714
|
-
const abs = normalizePath(
|
|
21618
|
+
const abs = normalizePath(resolve31(cwd2, candidate));
|
|
21715
21619
|
if (existsSync30(abs) && !roots.includes(abs))
|
|
21716
21620
|
roots.push(abs);
|
|
21717
21621
|
}
|
|
@@ -21723,7 +21627,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21723
21627
|
continue;
|
|
21724
21628
|
if (entry.name.startsWith("."))
|
|
21725
21629
|
continue;
|
|
21726
|
-
const abs = normalizePath(
|
|
21630
|
+
const abs = normalizePath(resolve31(cwd2, entry.name));
|
|
21727
21631
|
if (roots.includes(abs))
|
|
21728
21632
|
continue;
|
|
21729
21633
|
if (shouldIgnorePath(abs, resolved))
|
|
@@ -21798,7 +21702,7 @@ var init_pathUtils = __esm(() => {
|
|
|
21798
21702
|
// src/dev/fileWatcher.ts
|
|
21799
21703
|
import { watch } from "fs";
|
|
21800
21704
|
import { existsSync as existsSync31, readdirSync as readdirSync5, statSync as statSync4 } from "fs";
|
|
21801
|
-
import { dirname as
|
|
21705
|
+
import { dirname as dirname21, join as join37, resolve as resolve32 } from "path";
|
|
21802
21706
|
var safeRemoveFromGraph = (graph, fullPath) => {
|
|
21803
21707
|
try {
|
|
21804
21708
|
removeFileFromGraph(graph, fullPath);
|
|
@@ -21856,7 +21760,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21856
21760
|
return;
|
|
21857
21761
|
if (shouldSkipFilename(filename, isStylesDir)) {
|
|
21858
21762
|
if (event === "rename") {
|
|
21859
|
-
const eventDir =
|
|
21763
|
+
const eventDir = dirname21(join37(absolutePath, filename)).replace(/\\/g, "/");
|
|
21860
21764
|
atomicRecoveryScan(eventDir);
|
|
21861
21765
|
}
|
|
21862
21766
|
return;
|
|
@@ -21879,7 +21783,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21879
21783
|
}, addFileWatchers = (state, paths, onFileChange) => {
|
|
21880
21784
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
21881
21785
|
paths.forEach((path) => {
|
|
21882
|
-
const absolutePath =
|
|
21786
|
+
const absolutePath = resolve32(path).replace(/\\/g, "/");
|
|
21883
21787
|
if (!existsSync31(absolutePath)) {
|
|
21884
21788
|
return;
|
|
21885
21789
|
}
|
|
@@ -21890,7 +21794,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21890
21794
|
const watchPaths = getWatchPaths(config, state.resolvedPaths);
|
|
21891
21795
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
21892
21796
|
watchPaths.forEach((path) => {
|
|
21893
|
-
const absolutePath =
|
|
21797
|
+
const absolutePath = resolve32(path).replace(/\\/g, "/");
|
|
21894
21798
|
if (!existsSync31(absolutePath)) {
|
|
21895
21799
|
return;
|
|
21896
21800
|
}
|
|
@@ -21909,13 +21813,13 @@ var init_fileWatcher = __esm(() => {
|
|
|
21909
21813
|
});
|
|
21910
21814
|
|
|
21911
21815
|
// src/dev/assetStore.ts
|
|
21912
|
-
import { resolve as
|
|
21816
|
+
import { resolve as resolve33 } from "path";
|
|
21913
21817
|
import { readdir as readdir4, unlink } from "fs/promises";
|
|
21914
21818
|
var mimeTypes, getMimeType = (filePath) => {
|
|
21915
21819
|
const ext = filePath.slice(filePath.lastIndexOf("."));
|
|
21916
21820
|
return mimeTypes[ext] ?? "application/octet-stream";
|
|
21917
21821
|
}, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
|
|
21918
|
-
const fullPath =
|
|
21822
|
+
const fullPath = resolve33(dir, entry.name);
|
|
21919
21823
|
if (entry.isDirectory()) {
|
|
21920
21824
|
return walkAndClean(fullPath);
|
|
21921
21825
|
}
|
|
@@ -21931,10 +21835,10 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
21931
21835
|
}, cleanStaleAssets = async (store, manifest, buildDir) => {
|
|
21932
21836
|
const liveByIdentity = new Map;
|
|
21933
21837
|
for (const webPath of store.keys()) {
|
|
21934
|
-
const diskPath =
|
|
21838
|
+
const diskPath = resolve33(buildDir, webPath.slice(1));
|
|
21935
21839
|
liveByIdentity.set(stripHash(diskPath), diskPath);
|
|
21936
21840
|
}
|
|
21937
|
-
const absBuildDir =
|
|
21841
|
+
const absBuildDir = resolve33(buildDir);
|
|
21938
21842
|
Object.values(manifest).forEach((val) => {
|
|
21939
21843
|
if (!HASHED_FILE_RE.test(val))
|
|
21940
21844
|
return;
|
|
@@ -21952,7 +21856,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
21952
21856
|
} catch {}
|
|
21953
21857
|
}, lookupAsset = (store, path) => store.get(path), processScanEntry = (entry, dir, prefix, store, scanDir) => {
|
|
21954
21858
|
if (entry.isDirectory()) {
|
|
21955
|
-
return scanDir(
|
|
21859
|
+
return scanDir(resolve33(dir, entry.name), `${prefix}${entry.name}/`);
|
|
21956
21860
|
}
|
|
21957
21861
|
if (!entry.name.startsWith("chunk-")) {
|
|
21958
21862
|
return null;
|
|
@@ -21961,7 +21865,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
21961
21865
|
if (store.has(webPath)) {
|
|
21962
21866
|
return null;
|
|
21963
21867
|
}
|
|
21964
|
-
return Bun.file(
|
|
21868
|
+
return Bun.file(resolve33(dir, entry.name)).bytes().then((bytes) => {
|
|
21965
21869
|
store.set(webPath, bytes);
|
|
21966
21870
|
return;
|
|
21967
21871
|
}).catch(() => {});
|
|
@@ -21983,7 +21887,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
21983
21887
|
for (const webPath of newIdentities.values()) {
|
|
21984
21888
|
if (store.has(webPath))
|
|
21985
21889
|
continue;
|
|
21986
|
-
loadPromises.push(Bun.file(
|
|
21890
|
+
loadPromises.push(Bun.file(resolve33(buildDir, webPath.slice(1))).bytes().then((bytes) => {
|
|
21987
21891
|
store.set(webPath, bytes);
|
|
21988
21892
|
return;
|
|
21989
21893
|
}).catch(() => {}));
|
|
@@ -22109,9 +22013,9 @@ var init_transformCache = __esm(() => {
|
|
|
22109
22013
|
});
|
|
22110
22014
|
|
|
22111
22015
|
// src/dev/reactComponentClassifier.ts
|
|
22112
|
-
import { resolve as
|
|
22016
|
+
import { resolve as resolve34 } from "path";
|
|
22113
22017
|
var classifyComponent = (filePath) => {
|
|
22114
|
-
const normalizedPath =
|
|
22018
|
+
const normalizedPath = resolve34(filePath);
|
|
22115
22019
|
if (normalizedPath.includes("/react/pages/")) {
|
|
22116
22020
|
return "server";
|
|
22117
22021
|
}
|
|
@@ -22123,7 +22027,7 @@ var classifyComponent = (filePath) => {
|
|
|
22123
22027
|
var init_reactComponentClassifier = () => {};
|
|
22124
22028
|
|
|
22125
22029
|
// src/dev/moduleMapper.ts
|
|
22126
|
-
import { basename as basename12, resolve as
|
|
22030
|
+
import { basename as basename12, resolve as resolve35 } from "path";
|
|
22127
22031
|
var buildModulePaths = (moduleKeys, manifest) => {
|
|
22128
22032
|
const modulePaths = {};
|
|
22129
22033
|
moduleKeys.forEach((key) => {
|
|
@@ -22133,7 +22037,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
22133
22037
|
});
|
|
22134
22038
|
return modulePaths;
|
|
22135
22039
|
}, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
|
|
22136
|
-
const normalizedFile =
|
|
22040
|
+
const normalizedFile = resolve35(sourceFile);
|
|
22137
22041
|
const normalizedPath = normalizedFile.replace(/\\/g, "/");
|
|
22138
22042
|
if (processedFiles.has(normalizedFile)) {
|
|
22139
22043
|
return null;
|
|
@@ -22169,7 +22073,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
22169
22073
|
});
|
|
22170
22074
|
return grouped;
|
|
22171
22075
|
}, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
|
|
22172
|
-
const normalizedFile =
|
|
22076
|
+
const normalizedFile = resolve35(sourceFile);
|
|
22173
22077
|
const fileName = basename12(normalizedFile);
|
|
22174
22078
|
const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
|
|
22175
22079
|
const pascalName = toPascal(baseName);
|
|
@@ -22231,7 +22135,7 @@ __export(exports_resolveOwningComponents, {
|
|
|
22231
22135
|
invalidateResourceIndex: () => invalidateResourceIndex
|
|
22232
22136
|
});
|
|
22233
22137
|
import { readdirSync as readdirSync6, readFileSync as readFileSync24, statSync as statSync5 } from "fs";
|
|
22234
|
-
import { dirname as
|
|
22138
|
+
import { dirname as dirname22, extname as extname9, join as join38, resolve as resolve36 } from "path";
|
|
22235
22139
|
import ts14 from "typescript";
|
|
22236
22140
|
var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") || file5.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
|
|
22237
22141
|
const out = [];
|
|
@@ -22344,7 +22248,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22344
22248
|
};
|
|
22345
22249
|
visit(sourceFile);
|
|
22346
22250
|
return out;
|
|
22347
|
-
}, safeNormalize = (path) =>
|
|
22251
|
+
}, safeNormalize = (path) => resolve36(path).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
|
|
22348
22252
|
const { changedFilePath, userAngularRoot } = params;
|
|
22349
22253
|
const changedAbs = safeNormalize(changedFilePath);
|
|
22350
22254
|
const out = [];
|
|
@@ -22385,7 +22289,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22385
22289
|
return null;
|
|
22386
22290
|
}
|
|
22387
22291
|
const sf = ts14.createSourceFile(childFilePath, source, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
|
|
22388
|
-
const childDir =
|
|
22292
|
+
const childDir = dirname22(childFilePath);
|
|
22389
22293
|
for (const stmt of sf.statements) {
|
|
22390
22294
|
if (!ts14.isImportDeclaration(stmt))
|
|
22391
22295
|
continue;
|
|
@@ -22413,7 +22317,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22413
22317
|
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
22414
22318
|
return null;
|
|
22415
22319
|
}
|
|
22416
|
-
const base =
|
|
22320
|
+
const base = resolve36(childDir, spec);
|
|
22417
22321
|
const candidates = [
|
|
22418
22322
|
`${base}.ts`,
|
|
22419
22323
|
`${base}.tsx`,
|
|
@@ -22442,7 +22346,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22442
22346
|
const parentFile = new Map;
|
|
22443
22347
|
for (const tsPath of walkAngularSourceFiles(userAngularRoot)) {
|
|
22444
22348
|
const classes = parseDecoratedClasses(tsPath);
|
|
22445
|
-
const componentDir =
|
|
22349
|
+
const componentDir = dirname22(tsPath);
|
|
22446
22350
|
for (const cls of classes) {
|
|
22447
22351
|
const entity = {
|
|
22448
22352
|
className: cls.className,
|
|
@@ -22451,7 +22355,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22451
22355
|
};
|
|
22452
22356
|
if (cls.kind === "component") {
|
|
22453
22357
|
for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
|
|
22454
|
-
const abs = safeNormalize(
|
|
22358
|
+
const abs = safeNormalize(resolve36(componentDir, url));
|
|
22455
22359
|
const existing = resource.get(abs);
|
|
22456
22360
|
if (existing)
|
|
22457
22361
|
existing.push(entity);
|
|
@@ -22619,7 +22523,7 @@ __export(exports_moduleServer, {
|
|
|
22619
22523
|
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
22620
22524
|
});
|
|
22621
22525
|
import { existsSync as existsSync32, readFileSync as readFileSync25, statSync as statSync6 } from "fs";
|
|
22622
|
-
import { basename as basename13, dirname as
|
|
22526
|
+
import { basename as basename13, dirname as dirname23, extname as extname10, join as join39, resolve as resolve37, relative as relative14 } from "path";
|
|
22623
22527
|
var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
22624
22528
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
22625
22529
|
const allExports = [];
|
|
@@ -22639,7 +22543,7 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPIL
|
|
|
22639
22543
|
${stubs}
|
|
22640
22544
|
`;
|
|
22641
22545
|
}, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
|
|
22642
|
-
const found = extensions.find((ext) => existsSync32(
|
|
22546
|
+
const found = extensions.find((ext) => existsSync32(resolve37(projectRoot, srcPath + ext)));
|
|
22643
22547
|
return found ? srcPath + found : srcPath;
|
|
22644
22548
|
}, IMPORT_EXTENSIONS, SIDE_EFFECT_EXTENSIONS, MODULE_EXTENSIONS, RESOLVED_MODULE_EXTENSIONS, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
|
|
22645
22549
|
const entries = Object.entries(vendorPaths).sort(([a], [b2]) => b2.length - a.length);
|
|
@@ -22654,7 +22558,7 @@ ${stubs}
|
|
|
22654
22558
|
return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
|
|
22655
22559
|
}, srcUrl = (relPath, projectRoot) => {
|
|
22656
22560
|
const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
|
|
22657
|
-
const absPath =
|
|
22561
|
+
const absPath = resolve37(projectRoot, relPath);
|
|
22658
22562
|
const cached = mtimeCache.get(absPath);
|
|
22659
22563
|
if (cached !== undefined)
|
|
22660
22564
|
return `${base}?v=${buildVersion(cached, absPath)}`;
|
|
@@ -22666,12 +22570,12 @@ ${stubs}
|
|
|
22666
22570
|
return base;
|
|
22667
22571
|
}
|
|
22668
22572
|
}, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
|
|
22669
|
-
const absPath =
|
|
22573
|
+
const absPath = resolve37(fileDir, relPath);
|
|
22670
22574
|
const rel = relative14(projectRoot, absPath);
|
|
22671
22575
|
const extension = extname10(rel);
|
|
22672
22576
|
let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
|
|
22673
22577
|
if (extname10(srcPath) === ".svelte") {
|
|
22674
|
-
srcPath = relative14(projectRoot, resolveSvelteModulePath(
|
|
22578
|
+
srcPath = relative14(projectRoot, resolveSvelteModulePath(resolve37(projectRoot, srcPath)));
|
|
22675
22579
|
}
|
|
22676
22580
|
return srcUrl(srcPath, projectRoot);
|
|
22677
22581
|
}, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
|
|
@@ -22690,13 +22594,13 @@ ${stubs}
|
|
|
22690
22594
|
const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
|
|
22691
22595
|
const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
|
|
22692
22596
|
if (!subpath) {
|
|
22693
|
-
const pkgDir =
|
|
22597
|
+
const pkgDir = resolve37(projectRoot, "node_modules", packageName ?? "");
|
|
22694
22598
|
const pkgJsonPath = join39(pkgDir, "package.json");
|
|
22695
22599
|
if (existsSync32(pkgJsonPath)) {
|
|
22696
22600
|
const pkg = JSON.parse(readFileSync25(pkgJsonPath, "utf-8"));
|
|
22697
22601
|
const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
|
|
22698
22602
|
if (esmEntry) {
|
|
22699
|
-
const resolved =
|
|
22603
|
+
const resolved = resolve37(pkgDir, esmEntry);
|
|
22700
22604
|
if (existsSync32(resolved))
|
|
22701
22605
|
return relative14(projectRoot, resolved);
|
|
22702
22606
|
}
|
|
@@ -22728,7 +22632,7 @@ ${stubs}
|
|
|
22728
22632
|
};
|
|
22729
22633
|
result = result.replace(/^((?:import\s+[\s\S]+?\s+from|export\s+[\s\S]+?\s+from|import)\s*["'])([^"'./][^"']*)(["'])/gm, stubReplace);
|
|
22730
22634
|
result = result.replace(/(import\s*\(\s*["'])([^"'./][^"']*)(["']\s*\))/g, stubReplace);
|
|
22731
|
-
const fileDir =
|
|
22635
|
+
const fileDir = dirname23(filePath);
|
|
22732
22636
|
result = result.replace(/(from\s*["'])(\.\.?\/[^"']+)(["'])/g, (_match, prefix, relPath, suffix) => `${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, IMPORT_EXTENSIONS)}${suffix}`);
|
|
22733
22637
|
result = result.replace(/(import\s*\(\s*["'])(\.\.?\/[^"']+)(["']\s*\))/g, (_match, prefix, relPath, suffix) => `${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, IMPORT_EXTENSIONS)}${suffix}`);
|
|
22734
22638
|
result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => `${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, SIDE_EFFECT_EXTENSIONS)}${suffix}`);
|
|
@@ -22743,12 +22647,12 @@ ${stubs}
|
|
|
22743
22647
|
result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
|
|
22744
22648
|
result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
|
|
22745
22649
|
result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
|
|
22746
|
-
const absPath =
|
|
22650
|
+
const absPath = resolve37(fileDir, relPath);
|
|
22747
22651
|
const rel = relative14(projectRoot, absPath);
|
|
22748
22652
|
return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
|
|
22749
22653
|
});
|
|
22750
22654
|
result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
|
|
22751
|
-
const absPath =
|
|
22655
|
+
const absPath = resolve37(fileDir, relPath);
|
|
22752
22656
|
const rel = relative14(projectRoot, absPath);
|
|
22753
22657
|
return `'${srcUrl(rel, projectRoot)}'`;
|
|
22754
22658
|
});
|
|
@@ -23061,7 +22965,7 @@ ${code}`;
|
|
|
23061
22965
|
code = injectVueHmr(code, filePath, projectRoot, vueDir);
|
|
23062
22966
|
return rewriteImports(code, filePath, projectRoot, rewriter);
|
|
23063
22967
|
}, injectVueHmr = (code, filePath, projectRoot, vueDir) => {
|
|
23064
|
-
const hmrBase = vueDir ?
|
|
22968
|
+
const hmrBase = vueDir ? resolve37(vueDir) : projectRoot;
|
|
23065
22969
|
const hmrId = relative14(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
|
|
23066
22970
|
let result = code.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
|
|
23067
22971
|
result += [
|
|
@@ -23225,7 +23129,7 @@ export default {};
|
|
|
23225
23129
|
const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
23226
23130
|
return jsResponse(`var s=document.createElement('style');s.textContent=\`${escaped}\`;s.dataset.svelteHmr=${JSON.stringify(cssCheckPath)};var p=document.querySelector('style[data-svelte-hmr="${cssCheckPath}"]');if(p)p.remove();document.head.appendChild(s);`);
|
|
23227
23131
|
}, resolveSourcePath = (relPath, projectRoot) => {
|
|
23228
|
-
const filePath =
|
|
23132
|
+
const filePath = resolve37(projectRoot, relPath);
|
|
23229
23133
|
const ext = extname10(filePath);
|
|
23230
23134
|
if (ext === ".svelte")
|
|
23231
23135
|
return { ext, filePath: resolveSvelteModulePath(filePath) };
|
|
@@ -23262,14 +23166,14 @@ export default {};
|
|
|
23262
23166
|
const absoluteCandidate = "/" + tail.replace(/^\/+/, "");
|
|
23263
23167
|
const candidates = [
|
|
23264
23168
|
absoluteCandidate,
|
|
23265
|
-
|
|
23169
|
+
resolve37(projectRoot, tail)
|
|
23266
23170
|
];
|
|
23267
23171
|
try {
|
|
23268
23172
|
const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
|
|
23269
23173
|
const cfg = await loadConfig2();
|
|
23270
|
-
const angularDir = cfg.angularDirectory &&
|
|
23174
|
+
const angularDir = cfg.angularDirectory && resolve37(projectRoot, cfg.angularDirectory);
|
|
23271
23175
|
if (angularDir)
|
|
23272
|
-
candidates.push(
|
|
23176
|
+
candidates.push(resolve37(angularDir, tail));
|
|
23273
23177
|
} catch {}
|
|
23274
23178
|
for (const candidate of candidates) {
|
|
23275
23179
|
if (await fileExists(candidate)) {
|
|
@@ -23300,7 +23204,7 @@ export default {};
|
|
|
23300
23204
|
if (!TRANSPILABLE.has(ext))
|
|
23301
23205
|
return;
|
|
23302
23206
|
const stat3 = statSync6(filePath);
|
|
23303
|
-
const resolvedVueDir = vueDir ?
|
|
23207
|
+
const resolvedVueDir = vueDir ? resolve37(vueDir) : undefined;
|
|
23304
23208
|
let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
|
|
23305
23209
|
const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
|
|
23306
23210
|
if (isAngularGeneratedJs) {
|
|
@@ -23359,7 +23263,7 @@ export default {};
|
|
|
23359
23263
|
const relPath = pathname.slice(SRC_PREFIX.length);
|
|
23360
23264
|
if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
|
|
23361
23265
|
return handleBunWrapRequest();
|
|
23362
|
-
const virtualCssResponse = handleVirtualSvelteCss(
|
|
23266
|
+
const virtualCssResponse = handleVirtualSvelteCss(resolve37(projectRoot, relPath));
|
|
23363
23267
|
if (virtualCssResponse)
|
|
23364
23268
|
return virtualCssResponse;
|
|
23365
23269
|
const { filePath, ext } = resolveSourcePath(relPath, projectRoot);
|
|
@@ -23375,11 +23279,11 @@ export default {};
|
|
|
23375
23279
|
SRC_IMPORT_RE.lastIndex = 0;
|
|
23376
23280
|
while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
|
|
23377
23281
|
if (match[1])
|
|
23378
|
-
files.push(
|
|
23282
|
+
files.push(resolve37(projectRoot, match[1]));
|
|
23379
23283
|
}
|
|
23380
23284
|
return files;
|
|
23381
23285
|
}, invalidateModule = (filePath) => {
|
|
23382
|
-
const resolved =
|
|
23286
|
+
const resolved = resolve37(filePath);
|
|
23383
23287
|
invalidate(filePath);
|
|
23384
23288
|
if (resolved !== filePath)
|
|
23385
23289
|
invalidate(resolved);
|
|
@@ -23524,7 +23428,7 @@ __export(exports_hmrCompiler, {
|
|
|
23524
23428
|
getApplyMetadataModule: () => getApplyMetadataModule,
|
|
23525
23429
|
encodeHmrComponentId: () => encodeHmrComponentId
|
|
23526
23430
|
});
|
|
23527
|
-
import { dirname as
|
|
23431
|
+
import { dirname as dirname24, relative as relative15, resolve as resolve38 } from "path";
|
|
23528
23432
|
import { performance as performance2 } from "perf_hooks";
|
|
23529
23433
|
var getApplyMetadataModule = async (encodedId) => {
|
|
23530
23434
|
const decoded = decodeURIComponent(encodedId);
|
|
@@ -23533,7 +23437,7 @@ var getApplyMetadataModule = async (encodedId) => {
|
|
|
23533
23437
|
return null;
|
|
23534
23438
|
const filePathRel = decoded.slice(0, at2);
|
|
23535
23439
|
const className = decoded.slice(at2 + 1);
|
|
23536
|
-
const componentFilePath =
|
|
23440
|
+
const componentFilePath = resolve38(process.cwd(), filePathRel);
|
|
23537
23441
|
const projectRelPath = relative15(process.cwd(), componentFilePath).replace(/\\/g, "/");
|
|
23538
23442
|
const cacheKey2 = encodeURIComponent(`${projectRelPath}@${className}`);
|
|
23539
23443
|
const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
@@ -23544,7 +23448,7 @@ var getApplyMetadataModule = async (encodedId) => {
|
|
|
23544
23448
|
const { resolveOwningComponents: resolveOwningComponents2 } = await Promise.resolve().then(() => (init_resolveOwningComponents(), exports_resolveOwningComponents));
|
|
23545
23449
|
const owners = resolveOwningComponents2({
|
|
23546
23450
|
changedFilePath: componentFilePath,
|
|
23547
|
-
userAngularRoot:
|
|
23451
|
+
userAngularRoot: dirname24(componentFilePath)
|
|
23548
23452
|
});
|
|
23549
23453
|
const owner = owners.find((o3) => o3.className === className);
|
|
23550
23454
|
const kind = owner?.kind ?? "component";
|
|
@@ -23695,11 +23599,11 @@ var exports_simpleHTMLHMR = {};
|
|
|
23695
23599
|
__export(exports_simpleHTMLHMR, {
|
|
23696
23600
|
handleHTMLUpdate: () => handleHTMLUpdate
|
|
23697
23601
|
});
|
|
23698
|
-
import { resolve as
|
|
23602
|
+
import { resolve as resolve39 } from "path";
|
|
23699
23603
|
var handleHTMLUpdate = async (htmlFilePath) => {
|
|
23700
23604
|
let htmlContent;
|
|
23701
23605
|
try {
|
|
23702
|
-
const resolvedPath =
|
|
23606
|
+
const resolvedPath = resolve39(htmlFilePath);
|
|
23703
23607
|
const file5 = Bun.file(resolvedPath);
|
|
23704
23608
|
if (!await file5.exists()) {
|
|
23705
23609
|
return null;
|
|
@@ -23725,11 +23629,11 @@ var exports_simpleHTMXHMR = {};
|
|
|
23725
23629
|
__export(exports_simpleHTMXHMR, {
|
|
23726
23630
|
handleHTMXUpdate: () => handleHTMXUpdate
|
|
23727
23631
|
});
|
|
23728
|
-
import { resolve as
|
|
23632
|
+
import { resolve as resolve40 } from "path";
|
|
23729
23633
|
var handleHTMXUpdate = async (htmxFilePath) => {
|
|
23730
23634
|
let htmlContent;
|
|
23731
23635
|
try {
|
|
23732
|
-
const resolvedPath =
|
|
23636
|
+
const resolvedPath = resolve40(htmxFilePath);
|
|
23733
23637
|
const file5 = Bun.file(resolvedPath);
|
|
23734
23638
|
if (!await file5.exists()) {
|
|
23735
23639
|
return null;
|
|
@@ -23752,7 +23656,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
23752
23656
|
|
|
23753
23657
|
// src/dev/rebuildTrigger.ts
|
|
23754
23658
|
import { existsSync as existsSync33, rmSync as rmSync3 } from "fs";
|
|
23755
|
-
import { basename as basename14, dirname as
|
|
23659
|
+
import { basename as basename14, dirname as dirname25, join as join40, relative as relative16, resolve as resolve41, sep as sep4 } from "path";
|
|
23756
23660
|
var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequentially = (items, action) => items.reduce((chain, item) => chain.then(() => action(item)), Promise.resolve()), getStyleTransformConfig = (config) => createStyleTransformConfig(config.stylePreprocessors, config.postcss), recompileTailwindForFastPath = async (state, config, files) => {
|
|
23757
23661
|
if (!config.tailwind)
|
|
23758
23662
|
return;
|
|
@@ -23764,7 +23668,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
23764
23668
|
if (!cssChanged)
|
|
23765
23669
|
return;
|
|
23766
23670
|
try {
|
|
23767
|
-
const outputPath =
|
|
23671
|
+
const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
|
|
23768
23672
|
const bytes = await Bun.file(outputPath).bytes();
|
|
23769
23673
|
const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
|
|
23770
23674
|
state.assetStore.set(webPath, bytes);
|
|
@@ -23854,12 +23758,12 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
23854
23758
|
}, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync33(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
|
|
23855
23759
|
const config = state.config;
|
|
23856
23760
|
const cwd2 = process.cwd();
|
|
23857
|
-
const absDeleted =
|
|
23761
|
+
const absDeleted = resolve41(deletedFile).replace(/\\/g, "/");
|
|
23858
23762
|
for (const { configKey, framework } of FRAMEWORK_DIR_KEYS_FOR_CLEANUP) {
|
|
23859
23763
|
const dir = config[configKey];
|
|
23860
23764
|
if (!dir)
|
|
23861
23765
|
continue;
|
|
23862
|
-
const absDir =
|
|
23766
|
+
const absDir = resolve41(cwd2, dir).replace(/\\/g, "/");
|
|
23863
23767
|
if (!absDeleted.startsWith(`${absDir}/`))
|
|
23864
23768
|
continue;
|
|
23865
23769
|
const rel = absDeleted.slice(absDir.length + 1);
|
|
@@ -23883,7 +23787,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
23883
23787
|
removeStaleGenerated(state, filePathInSet);
|
|
23884
23788
|
try {
|
|
23885
23789
|
const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
|
|
23886
|
-
const deletedPathResolved =
|
|
23790
|
+
const deletedPathResolved = resolve41(filePathInSet);
|
|
23887
23791
|
affectedFiles.forEach((affectedFile) => {
|
|
23888
23792
|
if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
|
|
23889
23793
|
validFiles.push(affectedFile);
|
|
@@ -23927,7 +23831,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
23927
23831
|
if (storedHash !== undefined && storedHash === fileHash) {
|
|
23928
23832
|
return;
|
|
23929
23833
|
}
|
|
23930
|
-
const normalizedFilePath =
|
|
23834
|
+
const normalizedFilePath = resolve41(filePathInSet);
|
|
23931
23835
|
if (!processedFiles.has(normalizedFilePath)) {
|
|
23932
23836
|
validFiles.push(normalizedFilePath);
|
|
23933
23837
|
processedFiles.add(normalizedFilePath);
|
|
@@ -24065,7 +23969,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24065
23969
|
const publicDir = state.resolvedPaths.publicDir;
|
|
24066
23970
|
const assetsDir = state.resolvedPaths.assetsDir;
|
|
24067
23971
|
const handleStaticMirror = async (sourceDir, urlPrefix) => {
|
|
24068
|
-
const absSource =
|
|
23972
|
+
const absSource = resolve41(filePath);
|
|
24069
23973
|
const normalizedSource = absSource.replace(/\\/g, "/");
|
|
24070
23974
|
const normalizedDir = sourceDir.replace(/\\/g, "/");
|
|
24071
23975
|
if (!normalizedSource.startsWith(normalizedDir + "/"))
|
|
@@ -24073,10 +23977,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24073
23977
|
try {
|
|
24074
23978
|
const relFromDir = normalizedSource.slice(normalizedDir.length + 1);
|
|
24075
23979
|
const buildDir = state.resolvedPaths.buildDir;
|
|
24076
|
-
const destPath =
|
|
23980
|
+
const destPath = resolve41(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
|
|
24077
23981
|
const { mkdir: mkdir7, copyFile, readFile: readFile6 } = await import("fs/promises");
|
|
24078
|
-
const { dirname:
|
|
24079
|
-
await mkdir7(
|
|
23982
|
+
const { dirname: dirname26 } = await import("path");
|
|
23983
|
+
await mkdir7(dirname26(destPath), { recursive: true });
|
|
24080
23984
|
await copyFile(absSource, destPath);
|
|
24081
23985
|
const bytes = await readFile6(destPath);
|
|
24082
23986
|
const webPath = urlPrefix ? `/${urlPrefix}/${relFromDir}` : `/${relFromDir}`;
|
|
@@ -24099,7 +24003,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24099
24003
|
if (assetsDir && await handleStaticMirror(assetsDir, "assets"))
|
|
24100
24004
|
return;
|
|
24101
24005
|
if (framework === "unknown") {
|
|
24102
|
-
invalidate(
|
|
24006
|
+
invalidate(resolve41(filePath));
|
|
24103
24007
|
const relPath = relative16(process.cwd(), filePath);
|
|
24104
24008
|
logHmrUpdate(relPath);
|
|
24105
24009
|
const angularDir = state.resolvedPaths.angularDir;
|
|
@@ -24107,10 +24011,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24107
24011
|
if (angularDir && state.dependencyGraph) {
|
|
24108
24012
|
try {
|
|
24109
24013
|
const { addFileToGraph: addFileToGraph2 } = await Promise.resolve().then(() => (init_dependencyGraph(), exports_dependencyGraph));
|
|
24110
|
-
addFileToGraph2(state.dependencyGraph,
|
|
24111
|
-
const affected = getAffectedFiles(state.dependencyGraph,
|
|
24014
|
+
addFileToGraph2(state.dependencyGraph, resolve41(filePath));
|
|
24015
|
+
const affected = getAffectedFiles(state.dependencyGraph, resolve41(filePath));
|
|
24112
24016
|
for (const dependent of affected) {
|
|
24113
|
-
if (dependent ===
|
|
24017
|
+
if (dependent === resolve41(filePath))
|
|
24114
24018
|
continue;
|
|
24115
24019
|
const dependentFramework = detectFramework(dependent, state.resolvedPaths);
|
|
24116
24020
|
if (dependentFramework !== "angular")
|
|
@@ -24127,14 +24031,14 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24127
24031
|
} catch {}
|
|
24128
24032
|
}
|
|
24129
24033
|
if (!hasAngularDependent) {
|
|
24130
|
-
console.log(`[abs:restart] ${
|
|
24034
|
+
console.log(`[abs:restart] ${resolve41(filePath)}`);
|
|
24131
24035
|
return;
|
|
24132
24036
|
}
|
|
24133
24037
|
try {
|
|
24134
24038
|
const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
|
|
24135
24039
|
const { invalidateModule: invalidateModuleServer } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
24136
24040
|
const generatedAngularRoot = getFrameworkGeneratedDir2("angular");
|
|
24137
|
-
const sourceAbs =
|
|
24041
|
+
const sourceAbs = resolve41(filePath).replace(/\\/g, "/");
|
|
24138
24042
|
const generatedTwin = `${generatedAngularRoot.replace(/\\/g, "/")}${sourceAbs.replace(/\.ts$/, ".js")}`;
|
|
24139
24043
|
invalidateModuleServer(generatedTwin);
|
|
24140
24044
|
} catch {}
|
|
@@ -24168,7 +24072,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24168
24072
|
const userEditedFiles = new Set;
|
|
24169
24073
|
state.fileChangeQueue.forEach((filePaths) => {
|
|
24170
24074
|
for (const filePath2 of filePaths) {
|
|
24171
|
-
userEditedFiles.add(
|
|
24075
|
+
userEditedFiles.add(resolve41(filePath2));
|
|
24172
24076
|
}
|
|
24173
24077
|
});
|
|
24174
24078
|
state.lastUserEditedFiles = userEditedFiles;
|
|
@@ -24197,7 +24101,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24197
24101
|
}
|
|
24198
24102
|
if (!graph)
|
|
24199
24103
|
return componentFile;
|
|
24200
|
-
const dependents = graph.dependents.get(
|
|
24104
|
+
const dependents = graph.dependents.get(resolve41(componentFile));
|
|
24201
24105
|
if (!dependents)
|
|
24202
24106
|
return componentFile;
|
|
24203
24107
|
for (const dep of dependents) {
|
|
@@ -24206,7 +24110,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24206
24110
|
}
|
|
24207
24111
|
return componentFile;
|
|
24208
24112
|
}, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
|
|
24209
|
-
const pageEntries = angularFiles.filter((file5) => file5.endsWith(".ts") &&
|
|
24113
|
+
const pageEntries = angularFiles.filter((file5) => file5.endsWith(".ts") && resolve41(file5).startsWith(angularPagesPath));
|
|
24210
24114
|
if (pageEntries.length > 0 || !state.dependencyGraph) {
|
|
24211
24115
|
return pageEntries;
|
|
24212
24116
|
}
|
|
@@ -24215,7 +24119,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24215
24119
|
const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
|
|
24216
24120
|
const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
|
|
24217
24121
|
affected.forEach((file5) => {
|
|
24218
|
-
if (file5.endsWith(".ts") &&
|
|
24122
|
+
if (file5.endsWith(".ts") && resolve41(file5).startsWith(angularPagesPath)) {
|
|
24219
24123
|
resolvedPages.add(file5);
|
|
24220
24124
|
}
|
|
24221
24125
|
});
|
|
@@ -24256,8 +24160,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24256
24160
|
if (serverDirs.length <= 1) {
|
|
24257
24161
|
const dir = getFrameworkGeneratedDir2(framework, projectRoot);
|
|
24258
24162
|
return {
|
|
24259
|
-
serverOutDir:
|
|
24260
|
-
serverRoot:
|
|
24163
|
+
serverOutDir: resolve41(resolvedPaths.buildDir, basename14(dir)),
|
|
24164
|
+
serverRoot: resolve41(dir, "server")
|
|
24261
24165
|
};
|
|
24262
24166
|
}
|
|
24263
24167
|
return {
|
|
@@ -24278,7 +24182,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24278
24182
|
const keepByDir = new Map;
|
|
24279
24183
|
const prefixByDir = new Map;
|
|
24280
24184
|
for (const artifact of freshOutputs) {
|
|
24281
|
-
const dir =
|
|
24185
|
+
const dir = dirname25(artifact.path);
|
|
24282
24186
|
const name = basename14(artifact.path);
|
|
24283
24187
|
const [prefix] = name.split(".");
|
|
24284
24188
|
if (!prefix)
|
|
@@ -24418,8 +24322,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24418
24322
|
if (detected !== "unknown")
|
|
24419
24323
|
continue;
|
|
24420
24324
|
try {
|
|
24421
|
-
const affected = getAffectedFiles(state.dependencyGraph,
|
|
24422
|
-
const hasAngularConsumer = affected.some((dep) => dep !==
|
|
24325
|
+
const affected = getAffectedFiles(state.dependencyGraph, resolve41(editedFile));
|
|
24326
|
+
const hasAngularConsumer = affected.some((dep) => dep !== resolve41(editedFile) && detectFramework(dep, state.resolvedPaths) === "angular");
|
|
24423
24327
|
if (hasAngularConsumer) {
|
|
24424
24328
|
return {
|
|
24425
24329
|
kind: "rebootstrap",
|
|
@@ -24466,7 +24370,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24466
24370
|
}
|
|
24467
24371
|
if (owners.length === 0 && (editedFile.endsWith(".ts") || editedFile.endsWith(".json")) && !editedFile.endsWith(".d.ts")) {
|
|
24468
24372
|
const normalized = editedFile.replace(/\\/g, "/");
|
|
24469
|
-
const angularDirAbs =
|
|
24373
|
+
const angularDirAbs = resolve41(angularDir).replace(/\\/g, "/");
|
|
24470
24374
|
if (normalized.startsWith(angularDirAbs + "/")) {
|
|
24471
24375
|
return {
|
|
24472
24376
|
kind: "rebootstrap",
|
|
@@ -24609,16 +24513,16 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24609
24513
|
};
|
|
24610
24514
|
const fire = () => {
|
|
24611
24515
|
ctx.debounceTimer = null;
|
|
24612
|
-
const
|
|
24516
|
+
const resolve42 = ctx.debouncedResolve;
|
|
24613
24517
|
ctx.debouncedResolve = null;
|
|
24614
24518
|
ctx.debouncedPromise = null;
|
|
24615
24519
|
if (ctx.inFlight) {
|
|
24616
24520
|
ctx.pending = true;
|
|
24617
|
-
ctx.inFlight.finally(() =>
|
|
24521
|
+
ctx.inFlight.finally(() => resolve42?.());
|
|
24618
24522
|
return;
|
|
24619
24523
|
}
|
|
24620
24524
|
ctx.inFlight = drive();
|
|
24621
|
-
ctx.inFlight.finally(() =>
|
|
24525
|
+
ctx.inFlight.finally(() => resolve42?.());
|
|
24622
24526
|
};
|
|
24623
24527
|
return ({ immediate = false } = {}) => {
|
|
24624
24528
|
if (!ctx.debouncedPromise) {
|
|
@@ -24645,9 +24549,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24645
24549
|
const diskRefreshPromise = (async () => {
|
|
24646
24550
|
if (!angularDir || editedFiles.size === 0)
|
|
24647
24551
|
return;
|
|
24648
|
-
const angularDirAbs =
|
|
24552
|
+
const angularDirAbs = resolve41(angularDir);
|
|
24649
24553
|
const filesUnderAngular = Array.from(editedFiles).filter((file5) => {
|
|
24650
|
-
const abs =
|
|
24554
|
+
const abs = resolve41(file5);
|
|
24651
24555
|
return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep4);
|
|
24652
24556
|
});
|
|
24653
24557
|
if (filesUnderAngular.length === 0)
|
|
@@ -24669,7 +24573,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24669
24573
|
if (!ext)
|
|
24670
24574
|
continue;
|
|
24671
24575
|
if (ext === ".ts" || ext === ".tsx") {
|
|
24672
|
-
tsFilesToRefresh.add(
|
|
24576
|
+
tsFilesToRefresh.add(resolve41(file5));
|
|
24673
24577
|
continue;
|
|
24674
24578
|
}
|
|
24675
24579
|
const owners = resolveOwningComponents2({
|
|
@@ -24677,7 +24581,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24677
24581
|
userAngularRoot: angularDirAbs
|
|
24678
24582
|
});
|
|
24679
24583
|
for (const owner of owners) {
|
|
24680
|
-
tsFilesToRefresh.add(
|
|
24584
|
+
tsFilesToRefresh.add(resolve41(owner.componentFilePath));
|
|
24681
24585
|
}
|
|
24682
24586
|
}
|
|
24683
24587
|
if (tsFilesToRefresh.size === 0)
|
|
@@ -24692,7 +24596,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24692
24596
|
const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
24693
24597
|
for (const tsFile of tsFilesToRefresh) {
|
|
24694
24598
|
const rel = relative16(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
|
|
24695
|
-
const compiledFile =
|
|
24599
|
+
const compiledFile = resolve41(compiledRoot, rel);
|
|
24696
24600
|
invalidateModule2(compiledFile);
|
|
24697
24601
|
}
|
|
24698
24602
|
} catch {}
|
|
@@ -24703,7 +24607,30 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24703
24607
|
await diskRefreshPromise;
|
|
24704
24608
|
}, compileAndBundleAngular = async (state, pageEntries, angularDir) => {
|
|
24705
24609
|
const { compileAngular: compileAngular2 } = await Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular));
|
|
24706
|
-
const {
|
|
24610
|
+
const { runAngularHandlerScan: runAngularHandlerScan2 } = await Promise.resolve().then(() => (init_runAngularHandlerScan(), exports_runAngularHandlerScan));
|
|
24611
|
+
const { parseAngularProvidersImport: parseAngularProvidersImport2 } = await Promise.resolve().then(() => (init_parseAngularConfigImports(), exports_parseAngularConfigImports));
|
|
24612
|
+
const projectRoot = process.cwd();
|
|
24613
|
+
const providersImport = parseAngularProvidersImport2(projectRoot);
|
|
24614
|
+
const providersInjection = providersImport ? (() => {
|
|
24615
|
+
const scan = runAngularHandlerScan2(projectRoot, angularDir);
|
|
24616
|
+
const basePathByKey = new Map;
|
|
24617
|
+
for (const call of scan.calls) {
|
|
24618
|
+
basePathByKey.set(call.manifestKey, call.mountPath?.endsWith("/*") ? call.mountPath.slice(0, -1) : null);
|
|
24619
|
+
}
|
|
24620
|
+
const pagesByFile = new Map;
|
|
24621
|
+
for (const route of scan.pageRoutes) {
|
|
24622
|
+
const basePath = basePathByKey.get(route.manifestKey) ?? null;
|
|
24623
|
+
pagesByFile.set(route.pageFile, {
|
|
24624
|
+
basePath: basePath === "/" ? null : basePath,
|
|
24625
|
+
hasRoutes: route.hasRoutes
|
|
24626
|
+
});
|
|
24627
|
+
}
|
|
24628
|
+
return {
|
|
24629
|
+
appProvidersSource: providersImport.absolutePath,
|
|
24630
|
+
pagesByFile
|
|
24631
|
+
};
|
|
24632
|
+
})() : undefined;
|
|
24633
|
+
const { clientPaths, serverPaths } = await compileAngular2(pageEntries, angularDir, true, getStyleTransformConfig(state.config), providersInjection);
|
|
24707
24634
|
(async () => {
|
|
24708
24635
|
try {
|
|
24709
24636
|
const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
@@ -24743,7 +24670,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24743
24670
|
serverPaths.forEach((serverPath, idx) => {
|
|
24744
24671
|
const fileBase = basename14(serverPath, ".js");
|
|
24745
24672
|
const ssrPath = ssrPaths[idx] ?? serverPath;
|
|
24746
|
-
state.manifest[toPascal(fileBase)] =
|
|
24673
|
+
state.manifest[toPascal(fileBase)] = resolve41(ssrPath);
|
|
24747
24674
|
});
|
|
24748
24675
|
if (clientPaths.length > 0) {
|
|
24749
24676
|
await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir, angularDir);
|
|
@@ -24756,9 +24683,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24756
24683
|
const angularDir = config.angularDirectory ?? "";
|
|
24757
24684
|
const angularFiles = filesToRebuild.filter((file5) => detectFramework(file5, state.resolvedPaths) === "angular");
|
|
24758
24685
|
for (const file5 of angularFiles) {
|
|
24759
|
-
state.fileHashes.set(
|
|
24686
|
+
state.fileHashes.set(resolve41(file5), computeFileHash(file5));
|
|
24760
24687
|
}
|
|
24761
|
-
const angularPagesPath =
|
|
24688
|
+
const angularPagesPath = resolve41(angularDir, "pages");
|
|
24762
24689
|
const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
|
|
24763
24690
|
const tierStart = performance.now();
|
|
24764
24691
|
const verdict = await decideAngularTier(state, angularDir);
|
|
@@ -24799,11 +24726,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24799
24726
|
if (isComponentFile2)
|
|
24800
24727
|
return primaryFile;
|
|
24801
24728
|
const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
|
|
24802
|
-
const nearest = findNearestComponent2(
|
|
24729
|
+
const nearest = findNearestComponent2(resolve41(primaryFile));
|
|
24803
24730
|
return nearest ?? primaryFile;
|
|
24804
24731
|
}, handleReactModuleServerPath = async (state, reactFiles, startTime, onRebuildComplete) => {
|
|
24805
24732
|
for (const file5 of reactFiles) {
|
|
24806
|
-
state.fileHashes.set(
|
|
24733
|
+
state.fileHashes.set(resolve41(file5), computeFileHash(file5));
|
|
24807
24734
|
}
|
|
24808
24735
|
const primaryFile = reactFiles.find((file5) => !file5.replace(/\\/g, "/").includes("/pages/")) ?? reactFiles[0];
|
|
24809
24736
|
if (!primaryFile) {
|
|
@@ -24884,7 +24811,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24884
24811
|
});
|
|
24885
24812
|
}, handleSvelteModuleServerPath = async (state, svelteFiles, config, startTime, onRebuildComplete) => {
|
|
24886
24813
|
for (const file5 of svelteFiles) {
|
|
24887
|
-
state.fileHashes.set(
|
|
24814
|
+
state.fileHashes.set(resolve41(file5), computeFileHash(file5));
|
|
24888
24815
|
}
|
|
24889
24816
|
const serverDuration = Date.now() - startTime;
|
|
24890
24817
|
await runSequentially(svelteFiles, (changedFile) => broadcastSvelteModuleUpdate(state, changedFile, svelteFiles, serverDuration));
|
|
@@ -25131,7 +25058,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25131
25058
|
});
|
|
25132
25059
|
}, handleVueModuleServerPath = async (state, vueFiles, nonVueFiles, config, startTime, onRebuildComplete) => {
|
|
25133
25060
|
for (const file5 of [...vueFiles, ...nonVueFiles]) {
|
|
25134
|
-
state.fileHashes.set(
|
|
25061
|
+
state.fileHashes.set(resolve41(file5), computeFileHash(file5));
|
|
25135
25062
|
}
|
|
25136
25063
|
await invalidateNonVueModules(nonVueFiles);
|
|
25137
25064
|
const serverDuration = Date.now() - startTime;
|
|
@@ -25280,7 +25207,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25280
25207
|
recursive: true,
|
|
25281
25208
|
withFileTypes: true
|
|
25282
25209
|
});
|
|
25283
|
-
return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) =>
|
|
25210
|
+
return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) => resolve41(emberPagesPath, entry.name));
|
|
25284
25211
|
} catch {
|
|
25285
25212
|
return [];
|
|
25286
25213
|
}
|
|
@@ -25292,10 +25219,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25292
25219
|
return state.manifest;
|
|
25293
25220
|
}
|
|
25294
25221
|
for (const file5 of emberFiles) {
|
|
25295
|
-
state.fileHashes.set(
|
|
25222
|
+
state.fileHashes.set(resolve41(file5), computeFileHash(file5));
|
|
25296
25223
|
}
|
|
25297
|
-
const emberPagesPath =
|
|
25298
|
-
const directPageEntries = emberFiles.filter((file5) =>
|
|
25224
|
+
const emberPagesPath = resolve41(emberDir, "pages");
|
|
25225
|
+
const directPageEntries = emberFiles.filter((file5) => resolve41(file5).startsWith(emberPagesPath));
|
|
25299
25226
|
const allPageEntries = directPageEntries.length > 0 ? directPageEntries : await collectAllEmberPages(emberPagesPath);
|
|
25300
25227
|
if (allPageEntries.length === 0) {
|
|
25301
25228
|
onRebuildComplete({ hmrState: state, manifest: state.manifest });
|
|
@@ -25305,7 +25232,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25305
25232
|
const { serverPaths } = await compileEmber2(allPageEntries, emberDir, process.cwd(), true);
|
|
25306
25233
|
for (const serverPath of serverPaths) {
|
|
25307
25234
|
const fileBase = basename14(serverPath, ".js");
|
|
25308
|
-
state.manifest[toPascal(fileBase)] =
|
|
25235
|
+
state.manifest[toPascal(fileBase)] = resolve41(serverPath);
|
|
25309
25236
|
}
|
|
25310
25237
|
const { invalidateEmberSsrCache: invalidateEmberSsrCache2 } = await Promise.resolve().then(() => (init_ember(), exports_ember));
|
|
25311
25238
|
invalidateEmberSsrCache2();
|
|
@@ -25397,8 +25324,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25397
25324
|
if (!buildReference?.source) {
|
|
25398
25325
|
return;
|
|
25399
25326
|
}
|
|
25400
|
-
const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname :
|
|
25401
|
-
islandFiles.add(
|
|
25327
|
+
const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname : resolve41(dirname25(buildInfo.resolvedRegistryPath), buildReference.source);
|
|
25328
|
+
islandFiles.add(resolve41(sourcePath));
|
|
25402
25329
|
}, resolveIslandSourceFiles = async (config) => {
|
|
25403
25330
|
const registryPath = config.islands?.registry;
|
|
25404
25331
|
if (!registryPath) {
|
|
@@ -25406,7 +25333,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25406
25333
|
}
|
|
25407
25334
|
const buildInfo = await loadIslandRegistryBuildInfo(registryPath);
|
|
25408
25335
|
const islandFiles = new Set([
|
|
25409
|
-
|
|
25336
|
+
resolve41(buildInfo.resolvedRegistryPath)
|
|
25410
25337
|
]);
|
|
25411
25338
|
for (const definition of buildInfo.definitions) {
|
|
25412
25339
|
resolveIslandDefinitionSource(definition, buildInfo, islandFiles);
|
|
@@ -25417,7 +25344,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25417
25344
|
if (islandFiles.size === 0) {
|
|
25418
25345
|
return false;
|
|
25419
25346
|
}
|
|
25420
|
-
return filesToRebuild.some((file5) => islandFiles.has(
|
|
25347
|
+
return filesToRebuild.some((file5) => islandFiles.has(resolve41(file5)));
|
|
25421
25348
|
}, handleIslandSourceReload = async (state, config, filesToRebuild, manifest) => {
|
|
25422
25349
|
const shouldReload = await didStaticPagesNeedIslandRefresh(config, filesToRebuild);
|
|
25423
25350
|
if (!shouldReload) {
|
|
@@ -25452,10 +25379,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25452
25379
|
}, computeOutputPagesDir = (state, config, framework) => {
|
|
25453
25380
|
const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
|
|
25454
25381
|
if (isSingle) {
|
|
25455
|
-
return
|
|
25382
|
+
return resolve41(state.resolvedPaths.buildDir, "pages");
|
|
25456
25383
|
}
|
|
25457
25384
|
const dirName = framework === "html" ? basename14(config.htmlDirectory ?? "html") : basename14(config.htmxDirectory ?? "htmx");
|
|
25458
|
-
return
|
|
25385
|
+
return resolve41(state.resolvedPaths.buildDir, dirName, "pages");
|
|
25459
25386
|
}, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
|
|
25460
25387
|
try {
|
|
25461
25388
|
const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
|
|
@@ -25494,7 +25421,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25494
25421
|
const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmlPages, "*.html") : htmlPageFiles;
|
|
25495
25422
|
await runSequentially(pageFilesToUpdate, async (pageFile) => {
|
|
25496
25423
|
const htmlPageName = basename14(pageFile);
|
|
25497
|
-
const builtHtmlPagePath =
|
|
25424
|
+
const builtHtmlPagePath = resolve41(outputHtmlPages, htmlPageName);
|
|
25498
25425
|
await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
|
|
25499
25426
|
});
|
|
25500
25427
|
}, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
|
|
@@ -25559,7 +25486,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25559
25486
|
const cssKey = `${pascalName}CSS`;
|
|
25560
25487
|
const cssUrl = manifest[cssKey] || null;
|
|
25561
25488
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
25562
|
-
const hmrMeta = vueHmrMetadata2.get(
|
|
25489
|
+
const hmrMeta = vueHmrMetadata2.get(resolve41(vuePagePath));
|
|
25563
25490
|
const changeType = hmrMeta?.changeType ?? "full";
|
|
25564
25491
|
if (changeType === "style-only") {
|
|
25565
25492
|
broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
|
|
@@ -25744,7 +25671,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25744
25671
|
const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmxPages, "*.html") : htmxPageFiles;
|
|
25745
25672
|
await runSequentially(pageFilesToUpdate, async (htmxPageFile) => {
|
|
25746
25673
|
const htmxPageName = basename14(htmxPageFile);
|
|
25747
|
-
const builtHtmxPagePath =
|
|
25674
|
+
const builtHtmxPagePath = resolve41(outputHtmxPages, htmxPageName);
|
|
25748
25675
|
await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
|
|
25749
25676
|
});
|
|
25750
25677
|
}, collectUpdatedModulePaths = (allModuleUpdates) => {
|
|
@@ -25853,7 +25780,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25853
25780
|
html = html.slice(0, bodyClose.index) + hmrScript + html.slice(bodyClose.index);
|
|
25854
25781
|
writeFs(destPath, html);
|
|
25855
25782
|
}, processMarkupFileFastPath = async (state, sourceFile, outputDir, framework, startTime, updateAssetPaths2, handleUpdate, readFs, writeFs) => {
|
|
25856
|
-
const destPath =
|
|
25783
|
+
const destPath = resolve41(outputDir, basename14(sourceFile));
|
|
25857
25784
|
const hmrScript = extractHmrScript(destPath, readFs);
|
|
25858
25785
|
const source = await Bun.file(sourceFile).text();
|
|
25859
25786
|
await Bun.write(destPath, source);
|
|
@@ -25995,7 +25922,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25995
25922
|
});
|
|
25996
25923
|
if (config.tailwind && filesToRebuild && filesToRebuild.some(isTailwindCandidate)) {
|
|
25997
25924
|
try {
|
|
25998
|
-
const outputPath =
|
|
25925
|
+
const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
|
|
25999
25926
|
const bytes = await Bun.file(outputPath).bytes();
|
|
26000
25927
|
const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
|
|
26001
25928
|
state.assetStore.set(webPath, bytes);
|
|
@@ -26409,7 +26336,7 @@ __export(exports_devBuild, {
|
|
|
26409
26336
|
});
|
|
26410
26337
|
import { readdir as readdir5 } from "fs/promises";
|
|
26411
26338
|
import { statSync as statSync7 } from "fs";
|
|
26412
|
-
import { resolve as
|
|
26339
|
+
import { resolve as resolve42 } from "path";
|
|
26413
26340
|
var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
26414
26341
|
const configuredDirs = [
|
|
26415
26342
|
config.reactDirectory,
|
|
@@ -26432,7 +26359,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26432
26359
|
return Object.keys(config).length > 0 ? config : null;
|
|
26433
26360
|
}, reloadConfig = async () => {
|
|
26434
26361
|
try {
|
|
26435
|
-
const configPath2 =
|
|
26362
|
+
const configPath2 = resolve42(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
26436
26363
|
const source = await Bun.file(configPath2).text();
|
|
26437
26364
|
return parseDirectoryConfig(source);
|
|
26438
26365
|
} catch {
|
|
@@ -26539,7 +26466,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26539
26466
|
state.fileChangeQueue.clear();
|
|
26540
26467
|
}
|
|
26541
26468
|
}, handleCachedReload = async () => {
|
|
26542
|
-
const serverMtime = statSync7(
|
|
26469
|
+
const serverMtime = statSync7(resolve42(Bun.main)).mtimeMs;
|
|
26543
26470
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
26544
26471
|
globalThis.__hmrServerMtime = serverMtime;
|
|
26545
26472
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -26576,8 +26503,8 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26576
26503
|
return true;
|
|
26577
26504
|
}, resolveAbsoluteVersion2 = async () => {
|
|
26578
26505
|
const candidates = [
|
|
26579
|
-
|
|
26580
|
-
|
|
26506
|
+
resolve42(import.meta.dir, "..", "..", "package.json"),
|
|
26507
|
+
resolve42(import.meta.dir, "..", "package.json")
|
|
26581
26508
|
];
|
|
26582
26509
|
const [candidate, ...remaining] = candidates;
|
|
26583
26510
|
if (!candidate) {
|
|
@@ -26603,7 +26530,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26603
26530
|
const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
|
|
26604
26531
|
await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
|
|
26605
26532
|
const webPath = `/${framework}/vendor/${entry}`;
|
|
26606
|
-
const bytes = await Bun.file(
|
|
26533
|
+
const bytes = await Bun.file(resolve42(vendorDir, entry)).bytes();
|
|
26607
26534
|
assetStore.set(webPath, bytes);
|
|
26608
26535
|
}));
|
|
26609
26536
|
}, devBuild = async (config) => {
|
|
@@ -26682,11 +26609,11 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26682
26609
|
cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
|
|
26683
26610
|
recordStep("populate asset store", stepStartedAt);
|
|
26684
26611
|
stepStartedAt = performance.now();
|
|
26685
|
-
const reactVendorDir =
|
|
26686
|
-
const angularVendorDir =
|
|
26687
|
-
const svelteVendorDir =
|
|
26688
|
-
const vueVendorDir =
|
|
26689
|
-
const depVendorDir =
|
|
26612
|
+
const reactVendorDir = resolve42(state.resolvedPaths.buildDir, "react", "vendor");
|
|
26613
|
+
const angularVendorDir = resolve42(state.resolvedPaths.buildDir, "angular", "vendor");
|
|
26614
|
+
const svelteVendorDir = resolve42(state.resolvedPaths.buildDir, "svelte", "vendor");
|
|
26615
|
+
const vueVendorDir = resolve42(state.resolvedPaths.buildDir, "vue", "vendor");
|
|
26616
|
+
const depVendorDir = resolve42(state.resolvedPaths.buildDir, "vendor");
|
|
26690
26617
|
const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
|
|
26691
26618
|
const [, angularSpecs, , , , , depPaths] = await Promise.all([
|
|
26692
26619
|
config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
|
|
@@ -26797,7 +26724,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
26797
26724
|
manifest
|
|
26798
26725
|
};
|
|
26799
26726
|
globalThis.__hmrDevResult = result;
|
|
26800
|
-
globalThis.__hmrServerMtime = statSync7(
|
|
26727
|
+
globalThis.__hmrServerMtime = statSync7(resolve42(Bun.main)).mtimeMs;
|
|
26801
26728
|
return result;
|
|
26802
26729
|
};
|
|
26803
26730
|
var init_devBuild = __esm(() => {
|
|
@@ -26942,8 +26869,8 @@ var STORE_KEY = "__elysiaStore", getGlobalValue = (key) => Reflect.get(globalThi
|
|
|
26942
26869
|
return null;
|
|
26943
26870
|
if (!pathname.startsWith("/"))
|
|
26944
26871
|
return null;
|
|
26945
|
-
const { resolve:
|
|
26946
|
-
const candidate =
|
|
26872
|
+
const { resolve: resolve43, normalize } = await import("path");
|
|
26873
|
+
const candidate = resolve43(buildDir, pathname.slice(1));
|
|
26947
26874
|
const normalizedBuild = normalize(buildDir);
|
|
26948
26875
|
if (!candidate.startsWith(normalizedBuild))
|
|
26949
26876
|
return null;
|
|
@@ -27027,12 +26954,12 @@ __export(exports_devtoolsJson, {
|
|
|
27027
26954
|
devtoolsJson: () => devtoolsJson
|
|
27028
26955
|
});
|
|
27029
26956
|
import { existsSync as existsSync34, mkdirSync as mkdirSync15, readFileSync as readFileSync26, writeFileSync as writeFileSync10 } from "fs";
|
|
27030
|
-
import { dirname as
|
|
26957
|
+
import { dirname as dirname26, join as join42, resolve as resolve43 } from "path";
|
|
27031
26958
|
import { Elysia as Elysia3 } from "elysia";
|
|
27032
26959
|
var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
|
|
27033
26960
|
Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
|
|
27034
26961
|
return uuid;
|
|
27035
|
-
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) =>
|
|
26962
|
+
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve43(uuidCachePath ?? join42(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
|
|
27036
26963
|
if (!existsSync34(cachePath))
|
|
27037
26964
|
return null;
|
|
27038
26965
|
try {
|
|
@@ -27054,11 +26981,11 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
|
|
|
27054
26981
|
if (cachedUuid)
|
|
27055
26982
|
return setGlobalUuid(cachedUuid);
|
|
27056
26983
|
const uuid = crypto.randomUUID();
|
|
27057
|
-
mkdirSync15(
|
|
26984
|
+
mkdirSync15(dirname26(cachePath), { recursive: true });
|
|
27058
26985
|
writeFileSync10(cachePath, uuid, "utf-8");
|
|
27059
26986
|
return setGlobalUuid(uuid);
|
|
27060
26987
|
}, devtoolsJson = (buildDir, options = {}) => {
|
|
27061
|
-
const rootPath =
|
|
26988
|
+
const rootPath = resolve43(options.projectRoot ?? process.cwd());
|
|
27062
26989
|
const root = options.normalizeForWindowsContainer === false ? rootPath : normalizeDevtoolsWorkspaceRoot(rootPath);
|
|
27063
26990
|
const uuid = getOrCreateUuid(buildDir, options);
|
|
27064
26991
|
return new Elysia3({ name: "absolute-devtools-json" }).get(ENDPOINT, () => ({
|
|
@@ -27087,7 +27014,7 @@ __export(exports_imageOptimizer, {
|
|
|
27087
27014
|
imageOptimizer: () => imageOptimizer
|
|
27088
27015
|
});
|
|
27089
27016
|
import { existsSync as existsSync35 } from "fs";
|
|
27090
|
-
import { resolve as
|
|
27017
|
+
import { resolve as resolve44 } from "path";
|
|
27091
27018
|
import { Elysia as Elysia4 } from "elysia";
|
|
27092
27019
|
var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avifInProgress, safeResolve = (path, baseDir) => {
|
|
27093
27020
|
try {
|
|
@@ -27100,7 +27027,7 @@ var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avi
|
|
|
27100
27027
|
}
|
|
27101
27028
|
}, resolveLocalImage = (url, buildDir) => {
|
|
27102
27029
|
const cleanPath = url.startsWith("/") ? url.slice(1) : url;
|
|
27103
|
-
return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath,
|
|
27030
|
+
return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath, resolve44(process.cwd()));
|
|
27104
27031
|
}, parseQueryParams = (query, allowedSizes, defaultQuality) => {
|
|
27105
27032
|
const url = typeof query["url"] === "string" ? query["url"] : undefined;
|
|
27106
27033
|
const wParam = typeof query["w"] === "string" ? query["w"] : undefined;
|
|
@@ -27507,7 +27434,7 @@ __export(exports_serverEntryWatcher, {
|
|
|
27507
27434
|
});
|
|
27508
27435
|
import { existsSync as existsSync38, statSync as statSync8, watch as watch2 } from "fs";
|
|
27509
27436
|
import { createRequire as createRequire2 } from "module";
|
|
27510
|
-
import { dirname as
|
|
27437
|
+
import { dirname as dirname27, join as join46, resolve as resolve46 } from "path";
|
|
27511
27438
|
var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || ATOMIC_WRITE_TEMP_PATTERNS2.some((re2) => re2.test(filename)), startServerEntryWatcher = () => {
|
|
27512
27439
|
if (globalThis.__absoluteEntryWatcherStarted)
|
|
27513
27440
|
return;
|
|
@@ -27515,11 +27442,11 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ATOMIC_WRITE_TEMP
|
|
|
27515
27442
|
if (!main || !existsSync38(main))
|
|
27516
27443
|
return;
|
|
27517
27444
|
globalThis.__absoluteEntryWatcherStarted = true;
|
|
27518
|
-
const entryPath =
|
|
27519
|
-
const entryDir =
|
|
27445
|
+
const entryPath = resolve46(main);
|
|
27446
|
+
const entryDir = dirname27(entryPath);
|
|
27520
27447
|
const entryBase = entryPath.slice(entryDir.length + 1);
|
|
27521
|
-
const configPath2 =
|
|
27522
|
-
const configDir2 =
|
|
27448
|
+
const configPath2 = resolve46(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
27449
|
+
const configDir2 = dirname27(configPath2);
|
|
27523
27450
|
const configBase = configPath2.slice(configDir2.length + 1);
|
|
27524
27451
|
const recentlyHandled = new Map;
|
|
27525
27452
|
let entryReloadTimer = null;
|
|
@@ -28166,7 +28093,7 @@ var handleHTMXPageRequest = async (pagePath) => {
|
|
|
28166
28093
|
// src/core/prepare.ts
|
|
28167
28094
|
init_loadConfig();
|
|
28168
28095
|
import { existsSync as existsSync36, readdirSync as readdirSync7, readFileSync as readFileSync28 } from "fs";
|
|
28169
|
-
import { basename as basename15, join as join44, relative as relative17, resolve as
|
|
28096
|
+
import { basename as basename15, join as join44, relative as relative17, resolve as resolve45 } from "path";
|
|
28170
28097
|
import { Elysia as Elysia5 } from "elysia";
|
|
28171
28098
|
|
|
28172
28099
|
// src/core/loadIslandRegistry.ts
|
|
@@ -28528,7 +28455,7 @@ var collectPrewarmFiles = async (prewarmDirs) => {
|
|
|
28528
28455
|
for (const { dir, pattern } of prewarmDirs) {
|
|
28529
28456
|
const glob = new Glob11(pattern);
|
|
28530
28457
|
const matches = [
|
|
28531
|
-
...glob.scanSync({ absolute: true, cwd:
|
|
28458
|
+
...glob.scanSync({ absolute: true, cwd: resolve45(dir) })
|
|
28532
28459
|
];
|
|
28533
28460
|
files.push(...matches);
|
|
28534
28461
|
}
|
|
@@ -28564,7 +28491,7 @@ var patchManifestIndexes = (manifest, devIndexDir, SRC_URL_PREFIX2) => {
|
|
|
28564
28491
|
const fileName = resolveDevIndexFileName(manifest[key], baseName);
|
|
28565
28492
|
if (!fileName)
|
|
28566
28493
|
continue;
|
|
28567
|
-
const srcPath =
|
|
28494
|
+
const srcPath = resolve45(devIndexDir, fileName);
|
|
28568
28495
|
if (!existsSync36(srcPath))
|
|
28569
28496
|
continue;
|
|
28570
28497
|
const rel = relative17(process.cwd(), srcPath).replace(/\\/g, "/");
|
|
@@ -28637,7 +28564,7 @@ var prepareDev = async (config, buildDir) => {
|
|
|
28637
28564
|
stepStartedAt = performance.now();
|
|
28638
28565
|
const hmrPlugin = hmr2(result.hmrState, result.manifest, moduleHandler);
|
|
28639
28566
|
const { devtoolsJson: devtoolsJson2 } = await Promise.resolve().then(() => (init_devtoolsJson(), exports_devtoolsJson));
|
|
28640
|
-
const devIndexDir =
|
|
28567
|
+
const devIndexDir = resolve45(buildDir, "_src_indexes");
|
|
28641
28568
|
patchManifestIndexes(result.manifest, devIndexDir, SRC_URL_PREFIX2);
|
|
28642
28569
|
recordStep("configure dev plugins", stepStartedAt);
|
|
28643
28570
|
stepStartedAt = performance.now();
|
|
@@ -28729,7 +28656,7 @@ var prepare = async (configOrPath) => {
|
|
|
28729
28656
|
recordStep("load config", stepStartedAt);
|
|
28730
28657
|
const nodeEnv = process.env["NODE_ENV"];
|
|
28731
28658
|
const isDev3 = nodeEnv === "development";
|
|
28732
|
-
const buildDir =
|
|
28659
|
+
const buildDir = resolve45(process.env.ABSOLUTE_BUILD_DIR ?? config.buildDirectory ?? "build");
|
|
28733
28660
|
if (isDev3) {
|
|
28734
28661
|
stepStartedAt = performance.now();
|
|
28735
28662
|
const result = await prepareDev(config, buildDir);
|
|
@@ -29204,7 +29131,7 @@ var generateHeadElement = ({
|
|
|
29204
29131
|
// src/utils/defineEnv.ts
|
|
29205
29132
|
var {env: bunEnv } = globalThis.Bun;
|
|
29206
29133
|
import { existsSync as existsSync39, readFileSync as readFileSync30 } from "fs";
|
|
29207
|
-
import { resolve as
|
|
29134
|
+
import { resolve as resolve47 } from "path";
|
|
29208
29135
|
|
|
29209
29136
|
// node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
|
|
29210
29137
|
var exports_value = {};
|
|
@@ -35239,7 +35166,7 @@ ${lines.join(`
|
|
|
35239
35166
|
};
|
|
35240
35167
|
var checkEnvFileSecurity = (properties) => {
|
|
35241
35168
|
const cwd2 = process.cwd();
|
|
35242
|
-
const envPath =
|
|
35169
|
+
const envPath = resolve47(cwd2, ".env");
|
|
35243
35170
|
if (!existsSync39(envPath))
|
|
35244
35171
|
return;
|
|
35245
35172
|
const sensitiveKeys = Object.keys(properties).filter(isSensitive);
|
|
@@ -35249,7 +35176,7 @@ var checkEnvFileSecurity = (properties) => {
|
|
|
35249
35176
|
const presentKeys = sensitiveKeys.filter((key) => envContent.includes(`${key}=`));
|
|
35250
35177
|
if (presentKeys.length === 0)
|
|
35251
35178
|
return;
|
|
35252
|
-
const gitignorePath =
|
|
35179
|
+
const gitignorePath = resolve47(cwd2, ".gitignore");
|
|
35253
35180
|
if (existsSync39(gitignorePath)) {
|
|
35254
35181
|
const gitignore = readFileSync30(gitignorePath, "utf-8");
|
|
35255
35182
|
if (gitignore.split(`
|
|
@@ -35492,5 +35419,5 @@ export {
|
|
|
35492
35419
|
ANGULAR_INIT_TIMEOUT_MS
|
|
35493
35420
|
};
|
|
35494
35421
|
|
|
35495
|
-
//# debugId=
|
|
35422
|
+
//# debugId=63243B5701EACFA064756E2164756E21
|
|
35496
35423
|
//# sourceMappingURL=index.js.map
|