@absolutejs/absolute 0.20.0-beta.106 → 0.20.0-beta.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +6 -0
- package/changelog.json +37 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +645 -622
- package/dist/build.js.map +7 -6
- package/dist/cli/index.js +1 -1
- package/dist/cli/{mobile-w4my2dc7.js → mobile-7v8hfmdq.js} +673 -161
- package/dist/index.js +603 -580
- package/dist/index.js.map +7 -6
- package/dist/mobile/index.js +504 -95
- package/dist/mobile/index.js.map +5 -4
- package/dist/src/build/injectVueComposableTracking.d.ts +2 -28
- package/dist/src/build/vueModuleOutputPath.d.ts +7 -0
- package/dist/src/mobile/index.d.ts +1 -0
- package/dist/src/mobile/releaseCertification.d.ts +59 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17403,9 +17403,33 @@ var init_islandRegistryTransform = __esm(() => {
|
|
|
17403
17403
|
];
|
|
17404
17404
|
});
|
|
17405
17405
|
|
|
17406
|
+
// src/build/vueModuleOutputPath.ts
|
|
17407
|
+
import { isAbsolute as isAbsolute5, join as join31, parse as parse2, relative as relative11, resolve as resolve25, sep as sep3 } from "path";
|
|
17408
|
+
var vueModuleOutputPath = (outputDir, sourcePath) => {
|
|
17409
|
+
const absolutePath = resolve25(sourcePath);
|
|
17410
|
+
const { root } = parse2(absolutePath);
|
|
17411
|
+
return join31(outputDir, "sources", encodeURIComponent(root), relative11(root, absolutePath).replace(/\.(vue|ts)$/, ".js"));
|
|
17412
|
+
}, vueModuleSourcePath = (outputDir, outputPath) => {
|
|
17413
|
+
const within = relative11(outputDir, outputPath);
|
|
17414
|
+
if (isAbsolute5(within) || within === ".." || within.startsWith(`..${sep3}`))
|
|
17415
|
+
return null;
|
|
17416
|
+
const [namespace, encodedRoot, ...parts] = within.split(sep3);
|
|
17417
|
+
if (namespace !== "sources" || !encodedRoot || !parts.length)
|
|
17418
|
+
return null;
|
|
17419
|
+
try {
|
|
17420
|
+
const root = decodeURIComponent(encodedRoot);
|
|
17421
|
+
if (parse2(root).root !== root || !isAbsolute5(root))
|
|
17422
|
+
return null;
|
|
17423
|
+
return join31(root, ...parts);
|
|
17424
|
+
} catch {
|
|
17425
|
+
return null;
|
|
17426
|
+
}
|
|
17427
|
+
};
|
|
17428
|
+
var init_vueModuleOutputPath = () => {};
|
|
17429
|
+
|
|
17406
17430
|
// src/build/injectVueComposableTracking.ts
|
|
17407
17431
|
import { existsSync as existsSync26, readFileSync as readFileSync21, writeFileSync as writeFileSync7 } from "fs";
|
|
17408
|
-
import { basename as basename11, isAbsolute as
|
|
17432
|
+
import { basename as basename11, isAbsolute as isAbsolute6, relative as relative12, resolve as resolve26 } from "path";
|
|
17409
17433
|
var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT_OPENER, SOURCE_EXTENSIONS2, CHUNK_REFERENCE, isSharedChunkFile = (fileName) => fileName.startsWith("chunk-") && fileName.endsWith(".js"), collectModuleComments = (content) => Array.from(content.matchAll(MODULE_COMMENT), (match) => ({
|
|
17410
17434
|
index: match.index,
|
|
17411
17435
|
path: match[1] ?? ""
|
|
@@ -17507,20 +17531,23 @@ var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT
|
|
|
17507
17531
|
return restore(`${wrapped.slice(0, insertAt)}${VUE_HMR_RUNTIME}
|
|
17508
17532
|
${wrapped.slice(insertAt)}`);
|
|
17509
17533
|
}, isSharedChunkPath = (path2) => isSharedChunkFile(basename11(path2)), resolveVueComposableModuleId = (commentPath, options) => {
|
|
17510
|
-
const absolutePath =
|
|
17534
|
+
const absolutePath = resolve26(options.projectRoot, commentPath);
|
|
17511
17535
|
const { vueDir, generatedVueDir } = options;
|
|
17512
17536
|
if (!vueDir || !generatedVueDir)
|
|
17513
17537
|
return absolutePath;
|
|
17514
|
-
const withinGenerated =
|
|
17515
|
-
if (withinGenerated === "" || withinGenerated.startsWith("..") ||
|
|
17538
|
+
const withinGenerated = relative12(generatedVueDir, absolutePath);
|
|
17539
|
+
if (withinGenerated === "" || withinGenerated.startsWith("..") || isAbsolute6(withinGenerated)) {
|
|
17516
17540
|
return absolutePath;
|
|
17517
17541
|
}
|
|
17518
|
-
const
|
|
17519
|
-
|
|
17542
|
+
const sourcePath = vueModuleSourcePath(resolve26(generatedVueDir, "client"), absolutePath);
|
|
17543
|
+
if (!sourcePath)
|
|
17544
|
+
return absolutePath;
|
|
17545
|
+
const stem = sourcePath.replace(/\.[cm]?js$/, "");
|
|
17520
17546
|
const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) => existsSync26(candidate));
|
|
17521
17547
|
return existing ?? `${stem}.ts`;
|
|
17522
17548
|
};
|
|
17523
17549
|
var init_injectVueComposableTracking = __esm(() => {
|
|
17550
|
+
init_vueModuleOutputPath();
|
|
17524
17551
|
init_constants();
|
|
17525
17552
|
init_maskLiterals();
|
|
17526
17553
|
VUE_HMR_RUNTIME = [
|
|
@@ -17558,7 +17585,7 @@ __export(exports_hmrInjectionPlugin, {
|
|
|
17558
17585
|
createAngularHmrInjectionPlugin: () => createAngularHmrInjectionPlugin
|
|
17559
17586
|
});
|
|
17560
17587
|
import { readFile as readFile7 } from "fs/promises";
|
|
17561
|
-
import { relative as
|
|
17588
|
+
import { relative as relative13, resolve as resolve27 } from "path";
|
|
17562
17589
|
var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames = (jsSource) => {
|
|
17563
17590
|
const names = new Set;
|
|
17564
17591
|
IMPORT_RE.lastIndex = 0;
|
|
@@ -17737,7 +17764,7 @@ var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames =
|
|
|
17737
17764
|
}
|
|
17738
17765
|
`, applyAngularHmrInjection = (jsSource, componentJsAbsPath, params) => {
|
|
17739
17766
|
const { generatedAngularRoot, userAngularRoot, projectRoot } = params;
|
|
17740
|
-
const normalizedGenRoot =
|
|
17767
|
+
const normalizedGenRoot = resolve27(generatedAngularRoot).replace(/\\/g, "/");
|
|
17741
17768
|
const normalizedPath = componentJsAbsPath.replace(/\\/g, "/");
|
|
17742
17769
|
if (!normalizedPath.startsWith(`${normalizedGenRoot}/`))
|
|
17743
17770
|
return;
|
|
@@ -17754,9 +17781,9 @@ var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames =
|
|
|
17754
17781
|
}
|
|
17755
17782
|
if (classNames.length === 0)
|
|
17756
17783
|
return;
|
|
17757
|
-
const relFromGenRoot =
|
|
17758
|
-
const userTsPath =
|
|
17759
|
-
const projectRel =
|
|
17784
|
+
const relFromGenRoot = relative13(generatedAngularRoot, componentJsAbsPath).replace(/\\/g, "/");
|
|
17785
|
+
const userTsPath = resolve27(userAngularRoot, relFromGenRoot.replace(/\.js$/, ".ts"));
|
|
17786
|
+
const projectRel = relative13(projectRoot, userTsPath).replace(/\\/g, "/");
|
|
17760
17787
|
const tail = classNames.map((className) => {
|
|
17761
17788
|
const id = `${projectRel}@${className}`;
|
|
17762
17789
|
return buildHmrTail(className, JSON.stringify(id));
|
|
@@ -17790,17 +17817,17 @@ var init_hmrInjectionPlugin = __esm(() => {
|
|
|
17790
17817
|
|
|
17791
17818
|
// src/utils/cleanStaleOutputs.ts
|
|
17792
17819
|
import { rm as rm4 } from "fs/promises";
|
|
17793
|
-
import { resolve as
|
|
17820
|
+
import { resolve as resolve28 } from "path";
|
|
17794
17821
|
var {Glob: Glob5 } = globalThis.Bun;
|
|
17795
17822
|
var HASHED_FILE_PATTERN, ROOT_CHUNK_PATTERN, isContentAddressedOutput = (relativePath) => HASHED_FILE_PATTERN.test(relativePath) || ROOT_CHUNK_PATTERN.test(relativePath), cleanStaleOutputs = async (buildPath, currentOutputPaths) => {
|
|
17796
|
-
const currentPaths = new Set(currentOutputPaths.map((path2) =>
|
|
17823
|
+
const currentPaths = new Set(currentOutputPaths.map((path2) => resolve28(path2)));
|
|
17797
17824
|
const glob = new Glob5("**/*");
|
|
17798
17825
|
const removals = [];
|
|
17799
|
-
for (const
|
|
17800
|
-
const absolute =
|
|
17826
|
+
for (const relative14 of glob.scanSync({ cwd: buildPath })) {
|
|
17827
|
+
const absolute = resolve28(buildPath, relative14);
|
|
17801
17828
|
if (currentPaths.has(absolute))
|
|
17802
17829
|
continue;
|
|
17803
|
-
if (!isContentAddressedOutput(
|
|
17830
|
+
if (!isContentAddressedOutput(relative14))
|
|
17804
17831
|
continue;
|
|
17805
17832
|
removals.push(rm4(absolute, { force: true }));
|
|
17806
17833
|
}
|
|
@@ -17817,13 +17844,13 @@ __export(exports_generatedDir, {
|
|
|
17817
17844
|
getFrameworkGeneratedDir: () => getFrameworkGeneratedDir,
|
|
17818
17845
|
getGeneratedRoot: () => getGeneratedRoot
|
|
17819
17846
|
});
|
|
17820
|
-
import { join as
|
|
17821
|
-
var GENERATED_DIR_NAME = "generated", ABSOLUTE_CACHE_DIR_NAME = ".absolutejs", getFrameworkGeneratedDir = (framework, projectRoot = process.cwd()) =>
|
|
17847
|
+
import { join as join32 } from "path";
|
|
17848
|
+
var GENERATED_DIR_NAME = "generated", ABSOLUTE_CACHE_DIR_NAME = ".absolutejs", getFrameworkGeneratedDir = (framework, projectRoot = process.cwd()) => join32(getGeneratedRoot(projectRoot), framework), getGeneratedRoot = (projectRoot = process.cwd()) => join32(projectRoot, ABSOLUTE_CACHE_DIR_NAME, GENERATED_DIR_NAME);
|
|
17822
17849
|
var init_generatedDir = () => {};
|
|
17823
17850
|
|
|
17824
17851
|
// src/utils/cleanup.ts
|
|
17825
17852
|
import { lstat, rm as rm5 } from "fs/promises";
|
|
17826
|
-
import { join as
|
|
17853
|
+
import { join as join33 } from "path";
|
|
17827
17854
|
var isNotFoundError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "ENOENT", removeIfExists = async (path2) => {
|
|
17828
17855
|
try {
|
|
17829
17856
|
await lstat(path2);
|
|
@@ -17840,9 +17867,9 @@ var isNotFoundError = (error) => error instanceof Error && ("code" in error) &&
|
|
|
17840
17867
|
}
|
|
17841
17868
|
if (!frameworkDir)
|
|
17842
17869
|
return Promise.all(tasks);
|
|
17843
|
-
tasks.push(removeIfExists(
|
|
17870
|
+
tasks.push(removeIfExists(join33(frameworkDir, "generated")));
|
|
17844
17871
|
if (framework === "angular") {
|
|
17845
|
-
tasks.push(removeIfExists(
|
|
17872
|
+
tasks.push(removeIfExists(join33(frameworkDir, "compiled")), removeIfExists(join33(frameworkDir, "indexes")));
|
|
17846
17873
|
}
|
|
17847
17874
|
return Promise.all(tasks);
|
|
17848
17875
|
}, cleanup = async ({
|
|
@@ -17889,7 +17916,7 @@ var init_commonAncestor = () => {};
|
|
|
17889
17916
|
|
|
17890
17917
|
// src/utils/buildDirectoryLock.ts
|
|
17891
17918
|
import { mkdirSync as mkdirSync7, unlinkSync, writeFileSync as writeFileSync8, readFileSync as readFileSync22 } from "fs";
|
|
17892
|
-
import { dirname as dirname17, join as
|
|
17919
|
+
import { dirname as dirname17, join as join34 } from "path";
|
|
17893
17920
|
var heldLocks, HELD_LOCKS_ENV = "ABSOLUTE_HELD_BUILD_DIRECTORY_LOCKS", exitHandlersRegistered = false, registerExitHandlersOnce = () => {
|
|
17894
17921
|
if (exitHandlersRegistered)
|
|
17895
17922
|
return;
|
|
@@ -17916,7 +17943,7 @@ var heldLocks, HELD_LOCKS_ENV = "ABSOLUTE_HELD_BUILD_DIRECTORY_LOCKS", exitHandl
|
|
|
17916
17943
|
console.error(err);
|
|
17917
17944
|
process.exit(1);
|
|
17918
17945
|
});
|
|
17919
|
-
}, isAlreadyExistsError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "EEXIST", lockPathForBuildDirectory = (buildDirectory) =>
|
|
17946
|
+
}, isAlreadyExistsError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "EEXIST", lockPathForBuildDirectory = (buildDirectory) => join34(dirname17(buildDirectory), ".absolutejs", "build.lock"), readHeldLockEnv = () => new Set((process.env[HELD_LOCKS_ENV] ?? "").split(`
|
|
17920
17947
|
`).filter((entry) => entry.length > 0)), writeHeldLockEnv = (locks) => {
|
|
17921
17948
|
if (locks.size === 0) {
|
|
17922
17949
|
delete process.env[HELD_LOCKS_ENV];
|
|
@@ -18053,11 +18080,11 @@ var init_buildDirectoryLock = __esm(() => {
|
|
|
18053
18080
|
});
|
|
18054
18081
|
|
|
18055
18082
|
// src/utils/validateSafePath.ts
|
|
18056
|
-
import { resolve as
|
|
18083
|
+
import { resolve as resolve29, relative as relative14 } from "path";
|
|
18057
18084
|
var validateSafePath = (targetPath, baseDirectory) => {
|
|
18058
|
-
const absoluteBase =
|
|
18059
|
-
const absoluteTarget =
|
|
18060
|
-
const relativePath = normalizePath2(
|
|
18085
|
+
const absoluteBase = resolve29(baseDirectory);
|
|
18086
|
+
const absoluteTarget = resolve29(baseDirectory, targetPath);
|
|
18087
|
+
const relativePath = normalizePath2(relative14(absoluteBase, absoluteTarget));
|
|
18061
18088
|
if (relativePath.startsWith("../") || relativePath === "..") {
|
|
18062
18089
|
throw new Error(`Unsafe path: ${targetPath}`);
|
|
18063
18090
|
}
|
|
@@ -18073,7 +18100,7 @@ var isTestSourcePath = (file2) => {
|
|
|
18073
18100
|
|
|
18074
18101
|
// src/build/pwa.ts
|
|
18075
18102
|
import { mkdir as mkdir7, rm as rm6, writeFile as writeFile7 } from "fs/promises";
|
|
18076
|
-
import { dirname as dirname18, join as
|
|
18103
|
+
import { dirname as dirname18, join as join35 } from "path";
|
|
18077
18104
|
var BOOTSTRAP_PUBLIC_PATH = "/__absolute/pwa/bootstrap.js", BOOTSTRAP_MARKER = "data-absolute-pwa", publicFilePath = (value, fallback, field) => {
|
|
18078
18105
|
const input = value ?? fallback;
|
|
18079
18106
|
if (!input.startsWith("/") || input.startsWith("//")) {
|
|
@@ -18100,7 +18127,7 @@ var BOOTSTRAP_PUBLIC_PATH = "/__absolute/pwa/bootstrap.js", BOOTSTRAP_MARKER = "
|
|
|
18100
18127
|
}
|
|
18101
18128
|
}
|
|
18102
18129
|
return url.pathname;
|
|
18103
|
-
}, destinationFor = (buildPath, publicPath) =>
|
|
18130
|
+
}, destinationFor = (buildPath, publicPath) => join35(buildPath, ...publicPath.split("/").filter(Boolean)), bootstrapEntrySource = ({
|
|
18104
18131
|
clientModule,
|
|
18105
18132
|
manifestPath,
|
|
18106
18133
|
push,
|
|
@@ -18177,8 +18204,8 @@ ${push ? `,
|
|
|
18177
18204
|
await writeFile7(manifestDestination, `${JSON.stringify(createWebAppManifest(manifestConfig), null, "\t")}
|
|
18178
18205
|
`);
|
|
18179
18206
|
}
|
|
18180
|
-
const generatedDirectory =
|
|
18181
|
-
const bootstrapEntry =
|
|
18207
|
+
const generatedDirectory = join35(generatedRoot, "pwa");
|
|
18208
|
+
const bootstrapEntry = join35(generatedDirectory, "bootstrap.ts");
|
|
18182
18209
|
const clientModule = Bun.resolveSync("@absolutejs/pwa/client", import.meta.dir);
|
|
18183
18210
|
await mkdir7(generatedDirectory, { recursive: true });
|
|
18184
18211
|
await writeFile7(bootstrapEntry, bootstrapEntrySource({
|
|
@@ -18933,7 +18960,7 @@ __export(exports_fastHmrCompiler, {
|
|
|
18933
18960
|
tryFastHmr: () => tryFastHmr
|
|
18934
18961
|
});
|
|
18935
18962
|
import { existsSync as existsSync27, readFileSync as readFileSync23, statSync as statSync3 } from "fs";
|
|
18936
|
-
import { dirname as dirname19, extname as extname10, relative as
|
|
18963
|
+
import { dirname as dirname19, extname as extname10, relative as relative15, resolve as resolve30 } from "path";
|
|
18937
18964
|
import ts12 from "typescript";
|
|
18938
18965
|
var fail = (reason, detail, location) => ({
|
|
18939
18966
|
detail,
|
|
@@ -19045,7 +19072,7 @@ var fail = (reason, detail, location) => ({
|
|
|
19045
19072
|
const decoratorName = findAngularDecoratorName(decorators);
|
|
19046
19073
|
if (!decoratorName)
|
|
19047
19074
|
continue;
|
|
19048
|
-
const projectRel =
|
|
19075
|
+
const projectRel = relative15(process.cwd(), componentFilePath).replace(/\\/g, "/");
|
|
19049
19076
|
const id = encodeURIComponent(`${projectRel}@${className}`);
|
|
19050
19077
|
if (decoratorName === "Component") {
|
|
19051
19078
|
const componentDecorator = decorators.find((d2) => {
|
|
@@ -19248,7 +19275,7 @@ var fail = (reason, detail, location) => ({
|
|
|
19248
19275
|
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
19249
19276
|
return true;
|
|
19250
19277
|
}
|
|
19251
|
-
const base =
|
|
19278
|
+
const base = resolve30(componentDir, spec);
|
|
19252
19279
|
const candidates = [
|
|
19253
19280
|
`${base}.ts`,
|
|
19254
19281
|
`${base}.tsx`,
|
|
@@ -20064,7 +20091,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20064
20091
|
return null;
|
|
20065
20092
|
}, resolveDtsFromSpec = (spec, fromDir) => {
|
|
20066
20093
|
const stripped = spec.replace(/\.[mc]?js$/, "");
|
|
20067
|
-
const base =
|
|
20094
|
+
const base = resolve30(fromDir, stripped);
|
|
20068
20095
|
const candidates = [
|
|
20069
20096
|
`${base}.d.ts`,
|
|
20070
20097
|
`${base}.d.mts`,
|
|
@@ -20088,7 +20115,7 @@ var fail = (reason, detail, location) => ({
|
|
|
20088
20115
|
return null;
|
|
20089
20116
|
}, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
|
|
20090
20117
|
if (spec.startsWith(".") || spec.startsWith("/")) {
|
|
20091
|
-
const base =
|
|
20118
|
+
const base = resolve30(componentDir, spec);
|
|
20092
20119
|
const candidates = [
|
|
20093
20120
|
`${base}.ts`,
|
|
20094
20121
|
`${base}.tsx`,
|
|
@@ -20307,13 +20334,13 @@ var fail = (reason, detail, location) => ({
|
|
|
20307
20334
|
}
|
|
20308
20335
|
if (!matches)
|
|
20309
20336
|
continue;
|
|
20310
|
-
const resolved =
|
|
20337
|
+
const resolved = resolve30(componentDir, spec);
|
|
20311
20338
|
for (const ext of TS_EXTENSIONS) {
|
|
20312
20339
|
const candidate = resolved + ext;
|
|
20313
20340
|
if (existsSync27(candidate))
|
|
20314
20341
|
return candidate;
|
|
20315
20342
|
}
|
|
20316
|
-
const indexCandidate =
|
|
20343
|
+
const indexCandidate = resolve30(resolved, "index.ts");
|
|
20317
20344
|
if (existsSync27(indexCandidate))
|
|
20318
20345
|
return indexCandidate;
|
|
20319
20346
|
}
|
|
@@ -20551,7 +20578,7 @@ ${transpiled}
|
|
|
20551
20578
|
}
|
|
20552
20579
|
}${staticPatch}`;
|
|
20553
20580
|
}, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
|
|
20554
|
-
const abs =
|
|
20581
|
+
const abs = resolve30(componentDir, url);
|
|
20555
20582
|
if (!existsSync27(abs))
|
|
20556
20583
|
return null;
|
|
20557
20584
|
const ext = extname10(abs).toLowerCase();
|
|
@@ -20590,7 +20617,7 @@ ${block}
|
|
|
20590
20617
|
const cached = projectOptionsCache.get(projectRoot);
|
|
20591
20618
|
if (cached !== undefined)
|
|
20592
20619
|
return cached;
|
|
20593
|
-
const tsconfigPath =
|
|
20620
|
+
const tsconfigPath = resolve30(projectRoot, "tsconfig.json");
|
|
20594
20621
|
const opts = {};
|
|
20595
20622
|
if (existsSync27(tsconfigPath)) {
|
|
20596
20623
|
try {
|
|
@@ -20636,7 +20663,7 @@ ${block}
|
|
|
20636
20663
|
}
|
|
20637
20664
|
const kind = params.kind ?? "component";
|
|
20638
20665
|
if (kind !== "component") {
|
|
20639
|
-
const entityId = encodeURIComponent(`${
|
|
20666
|
+
const entityId = encodeURIComponent(`${relative15(projectRoot, componentFilePath).replace(/\\/g, "/")}@${className}`);
|
|
20640
20667
|
const currentEntityFingerprint = extractEntityFingerprint(classNode, className, sourceFile);
|
|
20641
20668
|
const cachedEntityFingerprint = entityFingerprintCache.get(entityId);
|
|
20642
20669
|
if (cachedEntityFingerprint !== undefined && !entityFingerprintsEqual(cachedEntityFingerprint, currentEntityFingerprint)) {
|
|
@@ -20674,7 +20701,7 @@ ${block}
|
|
|
20674
20701
|
templateText = decoratorMeta.template;
|
|
20675
20702
|
templatePath = componentFilePath;
|
|
20676
20703
|
} else if (decoratorMeta.templateUrl) {
|
|
20677
|
-
const tplAbs =
|
|
20704
|
+
const tplAbs = resolve30(componentDir, decoratorMeta.templateUrl);
|
|
20678
20705
|
if (!existsSync27(tplAbs)) {
|
|
20679
20706
|
return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
|
|
20680
20707
|
}
|
|
@@ -20720,7 +20747,7 @@ ${block}
|
|
|
20720
20747
|
return fail("class-not-found", "anonymous class");
|
|
20721
20748
|
const wrappedClass = new compiler.WrappedNodeExpr(className_);
|
|
20722
20749
|
const { inputs, outputs, hasDecoratorIO, hasSignalIO } = extractInputsAndOutputs(classNode, compiler);
|
|
20723
|
-
const projectRelPath =
|
|
20750
|
+
const projectRelPath = relative15(projectRoot, componentFilePath).replace(/\\/g, "/");
|
|
20724
20751
|
const fingerprintId = encodeURIComponent(`${projectRelPath}@${className}`);
|
|
20725
20752
|
const currentFingerprint = extractFingerprint(classNode, className, decoratorMeta, inputs, outputs, sourceFile, componentDir);
|
|
20726
20753
|
const cachedFingerprint = fingerprintCache.get(fingerprintId);
|
|
@@ -21003,7 +21030,7 @@ __export(exports_scanVueSsrOnlyPages, {
|
|
|
21003
21030
|
scanVueSsrOnlyPages: () => scanVueSsrOnlyPages
|
|
21004
21031
|
});
|
|
21005
21032
|
import { readdirSync as readdirSync3, readFileSync as readFileSync24 } from "fs";
|
|
21006
|
-
import { join as
|
|
21033
|
+
import { join as join36 } from "path";
|
|
21007
21034
|
import ts13 from "typescript";
|
|
21008
21035
|
var SKIP_DIRS2, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
|
|
21009
21036
|
if (filePath.endsWith(".tsx"))
|
|
@@ -21036,9 +21063,9 @@ var SKIP_DIRS2, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
|
|
|
21036
21063
|
continue;
|
|
21037
21064
|
if (entry.name.startsWith("."))
|
|
21038
21065
|
continue;
|
|
21039
|
-
stack.push(
|
|
21066
|
+
stack.push(join36(dir, entry.name));
|
|
21040
21067
|
} else if (entry.isFile() && hasSourceExtension2(entry.name)) {
|
|
21041
|
-
out.push(
|
|
21068
|
+
out.push(join36(dir, entry.name));
|
|
21042
21069
|
}
|
|
21043
21070
|
}
|
|
21044
21071
|
}
|
|
@@ -21158,7 +21185,7 @@ var init_scanVueSsrOnlyPages = __esm(() => {
|
|
|
21158
21185
|
|
|
21159
21186
|
// src/build/scanAngularHandlerCalls.ts
|
|
21160
21187
|
import { readdirSync as readdirSync4, readFileSync as readFileSync25 } from "fs";
|
|
21161
|
-
import { join as
|
|
21188
|
+
import { join as join37 } from "path";
|
|
21162
21189
|
import ts14 from "typescript";
|
|
21163
21190
|
var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS4, SERVER_ENTRY_COPY_PREFIX = ".absolutejs-hmr-", getScriptKind4 = (filePath) => {
|
|
21164
21191
|
if (filePath.endsWith(".tsx"))
|
|
@@ -21191,9 +21218,9 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS4, SERVER_ENTRY_COPY_PRE
|
|
|
21191
21218
|
continue;
|
|
21192
21219
|
if (entry.name.startsWith("."))
|
|
21193
21220
|
continue;
|
|
21194
|
-
stack.push(
|
|
21221
|
+
stack.push(join37(dir, entry.name));
|
|
21195
21222
|
} else if (entry.isFile() && !entry.name.startsWith(SERVER_ENTRY_COPY_PREFIX) && hasSourceExtension3(entry.name)) {
|
|
21196
|
-
out.push(
|
|
21223
|
+
out.push(join37(dir, entry.name));
|
|
21197
21224
|
}
|
|
21198
21225
|
}
|
|
21199
21226
|
}
|
|
@@ -21308,7 +21335,7 @@ var init_scanAngularHandlerCalls = __esm(() => {
|
|
|
21308
21335
|
|
|
21309
21336
|
// src/build/scanAngularPageRoutes.ts
|
|
21310
21337
|
import { readdirSync as readdirSync5, readFileSync as readFileSync26 } from "fs";
|
|
21311
|
-
import { basename as basename12, join as
|
|
21338
|
+
import { basename as basename12, join as join38 } from "path";
|
|
21312
21339
|
import ts15 from "typescript";
|
|
21313
21340
|
var SOURCE_EXTENSIONS5, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
|
|
21314
21341
|
const idx = filePath.lastIndexOf(".");
|
|
@@ -21348,9 +21375,9 @@ var SOURCE_EXTENSIONS5, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
|
|
|
21348
21375
|
continue;
|
|
21349
21376
|
if (entry.name.startsWith("."))
|
|
21350
21377
|
continue;
|
|
21351
|
-
stack.push(
|
|
21378
|
+
stack.push(join38(dir, entry.name));
|
|
21352
21379
|
} else if (entry.isFile() && isPageFile(entry.name)) {
|
|
21353
|
-
out.push(
|
|
21380
|
+
out.push(join38(dir, entry.name));
|
|
21354
21381
|
}
|
|
21355
21382
|
}
|
|
21356
21383
|
}
|
|
@@ -21427,7 +21454,7 @@ __export(exports_parseAngularConfigImports, {
|
|
|
21427
21454
|
parseAngularProvidersImport: () => parseAngularProvidersImport
|
|
21428
21455
|
});
|
|
21429
21456
|
import { existsSync as existsSync28, readFileSync as readFileSync27 } from "fs";
|
|
21430
|
-
import { dirname as dirname20, isAbsolute as
|
|
21457
|
+
import { dirname as dirname20, isAbsolute as isAbsolute7, join as join39 } from "path";
|
|
21431
21458
|
import ts16 from "typescript";
|
|
21432
21459
|
var findDefineConfigCall = (sf) => {
|
|
21433
21460
|
let result = null;
|
|
@@ -21482,15 +21509,15 @@ var findDefineConfigCall = (sf) => {
|
|
|
21482
21509
|
}, resolveConfigPath = (projectRoot) => {
|
|
21483
21510
|
const envOverride = process.env.ABSOLUTE_CONFIG;
|
|
21484
21511
|
if (envOverride) {
|
|
21485
|
-
const resolved =
|
|
21512
|
+
const resolved = isAbsolute7(envOverride) ? envOverride : join39(projectRoot, envOverride);
|
|
21486
21513
|
if (existsSync28(resolved))
|
|
21487
21514
|
return resolved;
|
|
21488
21515
|
}
|
|
21489
21516
|
const candidates = [
|
|
21490
|
-
|
|
21491
|
-
|
|
21492
|
-
|
|
21493
|
-
|
|
21517
|
+
join39(projectRoot, "absolute.config.ts"),
|
|
21518
|
+
join39(projectRoot, "absolute.config.mts"),
|
|
21519
|
+
join39(projectRoot, "absolute.config.js"),
|
|
21520
|
+
join39(projectRoot, "absolute.config.mjs")
|
|
21494
21521
|
];
|
|
21495
21522
|
for (const candidate of candidates) {
|
|
21496
21523
|
if (existsSync28(candidate))
|
|
@@ -21523,7 +21550,7 @@ var findDefineConfigCall = (sf) => {
|
|
|
21523
21550
|
if (!importInfo)
|
|
21524
21551
|
return null;
|
|
21525
21552
|
const configDir2 = dirname20(configPath2);
|
|
21526
|
-
const absolutePath = importInfo.source.startsWith(".") ?
|
|
21553
|
+
const absolutePath = importInfo.source.startsWith(".") ? join39(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute7(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
|
|
21527
21554
|
return {
|
|
21528
21555
|
absolutePath,
|
|
21529
21556
|
bindingName: binding,
|
|
@@ -21598,25 +21625,25 @@ import { existsSync as existsSync29 } from "fs";
|
|
|
21598
21625
|
import { mkdir as mkdir8, stat as stat3 } from "fs/promises";
|
|
21599
21626
|
import {
|
|
21600
21627
|
dirname as dirname21,
|
|
21601
|
-
join as
|
|
21628
|
+
join as join40,
|
|
21602
21629
|
basename as basename13,
|
|
21603
21630
|
extname as extname11,
|
|
21604
|
-
resolve as
|
|
21605
|
-
relative as
|
|
21606
|
-
sep as
|
|
21631
|
+
resolve as resolve31,
|
|
21632
|
+
relative as relative16,
|
|
21633
|
+
sep as sep4
|
|
21607
21634
|
} from "path";
|
|
21608
21635
|
import { env as env2 } from "process";
|
|
21609
21636
|
var {write: write2, file: file2, Transpiler: Transpiler2 } = globalThis.Bun;
|
|
21610
21637
|
var resolveDevClientDir2 = () => {
|
|
21611
21638
|
const projectRoot = process.cwd();
|
|
21612
|
-
const fromSource =
|
|
21639
|
+
const fromSource = resolve31(import.meta.dir, "../dev/client");
|
|
21613
21640
|
if (existsSync29(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
21614
21641
|
return fromSource;
|
|
21615
21642
|
}
|
|
21616
|
-
const fromNodeModules =
|
|
21643
|
+
const fromNodeModules = resolve31(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
21617
21644
|
if (existsSync29(fromNodeModules))
|
|
21618
21645
|
return fromNodeModules;
|
|
21619
|
-
return
|
|
21646
|
+
return resolve31(import.meta.dir, "./dev/client");
|
|
21620
21647
|
}, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
|
|
21621
21648
|
persistentCache.clear();
|
|
21622
21649
|
sourceHashCache.clear();
|
|
@@ -21646,7 +21673,7 @@ var resolveDevClientDir2 = () => {
|
|
|
21646
21673
|
}, resolveRelativeModule2 = async (spec, from) => {
|
|
21647
21674
|
if (!spec.startsWith("."))
|
|
21648
21675
|
return null;
|
|
21649
|
-
const basePath =
|
|
21676
|
+
const basePath = resolve31(dirname21(from), spec);
|
|
21650
21677
|
const candidates = [
|
|
21651
21678
|
basePath,
|
|
21652
21679
|
`${basePath}.ts`,
|
|
@@ -21657,14 +21684,14 @@ var resolveDevClientDir2 = () => {
|
|
|
21657
21684
|
`${basePath}.svelte`,
|
|
21658
21685
|
`${basePath}.svelte.ts`,
|
|
21659
21686
|
`${basePath}.svelte.js`,
|
|
21660
|
-
|
|
21661
|
-
|
|
21662
|
-
|
|
21663
|
-
|
|
21664
|
-
|
|
21665
|
-
|
|
21666
|
-
|
|
21667
|
-
|
|
21687
|
+
join40(basePath, "index.ts"),
|
|
21688
|
+
join40(basePath, "index.js"),
|
|
21689
|
+
join40(basePath, "index.mjs"),
|
|
21690
|
+
join40(basePath, "index.cjs"),
|
|
21691
|
+
join40(basePath, "index.json"),
|
|
21692
|
+
join40(basePath, "index.svelte"),
|
|
21693
|
+
join40(basePath, "index.svelte.ts"),
|
|
21694
|
+
join40(basePath, "index.svelte.js")
|
|
21668
21695
|
];
|
|
21669
21696
|
const checks = await Promise.all(candidates.map(exists2));
|
|
21670
21697
|
return candidates.find((_2, index) => checks[index]) ?? null;
|
|
@@ -21673,7 +21700,7 @@ var resolveDevClientDir2 = () => {
|
|
|
21673
21700
|
const resolved = resolvePackageImport(spec);
|
|
21674
21701
|
return resolved && /\.svelte(\.(?:ts|js))?$/.test(resolved) ? resolved : null;
|
|
21675
21702
|
}
|
|
21676
|
-
const basePath =
|
|
21703
|
+
const basePath = resolve31(dirname21(from), spec);
|
|
21677
21704
|
const explicit = /\.(svelte|svelte\.(?:ts|js))$/.test(basePath);
|
|
21678
21705
|
if (!explicit) {
|
|
21679
21706
|
const extensions = [".svelte", ".svelte.ts", ".svelte.js"];
|
|
@@ -21694,8 +21721,8 @@ var resolveDevClientDir2 = () => {
|
|
|
21694
21721
|
return jsPath;
|
|
21695
21722
|
return null;
|
|
21696
21723
|
}, addModuleRewrite = (rewrites, rawSpec, resolvedModule, ssrOutputDir, clientOutputDir) => {
|
|
21697
|
-
const toServer =
|
|
21698
|
-
const toClient =
|
|
21724
|
+
const toServer = relative16(ssrOutputDir, resolvedModule).replace(/\\/g, "/");
|
|
21725
|
+
const toClient = relative16(clientOutputDir, resolvedModule).replace(/\\/g, "/");
|
|
21699
21726
|
rewrites.set(rawSpec, {
|
|
21700
21727
|
client: toClient.startsWith(".") || toClient.startsWith("/") ? toClient : `./${toClient}`,
|
|
21701
21728
|
server: toServer.startsWith(".") ? toServer : `./${toServer}`
|
|
@@ -21703,9 +21730,9 @@ var resolveDevClientDir2 = () => {
|
|
|
21703
21730
|
}, compileSvelte = async (entryPoints, svelteRoot, cache = new Map, isDev2 = false, stylePreprocessors) => {
|
|
21704
21731
|
const { compile, compileModule, preprocess } = await import("svelte/compiler");
|
|
21705
21732
|
const generatedDir = getFrameworkGeneratedDir("svelte");
|
|
21706
|
-
const clientDir =
|
|
21707
|
-
const indexDir =
|
|
21708
|
-
const serverDir =
|
|
21733
|
+
const clientDir = join40(generatedDir, "client");
|
|
21734
|
+
const indexDir = join40(generatedDir, "indexes");
|
|
21735
|
+
const serverDir = join40(generatedDir, "server");
|
|
21709
21736
|
await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir8(dir, { recursive: true })));
|
|
21710
21737
|
const dev = env2.NODE_ENV !== "production";
|
|
21711
21738
|
const build2 = async (src) => {
|
|
@@ -21733,8 +21760,8 @@ var resolveDevClientDir2 = () => {
|
|
|
21733
21760
|
const preprocessedClient = isModule ? loweredClientSource.code : (await preprocess(loweredClientSource.code, svelteStylePreprocessor)).code;
|
|
21734
21761
|
const transpiledServer = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedServer) : preprocessedServer;
|
|
21735
21762
|
const transpiledClient = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedClient) : preprocessedClient;
|
|
21736
|
-
const rawRel = dirname21(
|
|
21737
|
-
const relDir = rawRel.startsWith("..") ? `_ext/${
|
|
21763
|
+
const rawRel = dirname21(relative16(svelteRoot, src)).replace(/\\/g, "/");
|
|
21764
|
+
const relDir = rawRel.startsWith("..") ? `_ext/${relative16(process.cwd(), dirname21(src)).replace(/\\/g, "/")}` : rawRel;
|
|
21738
21765
|
const baseName = basename13(src).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
21739
21766
|
const importPaths = Array.from(transpiledServer.matchAll(/from\s+['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((path2) => path2 !== undefined);
|
|
21740
21767
|
const resolvedModuleImports = await Promise.all(importPaths.map((importPath) => resolveRelativeModule2(importPath, src)));
|
|
@@ -21743,8 +21770,8 @@ var resolveDevClientDir2 = () => {
|
|
|
21743
21770
|
const childBuilt = await Promise.all(childSources.map((child) => build2(child)));
|
|
21744
21771
|
const hasAwaitSlotFromChildren = childBuilt.some((child) => child.hasAwaitSlot);
|
|
21745
21772
|
const externalRewrites = new Map;
|
|
21746
|
-
const ssrOutputDir = dirname21(
|
|
21747
|
-
const clientOutputDir = dirname21(
|
|
21773
|
+
const ssrOutputDir = dirname21(join40(serverDir, relDir, `${baseName}.js`));
|
|
21774
|
+
const clientOutputDir = dirname21(join40(clientDir, relDir, `${baseName}.js`));
|
|
21748
21775
|
for (let idx = 0;idx < importPaths.length; idx++) {
|
|
21749
21776
|
const rawSpec = importPaths[idx];
|
|
21750
21777
|
if (!rawSpec)
|
|
@@ -21755,15 +21782,15 @@ var resolveDevClientDir2 = () => {
|
|
|
21755
21782
|
addModuleRewrite(externalRewrites, rawSpec, resolvedModule, ssrOutputDir, clientOutputDir);
|
|
21756
21783
|
if (!resolved)
|
|
21757
21784
|
continue;
|
|
21758
|
-
const childRel =
|
|
21785
|
+
const childRel = relative16(svelteRoot, resolved).replace(/\\/g, "/");
|
|
21759
21786
|
if (!childRel.startsWith(".."))
|
|
21760
21787
|
continue;
|
|
21761
21788
|
const childBuilt2 = cache.get(resolved);
|
|
21762
21789
|
if (!childBuilt2)
|
|
21763
21790
|
continue;
|
|
21764
21791
|
const origSpec = rawSpec.replace(/\.svelte(?:\.(?:ts|js))?$/, ".js");
|
|
21765
|
-
const toServer =
|
|
21766
|
-
const toClient =
|
|
21792
|
+
const toServer = relative16(ssrOutputDir, childBuilt2.ssr).replace(/\\/g, "/");
|
|
21793
|
+
const toClient = relative16(clientOutputDir, childBuilt2.client).replace(/\\/g, "/");
|
|
21767
21794
|
externalRewrites.set(origSpec, {
|
|
21768
21795
|
client: toClient.startsWith(".") ? toClient : `./${toClient}`,
|
|
21769
21796
|
server: toServer.startsWith(".") ? toServer : `./${toServer}`
|
|
@@ -21797,7 +21824,7 @@ var resolveDevClientDir2 = () => {
|
|
|
21797
21824
|
}).js;
|
|
21798
21825
|
let code2 = compiledJs.code.replace(/\.svelte(?:\.(?:ts|js))?(['"])/g, ".js$1");
|
|
21799
21826
|
if (mode === "client" && isDev2) {
|
|
21800
|
-
const moduleKey = `/@src/${
|
|
21827
|
+
const moduleKey = `/@src/${relative16(process.cwd(), src).replace(/\\/g, "/")}`;
|
|
21801
21828
|
code2 = code2.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
|
|
21802
21829
|
if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
|
|
21803
21830
|
var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleKey)}] = cb; };`);
|
|
@@ -21809,8 +21836,8 @@ var resolveDevClientDir2 = () => {
|
|
|
21809
21836
|
code2 += islandMetadataExports;
|
|
21810
21837
|
return { code: code2, map: compiledJs.map };
|
|
21811
21838
|
};
|
|
21812
|
-
const ssrPath =
|
|
21813
|
-
const clientPath =
|
|
21839
|
+
const ssrPath = join40(serverDir, relDir, `${baseName}.js`);
|
|
21840
|
+
const clientPath = join40(clientDir, relDir, `${baseName}.js`);
|
|
21814
21841
|
await Promise.all([
|
|
21815
21842
|
mkdir8(dirname21(ssrPath), { recursive: true }),
|
|
21816
21843
|
mkdir8(dirname21(clientPath), { recursive: true })
|
|
@@ -21848,10 +21875,10 @@ var resolveDevClientDir2 = () => {
|
|
|
21848
21875
|
const roots = await Promise.all(entryPoints.map(build2));
|
|
21849
21876
|
const componentRoots = roots.filter((root) => !root.isModule);
|
|
21850
21877
|
await Promise.all(componentRoots.map(async ({ client: client2, hasAwaitSlot }) => {
|
|
21851
|
-
const relClientDir = dirname21(
|
|
21878
|
+
const relClientDir = dirname21(relative16(clientDir, client2));
|
|
21852
21879
|
const name = basename13(client2, extname11(client2));
|
|
21853
|
-
const indexPath =
|
|
21854
|
-
const importRaw =
|
|
21880
|
+
const indexPath = join40(indexDir, relClientDir, `${name}.js`);
|
|
21881
|
+
const importRaw = relative16(dirname21(indexPath), client2).split(sep4).join("/");
|
|
21855
21882
|
const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
|
|
21856
21883
|
const hmrImports = isDev2 ? `window.__HMR_FRAMEWORK__ = "svelte";
|
|
21857
21884
|
import "${hmrClientPath3}";
|
|
@@ -21952,8 +21979,8 @@ if (typeof window !== "undefined") {
|
|
|
21952
21979
|
return {
|
|
21953
21980
|
svelteClientPaths: roots.map(({ client: client2 }) => client2),
|
|
21954
21981
|
svelteIndexPaths: componentRoots.map(({ client: client2 }) => {
|
|
21955
|
-
const rel = dirname21(
|
|
21956
|
-
return
|
|
21982
|
+
const rel = dirname21(relative16(clientDir, client2));
|
|
21983
|
+
return join40(indexDir, rel, basename13(client2));
|
|
21957
21984
|
}),
|
|
21958
21985
|
svelteServerPaths: roots.map(({ ssr }) => ssr)
|
|
21959
21986
|
};
|
|
@@ -21968,7 +21995,7 @@ var init_compileSvelte = __esm(() => {
|
|
|
21968
21995
|
init_lowerAwaitSlotSyntax();
|
|
21969
21996
|
init_renderToReadableStream();
|
|
21970
21997
|
devClientDir2 = resolveDevClientDir2();
|
|
21971
|
-
hmrClientPath3 =
|
|
21998
|
+
hmrClientPath3 = join40(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
|
|
21972
21999
|
persistentCache = new Map;
|
|
21973
22000
|
sourceHashCache = new Map;
|
|
21974
22001
|
transpiler3 = new Transpiler2({ loader: "ts", target: "browser" });
|
|
@@ -22450,8 +22477,8 @@ var init_chainInlineSourcemaps = __esm(() => {
|
|
|
22450
22477
|
import { createHash as createHash7 } from "crypto";
|
|
22451
22478
|
import { existsSync as existsSync30, readFileSync as readFileSync29 } from "fs";
|
|
22452
22479
|
import { mkdir as mkdir9, rename as rename2, writeFile as writeFile8 } from "fs/promises";
|
|
22453
|
-
import { join as
|
|
22454
|
-
var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION =
|
|
22480
|
+
import { join as join41, resolve as resolve32 } from "path";
|
|
22481
|
+
var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION = 2, FILE_NAME_HASH_LENGTH = 32, vueCompileCacheEnabled = () => process.env.ABSOLUTE_COMPILE_CACHE !== "0", hashContent = (content) => createHash7("sha256").update(content).digest("hex"), hashParts = (parts) => {
|
|
22455
22482
|
const hash = createHash7("sha256");
|
|
22456
22483
|
for (const part of parts) {
|
|
22457
22484
|
hash.update(part);
|
|
@@ -22460,8 +22487,8 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
|
|
|
22460
22487
|
return hash.digest("hex");
|
|
22461
22488
|
}, readOwnPackageVersion = () => {
|
|
22462
22489
|
const candidates = [
|
|
22463
|
-
|
|
22464
|
-
|
|
22490
|
+
resolve32(import.meta.dir, "..", "..", "package.json"),
|
|
22491
|
+
resolve32(import.meta.dir, "..", "package.json")
|
|
22465
22492
|
];
|
|
22466
22493
|
for (const candidate of candidates) {
|
|
22467
22494
|
try {
|
|
@@ -22476,7 +22503,7 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
|
|
|
22476
22503
|
}, cachedFrameworkVersion, frameworkVersionForCache = () => {
|
|
22477
22504
|
cachedFrameworkVersion ??= readOwnPackageVersion();
|
|
22478
22505
|
return cachedFrameworkVersion;
|
|
22479
|
-
}, vueCompileCacheDir = (projectRoot = process.cwd()) =>
|
|
22506
|
+
}, vueCompileCacheDir = (projectRoot = process.cwd()) => join41(projectRoot, ABSOLUTE_CACHE_DIR_NAME2, CACHE_DIR_NAME, "vue"), entryFileFor = (sourceFilePath, projectRoot) => join41(vueCompileCacheDir(projectRoot), `${hashContent(sourceFilePath).slice(0, FILE_NAME_HASH_LENGTH)}.json`), vueCompileCacheFingerprint = (parts) => {
|
|
22480
22507
|
const frameworkVersion = frameworkVersionForCache();
|
|
22481
22508
|
if (!frameworkVersion)
|
|
22482
22509
|
return null;
|
|
@@ -22542,8 +22569,8 @@ __export(exports_emitTsHelpers, {
|
|
|
22542
22569
|
var {file: file3, Transpiler: Transpiler3, write: write3 } = globalThis.Bun;
|
|
22543
22570
|
import { copyFileSync as copyFileSync2, existsSync as existsSync31, readdirSync as readdirSync6 } from "fs";
|
|
22544
22571
|
import { mkdir as mkdir10, rename as rename3, writeFile as writeFile9 } from "fs/promises";
|
|
22545
|
-
import { dirname as dirname22, join as
|
|
22546
|
-
var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () =>
|
|
22572
|
+
import { dirname as dirname22, join as join42 } from "path";
|
|
22573
|
+
var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () => join42(process.cwd(), ".absolutejs", "compile-cache", CACHE_DIR_NAME2), cacheKey2 = (sourcePath, sourceCode) => {
|
|
22547
22574
|
const frameworkVersion = frameworkVersionForCache();
|
|
22548
22575
|
if (!frameworkVersion || !vueCompileCacheEnabled())
|
|
22549
22576
|
return null;
|
|
@@ -22576,13 +22603,13 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
|
|
|
22576
22603
|
}, publishCacheEntry = async (directory, fileName, pathHash, content) => {
|
|
22577
22604
|
try {
|
|
22578
22605
|
await mkdir10(directory, { recursive: true });
|
|
22579
|
-
const target =
|
|
22606
|
+
const target = join42(directory, fileName);
|
|
22580
22607
|
const temporary = `${target}.${process.pid}.tmp`;
|
|
22581
22608
|
await writeFile9(temporary, content);
|
|
22582
22609
|
await rename3(temporary, target);
|
|
22583
22610
|
const superseded = entriesForPath(directory, pathHash).filter((name) => name !== fileName);
|
|
22584
22611
|
existingEntries?.set(pathHash, [fileName]);
|
|
22585
|
-
await Promise.all(superseded.map((name) => Bun.file(
|
|
22612
|
+
await Promise.all(superseded.map((name) => Bun.file(join42(directory, name)).delete().catch(() => {
|
|
22586
22613
|
return;
|
|
22587
22614
|
})));
|
|
22588
22615
|
} catch {}
|
|
@@ -22611,7 +22638,7 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
|
|
|
22611
22638
|
const key = cacheKey2(sourcePath, sourceCode);
|
|
22612
22639
|
const directory = cacheDir();
|
|
22613
22640
|
const fileName = key ? `${key.path}-${key.content}.js` : null;
|
|
22614
|
-
const cachedPath = fileName ?
|
|
22641
|
+
const cachedPath = fileName ? join42(directory, fileName) : null;
|
|
22615
22642
|
if (cachedPath && existsSync31(cachedPath)) {
|
|
22616
22643
|
await copyBoth(clientOutputPath, serverOutputPath, cachedPath);
|
|
22617
22644
|
return;
|
|
@@ -22640,7 +22667,7 @@ __export(exports_compileVueSfc, {
|
|
|
22640
22667
|
compileVueSfc: () => compileVueSfc
|
|
22641
22668
|
});
|
|
22642
22669
|
import { existsSync as existsSync32, readFileSync as readFileSync30, realpathSync as realpathSync2 } from "fs";
|
|
22643
|
-
import { dirname as dirname23, relative as
|
|
22670
|
+
import { dirname as dirname23, relative as relative17, resolve as resolve33 } from "path";
|
|
22644
22671
|
var {Transpiler: Transpiler4 } = globalThis.Bun;
|
|
22645
22672
|
var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
|
|
22646
22673
|
const resolved = realpathSync2(cssFilePath);
|
|
@@ -22649,7 +22676,7 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
|
|
|
22649
22676
|
visited.add(resolved);
|
|
22650
22677
|
const importRegex = /@import\s+(?:url\(\s*)?(['"])(\.{1,2}\/[^'"]+)\1\s*\)?\s*;?/g;
|
|
22651
22678
|
return cssContent.replace(importRegex, (match, _quote, relPath) => {
|
|
22652
|
-
const importedPath =
|
|
22679
|
+
const importedPath = resolve33(dirname23(cssFilePath), relPath);
|
|
22653
22680
|
if (!existsSync32(importedPath))
|
|
22654
22681
|
return match;
|
|
22655
22682
|
const importedContent = readFileSync30(importedPath, "utf-8");
|
|
@@ -22662,15 +22689,15 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
|
|
|
22662
22689
|
return filePath.replace(/\.ts$/, ".js");
|
|
22663
22690
|
if (isStylePath(filePath)) {
|
|
22664
22691
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
22665
|
-
return
|
|
22692
|
+
return resolve33(sourceDir, filePath);
|
|
22666
22693
|
}
|
|
22667
22694
|
return filePath;
|
|
22668
22695
|
}
|
|
22669
22696
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
22670
|
-
const directTs =
|
|
22697
|
+
const directTs = resolve33(sourceDir, `${filePath}.ts`);
|
|
22671
22698
|
if (existsSync32(directTs))
|
|
22672
22699
|
return `${filePath}.js`;
|
|
22673
|
-
const indexedTs =
|
|
22700
|
+
const indexedTs = resolve33(sourceDir, filePath, "index.ts");
|
|
22674
22701
|
if (existsSync32(indexedTs))
|
|
22675
22702
|
return `${filePath}/index.js`;
|
|
22676
22703
|
}
|
|
@@ -22813,7 +22840,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
22813
22840
|
let result = code2;
|
|
22814
22841
|
for (const [bareImport, paths] of packageImportRewrites) {
|
|
22815
22842
|
const targetPath = mode === "server" ? paths.server : paths.client;
|
|
22816
|
-
let rel =
|
|
22843
|
+
let rel = relative17(dirname23(outputPath), targetPath).replace(/\\/g, "/");
|
|
22817
22844
|
if (!rel.startsWith("."))
|
|
22818
22845
|
rel = `./${rel}`;
|
|
22819
22846
|
result = result.replaceAll(bareImport, rel);
|
|
@@ -22919,7 +22946,7 @@ __export(exports_workerPool, {
|
|
|
22919
22946
|
});
|
|
22920
22947
|
import { existsSync as existsSync33, readFileSync as readFileSync31 } from "fs";
|
|
22921
22948
|
import { availableParallelism, freemem } from "os";
|
|
22922
|
-
import { dirname as dirname24, join as
|
|
22949
|
+
import { dirname as dirname24, join as join43 } from "path";
|
|
22923
22950
|
import { pathToFileURL as pathToFileURL3 } from "url";
|
|
22924
22951
|
var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_MEMORY_BUDGET_BYTES, DEFAULT_IDLE_TIMEOUT_MS = 2000, DEFAULT_MIN_BATCH = 4, PACKAGE_WALK_DEPTH = 6, PERCENT = 100, OWN_PACKAGE_NAME = "@absolutejs/absolute", parseWorkerOverride = (raw) => {
|
|
22925
22952
|
if (raw === undefined || raw.trim() === "")
|
|
@@ -22936,7 +22963,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
22936
22963
|
const byMemory = Math.floor(freemem() / WORKER_MEMORY_BUDGET_BYTES);
|
|
22937
22964
|
return Math.max(MIN_WORKERS, Math.min(byCpu, byMemory));
|
|
22938
22965
|
}, isOwnPackageRoot = (dir) => {
|
|
22939
|
-
const packageFile =
|
|
22966
|
+
const packageFile = join43(dir, "package.json");
|
|
22940
22967
|
if (!existsSync33(packageFile))
|
|
22941
22968
|
return false;
|
|
22942
22969
|
try {
|
|
@@ -22960,9 +22987,9 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
22960
22987
|
const root = findOwnPackageRoot(fromDir);
|
|
22961
22988
|
if (!root)
|
|
22962
22989
|
return null;
|
|
22963
|
-
const distEntry =
|
|
22964
|
-
const sourceEntry =
|
|
22965
|
-
const runningFromDist = fromDir.startsWith(
|
|
22990
|
+
const distEntry = join43(root, "dist", "build", "buildWorker.js");
|
|
22991
|
+
const sourceEntry = join43(root, "src", "build", "buildWorker.ts");
|
|
22992
|
+
const runningFromDist = fromDir.startsWith(join43(root, "dist"));
|
|
22966
22993
|
const ordered = runningFromDist ? [distEntry, sourceEntry] : [sourceEntry, distEntry];
|
|
22967
22994
|
return ordered.find((candidate) => existsSync33(candidate)) ?? null;
|
|
22968
22995
|
}, formatPercent = (ratio) => `${Math.round(ratio * PERCENT)}%`, createBuildWorkerPool = (options = {}) => {
|
|
@@ -23157,7 +23184,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
23157
23184
|
};
|
|
23158
23185
|
const isWarm = () => slots.length > 0;
|
|
23159
23186
|
const shouldUse = (jobCount) => enabled && !broken && !draining && (isWarm() || jobCount >= minBatch);
|
|
23160
|
-
const enqueue = (kind, payload, affinity) => new Promise((
|
|
23187
|
+
const enqueue = (kind, payload, affinity) => new Promise((resolve34, reject) => {
|
|
23161
23188
|
onBurstStart();
|
|
23162
23189
|
inFlight += 1;
|
|
23163
23190
|
queue.push({
|
|
@@ -23166,7 +23193,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
23166
23193
|
payload,
|
|
23167
23194
|
reject,
|
|
23168
23195
|
resolve: (result) => {
|
|
23169
|
-
|
|
23196
|
+
resolve34(result);
|
|
23170
23197
|
}
|
|
23171
23198
|
});
|
|
23172
23199
|
ensureWorkers();
|
|
@@ -23209,10 +23236,10 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
|
|
|
23209
23236
|
const activeJobsSettled = () => {
|
|
23210
23237
|
if (inFlight === 0)
|
|
23211
23238
|
return Promise.resolve();
|
|
23212
|
-
return new Promise((
|
|
23239
|
+
return new Promise((resolve34) => {
|
|
23213
23240
|
const poll = () => {
|
|
23214
23241
|
if (inFlight === 0) {
|
|
23215
|
-
|
|
23242
|
+
resolve34();
|
|
23216
23243
|
return;
|
|
23217
23244
|
}
|
|
23218
23245
|
setTimeout(poll, 10);
|
|
@@ -23260,22 +23287,22 @@ import { mkdir as mkdir11 } from "fs/promises";
|
|
|
23260
23287
|
import {
|
|
23261
23288
|
basename as basename14,
|
|
23262
23289
|
dirname as dirname25,
|
|
23263
|
-
isAbsolute as
|
|
23264
|
-
join as
|
|
23265
|
-
relative as
|
|
23266
|
-
resolve as
|
|
23290
|
+
isAbsolute as isAbsolute8,
|
|
23291
|
+
join as join44,
|
|
23292
|
+
relative as relative18,
|
|
23293
|
+
resolve as resolve34
|
|
23267
23294
|
} from "path";
|
|
23268
23295
|
var {file: file4, write: write4 } = globalThis.Bun;
|
|
23269
23296
|
var resolveDevClientDir3 = () => {
|
|
23270
23297
|
const projectRoot = process.cwd();
|
|
23271
|
-
const fromSource =
|
|
23298
|
+
const fromSource = resolve34(import.meta.dir, "../dev/client");
|
|
23272
23299
|
if (existsSync34(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
23273
23300
|
return fromSource;
|
|
23274
23301
|
}
|
|
23275
|
-
const fromNodeModules =
|
|
23302
|
+
const fromNodeModules = resolve34(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
23276
23303
|
if (existsSync34(fromNodeModules))
|
|
23277
23304
|
return fromNodeModules;
|
|
23278
|
-
return
|
|
23305
|
+
return resolve34(import.meta.dir, "./dev/client");
|
|
23279
23306
|
}, devClientDir3, hmrClientPath4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
|
|
23280
23307
|
scriptCache.clear();
|
|
23281
23308
|
scriptSetupCache.clear();
|
|
@@ -23314,17 +23341,17 @@ var resolveDevClientDir3 = () => {
|
|
|
23314
23341
|
return "template-only";
|
|
23315
23342
|
}
|
|
23316
23343
|
return "full";
|
|
23317
|
-
}, generateVueHmrId = (sourceFilePath, vueRootDir) =>
|
|
23344
|
+
}, generateVueHmrId = (sourceFilePath, vueRootDir) => relative18(vueRootDir, sourceFilePath).replace(/\\/g, "/").replace(/\.vue$/, ""), extractImports = (sourceCode) => {
|
|
23318
23345
|
const staticImports = Array.from(sourceCode.matchAll(/import\s+[\s\S]+?['"]([^'"]+)['"]/g));
|
|
23319
23346
|
const dynamicImports = Array.from(sourceCode.matchAll(/\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)/g));
|
|
23320
23347
|
return Array.from(new Set([...staticImports, ...dynamicImports].map((match) => match[1]).filter((importPath) => importPath !== undefined)));
|
|
23321
23348
|
}, resolveHelperTsPath = (sourceDir, helper) => {
|
|
23322
23349
|
if (helper.endsWith(".ts"))
|
|
23323
|
-
return
|
|
23324
|
-
const direct =
|
|
23350
|
+
return resolve34(sourceDir, helper);
|
|
23351
|
+
const direct = resolve34(sourceDir, `${helper}.ts`);
|
|
23325
23352
|
if (existsSync34(direct))
|
|
23326
23353
|
return direct;
|
|
23327
|
-
const indexed =
|
|
23354
|
+
const indexed = resolve34(sourceDir, helper, "index.ts");
|
|
23328
23355
|
if (existsSync34(indexed))
|
|
23329
23356
|
return indexed;
|
|
23330
23357
|
return direct;
|
|
@@ -23392,7 +23419,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23392
23419
|
]);
|
|
23393
23420
|
}, materialiseVueCompileCacheEntry = async (entry, cacheKey3, isEntryPoint, outputDirs, fileBaseName) => {
|
|
23394
23421
|
const { result } = entry;
|
|
23395
|
-
const cssOutputFile = isEntryPoint && result.cssCodes.length > 0 ?
|
|
23422
|
+
const cssOutputFile = isEntryPoint && result.cssCodes.length > 0 ? join44(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
|
|
23396
23423
|
trackWrite(writeVueOutputs({
|
|
23397
23424
|
clientCode: entry.clientCode,
|
|
23398
23425
|
clientPath: result.clientPath,
|
|
@@ -23447,8 +23474,6 @@ var resolveDevClientDir3 = () => {
|
|
|
23447
23474
|
throw error;
|
|
23448
23475
|
}
|
|
23449
23476
|
}, compileVueFileUncached = async (sourceFilePath, outputDirs, cacheMap, isEntryPoint, vueRootDir, compiler, runSfc, stylePreprocessors) => {
|
|
23450
|
-
const relativeFilePath = relative17(vueRootDir, sourceFilePath).replace(/\\/g, "/");
|
|
23451
|
-
const relativeWithoutExtension = relativeFilePath.replace(/\.vue$/, "");
|
|
23452
23477
|
const fileBaseName = basename14(sourceFilePath, ".vue");
|
|
23453
23478
|
const componentId = toKebab(fileBaseName);
|
|
23454
23479
|
vueCompileProfile.files += 1;
|
|
@@ -23486,12 +23511,12 @@ var resolveDevClientDir3 = () => {
|
|
|
23486
23511
|
const childComponentPaths = importPaths.filter((path2) => path2.startsWith(".") && path2.endsWith(".vue"));
|
|
23487
23512
|
const packageComponentPaths = Array.from(resolvedPackageVueImports.entries());
|
|
23488
23513
|
const helperModulePaths = importPaths.filter((path2) => path2.startsWith(".") && !path2.endsWith(".vue") && !isStylePath(path2));
|
|
23489
|
-
const stylePathsImported = importPaths.filter((path2) => (path2.startsWith(".") ||
|
|
23514
|
+
const stylePathsImported = importPaths.filter((path2) => (path2.startsWith(".") || isAbsolute8(path2)) && isStylePath(path2)).map((path2) => isAbsolute8(path2) ? path2 : resolve34(dirname25(sourceFilePath), path2));
|
|
23490
23515
|
for (const stylePath of stylePathsImported) {
|
|
23491
23516
|
addStyleImporter(sourceFilePath, stylePath);
|
|
23492
23517
|
}
|
|
23493
23518
|
const childBuildResults = await Promise.all([
|
|
23494
|
-
...childComponentPaths.map((relativeChildPath) => compileVueFile(
|
|
23519
|
+
...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve34(dirname25(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, runSfc, stylePreprocessors)),
|
|
23495
23520
|
...packageComponentPaths.map(([, absolutePath]) => compileVueFile(absolutePath, outputDirs, cacheMap, false, vueRootDir, compiler, runSfc, stylePreprocessors))
|
|
23496
23521
|
]);
|
|
23497
23522
|
const cacheKeyStartedAt = performance.now();
|
|
@@ -23501,7 +23526,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23501
23526
|
descriptor,
|
|
23502
23527
|
fingerprint: currentVueCompileFingerprint(compiler, outputDirs, vueRootDir, stylePreprocessors),
|
|
23503
23528
|
isEntryPoint,
|
|
23504
|
-
relativeWithoutExtension
|
|
23529
|
+
relativeWithoutExtension: vueModuleOutputPath("", sourceFilePath).replace(/\.js$/, "")
|
|
23505
23530
|
});
|
|
23506
23531
|
const restored = cacheKey3 ? readVueCompileCacheEntry(sourceFilePath, cacheKey3) : undefined;
|
|
23507
23532
|
vueCompileProfile.keyMs += performance.now() - cacheKeyStartedAt;
|
|
@@ -23514,8 +23539,8 @@ var resolveDevClientDir3 = () => {
|
|
|
23514
23539
|
return result2;
|
|
23515
23540
|
}
|
|
23516
23541
|
}
|
|
23517
|
-
const clientOutputPath =
|
|
23518
|
-
const serverOutputPath =
|
|
23542
|
+
const clientOutputPath = vueModuleOutputPath(outputDirs.client, sourceFilePath);
|
|
23543
|
+
const serverOutputPath = vueModuleOutputPath(outputDirs.server, sourceFilePath);
|
|
23519
23544
|
const styleSources = await Promise.all(descriptor.styles.map((styleBlock) => styleBlock.lang ? compileStyleSource(sourceFilePath, styleBlock.content, styleBlock.lang, stylePreprocessors) : Promise.resolve(styleBlock.content)));
|
|
23520
23545
|
const packageImportRewrites = [];
|
|
23521
23546
|
packageComponentPaths.forEach(([bareImport], index) => {
|
|
@@ -23542,7 +23567,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23542
23567
|
...localCss,
|
|
23543
23568
|
...childBuildResults.flatMap((result2) => result2.cssCodes)
|
|
23544
23569
|
];
|
|
23545
|
-
const cssOutputFile = isEntryPoint && allCss.length ?
|
|
23570
|
+
const cssOutputFile = isEntryPoint && allCss.length ? join44(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
|
|
23546
23571
|
const cssOutputPaths = cssOutputFile ? [cssOutputFile] : [];
|
|
23547
23572
|
trackWrite(writeVueOutputs({
|
|
23548
23573
|
clientCode: clientOutput,
|
|
@@ -23586,10 +23611,10 @@ var resolveDevClientDir3 = () => {
|
|
|
23586
23611
|
const compilerLoadMs = performance.now() - compilerLoadStartedAt;
|
|
23587
23612
|
vueCompileProfile.stageCompilerMs = compilerLoadMs;
|
|
23588
23613
|
const generatedDir = getFrameworkGeneratedDir("vue");
|
|
23589
|
-
const clientOutputDir =
|
|
23590
|
-
const indexOutputDir =
|
|
23591
|
-
const serverOutputDir =
|
|
23592
|
-
const cssOutputDir =
|
|
23614
|
+
const clientOutputDir = join44(generatedDir, "client");
|
|
23615
|
+
const indexOutputDir = join44(generatedDir, "indexes");
|
|
23616
|
+
const serverOutputDir = join44(generatedDir, "server");
|
|
23617
|
+
const cssOutputDir = join44(generatedDir, "compiled");
|
|
23593
23618
|
await Promise.all([
|
|
23594
23619
|
mkdir11(clientOutputDir, { recursive: true }),
|
|
23595
23620
|
mkdir11(indexOutputDir, { recursive: true }),
|
|
@@ -23599,7 +23624,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23599
23624
|
const buildCache = new Map;
|
|
23600
23625
|
const allTsHelperPaths = new Set;
|
|
23601
23626
|
const expandSpaRouteChildren = async (entries) => {
|
|
23602
|
-
const expanded = new Set(entries.map((entry) =>
|
|
23627
|
+
const expanded = new Set(entries.map((entry) => resolve34(entry)));
|
|
23603
23628
|
const queue = [...expanded];
|
|
23604
23629
|
while (queue.length > 0) {
|
|
23605
23630
|
const entryPath = queue.pop();
|
|
@@ -23616,7 +23641,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23616
23641
|
});
|
|
23617
23642
|
const routes = parseVueSpaRoutes(descriptor.script?.content ?? "");
|
|
23618
23643
|
for (const { importPath } of routes) {
|
|
23619
|
-
const childPath =
|
|
23644
|
+
const childPath = resolve34(dirname25(entryPath), importPath);
|
|
23620
23645
|
if (expanded.has(childPath) || !existsSync34(childPath)) {
|
|
23621
23646
|
continue;
|
|
23622
23647
|
}
|
|
@@ -23631,7 +23656,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23631
23656
|
vueCompileProfile.stageExpandMs = performance.now() - stageStartedAt;
|
|
23632
23657
|
stageStartedAt = performance.now();
|
|
23633
23658
|
const compiledPages = await Promise.all(expandedEntryPoints.map(async (entryPath) => {
|
|
23634
|
-
const resolvedEntryPath =
|
|
23659
|
+
const resolvedEntryPath = resolve34(entryPath);
|
|
23635
23660
|
const result = await compileVueFile(resolvedEntryPath, {
|
|
23636
23661
|
client: clientOutputDir,
|
|
23637
23662
|
css: cssOutputDir,
|
|
@@ -23649,8 +23674,8 @@ var resolveDevClientDir3 = () => {
|
|
|
23649
23674
|
};
|
|
23650
23675
|
}
|
|
23651
23676
|
const entryBaseName = basename14(entryPath, ".vue");
|
|
23652
|
-
const indexOutputFile =
|
|
23653
|
-
const clientOutputFile =
|
|
23677
|
+
const indexOutputFile = join44(indexOutputDir, `${entryBaseName}.js`);
|
|
23678
|
+
const clientOutputFile = result.clientPath;
|
|
23654
23679
|
await mkdir11(dirname25(indexOutputFile), { recursive: true });
|
|
23655
23680
|
const vueHmrImports = isDev2 ? [
|
|
23656
23681
|
`window.__HMR_FRAMEWORK__ = "vue";`,
|
|
@@ -23658,7 +23683,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23658
23683
|
] : [];
|
|
23659
23684
|
await write4(indexOutputFile, [
|
|
23660
23685
|
...vueHmrImports,
|
|
23661
|
-
`import Comp, * as PageModule from "${
|
|
23686
|
+
`import Comp, * as PageModule from "${relative18(dirname25(indexOutputFile), clientOutputFile).replace(/\\/g, "/")}";`,
|
|
23662
23687
|
'import { createSSRApp, createApp } from "vue";',
|
|
23663
23688
|
'import { prepareBrowserTranslationHydration } from "@absolutejs/absolute/vue";',
|
|
23664
23689
|
"",
|
|
@@ -23844,14 +23869,11 @@ var resolveDevClientDir3 = () => {
|
|
|
23844
23869
|
vueCompileProfile.stageHelperScanMs = performance.now() - stageStartedAt;
|
|
23845
23870
|
vueCompileProfile.helpers = allTsHelperPaths.size;
|
|
23846
23871
|
stageStartedAt = performance.now();
|
|
23847
|
-
const helperFiles = Array.from(allTsHelperPaths).map((tsPath) => {
|
|
23848
|
-
|
|
23849
|
-
|
|
23850
|
-
|
|
23851
|
-
|
|
23852
|
-
sourcePath: tsPath
|
|
23853
|
-
};
|
|
23854
|
-
});
|
|
23872
|
+
const helperFiles = Array.from(allTsHelperPaths).map((tsPath) => ({
|
|
23873
|
+
clientOutputPath: vueModuleOutputPath(clientOutputDir, tsPath),
|
|
23874
|
+
serverOutputPath: vueModuleOutputPath(serverOutputDir, tsPath),
|
|
23875
|
+
sourcePath: tsPath
|
|
23876
|
+
}));
|
|
23855
23877
|
await runHelperEmit(helperFiles);
|
|
23856
23878
|
vueCompileProfile.stageHelperEmitMs = performance.now() - stageStartedAt;
|
|
23857
23879
|
stageStartedAt = performance.now();
|
|
@@ -23878,6 +23900,7 @@ var resolveDevClientDir3 = () => {
|
|
|
23878
23900
|
};
|
|
23879
23901
|
};
|
|
23880
23902
|
var init_compileVue = __esm(() => {
|
|
23903
|
+
init_vueModuleOutputPath();
|
|
23881
23904
|
init_constants();
|
|
23882
23905
|
init_generatedDir();
|
|
23883
23906
|
init_resolvePackageImport();
|
|
@@ -23888,7 +23911,7 @@ var init_compileVue = __esm(() => {
|
|
|
23888
23911
|
init_stylePreprocessor();
|
|
23889
23912
|
init_vueCompileCache();
|
|
23890
23913
|
devClientDir3 = resolveDevClientDir3();
|
|
23891
|
-
hmrClientPath4 =
|
|
23914
|
+
hmrClientPath4 = join44(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
|
|
23892
23915
|
scriptCache = new Map;
|
|
23893
23916
|
scriptSetupCache = new Map;
|
|
23894
23917
|
templateCache = new Map;
|
|
@@ -24393,7 +24416,7 @@ __export(exports_compileAngular, {
|
|
|
24393
24416
|
invalidateAngularJitCache: () => invalidateAngularJitCache
|
|
24394
24417
|
});
|
|
24395
24418
|
import { existsSync as existsSync35, readFileSync as readFileSync32, promises as fs5 } from "fs";
|
|
24396
|
-
import { join as
|
|
24419
|
+
import { join as join45, basename as basename15, sep as sep5, dirname as dirname26, resolve as resolve35, relative as relative19 } from "path";
|
|
24397
24420
|
var {Glob: Glob6 } = globalThis.Bun;
|
|
24398
24421
|
import ts18 from "typescript";
|
|
24399
24422
|
var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) => {
|
|
@@ -24409,10 +24432,10 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24409
24432
|
return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata2) : await fn2();
|
|
24410
24433
|
}, readTsconfigPathAliases = () => {
|
|
24411
24434
|
try {
|
|
24412
|
-
const configPath2 =
|
|
24435
|
+
const configPath2 = resolve35(process.cwd(), "tsconfig.json");
|
|
24413
24436
|
const config = ts18.readConfigFile(configPath2, ts18.sys.readFile).config;
|
|
24414
24437
|
const compilerOptions = config?.compilerOptions ?? {};
|
|
24415
|
-
const baseUrl =
|
|
24438
|
+
const baseUrl = resolve35(process.cwd(), compilerOptions.baseUrl ?? ".");
|
|
24416
24439
|
const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
|
|
24417
24440
|
return { aliases, baseUrl };
|
|
24418
24441
|
} catch {
|
|
@@ -24432,7 +24455,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24432
24455
|
const wildcardValue = exactMatch ? "" : specifier.slice(prefix.length, specifier.length - suffix.length);
|
|
24433
24456
|
for (const replacement of alias.replacements) {
|
|
24434
24457
|
const candidate = replacement.replace("*", wildcardValue);
|
|
24435
|
-
const resolved = resolveSourceFile(
|
|
24458
|
+
const resolved = resolveSourceFile(resolve35(baseUrl, candidate));
|
|
24436
24459
|
if (resolved)
|
|
24437
24460
|
return resolved;
|
|
24438
24461
|
}
|
|
@@ -24444,20 +24467,20 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24444
24467
|
`${candidate}.tsx`,
|
|
24445
24468
|
`${candidate}.js`,
|
|
24446
24469
|
`${candidate}.jsx`,
|
|
24447
|
-
|
|
24448
|
-
|
|
24449
|
-
|
|
24450
|
-
|
|
24470
|
+
join45(candidate, "index.ts"),
|
|
24471
|
+
join45(candidate, "index.tsx"),
|
|
24472
|
+
join45(candidate, "index.js"),
|
|
24473
|
+
join45(candidate, "index.jsx")
|
|
24451
24474
|
];
|
|
24452
24475
|
return candidates.find((file5) => existsSync35(file5));
|
|
24453
24476
|
}, createLegacyAngularAnimationUsageResolver = (rootDir) => {
|
|
24454
|
-
const baseDir =
|
|
24477
|
+
const baseDir = resolve35(rootDir);
|
|
24455
24478
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
24456
24479
|
const transpiler6 = new Bun.Transpiler({ loader: "tsx" });
|
|
24457
24480
|
const scanCache = new Map;
|
|
24458
24481
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
24459
24482
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
24460
|
-
return resolveSourceFile(
|
|
24483
|
+
return resolveSourceFile(resolve35(fromDir, specifier));
|
|
24461
24484
|
}
|
|
24462
24485
|
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile);
|
|
24463
24486
|
if (aliased)
|
|
@@ -24466,7 +24489,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24466
24489
|
const resolved = Bun.resolveSync(specifier, fromDir);
|
|
24467
24490
|
if (resolved.includes("/node_modules/"))
|
|
24468
24491
|
return;
|
|
24469
|
-
const absolute =
|
|
24492
|
+
const absolute = resolve35(resolved);
|
|
24470
24493
|
if (!absolute.startsWith(baseDir))
|
|
24471
24494
|
return;
|
|
24472
24495
|
return resolveSourceFile(absolute);
|
|
@@ -24482,7 +24505,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24482
24505
|
usesLegacyAnimations: false
|
|
24483
24506
|
});
|
|
24484
24507
|
}
|
|
24485
|
-
const resolved =
|
|
24508
|
+
const resolved = resolve35(actualPath);
|
|
24486
24509
|
const cached = scanCache.get(resolved);
|
|
24487
24510
|
if (cached)
|
|
24488
24511
|
return cached;
|
|
@@ -24511,7 +24534,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24511
24534
|
const actualPath = resolveSourceFile(filePath);
|
|
24512
24535
|
if (!actualPath)
|
|
24513
24536
|
return false;
|
|
24514
|
-
const resolved =
|
|
24537
|
+
const resolved = resolve35(actualPath);
|
|
24515
24538
|
if (visited.has(resolved))
|
|
24516
24539
|
return false;
|
|
24517
24540
|
visited.add(resolved);
|
|
@@ -24529,14 +24552,14 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24529
24552
|
return (entryPath) => visit(entryPath);
|
|
24530
24553
|
}, resolveDevClientDir4 = () => {
|
|
24531
24554
|
const projectRoot = process.cwd();
|
|
24532
|
-
const fromSource =
|
|
24555
|
+
const fromSource = resolve35(import.meta.dir, "../dev/client");
|
|
24533
24556
|
if (existsSync35(fromSource) && fromSource.startsWith(projectRoot)) {
|
|
24534
24557
|
return fromSource;
|
|
24535
24558
|
}
|
|
24536
|
-
const fromNodeModules =
|
|
24559
|
+
const fromNodeModules = resolve35(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
|
|
24537
24560
|
if (existsSync35(fromNodeModules))
|
|
24538
24561
|
return fromNodeModules;
|
|
24539
|
-
return
|
|
24562
|
+
return resolve35(import.meta.dir, "./dev/client");
|
|
24540
24563
|
}, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
|
|
24541
24564
|
try {
|
|
24542
24565
|
return ts18.flattenDiagnosticMessageText(diagnostic.messageText, `
|
|
@@ -24579,11 +24602,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24579
24602
|
if (hasJsLikeExtension(path2))
|
|
24580
24603
|
return `${path2}${query}`;
|
|
24581
24604
|
const importerDir = dirname26(importerOutputPath);
|
|
24582
|
-
const fileCandidate =
|
|
24605
|
+
const fileCandidate = resolve35(importerDir, `${path2}.js`);
|
|
24583
24606
|
if (outputFiles?.has(fileCandidate) || existsSync35(fileCandidate)) {
|
|
24584
24607
|
return `${path2}.js${query}`;
|
|
24585
24608
|
}
|
|
24586
|
-
const indexCandidate =
|
|
24609
|
+
const indexCandidate = resolve35(importerDir, path2, "index.js");
|
|
24587
24610
|
if (outputFiles?.has(indexCandidate) || existsSync35(indexCandidate)) {
|
|
24588
24611
|
return `${path2}/index.js${query}`;
|
|
24589
24612
|
}
|
|
@@ -24611,18 +24634,18 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24611
24634
|
}, resolveLocalTsImport = (fromFile, specifier) => {
|
|
24612
24635
|
if (!isRelativeModuleSpecifier(specifier))
|
|
24613
24636
|
return null;
|
|
24614
|
-
const basePath =
|
|
24637
|
+
const basePath = resolve35(dirname26(fromFile), specifier);
|
|
24615
24638
|
const candidates = /\.[cm]?[tj]sx?$/.test(basePath) ? [basePath] : [
|
|
24616
24639
|
`${basePath}.ts`,
|
|
24617
24640
|
`${basePath}.tsx`,
|
|
24618
24641
|
`${basePath}.mts`,
|
|
24619
24642
|
`${basePath}.cts`,
|
|
24620
|
-
|
|
24621
|
-
|
|
24622
|
-
|
|
24623
|
-
|
|
24643
|
+
join45(basePath, "index.ts"),
|
|
24644
|
+
join45(basePath, "index.tsx"),
|
|
24645
|
+
join45(basePath, "index.mts"),
|
|
24646
|
+
join45(basePath, "index.cts")
|
|
24624
24647
|
];
|
|
24625
|
-
return candidates.map((candidate) =>
|
|
24648
|
+
return candidates.map((candidate) => resolve35(candidate)).find((candidate) => existsSync35(candidate) && !candidate.endsWith(".d.ts")) ?? null;
|
|
24626
24649
|
}, readFileForAotTransform = async (fileName, readFile8) => {
|
|
24627
24650
|
const hostSource = readFile8?.(fileName);
|
|
24628
24651
|
if (typeof hostSource === "string")
|
|
@@ -24646,18 +24669,18 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24646
24669
|
const paths = [];
|
|
24647
24670
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
24648
24671
|
if (templateUrlMatch?.[1])
|
|
24649
|
-
paths.push(
|
|
24672
|
+
paths.push(join45(fileDir, templateUrlMatch[1]));
|
|
24650
24673
|
const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
24651
24674
|
if (styleUrlMatch?.[1])
|
|
24652
|
-
paths.push(
|
|
24675
|
+
paths.push(join45(fileDir, styleUrlMatch[1]));
|
|
24653
24676
|
const styleUrlsMatch = findUncommentedMatch(source, /styleUrls\s*:\s*\[([^\]]+)\]/);
|
|
24654
24677
|
const urlMatches = styleUrlsMatch?.[1]?.match(/['"]([^'"]+)['"]/g);
|
|
24655
24678
|
if (urlMatches) {
|
|
24656
24679
|
for (const urlMatch of urlMatches) {
|
|
24657
|
-
paths.push(
|
|
24680
|
+
paths.push(join45(fileDir, urlMatch.replace(/['"]/g, "")));
|
|
24658
24681
|
}
|
|
24659
24682
|
}
|
|
24660
|
-
return paths.map((path2) =>
|
|
24683
|
+
return paths.map((path2) => resolve35(path2));
|
|
24661
24684
|
}, readResourceCacheFile = async (cachePath) => {
|
|
24662
24685
|
try {
|
|
24663
24686
|
const entry = JSON.parse(await fs5.readFile(cachePath, "utf-8"));
|
|
@@ -24688,7 +24711,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24688
24711
|
safeStableStringify(stylePreprocessors ?? null)
|
|
24689
24712
|
].join("\x00");
|
|
24690
24713
|
const cacheKey3 = Bun.hash(cacheInput).toString(BASE_36_RADIX);
|
|
24691
|
-
return
|
|
24714
|
+
return join45(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey3}.json`);
|
|
24692
24715
|
}, precomputeAotResourceTransforms = async (inputPaths, readFile8, stylePreprocessors) => {
|
|
24693
24716
|
const transformedSources = new Map;
|
|
24694
24717
|
const visited = new Set;
|
|
@@ -24699,7 +24722,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24699
24722
|
transformedFiles: 0
|
|
24700
24723
|
};
|
|
24701
24724
|
const transformFile = async (filePath) => {
|
|
24702
|
-
const resolvedPath =
|
|
24725
|
+
const resolvedPath = resolve35(filePath);
|
|
24703
24726
|
if (visited.has(resolvedPath))
|
|
24704
24727
|
return;
|
|
24705
24728
|
visited.add(resolvedPath);
|
|
@@ -24734,7 +24757,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24734
24757
|
return { stats, transformedSources };
|
|
24735
24758
|
}, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
|
|
24736
24759
|
const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
|
|
24737
|
-
const outputPath =
|
|
24760
|
+
const outputPath = resolve35(join45(outDir, relative19(process.cwd(), resolve35(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
|
|
24738
24761
|
return [
|
|
24739
24762
|
outputPath,
|
|
24740
24763
|
buildIslandMetadataExports(readFileSync32(inputPath, "utf-8"))
|
|
@@ -24745,7 +24768,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24745
24768
|
const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
|
|
24746
24769
|
const tsPath = __require.resolve("typescript");
|
|
24747
24770
|
const tsRootDir = dirname26(tsPath);
|
|
24748
|
-
return tsRootDir.endsWith("lib") ? tsRootDir :
|
|
24771
|
+
return tsRootDir.endsWith("lib") ? tsRootDir : resolve35(tsRootDir, "lib");
|
|
24749
24772
|
});
|
|
24750
24773
|
const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
|
|
24751
24774
|
const options = {
|
|
@@ -24781,13 +24804,13 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24781
24804
|
const originalGetSourceFile = host2.getSourceFile;
|
|
24782
24805
|
host2.getSourceFile = (fileName, languageVersion, onError) => {
|
|
24783
24806
|
if (fileName.startsWith("lib.") && fileName.endsWith(".d.ts") && tsLibDir) {
|
|
24784
|
-
const resolvedPath =
|
|
24807
|
+
const resolvedPath = join45(tsLibDir, fileName);
|
|
24785
24808
|
return originalGetSourceFile?.call(host2, resolvedPath, languageVersion, onError);
|
|
24786
24809
|
}
|
|
24787
24810
|
return originalGetSourceFile?.call(host2, fileName, languageVersion, onError);
|
|
24788
24811
|
};
|
|
24789
24812
|
const emitted = {};
|
|
24790
|
-
const resolvedOutDir =
|
|
24813
|
+
const resolvedOutDir = resolve35(outDir);
|
|
24791
24814
|
host2.writeFile = (fileName, text3) => {
|
|
24792
24815
|
const relativePath = resolveRelativePath(fileName, resolvedOutDir, outDir);
|
|
24793
24816
|
emitted[relativePath] = text3;
|
|
@@ -24809,12 +24832,12 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24809
24832
|
if (!fileName.endsWith(".ts") || fileName.endsWith(".d.ts")) {
|
|
24810
24833
|
return source;
|
|
24811
24834
|
}
|
|
24812
|
-
const resolvedPath =
|
|
24835
|
+
const resolvedPath = resolve35(fileName);
|
|
24813
24836
|
return transformedSources.get(resolvedPath) ?? source;
|
|
24814
24837
|
};
|
|
24815
24838
|
const originalGetSourceFileForCompile = host2.getSourceFile;
|
|
24816
24839
|
host2.getSourceFile = (fileName, languageVersion, onError) => {
|
|
24817
|
-
const source = transformedSources.get(
|
|
24840
|
+
const source = transformedSources.get(resolve35(fileName));
|
|
24818
24841
|
if (source) {
|
|
24819
24842
|
return ts18.createSourceFile(fileName, source, languageVersion, true);
|
|
24820
24843
|
}
|
|
@@ -24836,9 +24859,9 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24836
24859
|
const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
|
|
24837
24860
|
const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
|
|
24838
24861
|
content,
|
|
24839
|
-
target:
|
|
24862
|
+
target: join45(outDir, fileName)
|
|
24840
24863
|
}));
|
|
24841
|
-
const outputFiles = new Set(rawEntries.map(({ target }) =>
|
|
24864
|
+
const outputFiles = new Set(rawEntries.map(({ target }) => resolve35(target)));
|
|
24842
24865
|
return rawEntries.map(({ content, target }) => {
|
|
24843
24866
|
let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
|
|
24844
24867
|
const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
|
|
@@ -24853,7 +24876,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24853
24876
|
return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
|
|
24854
24877
|
});
|
|
24855
24878
|
processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
|
|
24856
|
-
processedContent += islandMetadataByOutputPath.get(
|
|
24879
|
+
processedContent += islandMetadataByOutputPath.get(resolve35(target)) ?? "";
|
|
24857
24880
|
return { content: processedContent, target };
|
|
24858
24881
|
});
|
|
24859
24882
|
});
|
|
@@ -24863,7 +24886,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24863
24886
|
})), { outputs: entries.length });
|
|
24864
24887
|
return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
|
|
24865
24888
|
}, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, invalidateAngularJitCache = (filePath) => {
|
|
24866
|
-
jitContentCache.delete(
|
|
24889
|
+
jitContentCache.delete(resolve35(filePath));
|
|
24867
24890
|
}, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
|
|
24868
24891
|
const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
|
|
24869
24892
|
let match;
|
|
@@ -24876,7 +24899,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
|
|
|
24876
24899
|
}
|
|
24877
24900
|
return null;
|
|
24878
24901
|
}, resolveAngularDeferImportSpecifier = () => {
|
|
24879
|
-
const sourceEntry =
|
|
24902
|
+
const sourceEntry = resolve35(import.meta.dir, "../angular/components/index.ts");
|
|
24880
24903
|
if (existsSync35(sourceEntry)) {
|
|
24881
24904
|
return sourceEntry.replace(/\\/g, "/");
|
|
24882
24905
|
}
|
|
@@ -25013,7 +25036,7 @@ ${fields}
|
|
|
25013
25036
|
}, inlineTemplateAndLowerDefer = async (source, fileDir) => {
|
|
25014
25037
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
25015
25038
|
if (templateUrlMatch?.[1]) {
|
|
25016
|
-
const templatePath =
|
|
25039
|
+
const templatePath = join45(fileDir, templateUrlMatch[1]);
|
|
25017
25040
|
if (!existsSync35(templatePath)) {
|
|
25018
25041
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
25019
25042
|
}
|
|
@@ -25044,7 +25067,7 @@ ${fields}
|
|
|
25044
25067
|
}, inlineTemplateAndLowerDeferSync = (source, fileDir) => {
|
|
25045
25068
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
25046
25069
|
if (templateUrlMatch?.[1]) {
|
|
25047
|
-
const templatePath =
|
|
25070
|
+
const templatePath = join45(fileDir, templateUrlMatch[1]);
|
|
25048
25071
|
if (!existsSync35(templatePath)) {
|
|
25049
25072
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
25050
25073
|
}
|
|
@@ -25081,7 +25104,7 @@ ${fields}
|
|
|
25081
25104
|
return source;
|
|
25082
25105
|
const stylePromises = urlMatches.map((urlMatch) => {
|
|
25083
25106
|
const styleUrl = urlMatch.replace(/['"]/g, "");
|
|
25084
|
-
return readAndEscapeFile(
|
|
25107
|
+
return readAndEscapeFile(join45(fileDir, styleUrl), stylePreprocessors);
|
|
25085
25108
|
});
|
|
25086
25109
|
const results = await Promise.all(stylePromises);
|
|
25087
25110
|
const inlinedStyles = results.filter(Boolean).map((escaped) => `\`${escaped}\``);
|
|
@@ -25092,7 +25115,7 @@ ${fields}
|
|
|
25092
25115
|
const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
25093
25116
|
if (!styleUrlMatch?.[1])
|
|
25094
25117
|
return source;
|
|
25095
|
-
const escaped = await readAndEscapeFile(
|
|
25118
|
+
const escaped = await readAndEscapeFile(join45(fileDir, styleUrlMatch[1]), stylePreprocessors);
|
|
25096
25119
|
if (!escaped)
|
|
25097
25120
|
return source;
|
|
25098
25121
|
return source.slice(0, styleUrlMatch.index) + `styles: [\`${escaped}\`]` + source.slice(styleUrlMatch.index + styleUrlMatch[0].length);
|
|
@@ -25166,10 +25189,10 @@ ${fields}
|
|
|
25166
25189
|
return "";
|
|
25167
25190
|
}
|
|
25168
25191
|
}, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
|
|
25169
|
-
const entryPath =
|
|
25192
|
+
const entryPath = resolve35(inputPath);
|
|
25170
25193
|
const allOutputs = [];
|
|
25171
25194
|
const visited = new Set;
|
|
25172
|
-
const baseDir =
|
|
25195
|
+
const baseDir = resolve35(rootDir ?? process.cwd());
|
|
25173
25196
|
let usesLegacyAnimations = false;
|
|
25174
25197
|
const angularTranspiler = new Bun.Transpiler({
|
|
25175
25198
|
loader: "ts",
|
|
@@ -25188,16 +25211,16 @@ ${fields}
|
|
|
25188
25211
|
`${candidate}.js`,
|
|
25189
25212
|
`${candidate}.jsx`,
|
|
25190
25213
|
`${candidate}.json`,
|
|
25191
|
-
|
|
25192
|
-
|
|
25193
|
-
|
|
25194
|
-
|
|
25214
|
+
join45(candidate, "index.ts"),
|
|
25215
|
+
join45(candidate, "index.tsx"),
|
|
25216
|
+
join45(candidate, "index.js"),
|
|
25217
|
+
join45(candidate, "index.jsx")
|
|
25195
25218
|
];
|
|
25196
25219
|
return candidates.find((file5) => existsSync35(file5));
|
|
25197
25220
|
};
|
|
25198
25221
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
25199
25222
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
25200
|
-
return resolveSourceFile2(
|
|
25223
|
+
return resolveSourceFile2(resolve35(fromDir, specifier));
|
|
25201
25224
|
}
|
|
25202
25225
|
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile2);
|
|
25203
25226
|
if (aliased)
|
|
@@ -25206,7 +25229,7 @@ ${fields}
|
|
|
25206
25229
|
const resolved = Bun.resolveSync(specifier, fromDir);
|
|
25207
25230
|
if (resolved.includes("/node_modules/"))
|
|
25208
25231
|
return;
|
|
25209
|
-
const absolute =
|
|
25232
|
+
const absolute = resolve35(resolved);
|
|
25210
25233
|
if (!absolute.startsWith(baseDir))
|
|
25211
25234
|
return;
|
|
25212
25235
|
return resolveSourceFile2(absolute);
|
|
@@ -25217,11 +25240,11 @@ ${fields}
|
|
|
25217
25240
|
const toOutputPath = (sourcePath) => {
|
|
25218
25241
|
const inputDir = dirname26(sourcePath);
|
|
25219
25242
|
const fileBase = basename15(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
25220
|
-
if (inputDir === outDir || inputDir.startsWith(`${outDir}${
|
|
25221
|
-
return
|
|
25243
|
+
if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep5}`)) {
|
|
25244
|
+
return join45(inputDir, fileBase);
|
|
25222
25245
|
}
|
|
25223
25246
|
const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
|
|
25224
|
-
return
|
|
25247
|
+
return join45(outDir, relativeDir, fileBase);
|
|
25225
25248
|
};
|
|
25226
25249
|
const withCacheBuster = (specifier) => {
|
|
25227
25250
|
if (!cacheBuster)
|
|
@@ -25258,21 +25281,21 @@ ${fields}
|
|
|
25258
25281
|
return `${prefix}${dots}`;
|
|
25259
25282
|
return `${prefix}../${dots}`;
|
|
25260
25283
|
});
|
|
25261
|
-
if (
|
|
25284
|
+
if (resolve35(actualPath) === entryPath) {
|
|
25262
25285
|
processedContent += buildIslandMetadataExports(sourceCode);
|
|
25263
25286
|
}
|
|
25264
25287
|
return processedContent;
|
|
25265
25288
|
};
|
|
25266
25289
|
const transpileFile = async (filePath) => {
|
|
25267
|
-
const resolved =
|
|
25290
|
+
const resolved = resolve35(filePath);
|
|
25268
25291
|
if (visited.has(resolved))
|
|
25269
25292
|
return;
|
|
25270
25293
|
visited.add(resolved);
|
|
25271
25294
|
if (resolved.endsWith(".json") && existsSync35(resolved)) {
|
|
25272
25295
|
const inputDir2 = dirname26(resolved);
|
|
25273
25296
|
const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
|
|
25274
|
-
const targetDir2 =
|
|
25275
|
-
const targetPath2 =
|
|
25297
|
+
const targetDir2 = join45(outDir, relativeDir2);
|
|
25298
|
+
const targetPath2 = join45(targetDir2, basename15(resolved));
|
|
25276
25299
|
await fs5.mkdir(targetDir2, { recursive: true });
|
|
25277
25300
|
await fs5.copyFile(resolved, targetPath2);
|
|
25278
25301
|
allOutputs.push(targetPath2);
|
|
@@ -25290,7 +25313,7 @@ ${fields}
|
|
|
25290
25313
|
const fileBase = basename15(actualPath).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
25291
25314
|
const targetPath = toOutputPath(actualPath);
|
|
25292
25315
|
const targetDir = dirname26(targetPath);
|
|
25293
|
-
const relativeDir =
|
|
25316
|
+
const relativeDir = relative19(outDir, targetDir).replace(/\\/g, "/");
|
|
25294
25317
|
const localImports = [];
|
|
25295
25318
|
const importRewrites = new Map;
|
|
25296
25319
|
const fromRegex = /(?:from|import)\s+['"]([^'".][^'"]*|\.\.?\/[^'"]+)['"]/g;
|
|
@@ -25311,12 +25334,12 @@ ${fields}
|
|
|
25311
25334
|
const resolved2 = resolveLocalImport(specifier, inputDir);
|
|
25312
25335
|
if (!resolved2)
|
|
25313
25336
|
return null;
|
|
25314
|
-
const relativeImport =
|
|
25337
|
+
const relativeImport = relative19(targetDir, toOutputPath(resolved2)).replace(/\\/g, "/").replace(/\.js$/, "");
|
|
25315
25338
|
const relativeRewrite = relativeImport.startsWith(".") ? relativeImport : `./${relativeImport}`;
|
|
25316
25339
|
importRewrites.set(specifier, relativeRewrite);
|
|
25317
25340
|
return resolved2;
|
|
25318
25341
|
}).filter((path2) => Boolean(path2));
|
|
25319
|
-
const isEntry =
|
|
25342
|
+
const isEntry = resolve35(actualPath) === resolve35(entryPath);
|
|
25320
25343
|
const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
|
|
25321
25344
|
const cacheKey3 = actualPath;
|
|
25322
25345
|
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !existsSync35(targetPath);
|
|
@@ -25351,13 +25374,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25351
25374
|
return { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };
|
|
25352
25375
|
}
|
|
25353
25376
|
const compiledRoot = compiledParent;
|
|
25354
|
-
const indexesDir =
|
|
25377
|
+
const indexesDir = join45(compiledParent, "indexes");
|
|
25355
25378
|
await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
|
|
25356
|
-
const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) =>
|
|
25379
|
+
const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve35(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
|
|
25357
25380
|
if (!hmr) {
|
|
25358
25381
|
await traceAngularPhase("aot/copy-json-resources", async () => {
|
|
25359
25382
|
const cwd = process.cwd();
|
|
25360
|
-
const angularSrcDir =
|
|
25383
|
+
const angularSrcDir = resolve35(outRoot);
|
|
25361
25384
|
if (!existsSync35(angularSrcDir))
|
|
25362
25385
|
return;
|
|
25363
25386
|
const jsonGlob = new Glob6("**/*.json");
|
|
@@ -25365,9 +25388,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25365
25388
|
absolute: false,
|
|
25366
25389
|
cwd: angularSrcDir
|
|
25367
25390
|
})) {
|
|
25368
|
-
const sourcePath =
|
|
25369
|
-
const cwdRel =
|
|
25370
|
-
const targetPath =
|
|
25391
|
+
const sourcePath = join45(angularSrcDir, rel);
|
|
25392
|
+
const cwdRel = relative19(cwd, sourcePath);
|
|
25393
|
+
const targetPath = join45(compiledRoot, cwdRel);
|
|
25371
25394
|
await fs5.mkdir(dirname26(targetPath), { recursive: true });
|
|
25372
25395
|
await fs5.copyFile(sourcePath, targetPath);
|
|
25373
25396
|
}
|
|
@@ -25375,8 +25398,8 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25375
25398
|
}
|
|
25376
25399
|
const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
|
|
25377
25400
|
const compileTasks = entryPoints.map(async (entry) => {
|
|
25378
|
-
const resolvedEntry =
|
|
25379
|
-
const relativeEntry =
|
|
25401
|
+
const resolvedEntry = resolve35(entry);
|
|
25402
|
+
const relativeEntry = relative19(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
|
|
25380
25403
|
const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
|
|
25381
25404
|
let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
|
|
25382
25405
|
entry: resolvedEntry
|
|
@@ -25384,21 +25407,21 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25384
25407
|
const fileBase = basename15(resolvedEntry).replace(/\.[tj]s$/, "");
|
|
25385
25408
|
const jsName = `${fileBase}.js`;
|
|
25386
25409
|
const compiledFallbackPaths = [
|
|
25387
|
-
|
|
25388
|
-
|
|
25389
|
-
|
|
25390
|
-
].map((file5) =>
|
|
25410
|
+
join45(compiledRoot, relativeEntry),
|
|
25411
|
+
join45(compiledRoot, "pages", jsName),
|
|
25412
|
+
join45(compiledRoot, jsName)
|
|
25413
|
+
].map((file5) => resolve35(file5));
|
|
25391
25414
|
const resolveRawServerFile = (candidatePaths) => {
|
|
25392
25415
|
const normalizedCandidates = [
|
|
25393
|
-
...candidatePaths.map((file5) =>
|
|
25416
|
+
...candidatePaths.map((file5) => resolve35(file5)),
|
|
25394
25417
|
...compiledFallbackPaths
|
|
25395
25418
|
];
|
|
25396
|
-
let candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${
|
|
25419
|
+
let candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${relativeEntry}`));
|
|
25397
25420
|
if (!candidate) {
|
|
25398
|
-
candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${
|
|
25421
|
+
candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}pages${sep5}${jsName}`));
|
|
25399
25422
|
}
|
|
25400
25423
|
if (!candidate) {
|
|
25401
|
-
candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${
|
|
25424
|
+
candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${jsName}`));
|
|
25402
25425
|
}
|
|
25403
25426
|
if (!candidate) {
|
|
25404
25427
|
candidate = normalizedCandidates.find((file5) => existsSync35(file5));
|
|
@@ -25448,7 +25471,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25448
25471
|
})() : "no-providers";
|
|
25449
25472
|
const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
|
|
25450
25473
|
const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
|
|
25451
|
-
const clientFile =
|
|
25474
|
+
const clientFile = join45(indexesDir, jsName);
|
|
25452
25475
|
if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync35(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
|
|
25453
25476
|
return {
|
|
25454
25477
|
clientPath: clientFile,
|
|
@@ -25480,13 +25503,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
25480
25503
|
const fragments = [];
|
|
25481
25504
|
if (providersInjection.appProvidersSource) {
|
|
25482
25505
|
const compiledAppProvidersPath = (() => {
|
|
25483
|
-
const angularDirAbs =
|
|
25484
|
-
const appSourceAbs =
|
|
25485
|
-
const rel =
|
|
25486
|
-
return
|
|
25506
|
+
const angularDirAbs = resolve35(outRoot);
|
|
25507
|
+
const appSourceAbs = resolve35(providersInjection.appProvidersSource);
|
|
25508
|
+
const rel = relative19(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
|
|
25509
|
+
return join45(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
25487
25510
|
})();
|
|
25488
25511
|
const appProvidersSpec = (() => {
|
|
25489
|
-
const rel =
|
|
25512
|
+
const rel = relative19(dirname26(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
|
|
25490
25513
|
return rel.startsWith(".") ? rel : `./${rel}`;
|
|
25491
25514
|
})();
|
|
25492
25515
|
importLines.push(`import { appProviders as __abs_globalProviders } from "${appProvidersSpec}";`);
|
|
@@ -25511,7 +25534,7 @@ export const providers = [${fragments.join(", ")}];
|
|
|
25511
25534
|
}
|
|
25512
25535
|
}
|
|
25513
25536
|
await traceAngularPhase("wrapper/write-server-output", () => writeTextFileAtomically(rawServerFile, rewritten), { entry: resolvedEntry });
|
|
25514
|
-
const relativePath =
|
|
25537
|
+
const relativePath = relative19(indexesDir, rawServerFile).replace(/\\/g, "/");
|
|
25515
25538
|
const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
|
|
25516
25539
|
const hmrPreamble = hmr ? `window.__HMR_FRAMEWORK__ = "angular";
|
|
25517
25540
|
import "${hmrClientPath5}";
|
|
@@ -25744,7 +25767,7 @@ var init_compileAngular = __esm(() => {
|
|
|
25744
25767
|
init_stylePreprocessor();
|
|
25745
25768
|
init_generatedDir();
|
|
25746
25769
|
devClientDir4 = resolveDevClientDir4();
|
|
25747
|
-
hmrClientPath5 =
|
|
25770
|
+
hmrClientPath5 = join45(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
|
|
25748
25771
|
jitContentCache = new Map;
|
|
25749
25772
|
wrapperOutputCache = new Map;
|
|
25750
25773
|
PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
|
|
@@ -26199,7 +26222,7 @@ __export(exports_compileEmber, {
|
|
|
26199
26222
|
});
|
|
26200
26223
|
import { existsSync as existsSync36 } from "fs";
|
|
26201
26224
|
import { mkdir as mkdir12, rm as rm7 } from "fs/promises";
|
|
26202
|
-
import { basename as basename16, dirname as dirname27, extname as extname12, join as
|
|
26225
|
+
import { basename as basename16, dirname as dirname27, extname as extname12, join as join46, resolve as resolve36 } from "path";
|
|
26203
26226
|
var {build: bunBuild2, Transpiler: Transpiler5, write: write5, file: file5 } = globalThis.Bun;
|
|
26204
26227
|
var cachedPreprocessor = null, getPreprocessor = async () => {
|
|
26205
26228
|
if (cachedPreprocessor)
|
|
@@ -26295,7 +26318,7 @@ export const importSync = (specifier) => {
|
|
|
26295
26318
|
const originalImporter = stagedSourceMap.get(args.importer);
|
|
26296
26319
|
if (!originalImporter)
|
|
26297
26320
|
return;
|
|
26298
|
-
const candidateBase =
|
|
26321
|
+
const candidateBase = resolve36(dirname27(originalImporter), args.path);
|
|
26299
26322
|
const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
|
|
26300
26323
|
for (const ext of extensionsToTry) {
|
|
26301
26324
|
const candidate = candidateBase + ext;
|
|
@@ -26318,7 +26341,7 @@ export const importSync = (specifier) => {
|
|
|
26318
26341
|
build2.onResolve({ filter: /^@(?:ember|glimmer|simple-dom)\// }, (args) => {
|
|
26319
26342
|
if (standalonePackages.has(args.path))
|
|
26320
26343
|
return;
|
|
26321
|
-
const internal =
|
|
26344
|
+
const internal = join46(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
26322
26345
|
if (existsSync36(internal))
|
|
26323
26346
|
return { path: internal };
|
|
26324
26347
|
return;
|
|
@@ -26354,7 +26377,7 @@ export const renderToHTML = (props = {}) => {
|
|
|
26354
26377
|
export { PageComponent };
|
|
26355
26378
|
export default PageComponent;
|
|
26356
26379
|
`, compileEmberFile = async (entry, compiledRoot, cwd = process.cwd()) => {
|
|
26357
|
-
const resolvedEntry =
|
|
26380
|
+
const resolvedEntry = resolve36(entry);
|
|
26358
26381
|
const source = await file5(resolvedEntry).text();
|
|
26359
26382
|
let preprocessed = source;
|
|
26360
26383
|
if (isTemplateTagFile(resolvedEntry)) {
|
|
@@ -26366,16 +26389,16 @@ export default PageComponent;
|
|
|
26366
26389
|
}
|
|
26367
26390
|
const transpiled = transpiler6.transformSync(preprocessed);
|
|
26368
26391
|
const baseName = basename16(resolvedEntry).replace(/\.(gjs|gts|ts|js)$/, "");
|
|
26369
|
-
const tmpDir =
|
|
26370
|
-
const serverDir =
|
|
26371
|
-
const clientDir =
|
|
26392
|
+
const tmpDir = join46(compiledRoot, "_tmp");
|
|
26393
|
+
const serverDir = join46(compiledRoot, "server");
|
|
26394
|
+
const clientDir = join46(compiledRoot, "client");
|
|
26372
26395
|
await Promise.all([
|
|
26373
26396
|
mkdir12(tmpDir, { recursive: true }),
|
|
26374
26397
|
mkdir12(serverDir, { recursive: true }),
|
|
26375
26398
|
mkdir12(clientDir, { recursive: true })
|
|
26376
26399
|
]);
|
|
26377
|
-
const tmpPagePath =
|
|
26378
|
-
const tmpHarnessPath =
|
|
26400
|
+
const tmpPagePath = resolve36(join46(tmpDir, `${baseName}.module.js`));
|
|
26401
|
+
const tmpHarnessPath = resolve36(join46(tmpDir, `${baseName}.harness.js`));
|
|
26379
26402
|
await Promise.all([
|
|
26380
26403
|
write5(tmpPagePath, transpiled),
|
|
26381
26404
|
write5(tmpHarnessPath, generateServerHarness(tmpPagePath))
|
|
@@ -26383,7 +26406,7 @@ export default PageComponent;
|
|
|
26383
26406
|
const stagedSourceMap = new Map([
|
|
26384
26407
|
[tmpPagePath, resolvedEntry]
|
|
26385
26408
|
]);
|
|
26386
|
-
const serverPath =
|
|
26409
|
+
const serverPath = join46(serverDir, `${baseName}.js`);
|
|
26387
26410
|
const buildResult = await bunBuild2({
|
|
26388
26411
|
entrypoints: [tmpHarnessPath],
|
|
26389
26412
|
format: "esm",
|
|
@@ -26400,7 +26423,7 @@ export default PageComponent;
|
|
|
26400
26423
|
console.warn(`\u26A0\uFE0F Ember server build for ${baseName} had errors:`, buildResult.logs);
|
|
26401
26424
|
}
|
|
26402
26425
|
await rm7(tmpDir, { force: true, recursive: true });
|
|
26403
|
-
const clientPath =
|
|
26426
|
+
const clientPath = join46(clientDir, `${baseName}.js`);
|
|
26404
26427
|
await write5(clientPath, transpiled);
|
|
26405
26428
|
return { clientPath, serverPath };
|
|
26406
26429
|
}, compileEmber = async (entries, emberDir, cwd = process.cwd(), _hmr = false) => {
|
|
@@ -26417,7 +26440,7 @@ export default PageComponent;
|
|
|
26417
26440
|
serverPaths: outputs.map((o3) => o3.serverPath)
|
|
26418
26441
|
};
|
|
26419
26442
|
}, compileEmberFileSource = async (entry) => {
|
|
26420
|
-
const resolvedEntry =
|
|
26443
|
+
const resolvedEntry = resolve36(entry);
|
|
26421
26444
|
const source = await file5(resolvedEntry).text();
|
|
26422
26445
|
let preprocessed = source;
|
|
26423
26446
|
if (isTemplateTagFile(resolvedEntry)) {
|
|
@@ -26428,7 +26451,7 @@ export default PageComponent;
|
|
|
26428
26451
|
preprocessed = rewriteTemplateEvalToScope(result.code);
|
|
26429
26452
|
}
|
|
26430
26453
|
return transpiler6.transformSync(preprocessed);
|
|
26431
|
-
}, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) =>
|
|
26454
|
+
}, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join46(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join46(getEmberCompiledRoot(emberDir), "client");
|
|
26432
26455
|
var init_compileEmber = __esm(() => {
|
|
26433
26456
|
init_generatedDir();
|
|
26434
26457
|
transpiler6 = new Transpiler5({
|
|
@@ -26450,24 +26473,24 @@ __export(exports_buildReactVendor, {
|
|
|
26450
26473
|
computeVendorPaths: () => computeVendorPaths
|
|
26451
26474
|
});
|
|
26452
26475
|
import { existsSync as existsSync37, mkdirSync as mkdirSync8 } from "fs";
|
|
26453
|
-
import { join as
|
|
26476
|
+
import { join as join47, resolve as resolve37 } from "path";
|
|
26454
26477
|
import { rm as rm8 } from "fs/promises";
|
|
26455
26478
|
var {build: bunBuild3 } = globalThis.Bun;
|
|
26456
26479
|
var resolveJsxDevRuntimeCompatPath = () => {
|
|
26457
26480
|
const candidates = [
|
|
26458
|
-
|
|
26459
|
-
|
|
26460
|
-
|
|
26461
|
-
|
|
26462
|
-
|
|
26463
|
-
|
|
26481
|
+
resolve37(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
|
|
26482
|
+
resolve37(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
|
|
26483
|
+
resolve37(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
|
|
26484
|
+
resolve37(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
|
|
26485
|
+
resolve37(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
|
|
26486
|
+
resolve37(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
|
|
26464
26487
|
];
|
|
26465
26488
|
for (const candidate of candidates) {
|
|
26466
26489
|
if (existsSync37(candidate)) {
|
|
26467
26490
|
return candidate.replace(/\\/g, "/");
|
|
26468
26491
|
}
|
|
26469
26492
|
}
|
|
26470
|
-
return (candidates[0] ??
|
|
26493
|
+
return (candidates[0] ?? resolve37(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
|
|
26471
26494
|
}, jsxDevRuntimeCompatPath, jsxRuntimeCompatPath, reactSpecifiers, toSafeFileName = (specifier) => specifier.replace(/\//g, "_"), computeVendorPaths = () => {
|
|
26472
26495
|
const paths = {};
|
|
26473
26496
|
for (const specifier of reactSpecifiers) {
|
|
@@ -26500,14 +26523,14 @@ var resolveJsxDevRuntimeCompatPath = () => {
|
|
|
26500
26523
|
`)}
|
|
26501
26524
|
`;
|
|
26502
26525
|
}, buildReactVendor = async (buildDir) => {
|
|
26503
|
-
const vendorDir =
|
|
26526
|
+
const vendorDir = join47(buildDir, "react", "vendor");
|
|
26504
26527
|
mkdirSync8(vendorDir, { recursive: true });
|
|
26505
|
-
const tmpDir =
|
|
26528
|
+
const tmpDir = join47(buildDir, "_vendor_tmp");
|
|
26506
26529
|
mkdirSync8(tmpDir, { recursive: true });
|
|
26507
26530
|
const specifiers = reactSpecifiers;
|
|
26508
26531
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
26509
26532
|
const safeName = toSafeFileName(specifier);
|
|
26510
|
-
const entryPath =
|
|
26533
|
+
const entryPath = join47(tmpDir, `${safeName}.ts`);
|
|
26511
26534
|
const source = await generateEntrySource(specifier);
|
|
26512
26535
|
await Bun.write(entryPath, source);
|
|
26513
26536
|
return entryPath;
|
|
@@ -26575,7 +26598,7 @@ __export(exports_buildAngularVendor, {
|
|
|
26575
26598
|
computeAngularVendorPathsAsync: () => computeAngularVendorPathsAsync
|
|
26576
26599
|
});
|
|
26577
26600
|
import { mkdirSync as mkdirSync9 } from "fs";
|
|
26578
|
-
import { join as
|
|
26601
|
+
import { join as join48 } from "path";
|
|
26579
26602
|
import { rm as rm9 } from "fs/promises";
|
|
26580
26603
|
var {build: bunBuild4, Glob: Glob7 } = globalThis.Bun;
|
|
26581
26604
|
var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => jitMode ? [...REQUIRED_ANGULAR_SPECIFIERS_BASE, "@angular/compiler"] : REQUIRED_ANGULAR_SPECIFIERS_BASE, SERVER_ONLY_ANGULAR_SPECIFIERS, BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES, isBuildOnlyAngularSpecifier = (spec) => BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES.some((prefix) => spec === prefix || spec.startsWith(`${prefix}/`)), SCAN_SKIP_DIRS, isResolvable = (specifier) => {
|
|
@@ -26672,14 +26695,14 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
26672
26695
|
await collectTransitiveAngularSpecs([...angular, ...transitiveRoots], angular);
|
|
26673
26696
|
return Array.from(angular).filter(isResolvable);
|
|
26674
26697
|
}, buildAngularVendor = async (buildDir, directories = [], linkerJitMode = false, depVendorSpecifiers = []) => {
|
|
26675
|
-
const vendorDir =
|
|
26698
|
+
const vendorDir = join48(buildDir, "angular", "vendor");
|
|
26676
26699
|
mkdirSync9(vendorDir, { recursive: true });
|
|
26677
|
-
const tmpDir =
|
|
26700
|
+
const tmpDir = join48(buildDir, "_angular_vendor_tmp");
|
|
26678
26701
|
mkdirSync9(tmpDir, { recursive: true });
|
|
26679
26702
|
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
26680
26703
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
26681
26704
|
const safeName = toSafeFileName2(specifier);
|
|
26682
|
-
const entryPath =
|
|
26705
|
+
const entryPath = join48(tmpDir, `${safeName}.ts`);
|
|
26683
26706
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
26684
26707
|
return entryPath;
|
|
26685
26708
|
}));
|
|
@@ -26710,9 +26733,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
26710
26733
|
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
26711
26734
|
return computeAngularVendorPaths(specifiers);
|
|
26712
26735
|
}, buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode = false) => {
|
|
26713
|
-
const vendorDir =
|
|
26736
|
+
const vendorDir = join48(buildDir, "angular", "vendor", "server");
|
|
26714
26737
|
mkdirSync9(vendorDir, { recursive: true });
|
|
26715
|
-
const tmpDir =
|
|
26738
|
+
const tmpDir = join48(buildDir, "_angular_server_vendor_tmp");
|
|
26716
26739
|
mkdirSync9(tmpDir, { recursive: true });
|
|
26717
26740
|
const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
26718
26741
|
const allSpecs = new Set(browserSpecs);
|
|
@@ -26723,7 +26746,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
26723
26746
|
const specifiers = Array.from(allSpecs);
|
|
26724
26747
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
26725
26748
|
const safeName = toSafeFileName2(specifier);
|
|
26726
|
-
const entryPath =
|
|
26749
|
+
const entryPath = join48(tmpDir, `${safeName}.ts`);
|
|
26727
26750
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
26728
26751
|
return entryPath;
|
|
26729
26752
|
}));
|
|
@@ -26745,9 +26768,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
26745
26768
|
return specifiers;
|
|
26746
26769
|
}, computeAngularServerVendorPaths = (buildDir, specifiers) => {
|
|
26747
26770
|
const paths = {};
|
|
26748
|
-
const vendorDir =
|
|
26771
|
+
const vendorDir = join48(buildDir, "angular", "vendor", "server");
|
|
26749
26772
|
for (const specifier of specifiers) {
|
|
26750
|
-
paths[specifier] =
|
|
26773
|
+
paths[specifier] = join48(vendorDir, `${toSafeFileName2(specifier)}.js`);
|
|
26751
26774
|
}
|
|
26752
26775
|
return paths;
|
|
26753
26776
|
}, computeAngularServerVendorPathsAsync = async (buildDir, directories = [], linkerJitMode = true) => {
|
|
@@ -26803,17 +26826,17 @@ __export(exports_buildVueVendor, {
|
|
|
26803
26826
|
computeVueVendorPaths: () => computeVueVendorPaths
|
|
26804
26827
|
});
|
|
26805
26828
|
import { mkdirSync as mkdirSync10 } from "fs";
|
|
26806
|
-
import { join as
|
|
26829
|
+
import { join as join49 } from "path";
|
|
26807
26830
|
import { rm as rm10 } from "fs/promises";
|
|
26808
26831
|
var {build: bunBuild5 } = globalThis.Bun;
|
|
26809
26832
|
var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"), buildVueVendor = async (buildDir) => {
|
|
26810
|
-
const vendorDir =
|
|
26833
|
+
const vendorDir = join49(buildDir, "vue", "vendor");
|
|
26811
26834
|
mkdirSync10(vendorDir, { recursive: true });
|
|
26812
|
-
const tmpDir =
|
|
26835
|
+
const tmpDir = join49(buildDir, "_vue_vendor_tmp");
|
|
26813
26836
|
mkdirSync10(tmpDir, { recursive: true });
|
|
26814
26837
|
const entrypoints = await Promise.all(vueSpecifiers.map(async (specifier) => {
|
|
26815
26838
|
const safeName = toSafeFileName3(specifier);
|
|
26816
|
-
const entryPath =
|
|
26839
|
+
const entryPath = join49(tmpDir, `${safeName}.ts`);
|
|
26817
26840
|
await Bun.write(entryPath, `export * from '${specifier}';
|
|
26818
26841
|
`);
|
|
26819
26842
|
return entryPath;
|
|
@@ -26841,7 +26864,7 @@ var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"
|
|
|
26841
26864
|
const { readFileSync: readFileSync33, writeFileSync: writeFileSync10, readdirSync: readdirSync7 } = await import("fs");
|
|
26842
26865
|
const files = readdirSync7(vendorDir).filter((f2) => f2.endsWith(".js"));
|
|
26843
26866
|
for (const file6 of files) {
|
|
26844
|
-
const filePath =
|
|
26867
|
+
const filePath = join49(vendorDir, file6);
|
|
26845
26868
|
const content = readFileSync33(filePath, "utf-8");
|
|
26846
26869
|
if (!content.includes("__VUE_HMR_RUNTIME__"))
|
|
26847
26870
|
continue;
|
|
@@ -26868,7 +26891,7 @@ __export(exports_buildSvelteVendor, {
|
|
|
26868
26891
|
computeSvelteVendorPaths: () => computeSvelteVendorPaths
|
|
26869
26892
|
});
|
|
26870
26893
|
import { mkdirSync as mkdirSync11 } from "fs";
|
|
26871
|
-
import { join as
|
|
26894
|
+
import { join as join50 } from "path";
|
|
26872
26895
|
import { rm as rm11 } from "fs/promises";
|
|
26873
26896
|
var {build: bunBuild6 } = globalThis.Bun;
|
|
26874
26897
|
var svelteSpecifiers, isResolvable2 = (specifier) => {
|
|
@@ -26882,13 +26905,13 @@ var svelteSpecifiers, isResolvable2 = (specifier) => {
|
|
|
26882
26905
|
const specifiers = resolveVendorSpecifiers();
|
|
26883
26906
|
if (specifiers.length === 0)
|
|
26884
26907
|
return;
|
|
26885
|
-
const vendorDir =
|
|
26908
|
+
const vendorDir = join50(buildDir, "svelte", "vendor");
|
|
26886
26909
|
mkdirSync11(vendorDir, { recursive: true });
|
|
26887
|
-
const tmpDir =
|
|
26910
|
+
const tmpDir = join50(buildDir, "_svelte_vendor_tmp");
|
|
26888
26911
|
mkdirSync11(tmpDir, { recursive: true });
|
|
26889
26912
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
26890
26913
|
const safeName = toSafeFileName4(specifier);
|
|
26891
|
-
const entryPath =
|
|
26914
|
+
const entryPath = join50(tmpDir, `${safeName}.ts`);
|
|
26892
26915
|
await Bun.write(entryPath, `export * from '${specifier}';
|
|
26893
26916
|
`);
|
|
26894
26917
|
return entryPath;
|
|
@@ -26939,7 +26962,7 @@ import {
|
|
|
26939
26962
|
statSync as statSync4,
|
|
26940
26963
|
writeFileSync as writeFileSync10
|
|
26941
26964
|
} from "fs";
|
|
26942
|
-
import { basename as basename17, dirname as dirname28, extname as extname13, join as
|
|
26965
|
+
import { basename as basename17, dirname as dirname28, extname as extname13, join as join51, relative as relative20, resolve as resolve38 } from "path";
|
|
26943
26966
|
import { cwd, env as env3, exit } from "process";
|
|
26944
26967
|
var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
|
|
26945
26968
|
var isBuildTraceEnabled = () => {
|
|
@@ -27073,8 +27096,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27073
27096
|
mkdirSync12(htmxDestDir, { recursive: true });
|
|
27074
27097
|
const glob = new Glob8("htmx*.min.js");
|
|
27075
27098
|
for (const relPath of glob.scanSync({ cwd: htmxDir })) {
|
|
27076
|
-
const src =
|
|
27077
|
-
const dest =
|
|
27099
|
+
const src = join51(htmxDir, relPath);
|
|
27100
|
+
const dest = join51(htmxDestDir, "htmx.min.js");
|
|
27078
27101
|
copyFileSync3(src, dest);
|
|
27079
27102
|
return;
|
|
27080
27103
|
}
|
|
@@ -27088,8 +27111,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27088
27111
|
if (globalThis.__absoluteVersion)
|
|
27089
27112
|
return;
|
|
27090
27113
|
const candidates = [
|
|
27091
|
-
|
|
27092
|
-
|
|
27114
|
+
resolve38(import.meta.dir, "..", "..", "package.json"),
|
|
27115
|
+
resolve38(import.meta.dir, "..", "package.json")
|
|
27093
27116
|
];
|
|
27094
27117
|
const resolveCandidate = async (remaining) => {
|
|
27095
27118
|
const [candidate, ...rest] = remaining;
|
|
@@ -27105,7 +27128,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27105
27128
|
};
|
|
27106
27129
|
await resolveCandidate(candidates);
|
|
27107
27130
|
}, SKIP_DIRS5, addWorkerPathIfExists = (file6, relPath, workerPaths) => {
|
|
27108
|
-
const absPath =
|
|
27131
|
+
const absPath = resolve38(file6, "..", relPath);
|
|
27109
27132
|
try {
|
|
27110
27133
|
statSync4(absPath);
|
|
27111
27134
|
workerPaths.add(absPath);
|
|
@@ -27158,7 +27181,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27158
27181
|
const out = [];
|
|
27159
27182
|
const directories = [];
|
|
27160
27183
|
for (const entry of entries) {
|
|
27161
|
-
const full =
|
|
27184
|
+
const full = join51(dir, entry.name);
|
|
27162
27185
|
if (entry.isDirectory()) {
|
|
27163
27186
|
directories.push(full);
|
|
27164
27187
|
} else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
|
|
@@ -27184,7 +27207,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27184
27207
|
vuePagesPath
|
|
27185
27208
|
}) => {
|
|
27186
27209
|
const { readdirSync: readDir } = await import("fs");
|
|
27187
|
-
const devIndexDir =
|
|
27210
|
+
const devIndexDir = join51(buildPath, "_src_indexes");
|
|
27188
27211
|
mkdirSync12(devIndexDir, { recursive: true });
|
|
27189
27212
|
if (reactIndexesPath && reactPagesPath) {
|
|
27190
27213
|
copyReactDevIndexes(reactIndexesPath, reactPagesPath, devIndexDir, readDir);
|
|
@@ -27200,42 +27223,42 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27200
27223
|
return;
|
|
27201
27224
|
}
|
|
27202
27225
|
const indexFiles = readDir(reactIndexesPath).filter((file6) => file6.endsWith(".tsx"));
|
|
27203
|
-
const pagesRel =
|
|
27226
|
+
const pagesRel = relative20(process.cwd(), resolve38(reactPagesPath)).replace(/\\/g, "/");
|
|
27204
27227
|
for (const file6 of indexFiles) {
|
|
27205
|
-
let content = readFileSync33(
|
|
27228
|
+
let content = readFileSync33(join51(reactIndexesPath, file6), "utf-8");
|
|
27206
27229
|
content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
|
|
27207
|
-
writeFileSync10(
|
|
27230
|
+
writeFileSync10(join51(devIndexDir, file6), content);
|
|
27208
27231
|
}
|
|
27209
27232
|
}, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
|
|
27210
|
-
const svelteIndexDir =
|
|
27211
|
-
const sveltePageEntries = svelteEntries.filter((file6) =>
|
|
27233
|
+
const svelteIndexDir = join51(getFrameworkGeneratedDir("svelte"), "indexes");
|
|
27234
|
+
const sveltePageEntries = svelteEntries.filter((file6) => resolve38(file6).startsWith(resolve38(sveltePagesPath)));
|
|
27212
27235
|
for (const entry of sveltePageEntries) {
|
|
27213
27236
|
const name = basename17(entry).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
27214
|
-
const indexFile =
|
|
27237
|
+
const indexFile = join51(svelteIndexDir, "pages", `${name}.js`);
|
|
27215
27238
|
if (!existsSync38(indexFile))
|
|
27216
27239
|
continue;
|
|
27217
27240
|
let content = readFileSync33(indexFile, "utf-8");
|
|
27218
|
-
const srcRel =
|
|
27241
|
+
const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
|
|
27219
27242
|
content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
|
|
27220
|
-
writeFileSync10(
|
|
27243
|
+
writeFileSync10(join51(devIndexDir, `${name}.svelte.js`), content);
|
|
27221
27244
|
}
|
|
27222
27245
|
}, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
|
|
27223
|
-
const vueIndexDir =
|
|
27224
|
-
const vuePageEntries = vueEntries.filter((file6) =>
|
|
27246
|
+
const vueIndexDir = join51(getFrameworkGeneratedDir("vue"), "indexes");
|
|
27247
|
+
const vuePageEntries = vueEntries.filter((file6) => resolve38(file6).startsWith(resolve38(vuePagesPath)));
|
|
27225
27248
|
for (const entry of vuePageEntries) {
|
|
27226
27249
|
const name = basename17(entry, ".vue");
|
|
27227
|
-
const indexFile =
|
|
27250
|
+
const indexFile = join51(vueIndexDir, `${name}.js`);
|
|
27228
27251
|
if (!existsSync38(indexFile))
|
|
27229
27252
|
continue;
|
|
27230
27253
|
let content = readFileSync33(indexFile, "utf-8");
|
|
27231
|
-
const srcRel =
|
|
27254
|
+
const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
|
|
27232
27255
|
content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
|
|
27233
|
-
writeFileSync10(
|
|
27256
|
+
writeFileSync10(join51(devIndexDir, `${name}.vue.js`), content);
|
|
27234
27257
|
}
|
|
27235
27258
|
}, buildDevUrlFileMap = (urlReferencedFiles, projectRoot) => {
|
|
27236
27259
|
const urlFileMap = new Map;
|
|
27237
27260
|
for (const srcPath of urlReferencedFiles) {
|
|
27238
|
-
const rel =
|
|
27261
|
+
const rel = relative20(projectRoot, srcPath).replace(/\\/g, "/");
|
|
27239
27262
|
const name = basename17(srcPath);
|
|
27240
27263
|
const mtime = Math.round(statSync4(srcPath).mtimeMs);
|
|
27241
27264
|
const url = `/@src/${rel}?v=${mtime}`;
|
|
@@ -27250,7 +27273,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27250
27273
|
const output = nonReactClientOutputs.find((artifact) => basename17(artifact.path).startsWith(`${srcBase}.`));
|
|
27251
27274
|
if (!output)
|
|
27252
27275
|
continue;
|
|
27253
|
-
urlFileMap.set(basename17(srcPath), `/${
|
|
27276
|
+
urlFileMap.set(basename17(srcPath), `/${relative20(buildPath, output.path).replace(/\\/g, "/")}`);
|
|
27254
27277
|
}
|
|
27255
27278
|
return urlFileMap;
|
|
27256
27279
|
}, buildUrlFileMap = (urlReferencedFiles, hmr, projectRoot, buildPath, nonReactClientOutputs) => {
|
|
@@ -27391,10 +27414,10 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27391
27414
|
restoreTracePhase();
|
|
27392
27415
|
return;
|
|
27393
27416
|
}
|
|
27394
|
-
const traceDir =
|
|
27417
|
+
const traceDir = join51(buildPath2, ".absolute-trace");
|
|
27395
27418
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
27396
27419
|
mkdirSync12(traceDir, { recursive: true });
|
|
27397
|
-
writeFileSync10(
|
|
27420
|
+
writeFileSync10(join51(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
|
|
27398
27421
|
events: traceEvents,
|
|
27399
27422
|
frameworks: traceFrameworkNames,
|
|
27400
27423
|
generatedAt: new Date().toISOString(),
|
|
@@ -27425,16 +27448,16 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27425
27448
|
const stylesPath = typeof stylesConfig === "string" ? stylesConfig : stylesConfig?.path;
|
|
27426
27449
|
const stylesIgnore = typeof stylesConfig === "object" ? stylesConfig.ignore : undefined;
|
|
27427
27450
|
const stylesDir = stylesPath && validateSafePath(stylesPath, projectRoot);
|
|
27428
|
-
const reactIndexesPath = reactDir &&
|
|
27429
|
-
const reactPagesPath = reactDir &&
|
|
27430
|
-
const htmlPagesPath = htmlDir &&
|
|
27431
|
-
const htmlScriptsPath = htmlDir &&
|
|
27432
|
-
const sveltePagesPath = svelteDir &&
|
|
27433
|
-
const vuePagesPath = vueDir &&
|
|
27434
|
-
const htmxPagesPath = htmxDir &&
|
|
27435
|
-
const htmxScriptsPath = htmxDir &&
|
|
27436
|
-
const angularPagesPath = angularDir &&
|
|
27437
|
-
const emberPagesPath = emberDir &&
|
|
27451
|
+
const reactIndexesPath = reactDir && join51(getFrameworkGeneratedDir("react"), "indexes");
|
|
27452
|
+
const reactPagesPath = reactDir && join51(reactDir, "pages");
|
|
27453
|
+
const htmlPagesPath = htmlDir && join51(htmlDir, "pages");
|
|
27454
|
+
const htmlScriptsPath = htmlDir && join51(htmlDir, "scripts");
|
|
27455
|
+
const sveltePagesPath = svelteDir && join51(svelteDir, "pages");
|
|
27456
|
+
const vuePagesPath = vueDir && join51(vueDir, "pages");
|
|
27457
|
+
const htmxPagesPath = htmxDir && join51(htmxDir, "pages");
|
|
27458
|
+
const htmxScriptsPath = htmxDir && join51(htmxDir, "scripts");
|
|
27459
|
+
const angularPagesPath = angularDir && join51(angularDir, "pages");
|
|
27460
|
+
const emberPagesPath = emberDir && join51(emberDir, "pages");
|
|
27438
27461
|
const frontends = [
|
|
27439
27462
|
reactDir,
|
|
27440
27463
|
htmlDir,
|
|
@@ -27495,8 +27518,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27495
27518
|
const [firstEntry] = serverDirMap;
|
|
27496
27519
|
if (!firstEntry)
|
|
27497
27520
|
throw new Error("Expected at least one server directory entry");
|
|
27498
|
-
serverRoot =
|
|
27499
|
-
serverOutDir =
|
|
27521
|
+
serverRoot = join51(firstEntry.dir, firstEntry.subdir);
|
|
27522
|
+
serverOutDir = join51(buildPath, basename17(firstEntry.dir));
|
|
27500
27523
|
} else if (serverDirMap.length > 1) {
|
|
27501
27524
|
serverRoot = commonAncestor(serverDirMap.map((entry) => entry.dir), projectRoot);
|
|
27502
27525
|
serverOutDir = buildPath;
|
|
@@ -27515,13 +27538,13 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27515
27538
|
const filterToIncrementalEntries = (entryPoints, mapToSource) => {
|
|
27516
27539
|
if (!isIncremental || !incrementalFiles)
|
|
27517
27540
|
return entryPoints;
|
|
27518
|
-
const normalizedIncremental = new Set(incrementalFiles.map((f2) =>
|
|
27541
|
+
const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve38(f2)));
|
|
27519
27542
|
const matchingEntries = [];
|
|
27520
27543
|
for (const entry of entryPoints) {
|
|
27521
27544
|
const sourceFile = mapToSource(entry);
|
|
27522
27545
|
if (!sourceFile)
|
|
27523
27546
|
continue;
|
|
27524
|
-
if (!normalizedIncremental.has(
|
|
27547
|
+
if (!normalizedIncremental.has(resolve38(sourceFile)))
|
|
27525
27548
|
continue;
|
|
27526
27549
|
matchingEntries.push(entry);
|
|
27527
27550
|
}
|
|
@@ -27531,7 +27554,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27531
27554
|
await tracePhase("react/index-generation", () => generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr));
|
|
27532
27555
|
}
|
|
27533
27556
|
if (assetsPath && (!isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/assets/")))) {
|
|
27534
|
-
await tracePhase("assets/copy", () => cpSync(assetsPath,
|
|
27557
|
+
await tracePhase("assets/copy", () => cpSync(assetsPath, join51(buildPath, "assets"), {
|
|
27535
27558
|
force: true,
|
|
27536
27559
|
recursive: true
|
|
27537
27560
|
}));
|
|
@@ -27645,11 +27668,11 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27645
27668
|
}
|
|
27646
27669
|
}
|
|
27647
27670
|
if (htmlDefaults.error || htmlDefaults.notFound || htmlDefaults.loading || Object.keys(htmlPages).length > 0) {
|
|
27648
|
-
const htmlConventionsOutDir =
|
|
27671
|
+
const htmlConventionsOutDir = join51(buildPath, "conventions", "html");
|
|
27649
27672
|
mkdirSync12(htmlConventionsOutDir, { recursive: true });
|
|
27650
27673
|
const htmlPathRemap = new Map;
|
|
27651
27674
|
for (const sourcePath of htmlConventionSources) {
|
|
27652
|
-
const dest =
|
|
27675
|
+
const dest = join51(htmlConventionsOutDir, basename17(sourcePath));
|
|
27653
27676
|
cpSync(sourcePath, dest, { force: true });
|
|
27654
27677
|
htmlPathRemap.set(sourcePath, dest);
|
|
27655
27678
|
}
|
|
@@ -27697,13 +27720,13 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27697
27720
|
return scoped;
|
|
27698
27721
|
return scoped.filter((entry) => {
|
|
27699
27722
|
const source = mapToSource(entry);
|
|
27700
|
-
return source !== null && deferPageEntries.except.has(
|
|
27723
|
+
return source !== null && deferPageEntries.except.has(resolve38(source));
|
|
27701
27724
|
});
|
|
27702
27725
|
};
|
|
27703
27726
|
const mapReactIndexToPage = (entry) => {
|
|
27704
|
-
if (reactIndexesPath && reactPagesPath && entry.startsWith(
|
|
27727
|
+
if (reactIndexesPath && reactPagesPath && entry.startsWith(resolve38(reactIndexesPath))) {
|
|
27705
27728
|
const pageName = basename17(entry, ".tsx");
|
|
27706
|
-
return
|
|
27729
|
+
return join51(reactPagesPath, `${pageName}.tsx`);
|
|
27707
27730
|
}
|
|
27708
27731
|
return null;
|
|
27709
27732
|
};
|
|
@@ -27743,7 +27766,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27743
27766
|
for (const entry of vueEntries) {
|
|
27744
27767
|
const name = basename17(entry, ".vue");
|
|
27745
27768
|
if (ssrOnlyPageNames.has(name)) {
|
|
27746
|
-
resolved.add(
|
|
27769
|
+
resolved.add(resolve38(entry));
|
|
27747
27770
|
}
|
|
27748
27771
|
}
|
|
27749
27772
|
return resolved;
|
|
@@ -27858,7 +27881,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27858
27881
|
const clientPath = islandSvelteClientPaths[idx];
|
|
27859
27882
|
if (!sourcePath || !clientPath)
|
|
27860
27883
|
continue;
|
|
27861
|
-
islandSvelteClientPathMap.set(
|
|
27884
|
+
islandSvelteClientPathMap.set(resolve38(sourcePath), clientPath);
|
|
27862
27885
|
}
|
|
27863
27886
|
const islandVueClientPathMap = new Map;
|
|
27864
27887
|
for (let idx = 0;idx < islandVueSources.length; idx++) {
|
|
@@ -27866,7 +27889,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27866
27889
|
const clientPath = islandVueClientPaths[idx];
|
|
27867
27890
|
if (!sourcePath || !clientPath)
|
|
27868
27891
|
continue;
|
|
27869
|
-
islandVueClientPathMap.set(
|
|
27892
|
+
islandVueClientPathMap.set(resolve38(sourcePath), clientPath);
|
|
27870
27893
|
}
|
|
27871
27894
|
const islandAngularClientPathMap = new Map;
|
|
27872
27895
|
for (let idx = 0;idx < islandAngularSources.length; idx++) {
|
|
@@ -27874,7 +27897,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27874
27897
|
const clientPath = islandAngularClientPaths[idx];
|
|
27875
27898
|
if (!sourcePath || !clientPath)
|
|
27876
27899
|
continue;
|
|
27877
|
-
islandAngularClientPathMap.set(
|
|
27900
|
+
islandAngularClientPathMap.set(resolve38(sourcePath), clientPath);
|
|
27878
27901
|
}
|
|
27879
27902
|
const reactConventionSources = collectConventionSourceFiles(conventionsMap.react);
|
|
27880
27903
|
const svelteConventionSources = collectConventionSourceFiles(conventionsMap.svelte);
|
|
@@ -27885,7 +27908,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27885
27908
|
const compileReactConventions = async () => {
|
|
27886
27909
|
if (reactConventionSources.length === 0)
|
|
27887
27910
|
return emptyStringArray;
|
|
27888
|
-
const destDir =
|
|
27911
|
+
const destDir = join51(buildPath, "conventions", "react");
|
|
27889
27912
|
rmSync2(destDir, { force: true, recursive: true });
|
|
27890
27913
|
mkdirSync12(destDir, { recursive: true });
|
|
27891
27914
|
const destPaths = await Promise.all(reactConventionSources.map(async (source, idx) => {
|
|
@@ -27929,7 +27952,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
27929
27952
|
angularConventionSources.length > 0 && angularDir ? tracePhase("compile/convention-angular", () => Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular)).then((mod) => mod.compileAngular(angularConventionSources, angularDir, hmr, styleTransformConfig))) : { serverPaths: emptyStringArray }
|
|
27930
27953
|
]);
|
|
27931
27954
|
const bundleConventionFiles = async (framework, compiledPaths) => {
|
|
27932
|
-
const destDir =
|
|
27955
|
+
const destDir = join51(buildPath, "conventions", framework);
|
|
27933
27956
|
rmSync2(destDir, { force: true, recursive: true });
|
|
27934
27957
|
mkdirSync12(destDir, { recursive: true });
|
|
27935
27958
|
const destPaths = await Promise.all(compiledPaths.map(async (compiledPath, idx) => {
|
|
@@ -28004,7 +28027,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28004
28027
|
}
|
|
28005
28028
|
})) : {
|
|
28006
28029
|
entries: [],
|
|
28007
|
-
generatedRoot:
|
|
28030
|
+
generatedRoot: join51(buildPath, "_island_entries")
|
|
28008
28031
|
};
|
|
28009
28032
|
const islandClientEntryPoints = islandEntryResult.entries.map((entry) => entry.entryPath);
|
|
28010
28033
|
if (!deferPageEntries && serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && urlReferencedFiles.length === 0 && islandClientEntryPoints.length === 0 && htmxDir === undefined && htmlDir === undefined) {
|
|
@@ -28040,7 +28063,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28040
28063
|
return {};
|
|
28041
28064
|
}
|
|
28042
28065
|
if (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {
|
|
28043
|
-
const refreshEntry =
|
|
28066
|
+
const refreshEntry = join51(reactIndexesPath, "_refresh.tsx");
|
|
28044
28067
|
if (!reactClientEntryPoints.includes(refreshEntry))
|
|
28045
28068
|
reactClientEntryPoints.push(refreshEntry);
|
|
28046
28069
|
}
|
|
@@ -28157,19 +28180,19 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28157
28180
|
throw: false
|
|
28158
28181
|
}, resolveBunBuildOverride(bunBuildConfig, "reactClient")) : undefined;
|
|
28159
28182
|
if (reactDir && reactClientEntryPoints.length > 0) {
|
|
28160
|
-
rmSync2(
|
|
28183
|
+
rmSync2(join51(buildPath, "react", "generated", "indexes"), {
|
|
28161
28184
|
force: true,
|
|
28162
28185
|
recursive: true
|
|
28163
28186
|
});
|
|
28164
28187
|
}
|
|
28165
28188
|
if (angularDir && angularClientPaths.length > 0) {
|
|
28166
|
-
rmSync2(
|
|
28189
|
+
rmSync2(join51(buildPath, "angular", "indexes"), {
|
|
28167
28190
|
force: true,
|
|
28168
28191
|
recursive: true
|
|
28169
28192
|
});
|
|
28170
28193
|
}
|
|
28171
28194
|
if (islandClientEntryPoints.length > 0) {
|
|
28172
|
-
rmSync2(
|
|
28195
|
+
rmSync2(join51(buildPath, "islands"), {
|
|
28173
28196
|
force: true,
|
|
28174
28197
|
recursive: true
|
|
28175
28198
|
});
|
|
@@ -28284,7 +28307,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28284
28307
|
globalCssEntries.length > 0 ? tracePhase("bun/global-css", () => bunBuild7(mergeBunBuildConfig({
|
|
28285
28308
|
entrypoints: globalCssEntries,
|
|
28286
28309
|
naming: `[dir]/[name].[hash].[ext]`,
|
|
28287
|
-
outdir: stylesDir ?
|
|
28310
|
+
outdir: stylesDir ? join51(buildPath, basename17(stylesDir)) : buildPath,
|
|
28288
28311
|
plugins: [stylePreprocessorPlugin2],
|
|
28289
28312
|
root: stylesDir || clientRoot,
|
|
28290
28313
|
target: "browser",
|
|
@@ -28293,7 +28316,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28293
28316
|
vueCssPaths.length > 0 ? tracePhase("bun/vue-css", () => bunBuild7(mergeBunBuildConfig({
|
|
28294
28317
|
entrypoints: vueCssPaths,
|
|
28295
28318
|
naming: `[name].[hash].[ext]`,
|
|
28296
|
-
outdir:
|
|
28319
|
+
outdir: join51(buildPath, assetsPath ? basename17(assetsPath) : "assets", "css"),
|
|
28297
28320
|
target: "browser",
|
|
28298
28321
|
throw: false
|
|
28299
28322
|
}, resolveBunBuildOverride(bunBuildConfig, "vueCss")))) : undefined
|
|
@@ -28315,15 +28338,15 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28315
28338
|
}
|
|
28316
28339
|
if (!isDev2 && resolveClientSourcemap(sourcemaps, isDev2) === "external") {
|
|
28317
28340
|
const { chainExternalSourcemap: chainExternalSourcemap2 } = await Promise.resolve().then(() => (init_chainInlineSourcemaps(), exports_chainInlineSourcemaps));
|
|
28318
|
-
const sourcemapDir =
|
|
28341
|
+
const sourcemapDir = join51(projectRoot, "sourcemaps");
|
|
28319
28342
|
mkdirSync12(sourcemapDir, { recursive: true });
|
|
28320
28343
|
const mapFiles = readdirSync7(buildPath, {
|
|
28321
28344
|
encoding: "utf8",
|
|
28322
28345
|
recursive: true
|
|
28323
|
-
}).filter((entry) => entry.endsWith(".js.map") && !entry.includes("node_modules")).map((entry) =>
|
|
28346
|
+
}).filter((entry) => entry.endsWith(".js.map") && !entry.includes("node_modules")).map((entry) => join51(buildPath, entry));
|
|
28324
28347
|
for (const mapPath of mapFiles) {
|
|
28325
28348
|
chainExternalSourcemap2(mapPath);
|
|
28326
|
-
renameSync(mapPath,
|
|
28349
|
+
renameSync(mapPath, join51(sourcemapDir, basename17(mapPath)));
|
|
28327
28350
|
const jsPath = mapPath.slice(0, -4);
|
|
28328
28351
|
try {
|
|
28329
28352
|
const javascript = readFileSync33(jsPath, "utf-8").replace(/\n?\/\/# sourceMappingURL=[^\n]*\s*$/, `
|
|
@@ -28331,7 +28354,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28331
28354
|
writeFileSync10(jsPath, javascript);
|
|
28332
28355
|
} catch {}
|
|
28333
28356
|
}
|
|
28334
|
-
console.info(`[absolute] sourcemaps: chained + privatized ${mapFiles.length} client maps \u2192 ${
|
|
28357
|
+
console.info(`[absolute] sourcemaps: chained + privatized ${mapFiles.length} client maps \u2192 ${relative20(projectRoot, sourcemapDir)}/`);
|
|
28335
28358
|
}
|
|
28336
28359
|
if (serverResult && !serverResult.success && serverLogs.length > 0) {
|
|
28337
28360
|
handlePassFailure(serverLogs, "server", "Server");
|
|
@@ -28388,7 +28411,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28388
28411
|
};
|
|
28389
28412
|
await tracePhase("postprocess/client-rewrite", rewriteClientGroups, clientRewriteStats);
|
|
28390
28413
|
if (!hmr) {
|
|
28391
|
-
const reactVendorDir =
|
|
28414
|
+
const reactVendorDir = join51(buildPath, "react", "vendor");
|
|
28392
28415
|
const vendorChunkPaths = existsSync38(reactVendorDir) ? [
|
|
28393
28416
|
...new Glob8("**/*.js").scanSync({
|
|
28394
28417
|
absolute: true,
|
|
@@ -28408,7 +28431,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28408
28431
|
const fileDir = dirname28(artifact.path);
|
|
28409
28432
|
const relativePaths = {};
|
|
28410
28433
|
for (const [specifier, absolute] of Object.entries(angularServerVendorPaths2)) {
|
|
28411
|
-
const rel =
|
|
28434
|
+
const rel = relative20(fileDir, absolute);
|
|
28412
28435
|
relativePaths[specifier] = rel.startsWith(".") ? rel : `./${rel}`;
|
|
28413
28436
|
}
|
|
28414
28437
|
return relativePaths;
|
|
@@ -28521,7 +28544,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28521
28544
|
if (skipAngularClientBundle) {
|
|
28522
28545
|
for (const clientPath of angularClientPaths) {
|
|
28523
28546
|
const fileBase = basename17(clientPath, ".js");
|
|
28524
|
-
const relFromCwd =
|
|
28547
|
+
const relFromCwd = relative20(projectRoot, clientPath).replace(/\\/g, "/");
|
|
28525
28548
|
manifest[`${toPascal(fileBase)}Index`] = `/@src/${relFromCwd}`;
|
|
28526
28549
|
}
|
|
28527
28550
|
}
|
|
@@ -28546,7 +28569,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28546
28569
|
const processHtmlPages = async () => {
|
|
28547
28570
|
if (!(htmlDir && htmlPagesPath))
|
|
28548
28571
|
return;
|
|
28549
|
-
const outputHtmlPages = isSingle ?
|
|
28572
|
+
const outputHtmlPages = isSingle ? join51(buildPath, "pages") : join51(buildPath, basename17(htmlDir), "pages");
|
|
28550
28573
|
mkdirSync12(outputHtmlPages, { recursive: true });
|
|
28551
28574
|
cpSync(htmlPagesPath, outputHtmlPages, {
|
|
28552
28575
|
force: true,
|
|
@@ -28575,14 +28598,14 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28575
28598
|
const processHtmxPages = async () => {
|
|
28576
28599
|
if (!(htmxDir && htmxPagesPath))
|
|
28577
28600
|
return;
|
|
28578
|
-
const outputHtmxPages = isSingle ?
|
|
28601
|
+
const outputHtmxPages = isSingle ? join51(buildPath, "pages") : join51(buildPath, basename17(htmxDir), "pages");
|
|
28579
28602
|
mkdirSync12(outputHtmxPages, { recursive: true });
|
|
28580
28603
|
cpSync(htmxPagesPath, outputHtmxPages, {
|
|
28581
28604
|
force: true,
|
|
28582
28605
|
recursive: true
|
|
28583
28606
|
});
|
|
28584
28607
|
if (shouldCopyHtmx) {
|
|
28585
|
-
const htmxDestDir = isSingle ? buildPath :
|
|
28608
|
+
const htmxDestDir = isSingle ? buildPath : join51(buildPath, basename17(htmxDir));
|
|
28586
28609
|
copyHtmxVendor(htmxDir, htmxDestDir);
|
|
28587
28610
|
}
|
|
28588
28611
|
if (shouldUpdateHtmxAssetPaths) {
|
|
@@ -28673,7 +28696,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28673
28696
|
}))
|
|
28674
28697
|
];
|
|
28675
28698
|
setSpaRouteManifest(spaRouteHosts);
|
|
28676
|
-
writeFileSync10(
|
|
28699
|
+
writeFileSync10(join51(buildPath, "spa-routes.json"), JSON.stringify(spaRouteHosts, null, "\t"));
|
|
28677
28700
|
if (isIncremental) {
|
|
28678
28701
|
writeBuildTrace(buildPath);
|
|
28679
28702
|
return {
|
|
@@ -28683,9 +28706,9 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
|
|
|
28683
28706
|
pageEntries
|
|
28684
28707
|
};
|
|
28685
28708
|
}
|
|
28686
|
-
writeFileSync10(
|
|
28709
|
+
writeFileSync10(join51(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
|
|
28687
28710
|
if (Object.keys(conventionsMap).length > 0) {
|
|
28688
|
-
writeFileSync10(
|
|
28711
|
+
writeFileSync10(join51(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
|
|
28689
28712
|
}
|
|
28690
28713
|
writeBuildTrace(buildPath);
|
|
28691
28714
|
if (mode === "production") {
|
|
@@ -28804,7 +28827,7 @@ var init_build = __esm(() => {
|
|
|
28804
28827
|
|
|
28805
28828
|
// src/build/buildEmberVendor.ts
|
|
28806
28829
|
import { mkdirSync as mkdirSync13, existsSync as existsSync39 } from "fs";
|
|
28807
|
-
import { join as
|
|
28830
|
+
import { join as join52 } from "path";
|
|
28808
28831
|
import { rm as rm12 } from "fs/promises";
|
|
28809
28832
|
var {build: bunBuild8 } = globalThis.Bun;
|
|
28810
28833
|
var toSafeFileName5 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), generateMacrosShim = () => `// Generated shim for @embroider/macros \u2014 provides minimal runtime
|
|
@@ -28856,7 +28879,7 @@ export const importSync = (specifier) => {
|
|
|
28856
28879
|
if (standaloneSpecifiers.has(specifier)) {
|
|
28857
28880
|
return { resolveTo: specifier, specifier };
|
|
28858
28881
|
}
|
|
28859
|
-
const emberInternalPath =
|
|
28882
|
+
const emberInternalPath = join52(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
|
|
28860
28883
|
if (!existsSync39(emberInternalPath)) {
|
|
28861
28884
|
throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
|
|
28862
28885
|
}
|
|
@@ -28888,7 +28911,7 @@ export const importSync = (specifier) => {
|
|
|
28888
28911
|
if (standalonePackages.has(args.path)) {
|
|
28889
28912
|
return;
|
|
28890
28913
|
}
|
|
28891
|
-
const internal =
|
|
28914
|
+
const internal = join52(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
28892
28915
|
if (existsSync39(internal)) {
|
|
28893
28916
|
return { path: internal };
|
|
28894
28917
|
}
|
|
@@ -28896,16 +28919,16 @@ export const importSync = (specifier) => {
|
|
|
28896
28919
|
});
|
|
28897
28920
|
}
|
|
28898
28921
|
}), buildEmberVendor = async (buildDir, cwd2 = process.cwd()) => {
|
|
28899
|
-
const vendorDir =
|
|
28922
|
+
const vendorDir = join52(buildDir, "ember", "vendor");
|
|
28900
28923
|
mkdirSync13(vendorDir, { recursive: true });
|
|
28901
|
-
const tmpDir =
|
|
28924
|
+
const tmpDir = join52(buildDir, "_ember_vendor_tmp");
|
|
28902
28925
|
mkdirSync13(tmpDir, { recursive: true });
|
|
28903
|
-
const macrosShimPath =
|
|
28926
|
+
const macrosShimPath = join52(tmpDir, "embroider_macros_shim.js");
|
|
28904
28927
|
await Bun.write(macrosShimPath, generateMacrosShim());
|
|
28905
28928
|
const resolutions = REQUIRED_EMBER_SPECIFIERS.map((specifier) => resolveEmberSpecifier(specifier, cwd2));
|
|
28906
28929
|
const entrypoints = await Promise.all(resolutions.map(async (resolution) => {
|
|
28907
28930
|
const safeName = toSafeFileName5(resolution.specifier);
|
|
28908
|
-
const entryPath =
|
|
28931
|
+
const entryPath = join52(tmpDir, `${safeName}.js`);
|
|
28909
28932
|
const source = resolution.specifier === "@embroider/macros" ? `export * from ${JSON.stringify(macrosShimPath)};
|
|
28910
28933
|
` : generateVendorEntrySource2(resolution);
|
|
28911
28934
|
await Bun.write(entryPath, source);
|
|
@@ -29063,7 +29086,7 @@ __export(exports_dependencyGraph, {
|
|
|
29063
29086
|
});
|
|
29064
29087
|
import { existsSync as existsSync40, readFileSync as readFileSync34 } from "fs";
|
|
29065
29088
|
var {Glob: Glob9 } = globalThis.Bun;
|
|
29066
|
-
import { resolve as
|
|
29089
|
+
import { resolve as resolve39 } from "path";
|
|
29067
29090
|
var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
|
|
29068
29091
|
const lower = filePath.toLowerCase();
|
|
29069
29092
|
if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
|
|
@@ -29077,8 +29100,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29077
29100
|
if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
|
|
29078
29101
|
return null;
|
|
29079
29102
|
}
|
|
29080
|
-
const fromDir =
|
|
29081
|
-
const normalized =
|
|
29103
|
+
const fromDir = resolve39(fromFile, "..");
|
|
29104
|
+
const normalized = resolve39(fromDir, importPath);
|
|
29082
29105
|
const extensions = [
|
|
29083
29106
|
".ts",
|
|
29084
29107
|
".tsx",
|
|
@@ -29108,7 +29131,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29108
29131
|
dependents.delete(normalizedPath);
|
|
29109
29132
|
}
|
|
29110
29133
|
}, addFileToGraph = (graph, filePath) => {
|
|
29111
|
-
const normalizedPath =
|
|
29134
|
+
const normalizedPath = resolve39(filePath);
|
|
29112
29135
|
if (!existsSync40(normalizedPath))
|
|
29113
29136
|
return;
|
|
29114
29137
|
const dependencies = extractDependencies(normalizedPath);
|
|
@@ -29135,10 +29158,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29135
29158
|
}, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
|
|
29136
29159
|
const processedFiles = new Set;
|
|
29137
29160
|
const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
|
|
29138
|
-
const resolvedDirs = directories.map((dir) =>
|
|
29161
|
+
const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) => existsSync40(dir));
|
|
29139
29162
|
const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
|
|
29140
29163
|
for (const file6 of allFiles) {
|
|
29141
|
-
const fullPath =
|
|
29164
|
+
const fullPath = resolve39(file6);
|
|
29142
29165
|
if (IGNORED_SEGMENTS.some((seg) => fullPath.includes(seg)))
|
|
29143
29166
|
continue;
|
|
29144
29167
|
if (processedFiles.has(fullPath))
|
|
@@ -29251,7 +29274,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29251
29274
|
return [];
|
|
29252
29275
|
}
|
|
29253
29276
|
}, getAffectedFiles = (graph, changedFile) => {
|
|
29254
|
-
const normalizedPath =
|
|
29277
|
+
const normalizedPath = resolve39(changedFile);
|
|
29255
29278
|
const affected = new Set;
|
|
29256
29279
|
const toProcess = [normalizedPath];
|
|
29257
29280
|
const processNode = (current) => {
|
|
@@ -29282,7 +29305,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
29282
29305
|
}, removeDependentsForFile = (graph, normalizedPath) => {
|
|
29283
29306
|
graph.dependents.delete(normalizedPath);
|
|
29284
29307
|
}, removeFileFromGraph = (graph, filePath) => {
|
|
29285
|
-
const normalizedPath =
|
|
29308
|
+
const normalizedPath = resolve39(filePath);
|
|
29286
29309
|
removeDepsForFile(graph, normalizedPath);
|
|
29287
29310
|
removeDependentsForFile(graph, normalizedPath);
|
|
29288
29311
|
};
|
|
@@ -29325,12 +29348,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
|
|
|
29325
29348
|
};
|
|
29326
29349
|
|
|
29327
29350
|
// src/dev/configResolver.ts
|
|
29328
|
-
import { resolve as
|
|
29351
|
+
import { resolve as resolve40 } from "path";
|
|
29329
29352
|
var resolveBuildPaths = (config) => {
|
|
29330
29353
|
const cwd2 = process.cwd();
|
|
29331
29354
|
const normalize = (path2) => path2.replace(/\\/g, "/");
|
|
29332
|
-
const withDefault = (value, fallback) => normalize(
|
|
29333
|
-
const optional = (value) => value ? normalize(
|
|
29355
|
+
const withDefault = (value, fallback) => normalize(resolve40(cwd2, value ?? fallback));
|
|
29356
|
+
const optional = (value) => value ? normalize(resolve40(cwd2, value)) : undefined;
|
|
29334
29357
|
return {
|
|
29335
29358
|
angularDir: optional(config.angularDirectory),
|
|
29336
29359
|
assetsDir: optional(config.assetsDirectory),
|
|
@@ -29390,7 +29413,7 @@ var init_clientManager = __esm(() => {
|
|
|
29390
29413
|
|
|
29391
29414
|
// src/dev/pathUtils.ts
|
|
29392
29415
|
import { existsSync as existsSync41, readdirSync as readdirSync8, readFileSync as readFileSync35 } from "fs";
|
|
29393
|
-
import { dirname as dirname29, resolve as
|
|
29416
|
+
import { dirname as dirname29, resolve as resolve41 } from "path";
|
|
29394
29417
|
var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
29395
29418
|
if (shouldIgnorePath(filePath, resolved)) {
|
|
29396
29419
|
return "ignored";
|
|
@@ -29466,7 +29489,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29466
29489
|
return "unknown";
|
|
29467
29490
|
}, collectAngularResourceDirs = (angularDir) => {
|
|
29468
29491
|
const out = new Set;
|
|
29469
|
-
const angularRoot =
|
|
29492
|
+
const angularRoot = resolve41(angularDir);
|
|
29470
29493
|
const angularRootNormalized = normalizePath2(angularRoot);
|
|
29471
29494
|
const walk = (dir) => {
|
|
29472
29495
|
let entries;
|
|
@@ -29479,7 +29502,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29479
29502
|
if (entry.name.startsWith(".") || entry.name === "node_modules") {
|
|
29480
29503
|
continue;
|
|
29481
29504
|
}
|
|
29482
|
-
const full =
|
|
29505
|
+
const full = resolve41(dir, entry.name);
|
|
29483
29506
|
if (entry.isDirectory()) {
|
|
29484
29507
|
walk(full);
|
|
29485
29508
|
continue;
|
|
@@ -29520,7 +29543,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29520
29543
|
}
|
|
29521
29544
|
const componentDir = dirname29(full);
|
|
29522
29545
|
for (const ref of refs) {
|
|
29523
|
-
const refAbs = normalizePath2(
|
|
29546
|
+
const refAbs = normalizePath2(resolve41(componentDir, ref));
|
|
29524
29547
|
const refDir = normalizePath2(dirname29(refAbs));
|
|
29525
29548
|
if (refDir === angularRootNormalized || refDir.startsWith(`${angularRootNormalized}/`)) {
|
|
29526
29549
|
continue;
|
|
@@ -29537,7 +29560,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29537
29560
|
const push = (path2) => {
|
|
29538
29561
|
if (!path2)
|
|
29539
29562
|
return;
|
|
29540
|
-
const abs = normalizePath2(
|
|
29563
|
+
const abs = normalizePath2(resolve41(cwd2, path2));
|
|
29541
29564
|
if (!roots.includes(abs))
|
|
29542
29565
|
roots.push(abs);
|
|
29543
29566
|
};
|
|
@@ -29562,7 +29585,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29562
29585
|
push(cfg.assetsDir);
|
|
29563
29586
|
push(cfg.stylesDir);
|
|
29564
29587
|
for (const candidate of ["src", "db", "assets", "styles"]) {
|
|
29565
|
-
const abs = normalizePath2(
|
|
29588
|
+
const abs = normalizePath2(resolve41(cwd2, candidate));
|
|
29566
29589
|
if (existsSync41(abs) && !roots.includes(abs))
|
|
29567
29590
|
roots.push(abs);
|
|
29568
29591
|
}
|
|
@@ -29573,7 +29596,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
29573
29596
|
continue;
|
|
29574
29597
|
if (entry.name.startsWith("."))
|
|
29575
29598
|
continue;
|
|
29576
|
-
const abs = normalizePath2(
|
|
29599
|
+
const abs = normalizePath2(resolve41(cwd2, entry.name));
|
|
29577
29600
|
if (roots.includes(abs))
|
|
29578
29601
|
continue;
|
|
29579
29602
|
if (shouldIgnorePath(abs, resolved))
|
|
@@ -29657,7 +29680,7 @@ var init_pathUtils = __esm(() => {
|
|
|
29657
29680
|
// src/dev/devPrescan.ts
|
|
29658
29681
|
import { existsSync as existsSync42, readdirSync as readdirSync9, rmSync as rmSync3 } from "fs";
|
|
29659
29682
|
import { mkdir as mkdir13, readFile as readFile8, rename as rename4, writeFile as writeFile10 } from "fs/promises";
|
|
29660
|
-
import { join as
|
|
29683
|
+
import { join as join53 } from "path";
|
|
29661
29684
|
var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2000, collectConfigVendorSourceDirs = (config) => Array.from(new Set([
|
|
29662
29685
|
config.reactDirectory,
|
|
29663
29686
|
config.svelteDirectory,
|
|
@@ -29665,8 +29688,8 @@ var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2
|
|
|
29665
29688
|
config.angularDirectory,
|
|
29666
29689
|
config.htmlDirectory,
|
|
29667
29690
|
config.htmxDirectory
|
|
29668
|
-
].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((
|
|
29669
|
-
setTimeout(
|
|
29691
|
+
].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((resolve42) => {
|
|
29692
|
+
setTimeout(resolve42, delayMs);
|
|
29670
29693
|
}), isPayload = (value) => typeof value === "object" && value !== null && ("version" in value) && value.version === PAYLOAD_VERSION, tryReadPrescan = async (path2) => {
|
|
29671
29694
|
if (!existsSync42(path2))
|
|
29672
29695
|
return;
|
|
@@ -29715,13 +29738,13 @@ var init_devPrescan = __esm(() => {
|
|
|
29715
29738
|
init_configResolver();
|
|
29716
29739
|
init_dependencyGraph();
|
|
29717
29740
|
init_pathUtils();
|
|
29718
|
-
PRESCAN_DIR =
|
|
29741
|
+
PRESCAN_DIR = join53(".absolutejs", "dev-prescan");
|
|
29719
29742
|
});
|
|
29720
29743
|
|
|
29721
29744
|
// src/dev/fileWatcher.ts
|
|
29722
29745
|
import { watch } from "fs";
|
|
29723
29746
|
import { existsSync as existsSync43, readdirSync as readdirSync10, statSync as statSync5 } from "fs";
|
|
29724
|
-
import { dirname as dirname30, join as
|
|
29747
|
+
import { dirname as dirname30, join as join54, resolve as resolve42 } from "path";
|
|
29725
29748
|
var safeRemoveFromGraph = (graph, fullPath) => {
|
|
29726
29749
|
try {
|
|
29727
29750
|
removeFileFromGraph(graph, fullPath);
|
|
@@ -29753,7 +29776,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29753
29776
|
for (const name of entries) {
|
|
29754
29777
|
if (shouldSkipFilename(name, isStylesDir))
|
|
29755
29778
|
continue;
|
|
29756
|
-
const child =
|
|
29779
|
+
const child = join54(eventDir, name).replace(/\\/g, "/");
|
|
29757
29780
|
let st2;
|
|
29758
29781
|
try {
|
|
29759
29782
|
st2 = statSync5(child);
|
|
@@ -29774,7 +29797,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29774
29797
|
return;
|
|
29775
29798
|
if (shouldSkipFilename(filename, isStylesDir)) {
|
|
29776
29799
|
if (event === "rename") {
|
|
29777
|
-
const eventDir = dirname30(
|
|
29800
|
+
const eventDir = dirname30(join54(absolutePath, filename)).replace(/\\/g, "/");
|
|
29778
29801
|
atomicRecoveryScan(eventDir);
|
|
29779
29802
|
for (const delay of [25, 100]) {
|
|
29780
29803
|
const timer = setTimeout(() => atomicRecoveryScan(eventDir), delay);
|
|
@@ -29783,7 +29806,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29783
29806
|
}
|
|
29784
29807
|
return;
|
|
29785
29808
|
}
|
|
29786
|
-
const fullPath =
|
|
29809
|
+
const fullPath = join54(absolutePath, filename).replace(/\\/g, "/");
|
|
29787
29810
|
if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
|
|
29788
29811
|
return;
|
|
29789
29812
|
}
|
|
@@ -29801,7 +29824,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29801
29824
|
}, addFileWatchers = (state, paths, onFileChange) => {
|
|
29802
29825
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
29803
29826
|
paths.forEach((path2) => {
|
|
29804
|
-
const absolutePath =
|
|
29827
|
+
const absolutePath = resolve42(path2).replace(/\\/g, "/");
|
|
29805
29828
|
if (!existsSync43(absolutePath)) {
|
|
29806
29829
|
return;
|
|
29807
29830
|
}
|
|
@@ -29812,7 +29835,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
29812
29835
|
const watchPaths = getWatchPaths(config, state.resolvedPaths);
|
|
29813
29836
|
const stylesDir = state.resolvedPaths?.stylesDir;
|
|
29814
29837
|
watchPaths.forEach((path2) => {
|
|
29815
|
-
const absolutePath =
|
|
29838
|
+
const absolutePath = resolve42(path2).replace(/\\/g, "/");
|
|
29816
29839
|
if (!existsSync43(absolutePath)) {
|
|
29817
29840
|
return;
|
|
29818
29841
|
}
|
|
@@ -29831,13 +29854,13 @@ var init_fileWatcher = __esm(() => {
|
|
|
29831
29854
|
});
|
|
29832
29855
|
|
|
29833
29856
|
// src/dev/assetStore.ts
|
|
29834
|
-
import { resolve as
|
|
29857
|
+
import { resolve as resolve43 } from "path";
|
|
29835
29858
|
import { readdir as readdir4, unlink } from "fs/promises";
|
|
29836
29859
|
var mimeTypes, getMimeType = (filePath) => {
|
|
29837
29860
|
const ext = filePath.slice(filePath.lastIndexOf("."));
|
|
29838
29861
|
return mimeTypes[ext] ?? "application/octet-stream";
|
|
29839
29862
|
}, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
|
|
29840
|
-
const fullPath =
|
|
29863
|
+
const fullPath = resolve43(dir, entry.name);
|
|
29841
29864
|
if (entry.isDirectory()) {
|
|
29842
29865
|
return walkAndClean(fullPath);
|
|
29843
29866
|
}
|
|
@@ -29853,10 +29876,10 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
29853
29876
|
}, cleanStaleAssets = async (store, manifest, buildDir) => {
|
|
29854
29877
|
const liveByIdentity = new Map;
|
|
29855
29878
|
for (const webPath of store.keys()) {
|
|
29856
|
-
const diskPath =
|
|
29879
|
+
const diskPath = resolve43(buildDir, webPath.slice(1));
|
|
29857
29880
|
liveByIdentity.set(stripHash(diskPath), diskPath);
|
|
29858
29881
|
}
|
|
29859
|
-
const absBuildDir =
|
|
29882
|
+
const absBuildDir = resolve43(buildDir);
|
|
29860
29883
|
Object.values(manifest).forEach((val) => {
|
|
29861
29884
|
if (!HASHED_FILE_RE.test(val))
|
|
29862
29885
|
return;
|
|
@@ -29876,13 +29899,13 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
29876
29899
|
}, evictMissingChunks = async (store, buildDir) => {
|
|
29877
29900
|
const chunkKeys = [...store.keys()].filter((webPath) => webPath.includes("/chunk-"));
|
|
29878
29901
|
await Promise.all(chunkKeys.map(async (webPath) => {
|
|
29879
|
-
const onDisk = await Bun.file(
|
|
29902
|
+
const onDisk = await Bun.file(resolve43(buildDir, webPath.slice(1))).exists().catch(() => false);
|
|
29880
29903
|
if (!onDisk)
|
|
29881
29904
|
store.delete(webPath);
|
|
29882
29905
|
}));
|
|
29883
29906
|
}, lookupAsset = (store, path2) => store.get(path2), processScanEntry = (entry, dir, prefix, store, scanDir) => {
|
|
29884
29907
|
if (entry.isDirectory()) {
|
|
29885
|
-
return scanDir(
|
|
29908
|
+
return scanDir(resolve43(dir, entry.name), `${prefix}${entry.name}/`);
|
|
29886
29909
|
}
|
|
29887
29910
|
if (!entry.name.startsWith("chunk-")) {
|
|
29888
29911
|
return null;
|
|
@@ -29891,7 +29914,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
29891
29914
|
if (store.has(webPath)) {
|
|
29892
29915
|
return null;
|
|
29893
29916
|
}
|
|
29894
|
-
return Bun.file(
|
|
29917
|
+
return Bun.file(resolve43(dir, entry.name)).bytes().then((bytes) => {
|
|
29895
29918
|
store.set(webPath, bytes);
|
|
29896
29919
|
return;
|
|
29897
29920
|
}).catch(() => {});
|
|
@@ -29913,7 +29936,7 @@ var mimeTypes, getMimeType = (filePath) => {
|
|
|
29913
29936
|
for (const webPath of newIdentities.values()) {
|
|
29914
29937
|
if (store.has(webPath))
|
|
29915
29938
|
continue;
|
|
29916
|
-
loadPromises.push(Bun.file(
|
|
29939
|
+
loadPromises.push(Bun.file(resolve43(buildDir, webPath.slice(1))).bytes().then((bytes) => {
|
|
29917
29940
|
store.set(webPath, bytes);
|
|
29918
29941
|
return;
|
|
29919
29942
|
}).catch(() => {}));
|
|
@@ -30054,9 +30077,9 @@ var init_transformCache = __esm(() => {
|
|
|
30054
30077
|
});
|
|
30055
30078
|
|
|
30056
30079
|
// src/dev/reactComponentClassifier.ts
|
|
30057
|
-
import { resolve as
|
|
30080
|
+
import { resolve as resolve44 } from "path";
|
|
30058
30081
|
var classifyComponent = (filePath) => {
|
|
30059
|
-
const normalizedPath =
|
|
30082
|
+
const normalizedPath = resolve44(filePath);
|
|
30060
30083
|
if (normalizedPath.includes("/react/pages/")) {
|
|
30061
30084
|
return "server";
|
|
30062
30085
|
}
|
|
@@ -30068,7 +30091,7 @@ var classifyComponent = (filePath) => {
|
|
|
30068
30091
|
var init_reactComponentClassifier = () => {};
|
|
30069
30092
|
|
|
30070
30093
|
// src/dev/moduleMapper.ts
|
|
30071
|
-
import { basename as basename18, resolve as
|
|
30094
|
+
import { basename as basename18, resolve as resolve45 } from "path";
|
|
30072
30095
|
var buildModulePaths = (moduleKeys, manifest) => {
|
|
30073
30096
|
const modulePaths = {};
|
|
30074
30097
|
moduleKeys.forEach((key) => {
|
|
@@ -30078,7 +30101,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
30078
30101
|
});
|
|
30079
30102
|
return modulePaths;
|
|
30080
30103
|
}, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
|
|
30081
|
-
const normalizedFile =
|
|
30104
|
+
const normalizedFile = resolve45(sourceFile);
|
|
30082
30105
|
const normalizedPath = normalizedFile.replace(/\\/g, "/");
|
|
30083
30106
|
if (processedFiles.has(normalizedFile)) {
|
|
30084
30107
|
return null;
|
|
@@ -30114,7 +30137,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
|
|
|
30114
30137
|
});
|
|
30115
30138
|
return grouped;
|
|
30116
30139
|
}, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
|
|
30117
|
-
const normalizedFile =
|
|
30140
|
+
const normalizedFile = resolve45(sourceFile);
|
|
30118
30141
|
const fileName = basename18(normalizedFile);
|
|
30119
30142
|
const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
|
|
30120
30143
|
const pascalName = toPascal(baseName);
|
|
@@ -30170,7 +30193,7 @@ var init_moduleMapper = __esm(() => {
|
|
|
30170
30193
|
|
|
30171
30194
|
// src/utils/spaRouteCss.ts
|
|
30172
30195
|
import { readFile as readFile9 } from "fs/promises";
|
|
30173
|
-
import { dirname as dirname31, isAbsolute as
|
|
30196
|
+
import { dirname as dirname31, isAbsolute as isAbsolute9, resolve as resolve46 } from "path";
|
|
30174
30197
|
var sideManifestCache, readSideManifest = async (sideManifestPath) => {
|
|
30175
30198
|
const cached = sideManifestCache.get(sideManifestPath);
|
|
30176
30199
|
if (cached !== undefined)
|
|
@@ -30208,7 +30231,7 @@ var sideManifestCache, readSideManifest = async (sideManifestPath) => {
|
|
|
30208
30231
|
}, readChildCss = async (cssPath, sideManifestPath) => {
|
|
30209
30232
|
if (!cssPath)
|
|
30210
30233
|
return "";
|
|
30211
|
-
const resolvedCssPath =
|
|
30234
|
+
const resolvedCssPath = isAbsolute9(cssPath) ? cssPath : resolve46(dirname31(sideManifestPath), cssPath);
|
|
30212
30235
|
const cached = childCssCache.get(resolvedCssPath);
|
|
30213
30236
|
if (cached !== undefined)
|
|
30214
30237
|
return cached;
|
|
@@ -30292,7 +30315,7 @@ __export(exports_resolveOwningComponents, {
|
|
|
30292
30315
|
resolveOwningComponents: () => resolveOwningComponents
|
|
30293
30316
|
});
|
|
30294
30317
|
import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as statSync6 } from "fs";
|
|
30295
|
-
import { dirname as dirname32, extname as extname14, join as
|
|
30318
|
+
import { dirname as dirname32, extname as extname14, join as join55, resolve as resolve47 } from "path";
|
|
30296
30319
|
import ts19 from "typescript";
|
|
30297
30320
|
var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") || file6.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
|
|
30298
30321
|
const out = [];
|
|
@@ -30307,7 +30330,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30307
30330
|
if (entry.name.startsWith(".") || entry.name === "node_modules") {
|
|
30308
30331
|
continue;
|
|
30309
30332
|
}
|
|
30310
|
-
const full =
|
|
30333
|
+
const full = join55(dir, entry.name);
|
|
30311
30334
|
if (entry.isDirectory()) {
|
|
30312
30335
|
visit(full);
|
|
30313
30336
|
} else if (entry.isFile() && isAngularSourceFile(entry.name)) {
|
|
@@ -30405,7 +30428,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30405
30428
|
};
|
|
30406
30429
|
visit(sourceFile);
|
|
30407
30430
|
return out;
|
|
30408
|
-
}, safeNormalize = (path2) =>
|
|
30431
|
+
}, safeNormalize = (path2) => resolve47(path2).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
|
|
30409
30432
|
const { changedFilePath, userAngularRoot } = params;
|
|
30410
30433
|
const changedAbs = safeNormalize(changedFilePath);
|
|
30411
30434
|
const out = [];
|
|
@@ -30474,7 +30497,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30474
30497
|
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
30475
30498
|
return null;
|
|
30476
30499
|
}
|
|
30477
|
-
const base =
|
|
30500
|
+
const base = resolve47(childDir, spec);
|
|
30478
30501
|
const candidates = [
|
|
30479
30502
|
`${base}.ts`,
|
|
30480
30503
|
`${base}.tsx`,
|
|
@@ -30512,7 +30535,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
|
|
|
30512
30535
|
};
|
|
30513
30536
|
if (cls.kind === "component") {
|
|
30514
30537
|
for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
|
|
30515
|
-
const abs = safeNormalize(
|
|
30538
|
+
const abs = safeNormalize(resolve47(componentDir, url));
|
|
30516
30539
|
const existing = resource.get(abs);
|
|
30517
30540
|
if (existing)
|
|
30518
30541
|
existing.push(entity);
|
|
@@ -30765,7 +30788,7 @@ __export(exports_moduleServer, {
|
|
|
30765
30788
|
warnIfReactFastRefreshUnsupported: () => warnIfReactFastRefreshUnsupported
|
|
30766
30789
|
});
|
|
30767
30790
|
import { existsSync as existsSync44, readFileSync as readFileSync38, realpathSync as realpathSync3, statSync as statSync7 } from "fs";
|
|
30768
|
-
import { basename as basename19, dirname as dirname33, extname as extname15, join as
|
|
30791
|
+
import { basename as basename19, dirname as dirname33, extname as extname15, join as join56, resolve as resolve48, relative as relative21 } from "path";
|
|
30769
30792
|
var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfig, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
30770
30793
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
30771
30794
|
const allExports = [];
|
|
@@ -30785,10 +30808,10 @@ var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfi
|
|
|
30785
30808
|
${stubs}
|
|
30786
30809
|
`;
|
|
30787
30810
|
}, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
|
|
30788
|
-
const directHit = extensions.find((ext) => existsSync44(
|
|
30811
|
+
const directHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath + ext)));
|
|
30789
30812
|
if (directHit)
|
|
30790
30813
|
return srcPath + directHit;
|
|
30791
|
-
const indexHit = extensions.find((ext) => existsSync44(
|
|
30814
|
+
const indexHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath, `index${ext}`)));
|
|
30792
30815
|
if (indexHit)
|
|
30793
30816
|
return `${srcPath}/index${indexHit}`;
|
|
30794
30817
|
return srcPath;
|
|
@@ -30817,7 +30840,7 @@ ${stubs}
|
|
|
30817
30840
|
return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
|
|
30818
30841
|
}, srcUrl = (relPath, projectRoot) => {
|
|
30819
30842
|
const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
|
|
30820
|
-
const absPath =
|
|
30843
|
+
const absPath = resolve48(projectRoot, relPath);
|
|
30821
30844
|
const cached = mtimeCache.get(absPath);
|
|
30822
30845
|
if (cached !== undefined)
|
|
30823
30846
|
return `${base}?v=${buildVersion(cached, absPath)}`;
|
|
@@ -30829,12 +30852,12 @@ ${stubs}
|
|
|
30829
30852
|
return base;
|
|
30830
30853
|
}
|
|
30831
30854
|
}, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
|
|
30832
|
-
const absPath =
|
|
30833
|
-
const rel =
|
|
30855
|
+
const absPath = resolve48(fileDir, relPath);
|
|
30856
|
+
const rel = relative21(projectRoot, absPath);
|
|
30834
30857
|
const extension = extname15(rel);
|
|
30835
30858
|
let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
|
|
30836
30859
|
if (extname15(srcPath) === ".svelte") {
|
|
30837
|
-
srcPath =
|
|
30860
|
+
srcPath = relative21(projectRoot, resolveSvelteModulePath(resolve48(projectRoot, srcPath)));
|
|
30838
30861
|
}
|
|
30839
30862
|
return srcUrl(srcPath, projectRoot);
|
|
30840
30863
|
}, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
|
|
@@ -30846,27 +30869,27 @@ ${stubs}
|
|
|
30846
30869
|
"import"
|
|
30847
30870
|
]);
|
|
30848
30871
|
if (fromExports)
|
|
30849
|
-
return
|
|
30872
|
+
return relative21(projectRoot, fromExports);
|
|
30850
30873
|
try {
|
|
30851
30874
|
const isScoped = specifier.startsWith("@");
|
|
30852
30875
|
const parts = specifier.split("/");
|
|
30853
30876
|
const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
|
|
30854
30877
|
const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
|
|
30855
30878
|
if (!subpath) {
|
|
30856
|
-
const pkgDir =
|
|
30857
|
-
const pkgJsonPath =
|
|
30879
|
+
const pkgDir = resolve48(projectRoot, "node_modules", packageName ?? "");
|
|
30880
|
+
const pkgJsonPath = join56(pkgDir, "package.json");
|
|
30858
30881
|
if (existsSync44(pkgJsonPath)) {
|
|
30859
30882
|
const pkg = JSON.parse(readFileSync38(pkgJsonPath, "utf-8"));
|
|
30860
30883
|
const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
|
|
30861
30884
|
if (esmEntry) {
|
|
30862
|
-
const resolved =
|
|
30885
|
+
const resolved = resolve48(pkgDir, esmEntry);
|
|
30863
30886
|
if (existsSync44(resolved))
|
|
30864
|
-
return
|
|
30887
|
+
return relative21(projectRoot, resolved);
|
|
30865
30888
|
}
|
|
30866
30889
|
}
|
|
30867
30890
|
}
|
|
30868
30891
|
} catch {}
|
|
30869
|
-
return
|
|
30892
|
+
return relative21(projectRoot, Bun.resolveSync(specifier, projectRoot));
|
|
30870
30893
|
} catch {
|
|
30871
30894
|
return;
|
|
30872
30895
|
}
|
|
@@ -30905,22 +30928,22 @@ ${stubs}
|
|
|
30905
30928
|
result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => isRealImport(relPath) ? `${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, SIDE_EFFECT_EXTENSIONS)}${suffix}` : _match);
|
|
30906
30929
|
const rewriteAbsoluteToSrc = (_match, prefix, absPath, _ext, suffix) => {
|
|
30907
30930
|
if (absPath.startsWith(projectRoot)) {
|
|
30908
|
-
const rel2 =
|
|
30931
|
+
const rel2 = relative21(projectRoot, absPath).replace(/\\/g, "/");
|
|
30909
30932
|
return `${prefix}${srcUrl(rel2, projectRoot)}${suffix}`;
|
|
30910
30933
|
}
|
|
30911
|
-
const rel =
|
|
30934
|
+
const rel = relative21(projectRoot, absPath).replace(/\\/g, "/");
|
|
30912
30935
|
return `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;
|
|
30913
30936
|
};
|
|
30914
30937
|
result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
|
|
30915
30938
|
result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
|
|
30916
30939
|
result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
|
|
30917
|
-
const absPath =
|
|
30918
|
-
const rel =
|
|
30940
|
+
const absPath = resolve48(fileDir, relPath);
|
|
30941
|
+
const rel = relative21(projectRoot, absPath);
|
|
30919
30942
|
return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
|
|
30920
30943
|
});
|
|
30921
30944
|
result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
|
|
30922
|
-
const absPath =
|
|
30923
|
-
const rel =
|
|
30945
|
+
const absPath = resolve48(fileDir, relPath);
|
|
30946
|
+
const rel = relative21(projectRoot, absPath);
|
|
30924
30947
|
return `'${srcUrl(rel, projectRoot)}'`;
|
|
30925
30948
|
});
|
|
30926
30949
|
return result;
|
|
@@ -30976,7 +30999,7 @@ ${code2}`;
|
|
|
30976
30999
|
transpiled = `var $RefreshReg$ = window.$RefreshReg$ || function(){};
|
|
30977
31000
|
` + `var $RefreshSig$ = window.$RefreshSig$ || function(){ return function(t){ return t; }; };
|
|
30978
31001
|
${transpiled}`;
|
|
30979
|
-
const relPath =
|
|
31002
|
+
const relPath = relative21(projectRoot, filePath).replace(/\\/g, "/");
|
|
30980
31003
|
transpiled = transpiled.replace(/\binput\.tsx:/g, `${relPath}:`);
|
|
30981
31004
|
transpiled += buildIslandMetadataExports(raw);
|
|
30982
31005
|
return rewriteImports(transpiled, filePath, projectRoot, rewriter);
|
|
@@ -31137,11 +31160,11 @@ ${code2}`;
|
|
|
31137
31160
|
if (compiled.css?.code) {
|
|
31138
31161
|
const cssPath = `${filePath}.css`;
|
|
31139
31162
|
svelteExternalCss.set(cssPath, compiled.css.code);
|
|
31140
|
-
const cssUrl = srcUrl(
|
|
31163
|
+
const cssUrl = srcUrl(relative21(projectRoot, cssPath), projectRoot);
|
|
31141
31164
|
code2 = `import "${cssUrl}";
|
|
31142
31165
|
${code2}`;
|
|
31143
31166
|
}
|
|
31144
|
-
const moduleUrl = `${SRC_PREFIX}${
|
|
31167
|
+
const moduleUrl = `${SRC_PREFIX}${relative21(projectRoot, filePath).replace(/\\/g, "/")}`;
|
|
31145
31168
|
code2 = code2.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
|
|
31146
31169
|
` + ` if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
|
|
31147
31170
|
` + ` var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`);
|
|
@@ -31241,8 +31264,8 @@ ${code2}`;
|
|
|
31241
31264
|
code2 = injectVueHmr(code2, filePath, projectRoot, vueDir);
|
|
31242
31265
|
return rewriteImports(code2, filePath, projectRoot, rewriter);
|
|
31243
31266
|
}, injectVueHmr = (code2, filePath, projectRoot, vueDir) => {
|
|
31244
|
-
const hmrBase = vueDir ?
|
|
31245
|
-
const hmrId =
|
|
31267
|
+
const hmrBase = vueDir ? resolve48(vueDir) : projectRoot;
|
|
31268
|
+
const hmrId = relative21(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
|
|
31246
31269
|
let result = code2.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
|
|
31247
31270
|
result += [
|
|
31248
31271
|
"",
|
|
@@ -31402,7 +31425,7 @@ export default {};
|
|
|
31402
31425
|
const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
31403
31426
|
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);`);
|
|
31404
31427
|
}, resolveSourcePath2 = (relPath, projectRoot) => {
|
|
31405
|
-
const filePath =
|
|
31428
|
+
const filePath = resolve48(projectRoot, relPath);
|
|
31406
31429
|
const ext = extname15(filePath);
|
|
31407
31430
|
if (ext === ".svelte")
|
|
31408
31431
|
return { ext, filePath: resolveSvelteModulePath(filePath) };
|
|
@@ -31439,14 +31462,14 @@ export default {};
|
|
|
31439
31462
|
const absoluteCandidate = `/${tail.replace(/^\/+/, "")}`;
|
|
31440
31463
|
const candidates = [
|
|
31441
31464
|
absoluteCandidate,
|
|
31442
|
-
|
|
31465
|
+
resolve48(projectRoot, tail)
|
|
31443
31466
|
];
|
|
31444
31467
|
try {
|
|
31445
31468
|
const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
|
|
31446
31469
|
const cfg = await loadConfig2();
|
|
31447
|
-
const angularDir = cfg.angularDirectory &&
|
|
31470
|
+
const angularDir = cfg.angularDirectory && resolve48(projectRoot, cfg.angularDirectory);
|
|
31448
31471
|
if (angularDir)
|
|
31449
|
-
candidates.push(
|
|
31472
|
+
candidates.push(resolve48(angularDir, tail));
|
|
31450
31473
|
} catch {}
|
|
31451
31474
|
for (const candidate of candidates) {
|
|
31452
31475
|
if (await fileExists2(candidate)) {
|
|
@@ -31477,7 +31500,7 @@ export default {};
|
|
|
31477
31500
|
if (!TRANSPILABLE.has(ext))
|
|
31478
31501
|
return;
|
|
31479
31502
|
const stat4 = statSync7(filePath);
|
|
31480
|
-
const resolvedVueDir = vueDir ?
|
|
31503
|
+
const resolvedVueDir = vueDir ? resolve48(vueDir) : undefined;
|
|
31481
31504
|
let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
|
|
31482
31505
|
const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
|
|
31483
31506
|
if (isAngularGeneratedJs) {
|
|
@@ -31536,7 +31559,7 @@ export default {};
|
|
|
31536
31559
|
const relPath = pathname.slice(SRC_PREFIX.length);
|
|
31537
31560
|
if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
|
|
31538
31561
|
return handleBunWrapRequest();
|
|
31539
|
-
const virtualCssResponse = handleVirtualSvelteCss(
|
|
31562
|
+
const virtualCssResponse = handleVirtualSvelteCss(resolve48(projectRoot, relPath));
|
|
31540
31563
|
if (virtualCssResponse)
|
|
31541
31564
|
return virtualCssResponse;
|
|
31542
31565
|
const { filePath, ext } = resolveSourcePath2(relPath, projectRoot);
|
|
@@ -31552,11 +31575,11 @@ export default {};
|
|
|
31552
31575
|
SRC_IMPORT_RE.lastIndex = 0;
|
|
31553
31576
|
while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
|
|
31554
31577
|
if (match[1])
|
|
31555
|
-
files.push(
|
|
31578
|
+
files.push(resolve48(projectRoot, match[1]));
|
|
31556
31579
|
}
|
|
31557
31580
|
return files;
|
|
31558
31581
|
}, invalidateModule = (filePath) => {
|
|
31559
|
-
const resolved =
|
|
31582
|
+
const resolved = resolve48(filePath);
|
|
31560
31583
|
invalidate(filePath);
|
|
31561
31584
|
if (resolved !== filePath)
|
|
31562
31585
|
invalidate(resolved);
|
|
@@ -31619,7 +31642,7 @@ export default {};
|
|
|
31619
31642
|
return false;
|
|
31620
31643
|
}
|
|
31621
31644
|
const { patchManifestIndexes } = await Promise.resolve().then(() => (init_prepare(), exports_prepare));
|
|
31622
|
-
patchManifestIndexes(cached.manifest,
|
|
31645
|
+
patchManifestIndexes(cached.manifest, resolve48(state.resolvedPaths.buildDir, "_src_indexes"), SRC_PREFIX);
|
|
31623
31646
|
logPageBuild(entry.source, entry.framework, Math.round(durationMs));
|
|
31624
31647
|
logStartupTimingBlock("AbsoluteJS on-demand page build", [
|
|
31625
31648
|
{ durationMs, label: entry.name }
|
|
@@ -31790,10 +31813,10 @@ __export(exports_hmrCompiler, {
|
|
|
31790
31813
|
encodeHmrComponentId: () => encodeHmrComponentId,
|
|
31791
31814
|
getApplyMetadataModule: () => getApplyMetadataModule
|
|
31792
31815
|
});
|
|
31793
|
-
import { dirname as dirname34, relative as
|
|
31816
|
+
import { dirname as dirname34, relative as relative22, resolve as resolve49 } from "path";
|
|
31794
31817
|
import { performance as performance2 } from "perf_hooks";
|
|
31795
31818
|
var encodeHmrComponentId = (absoluteFilePath, className) => {
|
|
31796
|
-
const projectRel =
|
|
31819
|
+
const projectRel = relative22(process.cwd(), absoluteFilePath).replace(/\\/g, "/");
|
|
31797
31820
|
return `${projectRel}@${className}`;
|
|
31798
31821
|
}, getApplyMetadataModule = async (encodedId) => {
|
|
31799
31822
|
const decoded = decodeURIComponent(encodedId);
|
|
@@ -31802,8 +31825,8 @@ var encodeHmrComponentId = (absoluteFilePath, className) => {
|
|
|
31802
31825
|
return null;
|
|
31803
31826
|
const filePathRel = decoded.slice(0, separatorIndex);
|
|
31804
31827
|
const className = decoded.slice(separatorIndex + 1);
|
|
31805
|
-
const componentFilePath =
|
|
31806
|
-
const projectRelPath =
|
|
31828
|
+
const componentFilePath = resolve49(process.cwd(), filePathRel);
|
|
31829
|
+
const projectRelPath = relative22(process.cwd(), componentFilePath).replace(/\\/g, "/");
|
|
31807
31830
|
const cacheKey3 = encodeURIComponent(`${projectRelPath}@${className}`);
|
|
31808
31831
|
const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
31809
31832
|
const cached = takePendingModule2(cacheKey3);
|
|
@@ -32047,11 +32070,11 @@ var exports_simpleHTMLHMR = {};
|
|
|
32047
32070
|
__export(exports_simpleHTMLHMR, {
|
|
32048
32071
|
handleHTMLUpdate: () => handleHTMLUpdate
|
|
32049
32072
|
});
|
|
32050
|
-
import { resolve as
|
|
32073
|
+
import { resolve as resolve50 } from "path";
|
|
32051
32074
|
var handleHTMLUpdate = async (htmlFilePath) => {
|
|
32052
32075
|
let htmlContent;
|
|
32053
32076
|
try {
|
|
32054
|
-
const resolvedPath =
|
|
32077
|
+
const resolvedPath = resolve50(htmlFilePath);
|
|
32055
32078
|
const file6 = Bun.file(resolvedPath);
|
|
32056
32079
|
if (!await file6.exists()) {
|
|
32057
32080
|
return null;
|
|
@@ -32077,11 +32100,11 @@ var exports_simpleHTMXHMR = {};
|
|
|
32077
32100
|
__export(exports_simpleHTMXHMR, {
|
|
32078
32101
|
handleHTMXUpdate: () => handleHTMXUpdate
|
|
32079
32102
|
});
|
|
32080
|
-
import { resolve as
|
|
32103
|
+
import { resolve as resolve51 } from "path";
|
|
32081
32104
|
var handleHTMXUpdate = async (htmxFilePath) => {
|
|
32082
32105
|
let htmlContent;
|
|
32083
32106
|
try {
|
|
32084
|
-
const resolvedPath =
|
|
32107
|
+
const resolvedPath = resolve51(htmxFilePath);
|
|
32085
32108
|
const file6 = Bun.file(resolvedPath);
|
|
32086
32109
|
if (!await file6.exists()) {
|
|
32087
32110
|
return null;
|
|
@@ -32113,11 +32136,11 @@ import { existsSync as existsSync45, readdirSync as readdirSync12, rmSync as rmS
|
|
|
32113
32136
|
import {
|
|
32114
32137
|
basename as basename20,
|
|
32115
32138
|
dirname as dirname35,
|
|
32116
|
-
isAbsolute as
|
|
32117
|
-
join as
|
|
32118
|
-
relative as
|
|
32139
|
+
isAbsolute as isAbsolute10,
|
|
32140
|
+
join as join57,
|
|
32141
|
+
relative as relative23,
|
|
32119
32142
|
resolve as resolvePath,
|
|
32120
|
-
sep as
|
|
32143
|
+
sep as sep6
|
|
32121
32144
|
} from "path";
|
|
32122
32145
|
var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSsrCssCaches = () => {
|
|
32123
32146
|
clearSpaRouteCssCaches();
|
|
@@ -32241,8 +32264,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32241
32264
|
const relJs = `${rel.slice(0, -ext[0].length)}.js`;
|
|
32242
32265
|
const generatedDir = getFrameworkGeneratedDir(framework, cwd2);
|
|
32243
32266
|
for (const candidate of [
|
|
32244
|
-
|
|
32245
|
-
`${
|
|
32267
|
+
join57(generatedDir, relJs),
|
|
32268
|
+
`${join57(generatedDir, relJs)}.map`
|
|
32246
32269
|
]) {
|
|
32247
32270
|
try {
|
|
32248
32271
|
rmSync4(candidate, { force: true });
|
|
@@ -32483,7 +32506,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32483
32506
|
const webPath = urlPrefix ? `/${urlPrefix}/${relFromDir}` : `/${relFromDir}`;
|
|
32484
32507
|
state.assetStore.set(webPath, new Uint8Array(bytes));
|
|
32485
32508
|
state.fileHashes.set(absSource, currentHash);
|
|
32486
|
-
logHmrUpdate(
|
|
32509
|
+
logHmrUpdate(relative23(process.cwd(), filePath));
|
|
32487
32510
|
broadcastToClients(state, {
|
|
32488
32511
|
data: {
|
|
32489
32512
|
framework: urlPrefix || "public",
|
|
@@ -32503,7 +32526,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
32503
32526
|
return;
|
|
32504
32527
|
if (framework === "unknown") {
|
|
32505
32528
|
invalidate(resolvePath(filePath));
|
|
32506
|
-
const relPath =
|
|
32529
|
+
const relPath = relative23(process.cwd(), filePath);
|
|
32507
32530
|
logHmrUpdate(relPath);
|
|
32508
32531
|
const { angularDir } = state.resolvedPaths;
|
|
32509
32532
|
let hasAngularDependent = false;
|
|
@@ -33025,8 +33048,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33025
33048
|
};
|
|
33026
33049
|
return ({ immediate = false } = {}) => {
|
|
33027
33050
|
if (!ctx.debouncedPromise) {
|
|
33028
|
-
ctx.debouncedPromise = new Promise((
|
|
33029
|
-
ctx.debouncedResolve =
|
|
33051
|
+
ctx.debouncedPromise = new Promise((resolve52) => {
|
|
33052
|
+
ctx.debouncedResolve = resolve52;
|
|
33030
33053
|
});
|
|
33031
33054
|
}
|
|
33032
33055
|
const scheduled = ctx.debouncedPromise;
|
|
@@ -33052,7 +33075,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33052
33075
|
const angularDirAbs = resolvePath(angularDir);
|
|
33053
33076
|
const filesUnderAngular = Array.from(editedFiles).filter((file6) => {
|
|
33054
33077
|
const abs = resolvePath(file6);
|
|
33055
|
-
return abs === angularDirAbs || abs.startsWith(angularDirAbs +
|
|
33078
|
+
return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep6);
|
|
33056
33079
|
});
|
|
33057
33080
|
if (filesUnderAngular.length === 0)
|
|
33058
33081
|
return;
|
|
@@ -33095,7 +33118,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33095
33118
|
try {
|
|
33096
33119
|
const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
33097
33120
|
for (const tsFile of tsFilesToRefresh) {
|
|
33098
|
-
const rel =
|
|
33121
|
+
const rel = relative23(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
|
|
33099
33122
|
const compiledFile = resolvePath(compiledRoot, rel);
|
|
33100
33123
|
invalidateModule2(compiledFile);
|
|
33101
33124
|
}
|
|
@@ -33148,7 +33171,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33148
33171
|
const entries = await readdir5(dir, { withFileTypes: true });
|
|
33149
33172
|
const files = [];
|
|
33150
33173
|
for (const entry of entries) {
|
|
33151
|
-
const full =
|
|
33174
|
+
const full = join57(dir, entry.name);
|
|
33152
33175
|
if (entry.isDirectory()) {
|
|
33153
33176
|
files.push(...await walk(full));
|
|
33154
33177
|
} else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
|
|
@@ -33250,7 +33273,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33250
33273
|
}, getModuleUrl = async (pageFile) => {
|
|
33251
33274
|
const { invalidateModule: invalidateModule2, warmCache: warmCache2, SRC_URL_PREFIX: SRC_URL_PREFIX3 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
33252
33275
|
invalidateModule2(pageFile);
|
|
33253
|
-
const rel =
|
|
33276
|
+
const rel = relative23(process.cwd(), pageFile).replace(/\\/g, "/");
|
|
33254
33277
|
const url = `${SRC_URL_PREFIX3}${rel}`;
|
|
33255
33278
|
await warmCache2(url);
|
|
33256
33279
|
return url;
|
|
@@ -33278,7 +33301,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33278
33301
|
const pageModuleUrl = await getReactModuleUrl(broadcastTarget);
|
|
33279
33302
|
if (pageModuleUrl) {
|
|
33280
33303
|
const serverDuration = Date.now() - startTime;
|
|
33281
|
-
state.lastHmrPath =
|
|
33304
|
+
state.lastHmrPath = relative23(process.cwd(), primaryFile).replace(/\\/g, "/");
|
|
33282
33305
|
state.lastHmrFramework = "react";
|
|
33283
33306
|
broadcastToClients(state, {
|
|
33284
33307
|
data: {
|
|
@@ -33571,8 +33594,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33571
33594
|
};
|
|
33572
33595
|
return () => {
|
|
33573
33596
|
if (!ctx.debouncedPromise) {
|
|
33574
|
-
ctx.debouncedPromise = new Promise((
|
|
33575
|
-
ctx.debouncedResolve =
|
|
33597
|
+
ctx.debouncedPromise = new Promise((resolve52) => {
|
|
33598
|
+
ctx.debouncedResolve = resolve52;
|
|
33576
33599
|
});
|
|
33577
33600
|
}
|
|
33578
33601
|
if (ctx.debounceTimer)
|
|
@@ -33723,7 +33746,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33723
33746
|
} = await compileVue2(vueFiles, vueDir, true, getStyleTransformConfig(state.config));
|
|
33724
33747
|
const serverEntries = [...vueServerPaths];
|
|
33725
33748
|
const clientEntries = [...vueIndexPaths, ...vueClientPaths];
|
|
33726
|
-
const cssOutDir =
|
|
33749
|
+
const cssOutDir = join57(buildDir, state.resolvedPaths.assetsDir ? basename20(state.resolvedPaths.assetsDir) : "assets", "css");
|
|
33727
33750
|
const { serverRoot, serverOutDir } = await computeServerOutPaths(state.resolvedPaths, "vue");
|
|
33728
33751
|
const serverExternals = await getServerBundleExternals();
|
|
33729
33752
|
const serverExternalsPlugins = await getServerBundleExternalsPlugins(state.config);
|
|
@@ -33783,7 +33806,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33783
33806
|
if (vueSpaRoutesBySource.size > 0) {
|
|
33784
33807
|
const spaManifestEntries = await writeSpaSideManifests(vueSpaRoutesBySource, (pascalName) => {
|
|
33785
33808
|
const fromManifest = state.manifest[pascalName];
|
|
33786
|
-
return typeof fromManifest === "string" &&
|
|
33809
|
+
return typeof fromManifest === "string" && isAbsolute10(fromManifest) && fromManifest.endsWith(".js") ? fromManifest : undefined;
|
|
33787
33810
|
});
|
|
33788
33811
|
Object.assign(state.manifest, spaManifestEntries);
|
|
33789
33812
|
}
|
|
@@ -33853,8 +33876,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33853
33876
|
};
|
|
33854
33877
|
return () => {
|
|
33855
33878
|
if (!ctx.debouncedPromise) {
|
|
33856
|
-
ctx.debouncedPromise = new Promise((
|
|
33857
|
-
ctx.debouncedResolve =
|
|
33879
|
+
ctx.debouncedPromise = new Promise((resolve52) => {
|
|
33880
|
+
ctx.debouncedResolve = resolve52;
|
|
33858
33881
|
});
|
|
33859
33882
|
}
|
|
33860
33883
|
if (ctx.debounceTimer)
|
|
@@ -33907,7 +33930,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
33907
33930
|
const duration = Date.now() - startTime;
|
|
33908
33931
|
const [primary] = emberFiles;
|
|
33909
33932
|
if (primary) {
|
|
33910
|
-
state.lastHmrPath =
|
|
33933
|
+
state.lastHmrPath = relative23(process.cwd(), primary).replace(/\\/g, "/");
|
|
33911
33934
|
state.lastHmrFramework = "ember";
|
|
33912
33935
|
logHmrUpdate(primary, "ember", duration);
|
|
33913
33936
|
}
|
|
@@ -34176,7 +34199,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
34176
34199
|
const baseName = fileName.replace(/\.vue$/, "");
|
|
34177
34200
|
const pascalName = toPascal(baseName);
|
|
34178
34201
|
const vueRoot = config.vueDirectory;
|
|
34179
|
-
const hmrId = vueRoot ?
|
|
34202
|
+
const hmrId = vueRoot ? relative23(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
|
|
34180
34203
|
const cssKey = `${pascalName}CSS`;
|
|
34181
34204
|
const cssUrl = manifest[cssKey] || null;
|
|
34182
34205
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
@@ -34837,7 +34860,7 @@ __export(exports_buildDepVendor, {
|
|
|
34837
34860
|
});
|
|
34838
34861
|
import { mkdirSync as mkdirSync14 } from "fs";
|
|
34839
34862
|
import { isBuiltin as isBuiltin2 } from "module";
|
|
34840
|
-
import { join as
|
|
34863
|
+
import { join as join58 } from "path";
|
|
34841
34864
|
import { rm as rm13 } from "fs/promises";
|
|
34842
34865
|
var {build: bunBuild9, Glob: Glob10 } = globalThis.Bun;
|
|
34843
34866
|
var toSafeFileName6 = (specifier) => {
|
|
@@ -34995,7 +35018,7 @@ var toSafeFileName6 = (specifier) => {
|
|
|
34995
35018
|
}), buildDepVendorPass = async (specifiers, vendorDir, tmpDir) => {
|
|
34996
35019
|
const entries = await Promise.all(specifiers.map(async (specifier) => {
|
|
34997
35020
|
const safeName = toSafeFileName6(specifier);
|
|
34998
|
-
const entryPath =
|
|
35021
|
+
const entryPath = join58(tmpDir, `${safeName}.ts`);
|
|
34999
35022
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
35000
35023
|
return { entryPath, specifier };
|
|
35001
35024
|
}));
|
|
@@ -35086,9 +35109,9 @@ var toSafeFileName6 = (specifier) => {
|
|
|
35086
35109
|
const { dep: initialSpecs, framework: frameworkRoots } = await scanBareImports(directories, files);
|
|
35087
35110
|
if (initialSpecs.length === 0 && frameworkRoots.length === 0)
|
|
35088
35111
|
return {};
|
|
35089
|
-
const vendorDir =
|
|
35112
|
+
const vendorDir = join58(buildDir, "vendor");
|
|
35090
35113
|
mkdirSync14(vendorDir, { recursive: true });
|
|
35091
|
-
const tmpDir =
|
|
35114
|
+
const tmpDir = join58(buildDir, "_dep_vendor_tmp");
|
|
35092
35115
|
mkdirSync14(tmpDir, { recursive: true });
|
|
35093
35116
|
const allSpecs = new Set(initialSpecs);
|
|
35094
35117
|
const alreadyScanned = new Set;
|
|
@@ -35188,7 +35211,7 @@ import {
|
|
|
35188
35211
|
readFileSync as readFileSync39
|
|
35189
35212
|
} from "fs";
|
|
35190
35213
|
import { mkdir as mkdir14, readFile as readFile10, rename as rename5, rm as rm14, writeFile as writeFile11 } from "fs/promises";
|
|
35191
|
-
import { basename as basename21, join as
|
|
35214
|
+
import { basename as basename21, join as join59, resolve as resolve52 } from "path";
|
|
35192
35215
|
var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeVendorCacheKey = (inputs) => {
|
|
35193
35216
|
const hash = createHash8("sha256");
|
|
35194
35217
|
hash.update(String(CACHE_FORMAT_VERSION3));
|
|
@@ -35208,14 +35231,14 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35208
35231
|
}
|
|
35209
35232
|
for (const dir of inputs.vendorDirs) {
|
|
35210
35233
|
hash.update("\x00v");
|
|
35211
|
-
hash.update(basename21(
|
|
35234
|
+
hash.update(basename21(resolve52(dir, "..")));
|
|
35212
35235
|
}
|
|
35213
35236
|
return hash.digest("hex").slice(0, KEY_LENGTH);
|
|
35214
35237
|
}, readLockfileHash = (projectRoot = process.cwd()) => {
|
|
35215
35238
|
const hash = createHash8("sha256");
|
|
35216
35239
|
let found = false;
|
|
35217
35240
|
for (const name of LOCKFILES) {
|
|
35218
|
-
const path2 =
|
|
35241
|
+
const path2 = join59(projectRoot, name);
|
|
35219
35242
|
if (!existsSync46(path2))
|
|
35220
35243
|
continue;
|
|
35221
35244
|
found = true;
|
|
@@ -35226,8 +35249,8 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35226
35249
|
}, vendorCacheEnabled = () => process.env.ABSOLUTE_DEV_VENDOR_CACHE !== "0", copyTree = (fromDir, toDir) => {
|
|
35227
35250
|
mkdirSync15(toDir, { recursive: true });
|
|
35228
35251
|
for (const entry of readdirSync13(fromDir, { withFileTypes: true })) {
|
|
35229
|
-
const source =
|
|
35230
|
-
const destination =
|
|
35252
|
+
const source = join59(fromDir, entry.name);
|
|
35253
|
+
const destination = join59(toDir, entry.name);
|
|
35231
35254
|
if (entry.isDirectory())
|
|
35232
35255
|
copyTree(source, destination);
|
|
35233
35256
|
else
|
|
@@ -35235,7 +35258,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35235
35258
|
}
|
|
35236
35259
|
}, copySlotsInto = (cacheDir2, vendorDirs) => {
|
|
35237
35260
|
for (const [index, dir] of vendorDirs.entries()) {
|
|
35238
|
-
const source =
|
|
35261
|
+
const source = join59(cacheDir2, slotName(index, dir));
|
|
35239
35262
|
if (!existsSync46(source)) {
|
|
35240
35263
|
throw new Error(`missing cached vendor dir ${source}`);
|
|
35241
35264
|
}
|
|
@@ -35245,11 +35268,11 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35245
35268
|
for (const [index, dir] of vendorDirs.entries()) {
|
|
35246
35269
|
if (!existsSync46(dir))
|
|
35247
35270
|
continue;
|
|
35248
|
-
copyTree(dir,
|
|
35271
|
+
copyTree(dir, join59(stagingDir, slotName(index, dir)));
|
|
35249
35272
|
}
|
|
35250
|
-
}, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) =>
|
|
35273
|
+
}, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) => resolve52(projectRoot, CACHE_ROOT2, key), slotName = (index, dir) => `${index}-${basename21(resolve52(dir, ".."))}`, restoreVendorCache = async (key, vendorDirs, projectRoot = process.cwd()) => {
|
|
35251
35274
|
const cacheDir2 = cacheDirFor(key, projectRoot);
|
|
35252
|
-
const payloadPath =
|
|
35275
|
+
const payloadPath = join59(cacheDir2, "payload.json");
|
|
35253
35276
|
if (!existsSync46(payloadPath))
|
|
35254
35277
|
return null;
|
|
35255
35278
|
try {
|
|
@@ -35263,14 +35286,14 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35263
35286
|
}
|
|
35264
35287
|
}, saveVendorCache = async (key, vendorDirs, payload, projectRoot = process.cwd()) => {
|
|
35265
35288
|
const cacheDir2 = cacheDirFor(key, projectRoot);
|
|
35266
|
-
if (existsSync46(
|
|
35289
|
+
if (existsSync46(join59(cacheDir2, "payload.json")))
|
|
35267
35290
|
return;
|
|
35268
35291
|
const stagingDir = `${cacheDir2}.${process.pid}.tmp`;
|
|
35269
35292
|
try {
|
|
35270
35293
|
await rm14(stagingDir, { force: true, recursive: true });
|
|
35271
35294
|
await mkdir14(stagingDir, { recursive: true });
|
|
35272
35295
|
copySlotsFrom(stagingDir, vendorDirs);
|
|
35273
|
-
await writeFile11(
|
|
35296
|
+
await writeFile11(join59(stagingDir, "payload.json"), JSON.stringify(payload));
|
|
35274
35297
|
await rm14(cacheDir2, { force: true, recursive: true });
|
|
35275
35298
|
await rename5(stagingDir, cacheDir2);
|
|
35276
35299
|
} catch {
|
|
@@ -35280,7 +35303,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
|
|
|
35280
35303
|
}
|
|
35281
35304
|
};
|
|
35282
35305
|
var init_vendorCache = __esm(() => {
|
|
35283
|
-
CACHE_ROOT2 =
|
|
35306
|
+
CACHE_ROOT2 = join59(".absolutejs", "vendor-cache");
|
|
35284
35307
|
LOCKFILES = [
|
|
35285
35308
|
"bun.lock",
|
|
35286
35309
|
"bun.lockb",
|
|
@@ -35299,8 +35322,8 @@ __export(exports_devBuild, {
|
|
|
35299
35322
|
});
|
|
35300
35323
|
import { readdir as readdir5 } from "fs/promises";
|
|
35301
35324
|
import { existsSync as existsSync47, statSync as statSync8 } from "fs";
|
|
35302
|
-
import { resolve as
|
|
35303
|
-
var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () =>
|
|
35325
|
+
import { resolve as resolve53 } from "path";
|
|
35326
|
+
var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.dir, "../dev/client"), collectDepVendorSourceDirs = (config) => {
|
|
35304
35327
|
const configuredDirs = [
|
|
35305
35328
|
...collectConfigVendorSourceDirs(config),
|
|
35306
35329
|
devClientVendorSourceDir()
|
|
@@ -35323,7 +35346,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35323
35346
|
return Object.keys(config).length > 0 ? config : null;
|
|
35324
35347
|
}, reloadConfig = async () => {
|
|
35325
35348
|
try {
|
|
35326
|
-
const configPath2 =
|
|
35349
|
+
const configPath2 = resolve53(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
35327
35350
|
const source = await Bun.file(configPath2).text();
|
|
35328
35351
|
return parseDirectoryConfig(source);
|
|
35329
35352
|
} catch {
|
|
@@ -35438,7 +35461,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35438
35461
|
});
|
|
35439
35462
|
}
|
|
35440
35463
|
}, handleCachedReload = async () => {
|
|
35441
|
-
const serverMtime = statSync8(
|
|
35464
|
+
const serverMtime = statSync8(resolve53(Bun.main)).mtimeMs;
|
|
35442
35465
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
35443
35466
|
globalThis.__hmrServerMtime = serverMtime;
|
|
35444
35467
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -35479,8 +35502,8 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35479
35502
|
return true;
|
|
35480
35503
|
}, resolveAbsoluteVersion2 = async () => {
|
|
35481
35504
|
const candidates = [
|
|
35482
|
-
|
|
35483
|
-
|
|
35505
|
+
resolve53(import.meta.dir, "..", "..", "package.json"),
|
|
35506
|
+
resolve53(import.meta.dir, "..", "package.json")
|
|
35484
35507
|
];
|
|
35485
35508
|
const [candidate, ...remaining] = candidates;
|
|
35486
35509
|
if (!candidate) {
|
|
@@ -35506,7 +35529,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35506
35529
|
const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
|
|
35507
35530
|
await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
|
|
35508
35531
|
const webPath = `/${framework}/vendor/${entry}`;
|
|
35509
|
-
const bytes = await Bun.file(
|
|
35532
|
+
const bytes = await Bun.file(resolve53(vendorDir, entry)).bytes();
|
|
35510
35533
|
assetStore.set(webPath, bytes);
|
|
35511
35534
|
}));
|
|
35512
35535
|
}, devBuild = async (config) => {
|
|
@@ -35692,11 +35715,11 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35692
35715
|
}
|
|
35693
35716
|
stepStartedAt = performance.now();
|
|
35694
35717
|
setBootPhase("build vendor bundles");
|
|
35695
|
-
const reactVendorDir =
|
|
35696
|
-
const angularVendorDir =
|
|
35697
|
-
const svelteVendorDir =
|
|
35698
|
-
const vueVendorDir =
|
|
35699
|
-
const depVendorDir =
|
|
35718
|
+
const reactVendorDir = resolve53(state.resolvedPaths.buildDir, "react", "vendor");
|
|
35719
|
+
const angularVendorDir = resolve53(state.resolvedPaths.buildDir, "angular", "vendor");
|
|
35720
|
+
const svelteVendorDir = resolve53(state.resolvedPaths.buildDir, "svelte", "vendor");
|
|
35721
|
+
const vueVendorDir = resolve53(state.resolvedPaths.buildDir, "vue", "vendor");
|
|
35722
|
+
const depVendorDir = resolve53(state.resolvedPaths.buildDir, "vendor");
|
|
35700
35723
|
const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
|
|
35701
35724
|
const activeVendorDirs = [
|
|
35702
35725
|
config.reactDirectory ? reactVendorDir : null,
|
|
@@ -35819,7 +35842,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
|
|
|
35819
35842
|
manifest
|
|
35820
35843
|
};
|
|
35821
35844
|
globalThis.__hmrDevResult = result;
|
|
35822
|
-
globalThis.__hmrServerMtime = statSync8(
|
|
35845
|
+
globalThis.__hmrServerMtime = statSync8(resolve53(Bun.main)).mtimeMs;
|
|
35823
35846
|
return result;
|
|
35824
35847
|
};
|
|
35825
35848
|
var init_devBuild = __esm(() => {
|
|
@@ -35972,8 +35995,8 @@ var STORE_KEY = "__elysiaStore", restoredStores, getGlobalValue = (key) => Refle
|
|
|
35972
35995
|
return null;
|
|
35973
35996
|
if (!pathname.startsWith("/"))
|
|
35974
35997
|
return null;
|
|
35975
|
-
const { resolve:
|
|
35976
|
-
const candidate =
|
|
35998
|
+
const { resolve: resolve54, normalize } = await import("path");
|
|
35999
|
+
const candidate = resolve54(buildDir, pathname.slice(1));
|
|
35977
36000
|
const normalizedBuild = normalize(buildDir);
|
|
35978
36001
|
if (!candidate.startsWith(normalizedBuild))
|
|
35979
36002
|
return null;
|
|
@@ -36079,12 +36102,12 @@ __export(exports_devtoolsJson, {
|
|
|
36079
36102
|
resolveDevtoolsUuidCachePath: () => resolveDevtoolsUuidCachePath
|
|
36080
36103
|
});
|
|
36081
36104
|
import { existsSync as existsSync48, mkdirSync as mkdirSync16, readFileSync as readFileSync40, writeFileSync as writeFileSync11 } from "fs";
|
|
36082
|
-
import { dirname as dirname36, join as
|
|
36105
|
+
import { dirname as dirname36, join as join60, resolve as resolve54 } from "path";
|
|
36083
36106
|
import { Elysia as Elysia7 } from "elysia";
|
|
36084
36107
|
var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
|
|
36085
36108
|
Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
|
|
36086
36109
|
return uuid;
|
|
36087
|
-
}, 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) =>
|
|
36110
|
+
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve54(uuidCachePath ?? join60(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
|
|
36088
36111
|
if (!existsSync48(cachePath))
|
|
36089
36112
|
return null;
|
|
36090
36113
|
try {
|
|
@@ -36110,7 +36133,7 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
|
|
|
36110
36133
|
writeFileSync11(cachePath, uuid, "utf-8");
|
|
36111
36134
|
return setGlobalUuid(uuid);
|
|
36112
36135
|
}, devtoolsJson = (buildDir, options = {}) => {
|
|
36113
|
-
const rootPath =
|
|
36136
|
+
const rootPath = resolve54(options.projectRoot ?? process.cwd());
|
|
36114
36137
|
const root = options.normalizeForWindowsContainer === false ? rootPath : normalizeDevtoolsWorkspaceRoot(rootPath);
|
|
36115
36138
|
const uuid = getOrCreateUuid(buildDir, options);
|
|
36116
36139
|
return new Elysia7({ name: "absolute-devtools-json" }).get(ENDPOINT, () => ({
|
|
@@ -36123,11 +36146,11 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
|
|
|
36123
36146
|
if (process.env.WSL_DISTRO_NAME) {
|
|
36124
36147
|
const distro = process.env.WSL_DISTRO_NAME;
|
|
36125
36148
|
const withoutLeadingSlash = root.replace(/^\//, "");
|
|
36126
|
-
return
|
|
36149
|
+
return join60("\\\\wsl.localhost", distro, withoutLeadingSlash).replace(/\//g, "\\");
|
|
36127
36150
|
}
|
|
36128
36151
|
if (process.env.DOCKER_DESKTOP && !root.startsWith("\\\\")) {
|
|
36129
36152
|
const withoutLeadingSlash = root.replace(/^\//, "");
|
|
36130
|
-
return
|
|
36153
|
+
return join60("\\\\wsl.localhost", "docker-desktop-data", withoutLeadingSlash).replace(/\//g, "\\");
|
|
36131
36154
|
}
|
|
36132
36155
|
return root;
|
|
36133
36156
|
};
|
|
@@ -36139,7 +36162,7 @@ __export(exports_imageOptimizer, {
|
|
|
36139
36162
|
imageOptimizer: () => imageOptimizer
|
|
36140
36163
|
});
|
|
36141
36164
|
import { existsSync as existsSync49 } from "fs";
|
|
36142
|
-
import { resolve as
|
|
36165
|
+
import { resolve as resolve55 } from "path";
|
|
36143
36166
|
import { Elysia as Elysia8 } from "elysia";
|
|
36144
36167
|
var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avifInProgress, safeResolve = (path2, baseDir) => {
|
|
36145
36168
|
try {
|
|
@@ -36152,7 +36175,7 @@ var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avi
|
|
|
36152
36175
|
}
|
|
36153
36176
|
}, resolveLocalImage = (url, buildDir) => {
|
|
36154
36177
|
const cleanPath = url.startsWith("/") ? url.slice(1) : url;
|
|
36155
|
-
return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath,
|
|
36178
|
+
return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath, resolve55(process.cwd()));
|
|
36156
36179
|
}, parseQueryParams = (query, allowedSizes, defaultQuality) => {
|
|
36157
36180
|
const url = typeof query["url"] === "string" ? query["url"] : undefined;
|
|
36158
36181
|
const wParam = typeof query["w"] === "string" ? query["w"] : undefined;
|
|
@@ -36659,7 +36682,7 @@ import {
|
|
|
36659
36682
|
rm as rm15,
|
|
36660
36683
|
writeFile as writeFile12
|
|
36661
36684
|
} from "fs/promises";
|
|
36662
|
-
import { join as
|
|
36685
|
+
import { join as join61, resolve as resolvePath2 } from "path";
|
|
36663
36686
|
var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE = "artifact.json", RELEASE_ID_PATTERN, DEFAULT_BLOB_PREFIX = "absolutejs/mobile-compatibility", hashBlob = async (blob) => {
|
|
36664
36687
|
const bytes = new Uint8Array(await blob.arrayBuffer());
|
|
36665
36688
|
return createHash10(SHA_2562).update(bytes).digest("hex");
|
|
@@ -36673,7 +36696,7 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
|
|
|
36673
36696
|
}
|
|
36674
36697
|
return releaseId;
|
|
36675
36698
|
}, readStoredArtifact = async (releaseDirectory) => {
|
|
36676
|
-
const serialized = await readFile11(
|
|
36699
|
+
const serialized = await readFile11(join61(releaseDirectory, ARTIFACT_FILE), "utf8");
|
|
36677
36700
|
const parsed = JSON.parse(serialized);
|
|
36678
36701
|
return parseAbsoluteMobileCompatibilityArtifact(parsed);
|
|
36679
36702
|
}, validateStoredIdentity = (artifact, appId, releaseId) => {
|
|
@@ -36768,8 +36791,8 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
|
|
|
36768
36791
|
}, createAbsoluteMobileFileArtifactStore = (options) => {
|
|
36769
36792
|
const root = resolvePath2(options.root);
|
|
36770
36793
|
const maxProducerBytes = options.maxProducerBytes ?? DEFAULT_MAX_PRODUCER_BYTES;
|
|
36771
|
-
const appDirectory = (appId) =>
|
|
36772
|
-
const releaseDirectory = (appId, releaseId) =>
|
|
36794
|
+
const appDirectory = (appId) => join61(root, appDirectoryName(appId));
|
|
36795
|
+
const releaseDirectory = (appId, releaseId) => join61(appDirectory(appId), requireReleaseId(releaseId));
|
|
36773
36796
|
const acceptExistingRelease = async (error, artifact) => {
|
|
36774
36797
|
if (!errorHasCode(error, "EEXIST") && !errorHasCode(error, "ENOTEMPTY")) {
|
|
36775
36798
|
return false;
|
|
@@ -36810,7 +36833,7 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
|
|
|
36810
36833
|
}
|
|
36811
36834
|
return {
|
|
36812
36835
|
artifact,
|
|
36813
|
-
producer: Bun.file(
|
|
36836
|
+
producer: Bun.file(join61(directory, artifact.producer.module))
|
|
36814
36837
|
};
|
|
36815
36838
|
},
|
|
36816
36839
|
write: async (release) => {
|
|
@@ -36818,14 +36841,14 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
|
|
|
36818
36841
|
const validated = await verifyAbsoluteMobileCompatibilityProducer({ artifact: validatedArtifact, producer: release.producer }, maxProducerBytes);
|
|
36819
36842
|
const parent = appDirectory(validated.artifact.appId);
|
|
36820
36843
|
await mkdir15(parent, { recursive: true });
|
|
36821
|
-
const staging = await mkdtemp2(
|
|
36822
|
-
const producerPath =
|
|
36844
|
+
const staging = await mkdtemp2(join61(parent, ".stage-"));
|
|
36845
|
+
const producerPath = join61(staging, validated.artifact.producer.module);
|
|
36823
36846
|
try {
|
|
36824
36847
|
await mkdir15(resolvePath2(producerPath, ".."), {
|
|
36825
36848
|
recursive: true
|
|
36826
36849
|
});
|
|
36827
36850
|
await Promise.all([
|
|
36828
|
-
writeFile12(
|
|
36851
|
+
writeFile12(join61(staging, ARTIFACT_FILE), `${JSON.stringify(validated.artifact, null, "\t")}
|
|
36829
36852
|
`),
|
|
36830
36853
|
writeFile12(producerPath, new Uint8Array(await validated.producer.arrayBuffer()))
|
|
36831
36854
|
]);
|
|
@@ -36871,7 +36894,7 @@ import {
|
|
|
36871
36894
|
rm as rm16,
|
|
36872
36895
|
writeFile as writeFile13
|
|
36873
36896
|
} from "fs/promises";
|
|
36874
|
-
import { dirname as dirname37, join as
|
|
36897
|
+
import { dirname as dirname37, join as join62, resolve as resolvePath3 } from "path";
|
|
36875
36898
|
import { pathToFileURL as pathToFileURL5 } from "url";
|
|
36876
36899
|
var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "current.json", BUNDLES_DIRECTORY = "bundles", ARTIFACT_FILE2 = "artifact.json", BUNDLE_ID_PATTERN, isRecord10 = (value) => typeof value === "object" && value !== null && !Array.isArray(value), errorHasCode2 = (error, code2) => typeof error === "object" && error !== null && Reflect.get(error, "code") === code2, bundleIdFor = (currentReleaseId, releases) => {
|
|
36877
36900
|
const identity = JSON.stringify({
|
|
@@ -36902,16 +36925,16 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
36902
36925
|
releases
|
|
36903
36926
|
};
|
|
36904
36927
|
}, writeRelease = async (root, release) => {
|
|
36905
|
-
const directory =
|
|
36906
|
-
const producerPath =
|
|
36928
|
+
const directory = join62(root, release.artifact.releaseId);
|
|
36929
|
+
const producerPath = join62(directory, release.artifact.producer.module);
|
|
36907
36930
|
await mkdir16(dirname37(producerPath), { recursive: true });
|
|
36908
36931
|
await Promise.all([
|
|
36909
|
-
writeFile13(
|
|
36932
|
+
writeFile13(join62(directory, ARTIFACT_FILE2), `${JSON.stringify(release.artifact, null, "\t")}
|
|
36910
36933
|
`),
|
|
36911
36934
|
writeFile13(producerPath, new Uint8Array(await release.producer.arrayBuffer()))
|
|
36912
36935
|
]);
|
|
36913
36936
|
}, installImmutableBundle = async (bundlesRoot, bundleId, releases) => {
|
|
36914
|
-
const destination =
|
|
36937
|
+
const destination = join62(bundlesRoot, bundleId);
|
|
36915
36938
|
try {
|
|
36916
36939
|
await access5(destination);
|
|
36917
36940
|
return destination;
|
|
@@ -36919,7 +36942,7 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
36919
36942
|
if (!errorHasCode2(error, "ENOENT"))
|
|
36920
36943
|
throw error;
|
|
36921
36944
|
}
|
|
36922
|
-
const staging = await mkdtemp3(
|
|
36945
|
+
const staging = await mkdtemp3(join62(bundlesRoot, ".stage-"));
|
|
36923
36946
|
try {
|
|
36924
36947
|
await Promise.all(releases.map((release) => writeRelease(staging, release)));
|
|
36925
36948
|
await rename7(staging, destination);
|
|
@@ -36950,15 +36973,15 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
36950
36973
|
};
|
|
36951
36974
|
}, loadAbsoluteMobileMaterializedBundle = async (root) => {
|
|
36952
36975
|
const resolvedRoot = resolvePath3(root);
|
|
36953
|
-
const serialized = await readFile12(
|
|
36976
|
+
const serialized = await readFile12(join62(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
|
|
36954
36977
|
const parsed = JSON.parse(serialized);
|
|
36955
36978
|
const index = parseBundleIndex(parsed);
|
|
36956
|
-
const bundleRoot =
|
|
36979
|
+
const bundleRoot = join62(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
|
|
36957
36980
|
return {
|
|
36958
36981
|
artifacts: index.releases,
|
|
36959
36982
|
currentReleaseId: index.currentReleaseId,
|
|
36960
36983
|
loadProducer: async (artifact) => {
|
|
36961
|
-
const modulePath =
|
|
36984
|
+
const modulePath = join62(bundleRoot, artifact.releaseId, artifact.producer.module);
|
|
36962
36985
|
await verifyAbsoluteMobileCompatibilityProducer({
|
|
36963
36986
|
artifact,
|
|
36964
36987
|
producer: Bun.file(modulePath)
|
|
@@ -36984,7 +37007,7 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
36984
37007
|
return release;
|
|
36985
37008
|
});
|
|
36986
37009
|
const root = resolvePath3(input.root);
|
|
36987
|
-
const bundlesRoot =
|
|
37010
|
+
const bundlesRoot = join62(root, BUNDLES_DIRECTORY);
|
|
36988
37011
|
await mkdir16(bundlesRoot, { recursive: true });
|
|
36989
37012
|
const bundleId = bundleIdFor(input.currentReleaseId, artifacts);
|
|
36990
37013
|
await installImmutableBundle(bundlesRoot, bundleId, orderedReleases);
|
|
@@ -36994,8 +37017,8 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
36994
37017
|
format: ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT,
|
|
36995
37018
|
releases: artifacts
|
|
36996
37019
|
};
|
|
36997
|
-
const pointerPath =
|
|
36998
|
-
const temporaryPointerPath =
|
|
37020
|
+
const pointerPath = join62(root, CURRENT_BUNDLE_FILE);
|
|
37021
|
+
const temporaryPointerPath = join62(root, `.current-${crypto.randomUUID()}.json`);
|
|
36999
37022
|
await writeFile13(temporaryPointerPath, `${JSON.stringify(index, null, "\t")}
|
|
37000
37023
|
`, { flag: "wx" });
|
|
37001
37024
|
await rename7(temporaryPointerPath, pointerPath);
|
|
@@ -37003,12 +37026,12 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
|
|
|
37003
37026
|
}, readAbsoluteMobileMaterializedReleases = async (root) => {
|
|
37004
37027
|
const resolvedRoot = resolvePath3(root);
|
|
37005
37028
|
try {
|
|
37006
|
-
const serialized = await readFile12(
|
|
37029
|
+
const serialized = await readFile12(join62(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
|
|
37007
37030
|
const parsed = JSON.parse(serialized);
|
|
37008
37031
|
const index = parseBundleIndex(parsed);
|
|
37009
|
-
const bundleRoot =
|
|
37032
|
+
const bundleRoot = join62(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
|
|
37010
37033
|
return Promise.all(index.releases.map(async (artifact) => {
|
|
37011
|
-
const producer = Bun.file(
|
|
37034
|
+
const producer = Bun.file(join62(bundleRoot, artifact.releaseId, artifact.producer.module));
|
|
37012
37035
|
await verifyAbsoluteMobileCompatibilityProducer({
|
|
37013
37036
|
artifact,
|
|
37014
37037
|
producer
|
|
@@ -37203,7 +37226,7 @@ __export(exports_prerender, {
|
|
|
37203
37226
|
routeToFilename: () => routeToFilename
|
|
37204
37227
|
});
|
|
37205
37228
|
import { mkdirSync as mkdirSync17, readFileSync as readFileSync41 } from "fs";
|
|
37206
|
-
import { join as
|
|
37229
|
+
import { join as join63 } from "path";
|
|
37207
37230
|
var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_TIMEOUT_MS = 30000, DEFAULT_FETCH_TIMEOUT_MS = 1e4, PRERENDER_BYPASS_HEADER = "X-Absolute-Prerender-Bypass", routeToFilename = (route) => route === "/" ? "index.html" : `${route.slice(1).replace(/\//g, "-")}.html`, writeTimestamp = async (htmlPath) => {
|
|
37208
37231
|
const metaPath = htmlPath.replace(/\.html$/, ".meta");
|
|
37209
37232
|
await Bun.write(metaPath, String(Date.now()));
|
|
@@ -37273,7 +37296,7 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
|
|
|
37273
37296
|
if (!isCompleteHtml(html))
|
|
37274
37297
|
return false;
|
|
37275
37298
|
const fileName = routeToFilename(route);
|
|
37276
|
-
const filePath =
|
|
37299
|
+
const filePath = join63(prerenderDir, fileName);
|
|
37277
37300
|
await Bun.write(filePath, html);
|
|
37278
37301
|
await writeTimestamp(filePath);
|
|
37279
37302
|
return true;
|
|
@@ -37303,13 +37326,13 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
|
|
|
37303
37326
|
return;
|
|
37304
37327
|
}
|
|
37305
37328
|
const fileName = routeToFilename(route);
|
|
37306
|
-
const filePath =
|
|
37329
|
+
const filePath = join63(prerenderDir, fileName);
|
|
37307
37330
|
await Bun.write(filePath, html);
|
|
37308
37331
|
await writeTimestamp(filePath);
|
|
37309
37332
|
result.routes.set(route, filePath);
|
|
37310
37333
|
log2?.(` Pre-rendered ${route} \u2192 ${fileName} (${html.length} bytes)`);
|
|
37311
37334
|
}, prerender = async (port, outDir, staticConfig, log2) => {
|
|
37312
|
-
const prerenderDir =
|
|
37335
|
+
const prerenderDir = join63(outDir, "_prerendered");
|
|
37313
37336
|
mkdirSync17(prerenderDir, { recursive: true });
|
|
37314
37337
|
const baseUrl = `http://localhost:${port}`;
|
|
37315
37338
|
let routes;
|
|
@@ -37428,10 +37451,10 @@ __export(exports_prepare, {
|
|
|
37428
37451
|
});
|
|
37429
37452
|
import { createHash as createHash12 } from "crypto";
|
|
37430
37453
|
import { existsSync as existsSync50, readdirSync as readdirSync14, readFileSync as readFileSync42 } from "fs";
|
|
37431
|
-
import { basename as basename22, join as
|
|
37454
|
+
import { basename as basename22, join as join64, relative as relative24, resolve as resolvePath4 } from "path";
|
|
37432
37455
|
import { Elysia as Elysia11, NotFound } from "elysia";
|
|
37433
|
-
var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((
|
|
37434
|
-
setTimeout(
|
|
37456
|
+
var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((resolve56) => {
|
|
37457
|
+
setTimeout(resolve56, STATIC_PLUGIN_RETRY_DELAY_MS);
|
|
37435
37458
|
}), retryStaticPlugin = async (createStaticPlugin, options) => {
|
|
37436
37459
|
try {
|
|
37437
37460
|
return await createStaticPlugin(options);
|
|
@@ -37517,7 +37540,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37517
37540
|
return files;
|
|
37518
37541
|
}, PREWARM_MAX_PAUSE_MS = 60000, toWarmTasks = function* (files, warmCache2, srcUrlPrefix) {
|
|
37519
37542
|
for (const file6 of files) {
|
|
37520
|
-
const rel =
|
|
37543
|
+
const rel = relative24(process.cwd(), file6).replace(/\\/g, "/");
|
|
37521
37544
|
yield () => warmCache2(`${srcUrlPrefix}${rel}`);
|
|
37522
37545
|
}
|
|
37523
37546
|
}, builtPageSources = () => {
|
|
@@ -37558,7 +37581,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37558
37581
|
const srcPath = resolvePath4(devIndexDir, fileName);
|
|
37559
37582
|
if (!existsSync50(srcPath))
|
|
37560
37583
|
continue;
|
|
37561
|
-
const rel =
|
|
37584
|
+
const rel = relative24(process.cwd(), srcPath).replace(/\\/g, "/");
|
|
37562
37585
|
manifest[key] = `${SRC_URL_PREFIX3}${rel}`;
|
|
37563
37586
|
}
|
|
37564
37587
|
}, ICON_HASH_LENGTH = 8, registerIconVersioning = (buildDir) => {
|
|
@@ -37570,7 +37593,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37570
37593
|
if (cached !== undefined)
|
|
37571
37594
|
return cached;
|
|
37572
37595
|
const path2 = href.split("?")[0] ?? href;
|
|
37573
|
-
const filePath =
|
|
37596
|
+
const filePath = join64(buildDir, path2);
|
|
37574
37597
|
let versioned = href;
|
|
37575
37598
|
if (existsSync50(filePath)) {
|
|
37576
37599
|
const hash = createHash12("sha256").update(readFileSync42(filePath)).digest("hex").slice(0, ICON_HASH_LENGTH);
|
|
@@ -37717,12 +37740,12 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
|
|
|
37717
37740
|
continue;
|
|
37718
37741
|
const name = basename22(entry, ".html");
|
|
37719
37742
|
const route = name === "index" ? "/" : `/${name}`;
|
|
37720
|
-
map.set(route,
|
|
37743
|
+
map.set(route, join64(prerenderDir, entry));
|
|
37721
37744
|
}
|
|
37722
37745
|
return map;
|
|
37723
37746
|
}, loadMobileCompatibilityPlugin = async (buildDir) => {
|
|
37724
|
-
const root =
|
|
37725
|
-
if (!existsSync50(
|
|
37747
|
+
const root = join64(buildDir, ".absolutejs", "mobile-compatibility");
|
|
37748
|
+
if (!existsSync50(join64(root, "current.json"))) {
|
|
37726
37749
|
return new Elysia11({ name: "absolutejs-mobile-compatibility-empty" });
|
|
37727
37750
|
}
|
|
37728
37751
|
const [
|
|
@@ -37787,12 +37810,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
|
|
|
37787
37810
|
setCurrentPageIslandMetadata(await loadPageIslandMetadata(config));
|
|
37788
37811
|
recordStep("load production manifest and island metadata", stepStartedAt);
|
|
37789
37812
|
stepStartedAt = performance.now();
|
|
37790
|
-
const conventionsPath =
|
|
37813
|
+
const conventionsPath = join64(buildDir, "conventions.json");
|
|
37791
37814
|
if (existsSync50(conventionsPath)) {
|
|
37792
37815
|
const conventions2 = JSON.parse(readFileSync42(conventionsPath, "utf-8"));
|
|
37793
37816
|
setConventions(conventions2);
|
|
37794
37817
|
}
|
|
37795
|
-
const spaRoutesPath =
|
|
37818
|
+
const spaRoutesPath = join64(buildDir, "spa-routes.json");
|
|
37796
37819
|
if (existsSync50(spaRoutesPath)) {
|
|
37797
37820
|
setSpaRouteManifest(JSON.parse(readFileSync42(spaRoutesPath, "utf-8")));
|
|
37798
37821
|
}
|
|
@@ -37805,12 +37828,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
|
|
|
37805
37828
|
prefix: "",
|
|
37806
37829
|
staticLimit: MAX_STATIC_ROUTE_COUNT
|
|
37807
37830
|
});
|
|
37808
|
-
const generatedAssetsRoot =
|
|
37831
|
+
const generatedAssetsRoot = join64(buildDir, ".absolutejs");
|
|
37809
37832
|
const generatedAssetsPlugin = new Elysia11({
|
|
37810
37833
|
name: "absolutejs-generated-assets"
|
|
37811
37834
|
}).get("/.absolutejs/*", async ({ params, set }) => {
|
|
37812
37835
|
const requestedPath = resolvePath4(generatedAssetsRoot, params["*"]);
|
|
37813
|
-
if (
|
|
37836
|
+
if (relative24(generatedAssetsRoot, requestedPath).startsWith("..")) {
|
|
37814
37837
|
set.status = 404;
|
|
37815
37838
|
return "Not Found";
|
|
37816
37839
|
}
|
|
@@ -37843,7 +37866,7 @@ This usually means a build-time error in a source file. Check the dev-server ter
|
|
|
37843
37866
|
responseValue.headers.set("cache-control", isFingerprintedAsset(pathname) ? "public, max-age=31536000, immutable" : "public, max-age=0, must-revalidate");
|
|
37844
37867
|
});
|
|
37845
37868
|
stepStartedAt = performance.now();
|
|
37846
|
-
const prerenderDir =
|
|
37869
|
+
const prerenderDir = join64(buildDir, "_prerendered");
|
|
37847
37870
|
const prerenderMap = loadPrerenderMap(prerenderDir);
|
|
37848
37871
|
const mobileCompatibilityPlugin = await loadMobileCompatibilityPlugin(buildDir);
|
|
37849
37872
|
const mobileAssociationPlugin = await loadMobileAssociationPlugin(config.mobile);
|
|
@@ -37966,7 +37989,7 @@ import {
|
|
|
37966
37989
|
watch as watch2
|
|
37967
37990
|
} from "fs";
|
|
37968
37991
|
import { createHash as createHash13 } from "crypto";
|
|
37969
|
-
import { dirname as dirname38, join as
|
|
37992
|
+
import { dirname as dirname38, join as join67, resolve as resolve56 } from "path";
|
|
37970
37993
|
var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETRY_DELAY_MS = 250, MAX_ENTRY_IMPORT_ATTEMPTS = 3, WATCH_FALLBACK_INTERVAL_MS = 250, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || filename.startsWith(".absolutejs-hmr-") || ATOMIC_WRITE_TEMP_PATTERNS2.some((pattern) => pattern.test(filename)), fileHash = (path2) => {
|
|
37971
37994
|
try {
|
|
37972
37995
|
return createHash13("sha256").update(readFileSync45(path2)).digest("hex");
|
|
@@ -37994,10 +38017,10 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
|
|
|
37994
38017
|
return;
|
|
37995
38018
|
globalThis.__absoluteEntryWatcherStarted = true;
|
|
37996
38019
|
globalThis.__absoluteEntryWatcherReady = false;
|
|
37997
|
-
const entryPath =
|
|
38020
|
+
const entryPath = resolve56(originalEntry);
|
|
37998
38021
|
const entryDir = dirname38(entryPath);
|
|
37999
38022
|
const entryBase = entryPath.slice(entryDir.length + 1);
|
|
38000
|
-
const configPath2 =
|
|
38023
|
+
const configPath2 = resolve56(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
38001
38024
|
const configDir2 = dirname38(configPath2);
|
|
38002
38025
|
const configBase = configPath2.slice(configDir2.length + 1);
|
|
38003
38026
|
const recentlyHandled = new Map;
|
|
@@ -38008,7 +38031,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
|
|
|
38008
38031
|
let pendingEntryCause = null;
|
|
38009
38032
|
let siblingSequence = 0;
|
|
38010
38033
|
const importFreshEntry = async (attempt = 1) => {
|
|
38011
|
-
const siblingPath =
|
|
38034
|
+
const siblingPath = join67(entryDir, `.absolutejs-hmr-${process.pid}-${siblingSequence++}.ts`);
|
|
38012
38035
|
let failure;
|
|
38013
38036
|
try {
|
|
38014
38037
|
copyFileSync6(entryPath, siblingPath);
|
|
@@ -38121,7 +38144,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
|
|
|
38121
38144
|
continue;
|
|
38122
38145
|
let st2;
|
|
38123
38146
|
try {
|
|
38124
|
-
st2 = statSync9(
|
|
38147
|
+
st2 = statSync9(join67(dir, entry.name));
|
|
38125
38148
|
} catch {
|
|
38126
38149
|
continue;
|
|
38127
38150
|
}
|
|
@@ -38538,10 +38561,10 @@ import {
|
|
|
38538
38561
|
} from "fs";
|
|
38539
38562
|
import { X509Certificate as X509Certificate4 } from "crypto";
|
|
38540
38563
|
import { isIP } from "net";
|
|
38541
|
-
import { join as
|
|
38542
|
-
var CERT_DIR =
|
|
38543
|
-
var CERT_PATH =
|
|
38544
|
-
var KEY_PATH =
|
|
38564
|
+
import { join as join65 } from "path";
|
|
38565
|
+
var CERT_DIR = join65(process.cwd(), ".absolutejs");
|
|
38566
|
+
var CERT_PATH = join65(CERT_DIR, "cert.pem");
|
|
38567
|
+
var KEY_PATH = join65(CERT_DIR, "key.pem");
|
|
38545
38568
|
var CERT_VALIDITY_DAYS = 365;
|
|
38546
38569
|
var DEFAULT_CERTIFICATE_HOSTS = ["localhost", "127.0.0.1", "::1"];
|
|
38547
38570
|
var CERTIFICATE_HOSTNAME_PATTERN = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/u;
|
|
@@ -38701,12 +38724,12 @@ import {
|
|
|
38701
38724
|
writeFileSync as writeFileSync12
|
|
38702
38725
|
} from "fs";
|
|
38703
38726
|
import { homedir as homedir2 } from "os";
|
|
38704
|
-
import { basename as basename23, join as
|
|
38727
|
+
import { basename as basename23, join as join66 } from "path";
|
|
38705
38728
|
var registeredPids = new Set;
|
|
38706
38729
|
var exitHandlerRegistered = false;
|
|
38707
|
-
var instanceFilePath = (pid) =>
|
|
38708
|
-
var instanceLogPath = (pid) =>
|
|
38709
|
-
var instanceRegistryDir = () =>
|
|
38730
|
+
var instanceFilePath = (pid) => join66(instanceRegistryDir(), `${pid}.json`);
|
|
38731
|
+
var instanceLogPath = (pid) => join66(instanceRegistryDir(), `${pid}.log`);
|
|
38732
|
+
var instanceRegistryDir = () => join66(homedir2(), ".absolutejs", "instances");
|
|
38710
38733
|
var removeInstanceFilesSync = (pid) => {
|
|
38711
38734
|
try {
|
|
38712
38735
|
unlinkSync2(instanceFilePath(pid));
|
|
@@ -38741,7 +38764,7 @@ var registerInstance = (record) => {
|
|
|
38741
38764
|
return record;
|
|
38742
38765
|
};
|
|
38743
38766
|
var resolveProjectName = (cwd2) => {
|
|
38744
|
-
const parsed = readJsonFile(
|
|
38767
|
+
const parsed = readJsonFile(join66(cwd2, "package.json"));
|
|
38745
38768
|
if (parsed !== null && typeof parsed === "object" && typeof parsed.name === "string" && parsed.name.trim().length > 0) {
|
|
38746
38769
|
return parsed.name;
|
|
38747
38770
|
}
|
|
@@ -39216,7 +39239,7 @@ var serializeSpeculationRules = (rules) => {
|
|
|
39216
39239
|
// src/utils/defineEnv.ts
|
|
39217
39240
|
var {env: bunEnv } = globalThis.Bun;
|
|
39218
39241
|
import { existsSync as existsSync53, readFileSync as readFileSync46 } from "fs";
|
|
39219
|
-
import { resolve as
|
|
39242
|
+
import { resolve as resolve57 } from "path";
|
|
39220
39243
|
|
|
39221
39244
|
// node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
|
|
39222
39245
|
var exports_value = {};
|
|
@@ -45251,7 +45274,7 @@ ${lines.join(`
|
|
|
45251
45274
|
};
|
|
45252
45275
|
var checkEnvFileSecurity = (properties) => {
|
|
45253
45276
|
const cwd2 = process.cwd();
|
|
45254
|
-
const envPath =
|
|
45277
|
+
const envPath = resolve57(cwd2, ".env");
|
|
45255
45278
|
if (!existsSync53(envPath))
|
|
45256
45279
|
return;
|
|
45257
45280
|
const sensitiveKeys = Object.keys(properties).filter(isSensitive);
|
|
@@ -45261,7 +45284,7 @@ var checkEnvFileSecurity = (properties) => {
|
|
|
45261
45284
|
const presentKeys = sensitiveKeys.filter((key) => envContent.includes(`${key}=`));
|
|
45262
45285
|
if (presentKeys.length === 0)
|
|
45263
45286
|
return;
|
|
45264
|
-
const gitignorePath =
|
|
45287
|
+
const gitignorePath = resolve57(cwd2, ".gitignore");
|
|
45265
45288
|
if (existsSync53(gitignorePath)) {
|
|
45266
45289
|
const gitignore = readFileSync46(gitignorePath, "utf-8");
|
|
45267
45290
|
if (gitignore.split(`
|
|
@@ -45296,7 +45319,7 @@ var getEnv = (key) => {
|
|
|
45296
45319
|
};
|
|
45297
45320
|
// src/utils/projectRoot.ts
|
|
45298
45321
|
import { existsSync as existsSync54 } from "fs";
|
|
45299
|
-
import { dirname as dirname39, resolve as
|
|
45322
|
+
import { dirname as dirname39, resolve as resolve58 } from "path";
|
|
45300
45323
|
var CONFIG_CANDIDATES = [
|
|
45301
45324
|
"absolute.config.ts",
|
|
45302
45325
|
"absolute.config.js",
|
|
@@ -45305,7 +45328,7 @@ var CONFIG_CANDIDATES = [
|
|
|
45305
45328
|
"absolute.config.mts",
|
|
45306
45329
|
"absolute.config.cts"
|
|
45307
45330
|
];
|
|
45308
|
-
var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync54(
|
|
45331
|
+
var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync54(resolve58(directory, name)));
|
|
45309
45332
|
var findProjectRoot = () => {
|
|
45310
45333
|
const start = process.cwd();
|
|
45311
45334
|
let packageRoot = null;
|
|
@@ -45314,7 +45337,7 @@ var findProjectRoot = () => {
|
|
|
45314
45337
|
if (hasAbsoluteConfig(directory)) {
|
|
45315
45338
|
return directory;
|
|
45316
45339
|
}
|
|
45317
|
-
if (packageRoot === null && existsSync54(
|
|
45340
|
+
if (packageRoot === null && existsSync54(resolve58(directory, "package.json"))) {
|
|
45318
45341
|
packageRoot = directory;
|
|
45319
45342
|
}
|
|
45320
45343
|
const parent = dirname39(directory);
|
|
@@ -45576,5 +45599,5 @@ export {
|
|
|
45576
45599
|
wrapPageHandlerWithStreamingSlots
|
|
45577
45600
|
};
|
|
45578
45601
|
|
|
45579
|
-
//# debugId=
|
|
45602
|
+
//# debugId=93557705CC1FD61C64756E2164756E21
|
|
45580
45603
|
//# sourceMappingURL=index.js.map
|