@absolutejs/absolute 0.19.0-beta.946 → 0.19.0-beta.947
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +14 -3
- package/dist/angular/index.js.map +3 -3
- package/dist/angular/server.js +14 -3
- package/dist/angular/server.js.map +3 -3
- package/dist/build.js +273 -93
- package/dist/build.js.map +7 -6
- package/dist/index.js +193 -119
- package/dist/index.js.map +7 -7
- package/package.json +1 -1
package/dist/build.js
CHANGED
|
@@ -11884,7 +11884,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
|
|
|
11884
11884
|
if (fileName.startsWith(outDir))
|
|
11885
11885
|
return fileName.substring(outDir.length + 1);
|
|
11886
11886
|
return fileName;
|
|
11887
|
-
}, hasJsLikeExtension = (path) => /\.(js|ts|mjs|cjs)$/.test(path), splitSpecifierAndQuery = (specifier) => {
|
|
11887
|
+
}, hasJsLikeExtension = (path) => /\.(js|ts|mjs|cjs|json)$/.test(path), splitSpecifierAndQuery = (specifier) => {
|
|
11888
11888
|
const separator = specifier.indexOf("?");
|
|
11889
11889
|
if (separator === -1) {
|
|
11890
11890
|
return {
|
|
@@ -12444,11 +12444,12 @@ ${fields}
|
|
|
12444
12444
|
});
|
|
12445
12445
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
12446
12446
|
const resolveSourceFile2 = (candidate) => {
|
|
12447
|
-
const candidates = candidate.match(/\.[cm]?[tj]sx
|
|
12447
|
+
const candidates = candidate.match(/\.(?:[cm]?[tj]sx?|json)$/) ? [candidate] : [
|
|
12448
12448
|
`${candidate}.ts`,
|
|
12449
12449
|
`${candidate}.tsx`,
|
|
12450
12450
|
`${candidate}.js`,
|
|
12451
12451
|
`${candidate}.jsx`,
|
|
12452
|
+
`${candidate}.json`,
|
|
12452
12453
|
join18(candidate, "index.ts"),
|
|
12453
12454
|
join18(candidate, "index.tsx"),
|
|
12454
12455
|
join18(candidate, "index.js"),
|
|
@@ -12526,6 +12527,16 @@ ${fields}
|
|
|
12526
12527
|
if (visited.has(resolved))
|
|
12527
12528
|
return;
|
|
12528
12529
|
visited.add(resolved);
|
|
12530
|
+
if (resolved.endsWith(".json") && existsSync16(resolved)) {
|
|
12531
|
+
const inputDir2 = dirname12(resolved);
|
|
12532
|
+
const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
|
|
12533
|
+
const targetDir2 = join18(outDir, relativeDir2);
|
|
12534
|
+
const targetPath2 = join18(targetDir2, basename6(resolved));
|
|
12535
|
+
await fs.mkdir(targetDir2, { recursive: true });
|
|
12536
|
+
await fs.copyFile(resolved, targetPath2);
|
|
12537
|
+
allOutputs.push(targetPath2);
|
|
12538
|
+
return;
|
|
12539
|
+
}
|
|
12529
12540
|
let actualPath = resolved;
|
|
12530
12541
|
if (!actualPath.endsWith(".ts"))
|
|
12531
12542
|
actualPath += ".ts";
|
|
@@ -20122,6 +20133,114 @@ var init_ssrCache = __esm(() => {
|
|
|
20122
20133
|
dirtyFrameworks = new Set;
|
|
20123
20134
|
});
|
|
20124
20135
|
|
|
20136
|
+
// src/utils/loadConfig.ts
|
|
20137
|
+
var exports_loadConfig = {};
|
|
20138
|
+
__export(exports_loadConfig, {
|
|
20139
|
+
loadRawConfig: () => loadRawConfig,
|
|
20140
|
+
loadConfig: () => loadConfig,
|
|
20141
|
+
isWorkspaceConfig: () => isWorkspaceConfig,
|
|
20142
|
+
getWorkspaceServices: () => getWorkspaceServices
|
|
20143
|
+
});
|
|
20144
|
+
import { resolve as resolve33 } from "path";
|
|
20145
|
+
var RESERVED_TOP_LEVEL_KEYS, isObject2 = (value) => typeof value === "object" && value !== null, isCommandService = (service) => service.kind === "command" || Array.isArray(service.command), isServiceCandidate = (value) => isObject2(value) && (typeof value.entry === "string" || Array.isArray(value.command)), isWorkspaceConfig = (config) => {
|
|
20146
|
+
if (!isObject2(config)) {
|
|
20147
|
+
return false;
|
|
20148
|
+
}
|
|
20149
|
+
const entries = Object.entries(config);
|
|
20150
|
+
if (entries.length === 0) {
|
|
20151
|
+
return false;
|
|
20152
|
+
}
|
|
20153
|
+
if (entries.some(([key]) => RESERVED_TOP_LEVEL_KEYS.has(key))) {
|
|
20154
|
+
return false;
|
|
20155
|
+
}
|
|
20156
|
+
return entries.every(([, value]) => isServiceCandidate(value));
|
|
20157
|
+
}, isConfigInput = (value) => isObject2(value), getWorkspaceServices = (config) => {
|
|
20158
|
+
if (!isWorkspaceConfig(config)) {
|
|
20159
|
+
throw new Error("absolute.config.ts is not a multi-service config. Define top-level named services with `entry` or `command` before using `absolute workspace dev`.");
|
|
20160
|
+
}
|
|
20161
|
+
return config;
|
|
20162
|
+
}, projectServiceConfig = (config, serviceName) => {
|
|
20163
|
+
const services = getWorkspaceServices(config);
|
|
20164
|
+
const service = services[serviceName];
|
|
20165
|
+
if (!service) {
|
|
20166
|
+
throw new Error(`Config file does not define service "${serviceName}".`);
|
|
20167
|
+
}
|
|
20168
|
+
if (isCommandService(service)) {
|
|
20169
|
+
throw new Error(`Service "${serviceName}" is a command service and cannot be loaded as an AbsoluteJS app config.`);
|
|
20170
|
+
}
|
|
20171
|
+
const {
|
|
20172
|
+
command: _command,
|
|
20173
|
+
config: _config,
|
|
20174
|
+
cwd: _cwd,
|
|
20175
|
+
dependsOn: _dependsOn,
|
|
20176
|
+
env: _env,
|
|
20177
|
+
kind: _kind,
|
|
20178
|
+
port: _port,
|
|
20179
|
+
ready: _ready,
|
|
20180
|
+
visibility: _visibility,
|
|
20181
|
+
...serviceConfig
|
|
20182
|
+
} = service;
|
|
20183
|
+
return serviceConfig;
|
|
20184
|
+
}, loadConfig = async (configPath2) => {
|
|
20185
|
+
const config = await loadRawConfig(configPath2);
|
|
20186
|
+
const serviceName = process.env.ABSOLUTE_WORKSPACE_SERVICE_NAME;
|
|
20187
|
+
if (typeof serviceName === "string" && serviceName.length > 0) {
|
|
20188
|
+
return projectServiceConfig(config, serviceName);
|
|
20189
|
+
}
|
|
20190
|
+
if (isWorkspaceConfig(config)) {
|
|
20191
|
+
throw new Error("absolute.config.ts defines multiple services. Use `absolute workspace dev` or set ABSOLUTE_WORKSPACE_SERVICE_NAME before loading a specific service config.");
|
|
20192
|
+
}
|
|
20193
|
+
return config;
|
|
20194
|
+
}, loadRawConfig = async (configPath2) => {
|
|
20195
|
+
const resolved = resolve33(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
20196
|
+
const mod = await import(resolved);
|
|
20197
|
+
const config = mod.default ?? mod.config;
|
|
20198
|
+
if (!config) {
|
|
20199
|
+
throw new Error(`Config file "${resolved}" does not export a valid configuration.
|
|
20200
|
+
Expected: export default defineConfig({ ... })`);
|
|
20201
|
+
}
|
|
20202
|
+
if (!isConfigInput(config)) {
|
|
20203
|
+
throw new Error(`Config file "${resolved}" must export an object configuration.`);
|
|
20204
|
+
}
|
|
20205
|
+
return config;
|
|
20206
|
+
};
|
|
20207
|
+
var init_loadConfig = __esm(() => {
|
|
20208
|
+
RESERVED_TOP_LEVEL_KEYS = new Set([
|
|
20209
|
+
"assetsDirectory",
|
|
20210
|
+
"astroDirectory",
|
|
20211
|
+
"buildDirectory",
|
|
20212
|
+
"bunBuild",
|
|
20213
|
+
"command",
|
|
20214
|
+
"config",
|
|
20215
|
+
"cwd",
|
|
20216
|
+
"dependsOn",
|
|
20217
|
+
"dev",
|
|
20218
|
+
"emberDirectory",
|
|
20219
|
+
"entry",
|
|
20220
|
+
"env",
|
|
20221
|
+
"htmlDirectory",
|
|
20222
|
+
"htmxDirectory",
|
|
20223
|
+
"images",
|
|
20224
|
+
"incrementalFiles",
|
|
20225
|
+
"islands",
|
|
20226
|
+
"kind",
|
|
20227
|
+
"mode",
|
|
20228
|
+
"options",
|
|
20229
|
+
"port",
|
|
20230
|
+
"postcss",
|
|
20231
|
+
"publicDirectory",
|
|
20232
|
+
"reactDirectory",
|
|
20233
|
+
"sitemap",
|
|
20234
|
+
"static",
|
|
20235
|
+
"stylesConfig",
|
|
20236
|
+
"svelteDirectory",
|
|
20237
|
+
"tailwind",
|
|
20238
|
+
"ready",
|
|
20239
|
+
"visibility",
|
|
20240
|
+
"vueDirectory"
|
|
20241
|
+
]);
|
|
20242
|
+
});
|
|
20243
|
+
|
|
20125
20244
|
// src/dev/moduleServer.ts
|
|
20126
20245
|
var exports_moduleServer = {};
|
|
20127
20246
|
__export(exports_moduleServer, {
|
|
@@ -20134,7 +20253,7 @@ __export(exports_moduleServer, {
|
|
|
20134
20253
|
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
20135
20254
|
});
|
|
20136
20255
|
import { existsSync as existsSync25, readFileSync as readFileSync19, statSync as statSync4 } from "fs";
|
|
20137
|
-
import { basename as basename10, dirname as dirname19, extname as extname10, join as join29, resolve as
|
|
20256
|
+
import { basename as basename10, dirname as dirname19, extname as extname10, join as join29, resolve as resolve34, relative as relative14 } from "path";
|
|
20138
20257
|
var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
20139
20258
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
20140
20259
|
const allExports = [];
|
|
@@ -20154,7 +20273,7 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPIL
|
|
|
20154
20273
|
${stubs}
|
|
20155
20274
|
`;
|
|
20156
20275
|
}, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
|
|
20157
|
-
const found = extensions.find((ext) => existsSync25(
|
|
20276
|
+
const found = extensions.find((ext) => existsSync25(resolve34(projectRoot, srcPath + ext)));
|
|
20158
20277
|
return found ? srcPath + found : srcPath;
|
|
20159
20278
|
}, IMPORT_EXTENSIONS, SIDE_EFFECT_EXTENSIONS, MODULE_EXTENSIONS, RESOLVED_MODULE_EXTENSIONS, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
|
|
20160
20279
|
const entries = Object.entries(vendorPaths).sort(([a], [b2]) => b2.length - a.length);
|
|
@@ -20169,7 +20288,7 @@ ${stubs}
|
|
|
20169
20288
|
return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
|
|
20170
20289
|
}, srcUrl = (relPath, projectRoot) => {
|
|
20171
20290
|
const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
|
|
20172
|
-
const absPath =
|
|
20291
|
+
const absPath = resolve34(projectRoot, relPath);
|
|
20173
20292
|
const cached = mtimeCache.get(absPath);
|
|
20174
20293
|
if (cached !== undefined)
|
|
20175
20294
|
return `${base}?v=${buildVersion(cached, absPath)}`;
|
|
@@ -20181,12 +20300,12 @@ ${stubs}
|
|
|
20181
20300
|
return base;
|
|
20182
20301
|
}
|
|
20183
20302
|
}, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
|
|
20184
|
-
const absPath =
|
|
20303
|
+
const absPath = resolve34(fileDir, relPath);
|
|
20185
20304
|
const rel = relative14(projectRoot, absPath);
|
|
20186
20305
|
const extension = extname10(rel);
|
|
20187
20306
|
let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
|
|
20188
20307
|
if (extname10(srcPath) === ".svelte") {
|
|
20189
|
-
srcPath = relative14(projectRoot, resolveSvelteModulePath(
|
|
20308
|
+
srcPath = relative14(projectRoot, resolveSvelteModulePath(resolve34(projectRoot, srcPath)));
|
|
20190
20309
|
}
|
|
20191
20310
|
return srcUrl(srcPath, projectRoot);
|
|
20192
20311
|
}, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
|
|
@@ -20205,13 +20324,13 @@ ${stubs}
|
|
|
20205
20324
|
const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
|
|
20206
20325
|
const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
|
|
20207
20326
|
if (!subpath) {
|
|
20208
|
-
const pkgDir =
|
|
20327
|
+
const pkgDir = resolve34(projectRoot, "node_modules", packageName ?? "");
|
|
20209
20328
|
const pkgJsonPath = join29(pkgDir, "package.json");
|
|
20210
20329
|
if (existsSync25(pkgJsonPath)) {
|
|
20211
20330
|
const pkg = JSON.parse(readFileSync19(pkgJsonPath, "utf-8"));
|
|
20212
20331
|
const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
|
|
20213
20332
|
if (esmEntry) {
|
|
20214
|
-
const resolved =
|
|
20333
|
+
const resolved = resolve34(pkgDir, esmEntry);
|
|
20215
20334
|
if (existsSync25(resolved))
|
|
20216
20335
|
return relative14(projectRoot, resolved);
|
|
20217
20336
|
}
|
|
@@ -20258,12 +20377,12 @@ ${stubs}
|
|
|
20258
20377
|
result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
|
|
20259
20378
|
result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
|
|
20260
20379
|
result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
|
|
20261
|
-
const absPath =
|
|
20380
|
+
const absPath = resolve34(fileDir, relPath);
|
|
20262
20381
|
const rel = relative14(projectRoot, absPath);
|
|
20263
20382
|
return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
|
|
20264
20383
|
});
|
|
20265
20384
|
result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
|
|
20266
|
-
const absPath =
|
|
20385
|
+
const absPath = resolve34(fileDir, relPath);
|
|
20267
20386
|
const rel = relative14(projectRoot, absPath);
|
|
20268
20387
|
return `'${srcUrl(rel, projectRoot)}'`;
|
|
20269
20388
|
});
|
|
@@ -20576,7 +20695,7 @@ ${code}`;
|
|
|
20576
20695
|
code = injectVueHmr(code, filePath, projectRoot, vueDir);
|
|
20577
20696
|
return rewriteImports(code, filePath, projectRoot, rewriter);
|
|
20578
20697
|
}, injectVueHmr = (code, filePath, projectRoot, vueDir) => {
|
|
20579
|
-
const hmrBase = vueDir ?
|
|
20698
|
+
const hmrBase = vueDir ? resolve34(vueDir) : projectRoot;
|
|
20580
20699
|
const hmrId = relative14(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
|
|
20581
20700
|
let result = code.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
|
|
20582
20701
|
result += [
|
|
@@ -20740,7 +20859,7 @@ export default {};
|
|
|
20740
20859
|
const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
20741
20860
|
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);`);
|
|
20742
20861
|
}, resolveSourcePath = (relPath, projectRoot) => {
|
|
20743
|
-
const filePath =
|
|
20862
|
+
const filePath = resolve34(projectRoot, relPath);
|
|
20744
20863
|
const ext = extname10(filePath);
|
|
20745
20864
|
if (ext === ".svelte")
|
|
20746
20865
|
return { ext, filePath: resolveSvelteModulePath(filePath) };
|
|
@@ -20756,6 +20875,54 @@ export default {};
|
|
|
20756
20875
|
}, transformAndCache = async (filePath, ext, projectRoot, rewriter, vueDir, stylePreprocessors) => {
|
|
20757
20876
|
if (ext === ".css")
|
|
20758
20877
|
return jsResponse(handleCssRequest(filePath));
|
|
20878
|
+
if (ext === ".json") {
|
|
20879
|
+
try {
|
|
20880
|
+
const { readFile: readFile6, stat: stat4 } = await import("fs/promises");
|
|
20881
|
+
const fileExists = async (p2) => {
|
|
20882
|
+
try {
|
|
20883
|
+
await stat4(p2);
|
|
20884
|
+
return true;
|
|
20885
|
+
} catch {
|
|
20886
|
+
return false;
|
|
20887
|
+
}
|
|
20888
|
+
};
|
|
20889
|
+
let sourcePath = filePath;
|
|
20890
|
+
if (!await fileExists(sourcePath)) {
|
|
20891
|
+
const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
|
|
20892
|
+
const generatedAngularRoot = getFrameworkGeneratedDir2("angular").replace(/\\/g, "/");
|
|
20893
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
20894
|
+
if (normalized.startsWith(generatedAngularRoot + "/") || normalized.startsWith(generatedAngularRoot)) {
|
|
20895
|
+
const tail = normalized.slice(generatedAngularRoot.length + 1);
|
|
20896
|
+
const absoluteCandidate = "/" + tail.replace(/^\/+/, "");
|
|
20897
|
+
const candidates = [
|
|
20898
|
+
absoluteCandidate,
|
|
20899
|
+
resolve34(projectRoot, tail)
|
|
20900
|
+
];
|
|
20901
|
+
try {
|
|
20902
|
+
const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
|
|
20903
|
+
const cfg = await loadConfig2();
|
|
20904
|
+
const angularDir = cfg.angularDirectory && resolve34(projectRoot, cfg.angularDirectory);
|
|
20905
|
+
if (angularDir)
|
|
20906
|
+
candidates.push(resolve34(angularDir, tail));
|
|
20907
|
+
} catch {}
|
|
20908
|
+
for (const candidate of candidates) {
|
|
20909
|
+
if (await fileExists(candidate)) {
|
|
20910
|
+
sourcePath = candidate;
|
|
20911
|
+
break;
|
|
20912
|
+
}
|
|
20913
|
+
}
|
|
20914
|
+
}
|
|
20915
|
+
}
|
|
20916
|
+
const text = await readFile6(sourcePath, "utf-8");
|
|
20917
|
+
JSON.parse(text);
|
|
20918
|
+
return jsResponse(`export default ${text};`);
|
|
20919
|
+
} catch (err) {
|
|
20920
|
+
return new Response(`console.error('[ModuleServer] JSON load error in ${filePath}:', ${JSON.stringify(String(err))});`, {
|
|
20921
|
+
headers: { "Content-Type": "application/javascript" },
|
|
20922
|
+
status: 500
|
|
20923
|
+
});
|
|
20924
|
+
}
|
|
20925
|
+
}
|
|
20759
20926
|
const isSvelte = ext === ".svelte" || filePath.endsWith(".svelte.ts") || filePath.endsWith(".svelte.js");
|
|
20760
20927
|
const cached = getTransformed(filePath);
|
|
20761
20928
|
if (cached)
|
|
@@ -20767,7 +20934,7 @@ export default {};
|
|
|
20767
20934
|
if (!TRANSPILABLE.has(ext))
|
|
20768
20935
|
return;
|
|
20769
20936
|
const stat3 = statSync4(filePath);
|
|
20770
|
-
const resolvedVueDir = vueDir ?
|
|
20937
|
+
const resolvedVueDir = vueDir ? resolve34(vueDir) : undefined;
|
|
20771
20938
|
let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
|
|
20772
20939
|
const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
|
|
20773
20940
|
if (isAngularGeneratedJs) {
|
|
@@ -20826,7 +20993,7 @@ export default {};
|
|
|
20826
20993
|
const relPath = pathname.slice(SRC_PREFIX.length);
|
|
20827
20994
|
if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
|
|
20828
20995
|
return handleBunWrapRequest();
|
|
20829
|
-
const virtualCssResponse = handleVirtualSvelteCss(
|
|
20996
|
+
const virtualCssResponse = handleVirtualSvelteCss(resolve34(projectRoot, relPath));
|
|
20830
20997
|
if (virtualCssResponse)
|
|
20831
20998
|
return virtualCssResponse;
|
|
20832
20999
|
const { filePath, ext } = resolveSourcePath(relPath, projectRoot);
|
|
@@ -20842,11 +21009,11 @@ export default {};
|
|
|
20842
21009
|
SRC_IMPORT_RE.lastIndex = 0;
|
|
20843
21010
|
while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
|
|
20844
21011
|
if (match[1])
|
|
20845
|
-
files.push(
|
|
21012
|
+
files.push(resolve34(projectRoot, match[1]));
|
|
20846
21013
|
}
|
|
20847
21014
|
return files;
|
|
20848
21015
|
}, invalidateModule = (filePath) => {
|
|
20849
|
-
const resolved =
|
|
21016
|
+
const resolved = resolve34(filePath);
|
|
20850
21017
|
invalidate(filePath);
|
|
20851
21018
|
if (resolved !== filePath)
|
|
20852
21019
|
invalidate(resolved);
|
|
@@ -20991,7 +21158,7 @@ __export(exports_hmrCompiler, {
|
|
|
20991
21158
|
getApplyMetadataModule: () => getApplyMetadataModule,
|
|
20992
21159
|
encodeHmrComponentId: () => encodeHmrComponentId
|
|
20993
21160
|
});
|
|
20994
|
-
import { dirname as dirname20, relative as relative15, resolve as
|
|
21161
|
+
import { dirname as dirname20, relative as relative15, resolve as resolve35 } from "path";
|
|
20995
21162
|
import { performance as performance2 } from "perf_hooks";
|
|
20996
21163
|
var getApplyMetadataModule = async (encodedId) => {
|
|
20997
21164
|
const decoded = decodeURIComponent(encodedId);
|
|
@@ -21000,7 +21167,7 @@ var getApplyMetadataModule = async (encodedId) => {
|
|
|
21000
21167
|
return null;
|
|
21001
21168
|
const filePathRel = decoded.slice(0, at2);
|
|
21002
21169
|
const className = decoded.slice(at2 + 1);
|
|
21003
|
-
const componentFilePath =
|
|
21170
|
+
const componentFilePath = resolve35(process.cwd(), filePathRel);
|
|
21004
21171
|
const projectRelPath = relative15(process.cwd(), componentFilePath).replace(/\\/g, "/");
|
|
21005
21172
|
const cacheKey2 = encodeURIComponent(`${projectRelPath}@${className}`);
|
|
21006
21173
|
const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
@@ -21162,11 +21329,11 @@ var exports_simpleHTMLHMR = {};
|
|
|
21162
21329
|
__export(exports_simpleHTMLHMR, {
|
|
21163
21330
|
handleHTMLUpdate: () => handleHTMLUpdate
|
|
21164
21331
|
});
|
|
21165
|
-
import { resolve as
|
|
21332
|
+
import { resolve as resolve36 } from "path";
|
|
21166
21333
|
var handleHTMLUpdate = async (htmlFilePath) => {
|
|
21167
21334
|
let htmlContent;
|
|
21168
21335
|
try {
|
|
21169
|
-
const resolvedPath =
|
|
21336
|
+
const resolvedPath = resolve36(htmlFilePath);
|
|
21170
21337
|
const file4 = Bun.file(resolvedPath);
|
|
21171
21338
|
if (!await file4.exists()) {
|
|
21172
21339
|
return null;
|
|
@@ -21192,11 +21359,11 @@ var exports_simpleHTMXHMR = {};
|
|
|
21192
21359
|
__export(exports_simpleHTMXHMR, {
|
|
21193
21360
|
handleHTMXUpdate: () => handleHTMXUpdate
|
|
21194
21361
|
});
|
|
21195
|
-
import { resolve as
|
|
21362
|
+
import { resolve as resolve37 } from "path";
|
|
21196
21363
|
var handleHTMXUpdate = async (htmxFilePath) => {
|
|
21197
21364
|
let htmlContent;
|
|
21198
21365
|
try {
|
|
21199
|
-
const resolvedPath =
|
|
21366
|
+
const resolvedPath = resolve37(htmxFilePath);
|
|
21200
21367
|
const file4 = Bun.file(resolvedPath);
|
|
21201
21368
|
if (!await file4.exists()) {
|
|
21202
21369
|
return null;
|
|
@@ -21219,7 +21386,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
21219
21386
|
|
|
21220
21387
|
// src/dev/rebuildTrigger.ts
|
|
21221
21388
|
import { existsSync as existsSync26 } from "fs";
|
|
21222
|
-
import { basename as basename11, dirname as dirname21, relative as relative16, resolve as
|
|
21389
|
+
import { basename as basename11, dirname as dirname21, relative as relative16, resolve as resolve38, sep as sep4 } from "path";
|
|
21223
21390
|
var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequentially = (items, action) => items.reduce((chain, item) => chain.then(() => action(item)), Promise.resolve()), getStyleTransformConfig = (config) => createStyleTransformConfig(config.stylePreprocessors, config.postcss), recompileTailwindForFastPath = async (state, config, files) => {
|
|
21224
21391
|
if (!config.tailwind)
|
|
21225
21392
|
return;
|
|
@@ -21230,7 +21397,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21230
21397
|
if (!cssChanged)
|
|
21231
21398
|
return;
|
|
21232
21399
|
try {
|
|
21233
|
-
const outputPath =
|
|
21400
|
+
const outputPath = resolve38(state.resolvedPaths.buildDir, config.tailwind.output);
|
|
21234
21401
|
const bytes = await Bun.file(outputPath).bytes();
|
|
21235
21402
|
const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
|
|
21236
21403
|
state.assetStore.set(webPath, bytes);
|
|
@@ -21317,7 +21484,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21317
21484
|
state.fileHashes.delete(filePathInSet);
|
|
21318
21485
|
try {
|
|
21319
21486
|
const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
|
|
21320
|
-
const deletedPathResolved =
|
|
21487
|
+
const deletedPathResolved = resolve38(filePathInSet);
|
|
21321
21488
|
affectedFiles.forEach((affectedFile) => {
|
|
21322
21489
|
if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
|
|
21323
21490
|
validFiles.push(affectedFile);
|
|
@@ -21361,7 +21528,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21361
21528
|
if (storedHash !== undefined && storedHash === fileHash) {
|
|
21362
21529
|
return;
|
|
21363
21530
|
}
|
|
21364
|
-
const normalizedFilePath =
|
|
21531
|
+
const normalizedFilePath = resolve38(filePathInSet);
|
|
21365
21532
|
if (!processedFiles.has(normalizedFilePath)) {
|
|
21366
21533
|
validFiles.push(normalizedFilePath);
|
|
21367
21534
|
processedFiles.add(normalizedFilePath);
|
|
@@ -21494,30 +21661,43 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21494
21661
|
return;
|
|
21495
21662
|
}
|
|
21496
21663
|
const publicDir = state.resolvedPaths.publicDir;
|
|
21497
|
-
|
|
21664
|
+
const assetsDir = state.resolvedPaths.assetsDir;
|
|
21665
|
+
const handleStaticMirror = async (sourceDir, urlPrefix) => {
|
|
21666
|
+
const absSource = resolve38(filePath);
|
|
21667
|
+
const normalizedSource = absSource.replace(/\\/g, "/");
|
|
21668
|
+
const normalizedDir = sourceDir.replace(/\\/g, "/");
|
|
21669
|
+
if (!normalizedSource.startsWith(normalizedDir + "/"))
|
|
21670
|
+
return false;
|
|
21498
21671
|
try {
|
|
21499
|
-
const
|
|
21500
|
-
const relFromPublic = absSource.replace(/\\/g, "/").slice(publicDir.length + 1);
|
|
21672
|
+
const relFromDir = normalizedSource.slice(normalizedDir.length + 1);
|
|
21501
21673
|
const buildDir = state.resolvedPaths.buildDir;
|
|
21502
|
-
const destPath =
|
|
21674
|
+
const destPath = resolve38(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
|
|
21503
21675
|
const { mkdir: mkdir7, copyFile, readFile: readFile6 } = await import("fs/promises");
|
|
21504
21676
|
const { dirname: dirname22 } = await import("path");
|
|
21505
21677
|
await mkdir7(dirname22(destPath), { recursive: true });
|
|
21506
21678
|
await copyFile(absSource, destPath);
|
|
21507
21679
|
const bytes = await readFile6(destPath);
|
|
21508
|
-
|
|
21680
|
+
const webPath = urlPrefix ? `/${urlPrefix}/${relFromDir}` : `/${relFromDir}`;
|
|
21681
|
+
state.assetStore.set(webPath, new Uint8Array(bytes));
|
|
21509
21682
|
state.fileHashes.set(absSource, currentHash);
|
|
21510
21683
|
logHmrUpdate(relative16(process.cwd(), filePath));
|
|
21511
21684
|
broadcastToClients(state, {
|
|
21512
|
-
data: {
|
|
21513
|
-
|
|
21685
|
+
data: {
|
|
21686
|
+
framework: urlPrefix || "public",
|
|
21687
|
+
manifest: state.manifest
|
|
21688
|
+
},
|
|
21689
|
+
message: `${urlPrefix || "Public"} asset updated`,
|
|
21514
21690
|
type: "style-update"
|
|
21515
21691
|
});
|
|
21516
21692
|
} catch {}
|
|
21693
|
+
return true;
|
|
21694
|
+
};
|
|
21695
|
+
if (publicDir && await handleStaticMirror(publicDir, ""))
|
|
21696
|
+
return;
|
|
21697
|
+
if (assetsDir && await handleStaticMirror(assetsDir, "assets"))
|
|
21517
21698
|
return;
|
|
21518
|
-
}
|
|
21519
21699
|
if (framework === "unknown") {
|
|
21520
|
-
invalidate(
|
|
21700
|
+
invalidate(resolve38(filePath));
|
|
21521
21701
|
const relPath = relative16(process.cwd(), filePath);
|
|
21522
21702
|
logHmrUpdate(relPath);
|
|
21523
21703
|
const angularDir = state.resolvedPaths.angularDir;
|
|
@@ -21525,10 +21705,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21525
21705
|
if (angularDir && state.dependencyGraph) {
|
|
21526
21706
|
try {
|
|
21527
21707
|
const { addFileToGraph: addFileToGraph2 } = await Promise.resolve().then(() => (init_dependencyGraph(), exports_dependencyGraph));
|
|
21528
|
-
addFileToGraph2(state.dependencyGraph,
|
|
21529
|
-
const affected = getAffectedFiles(state.dependencyGraph,
|
|
21708
|
+
addFileToGraph2(state.dependencyGraph, resolve38(filePath));
|
|
21709
|
+
const affected = getAffectedFiles(state.dependencyGraph, resolve38(filePath));
|
|
21530
21710
|
for (const dependent of affected) {
|
|
21531
|
-
if (dependent ===
|
|
21711
|
+
if (dependent === resolve38(filePath))
|
|
21532
21712
|
continue;
|
|
21533
21713
|
const dependentFramework = detectFramework(dependent, state.resolvedPaths);
|
|
21534
21714
|
if (dependentFramework !== "angular")
|
|
@@ -21551,7 +21731,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21551
21731
|
const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
|
|
21552
21732
|
const { invalidateModule: invalidateModuleServer } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
21553
21733
|
const generatedAngularRoot = getFrameworkGeneratedDir2("angular");
|
|
21554
|
-
const sourceAbs =
|
|
21734
|
+
const sourceAbs = resolve38(filePath).replace(/\\/g, "/");
|
|
21555
21735
|
const generatedTwin = `${generatedAngularRoot.replace(/\\/g, "/")}${sourceAbs.replace(/\.ts$/, ".js")}`;
|
|
21556
21736
|
invalidateModuleServer(generatedTwin);
|
|
21557
21737
|
} catch {}
|
|
@@ -21585,7 +21765,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21585
21765
|
const userEditedFiles = new Set;
|
|
21586
21766
|
state.fileChangeQueue.forEach((filePaths) => {
|
|
21587
21767
|
for (const filePath2 of filePaths) {
|
|
21588
|
-
userEditedFiles.add(
|
|
21768
|
+
userEditedFiles.add(resolve38(filePath2));
|
|
21589
21769
|
}
|
|
21590
21770
|
});
|
|
21591
21771
|
state.lastUserEditedFiles = userEditedFiles;
|
|
@@ -21614,7 +21794,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21614
21794
|
}
|
|
21615
21795
|
if (!graph)
|
|
21616
21796
|
return componentFile;
|
|
21617
|
-
const dependents = graph.dependents.get(
|
|
21797
|
+
const dependents = graph.dependents.get(resolve38(componentFile));
|
|
21618
21798
|
if (!dependents)
|
|
21619
21799
|
return componentFile;
|
|
21620
21800
|
for (const dep of dependents) {
|
|
@@ -21623,7 +21803,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21623
21803
|
}
|
|
21624
21804
|
return componentFile;
|
|
21625
21805
|
}, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
|
|
21626
|
-
const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") &&
|
|
21806
|
+
const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") && resolve38(file4).startsWith(angularPagesPath));
|
|
21627
21807
|
if (pageEntries.length > 0 || !state.dependencyGraph) {
|
|
21628
21808
|
return pageEntries;
|
|
21629
21809
|
}
|
|
@@ -21632,7 +21812,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21632
21812
|
const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
|
|
21633
21813
|
const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
|
|
21634
21814
|
affected.forEach((file4) => {
|
|
21635
|
-
if (file4.endsWith(".ts") &&
|
|
21815
|
+
if (file4.endsWith(".ts") && resolve38(file4).startsWith(angularPagesPath)) {
|
|
21636
21816
|
resolvedPages.add(file4);
|
|
21637
21817
|
}
|
|
21638
21818
|
});
|
|
@@ -21754,8 +21934,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21754
21934
|
if (detected !== "unknown")
|
|
21755
21935
|
continue;
|
|
21756
21936
|
try {
|
|
21757
|
-
const affected = getAffectedFiles(state.dependencyGraph,
|
|
21758
|
-
const hasAngularConsumer = affected.some((dep) => dep !==
|
|
21937
|
+
const affected = getAffectedFiles(state.dependencyGraph, resolve38(editedFile));
|
|
21938
|
+
const hasAngularConsumer = affected.some((dep) => dep !== resolve38(editedFile) && detectFramework(dep, state.resolvedPaths) === "angular");
|
|
21759
21939
|
if (hasAngularConsumer) {
|
|
21760
21940
|
return {
|
|
21761
21941
|
kind: "rebootstrap",
|
|
@@ -21800,9 +21980,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21800
21980
|
tier: 1
|
|
21801
21981
|
};
|
|
21802
21982
|
}
|
|
21803
|
-
if (owners.length === 0 && editedFile.endsWith(".ts") && !editedFile.endsWith(".d.ts")) {
|
|
21983
|
+
if (owners.length === 0 && (editedFile.endsWith(".ts") || editedFile.endsWith(".json")) && !editedFile.endsWith(".d.ts")) {
|
|
21804
21984
|
const normalized = editedFile.replace(/\\/g, "/");
|
|
21805
|
-
const angularDirAbs =
|
|
21985
|
+
const angularDirAbs = resolve38(angularDir).replace(/\\/g, "/");
|
|
21806
21986
|
if (normalized.startsWith(angularDirAbs + "/")) {
|
|
21807
21987
|
return {
|
|
21808
21988
|
kind: "rebootstrap",
|
|
@@ -21946,16 +22126,16 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21946
22126
|
};
|
|
21947
22127
|
const fire = () => {
|
|
21948
22128
|
ctx.debounceTimer = null;
|
|
21949
|
-
const
|
|
22129
|
+
const resolve39 = ctx.debouncedResolve;
|
|
21950
22130
|
ctx.debouncedResolve = null;
|
|
21951
22131
|
ctx.debouncedPromise = null;
|
|
21952
22132
|
if (ctx.inFlight) {
|
|
21953
22133
|
ctx.pending = true;
|
|
21954
|
-
ctx.inFlight.finally(() =>
|
|
22134
|
+
ctx.inFlight.finally(() => resolve39?.());
|
|
21955
22135
|
return;
|
|
21956
22136
|
}
|
|
21957
22137
|
ctx.inFlight = drive();
|
|
21958
|
-
ctx.inFlight.finally(() =>
|
|
22138
|
+
ctx.inFlight.finally(() => resolve39?.());
|
|
21959
22139
|
};
|
|
21960
22140
|
return ({ immediate = false } = {}) => {
|
|
21961
22141
|
if (!ctx.debouncedPromise) {
|
|
@@ -21982,9 +22162,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
21982
22162
|
const diskRefreshPromise = (async () => {
|
|
21983
22163
|
if (!angularDir || editedFiles.size === 0)
|
|
21984
22164
|
return;
|
|
21985
|
-
const angularDirAbs =
|
|
22165
|
+
const angularDirAbs = resolve38(angularDir);
|
|
21986
22166
|
const filesUnderAngular = Array.from(editedFiles).filter((file4) => {
|
|
21987
|
-
const abs =
|
|
22167
|
+
const abs = resolve38(file4);
|
|
21988
22168
|
return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep4);
|
|
21989
22169
|
});
|
|
21990
22170
|
if (filesUnderAngular.length === 0)
|
|
@@ -22006,7 +22186,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22006
22186
|
if (!ext)
|
|
22007
22187
|
continue;
|
|
22008
22188
|
if (ext === ".ts" || ext === ".tsx") {
|
|
22009
|
-
tsFilesToRefresh.add(
|
|
22189
|
+
tsFilesToRefresh.add(resolve38(file4));
|
|
22010
22190
|
continue;
|
|
22011
22191
|
}
|
|
22012
22192
|
const owners = resolveOwningComponents2({
|
|
@@ -22014,7 +22194,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22014
22194
|
userAngularRoot: angularDirAbs
|
|
22015
22195
|
});
|
|
22016
22196
|
for (const owner of owners) {
|
|
22017
|
-
tsFilesToRefresh.add(
|
|
22197
|
+
tsFilesToRefresh.add(resolve38(owner.componentFilePath));
|
|
22018
22198
|
}
|
|
22019
22199
|
}
|
|
22020
22200
|
if (tsFilesToRefresh.size === 0)
|
|
@@ -22026,7 +22206,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22026
22206
|
const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
22027
22207
|
for (const tsFile of tsFilesToRefresh) {
|
|
22028
22208
|
const rel = relative16(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
|
|
22029
|
-
const compiledFile =
|
|
22209
|
+
const compiledFile = resolve38(compiledRoot, rel);
|
|
22030
22210
|
invalidateModule2(compiledFile);
|
|
22031
22211
|
}
|
|
22032
22212
|
} catch {}
|
|
@@ -22077,7 +22257,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22077
22257
|
serverPaths.forEach((serverPath, idx) => {
|
|
22078
22258
|
const fileBase = basename11(serverPath, ".js");
|
|
22079
22259
|
const ssrPath = ssrPaths[idx] ?? serverPath;
|
|
22080
|
-
state.manifest[toPascal(fileBase)] =
|
|
22260
|
+
state.manifest[toPascal(fileBase)] = resolve38(ssrPath);
|
|
22081
22261
|
});
|
|
22082
22262
|
if (clientPaths.length > 0) {
|
|
22083
22263
|
await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir, angularDir);
|
|
@@ -22086,9 +22266,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22086
22266
|
const angularDir = config.angularDirectory ?? "";
|
|
22087
22267
|
const angularFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === "angular");
|
|
22088
22268
|
for (const file4 of angularFiles) {
|
|
22089
|
-
state.fileHashes.set(
|
|
22269
|
+
state.fileHashes.set(resolve38(file4), computeFileHash(file4));
|
|
22090
22270
|
}
|
|
22091
|
-
const angularPagesPath =
|
|
22271
|
+
const angularPagesPath = resolve38(angularDir, "pages");
|
|
22092
22272
|
const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
|
|
22093
22273
|
const tierStart = performance.now();
|
|
22094
22274
|
const verdict = await decideAngularTier(state, angularDir);
|
|
@@ -22127,11 +22307,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22127
22307
|
if (isComponentFile2)
|
|
22128
22308
|
return primaryFile;
|
|
22129
22309
|
const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
|
|
22130
|
-
const nearest = findNearestComponent2(
|
|
22310
|
+
const nearest = findNearestComponent2(resolve38(primaryFile));
|
|
22131
22311
|
return nearest ?? primaryFile;
|
|
22132
22312
|
}, handleReactModuleServerPath = async (state, reactFiles, startTime, onRebuildComplete) => {
|
|
22133
22313
|
for (const file4 of reactFiles) {
|
|
22134
|
-
state.fileHashes.set(
|
|
22314
|
+
state.fileHashes.set(resolve38(file4), computeFileHash(file4));
|
|
22135
22315
|
}
|
|
22136
22316
|
markSsrCacheDirty("react");
|
|
22137
22317
|
const primaryFile = reactFiles.find((file4) => !file4.replace(/\\/g, "/").includes("/pages/")) ?? reactFiles[0];
|
|
@@ -22213,7 +22393,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22213
22393
|
});
|
|
22214
22394
|
}, handleSvelteModuleServerPath = async (state, svelteFiles, startTime, onRebuildComplete) => {
|
|
22215
22395
|
for (const file4 of svelteFiles) {
|
|
22216
|
-
state.fileHashes.set(
|
|
22396
|
+
state.fileHashes.set(resolve38(file4), computeFileHash(file4));
|
|
22217
22397
|
}
|
|
22218
22398
|
markSsrCacheDirty("svelte");
|
|
22219
22399
|
const serverDuration = Date.now() - startTime;
|
|
@@ -22238,8 +22418,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22238
22418
|
const serverEntries = [...svelteServerPaths];
|
|
22239
22419
|
const clientEntries = [...svelteIndexPaths, ...svelteClientPaths];
|
|
22240
22420
|
const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
|
|
22241
|
-
const serverRoot =
|
|
22242
|
-
const serverOutDir =
|
|
22421
|
+
const serverRoot = resolve38(getFrameworkGeneratedDir2("svelte"), "server");
|
|
22422
|
+
const serverOutDir = resolve38(buildDir, basename11(svelteDir));
|
|
22243
22423
|
const [serverResult, clientResult] = await Promise.all([
|
|
22244
22424
|
serverEntries.length > 0 ? bunBuild9({
|
|
22245
22425
|
entrypoints: serverEntries,
|
|
@@ -22336,7 +22516,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22336
22516
|
});
|
|
22337
22517
|
}, handleVueModuleServerPath = async (state, vueFiles, nonVueFiles, startTime, onRebuildComplete) => {
|
|
22338
22518
|
for (const file4 of [...vueFiles, ...nonVueFiles]) {
|
|
22339
|
-
state.fileHashes.set(
|
|
22519
|
+
state.fileHashes.set(resolve38(file4), computeFileHash(file4));
|
|
22340
22520
|
}
|
|
22341
22521
|
markSsrCacheDirty("vue");
|
|
22342
22522
|
await invalidateNonVueModules(nonVueFiles);
|
|
@@ -22364,7 +22544,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22364
22544
|
recursive: true,
|
|
22365
22545
|
withFileTypes: true
|
|
22366
22546
|
});
|
|
22367
|
-
return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) =>
|
|
22547
|
+
return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) => resolve38(emberPagesPath, entry.name));
|
|
22368
22548
|
} catch {
|
|
22369
22549
|
return [];
|
|
22370
22550
|
}
|
|
@@ -22376,10 +22556,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22376
22556
|
return state.manifest;
|
|
22377
22557
|
}
|
|
22378
22558
|
for (const file4 of emberFiles) {
|
|
22379
|
-
state.fileHashes.set(
|
|
22559
|
+
state.fileHashes.set(resolve38(file4), computeFileHash(file4));
|
|
22380
22560
|
}
|
|
22381
|
-
const emberPagesPath =
|
|
22382
|
-
const directPageEntries = emberFiles.filter((file4) =>
|
|
22561
|
+
const emberPagesPath = resolve38(emberDir, "pages");
|
|
22562
|
+
const directPageEntries = emberFiles.filter((file4) => resolve38(file4).startsWith(emberPagesPath));
|
|
22383
22563
|
const allPageEntries = directPageEntries.length > 0 ? directPageEntries : await collectAllEmberPages(emberPagesPath);
|
|
22384
22564
|
if (allPageEntries.length === 0) {
|
|
22385
22565
|
onRebuildComplete({ hmrState: state, manifest: state.manifest });
|
|
@@ -22389,7 +22569,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22389
22569
|
const { serverPaths } = await compileEmber2(allPageEntries, emberDir, process.cwd(), true);
|
|
22390
22570
|
for (const serverPath of serverPaths) {
|
|
22391
22571
|
const fileBase = basename11(serverPath, ".js");
|
|
22392
|
-
state.manifest[toPascal(fileBase)] =
|
|
22572
|
+
state.manifest[toPascal(fileBase)] = resolve38(serverPath);
|
|
22393
22573
|
}
|
|
22394
22574
|
const { invalidateEmberSsrCache: invalidateEmberSsrCache2 } = await Promise.resolve().then(() => (init_ember(), exports_ember));
|
|
22395
22575
|
invalidateEmberSsrCache2();
|
|
@@ -22481,8 +22661,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22481
22661
|
if (!buildReference?.source) {
|
|
22482
22662
|
return;
|
|
22483
22663
|
}
|
|
22484
|
-
const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname :
|
|
22485
|
-
islandFiles.add(
|
|
22664
|
+
const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname : resolve38(dirname21(buildInfo.resolvedRegistryPath), buildReference.source);
|
|
22665
|
+
islandFiles.add(resolve38(sourcePath));
|
|
22486
22666
|
}, resolveIslandSourceFiles = async (config) => {
|
|
22487
22667
|
const registryPath = config.islands?.registry;
|
|
22488
22668
|
if (!registryPath) {
|
|
@@ -22490,7 +22670,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22490
22670
|
}
|
|
22491
22671
|
const buildInfo = await loadIslandRegistryBuildInfo(registryPath);
|
|
22492
22672
|
const islandFiles = new Set([
|
|
22493
|
-
|
|
22673
|
+
resolve38(buildInfo.resolvedRegistryPath)
|
|
22494
22674
|
]);
|
|
22495
22675
|
for (const definition of buildInfo.definitions) {
|
|
22496
22676
|
resolveIslandDefinitionSource(definition, buildInfo, islandFiles);
|
|
@@ -22501,7 +22681,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22501
22681
|
if (islandFiles.size === 0) {
|
|
22502
22682
|
return false;
|
|
22503
22683
|
}
|
|
22504
|
-
return filesToRebuild.some((file4) => islandFiles.has(
|
|
22684
|
+
return filesToRebuild.some((file4) => islandFiles.has(resolve38(file4)));
|
|
22505
22685
|
}, handleIslandSourceReload = async (state, config, filesToRebuild, manifest) => {
|
|
22506
22686
|
const shouldReload = await didStaticPagesNeedIslandRefresh(config, filesToRebuild);
|
|
22507
22687
|
if (!shouldReload) {
|
|
@@ -22536,10 +22716,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22536
22716
|
}, computeOutputPagesDir = (state, config, framework) => {
|
|
22537
22717
|
const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
|
|
22538
22718
|
if (isSingle) {
|
|
22539
|
-
return
|
|
22719
|
+
return resolve38(state.resolvedPaths.buildDir, "pages");
|
|
22540
22720
|
}
|
|
22541
22721
|
const dirName = framework === "html" ? basename11(config.htmlDirectory ?? "html") : basename11(config.htmxDirectory ?? "htmx");
|
|
22542
|
-
return
|
|
22722
|
+
return resolve38(state.resolvedPaths.buildDir, dirName, "pages");
|
|
22543
22723
|
}, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
|
|
22544
22724
|
try {
|
|
22545
22725
|
const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
|
|
@@ -22578,7 +22758,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22578
22758
|
const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmlPages, "*.html") : htmlPageFiles;
|
|
22579
22759
|
await runSequentially(pageFilesToUpdate, async (pageFile) => {
|
|
22580
22760
|
const htmlPageName = basename11(pageFile);
|
|
22581
|
-
const builtHtmlPagePath =
|
|
22761
|
+
const builtHtmlPagePath = resolve38(outputHtmlPages, htmlPageName);
|
|
22582
22762
|
await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
|
|
22583
22763
|
});
|
|
22584
22764
|
}, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
|
|
@@ -22643,7 +22823,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22643
22823
|
const cssKey = `${pascalName}CSS`;
|
|
22644
22824
|
const cssUrl = manifest[cssKey] || null;
|
|
22645
22825
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
22646
|
-
const hmrMeta = vueHmrMetadata2.get(
|
|
22826
|
+
const hmrMeta = vueHmrMetadata2.get(resolve38(vuePagePath));
|
|
22647
22827
|
const changeType = hmrMeta?.changeType ?? "full";
|
|
22648
22828
|
if (changeType === "style-only") {
|
|
22649
22829
|
broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
|
|
@@ -22828,7 +23008,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22828
23008
|
const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmxPages, "*.html") : htmxPageFiles;
|
|
22829
23009
|
await runSequentially(pageFilesToUpdate, async (htmxPageFile) => {
|
|
22830
23010
|
const htmxPageName = basename11(htmxPageFile);
|
|
22831
|
-
const builtHtmxPagePath =
|
|
23011
|
+
const builtHtmxPagePath = resolve38(outputHtmxPages, htmxPageName);
|
|
22832
23012
|
await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
|
|
22833
23013
|
});
|
|
22834
23014
|
}, collectUpdatedModulePaths = (allModuleUpdates) => {
|
|
@@ -22937,7 +23117,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
22937
23117
|
html = html.slice(0, bodyClose.index) + hmrScript + html.slice(bodyClose.index);
|
|
22938
23118
|
writeFs(destPath, html);
|
|
22939
23119
|
}, processMarkupFileFastPath = async (state, sourceFile, outputDir, framework, startTime, updateAssetPaths2, handleUpdate, readFs, writeFs) => {
|
|
22940
|
-
const destPath =
|
|
23120
|
+
const destPath = resolve38(outputDir, basename11(sourceFile));
|
|
22941
23121
|
const hmrScript = extractHmrScript(destPath, readFs);
|
|
22942
23122
|
const source = await Bun.file(sourceFile).text();
|
|
22943
23123
|
await Bun.write(destPath, source);
|
|
@@ -23505,7 +23685,7 @@ __export(exports_devBuild, {
|
|
|
23505
23685
|
});
|
|
23506
23686
|
import { readdir as readdir5 } from "fs/promises";
|
|
23507
23687
|
import { statSync as statSync5 } from "fs";
|
|
23508
|
-
import { resolve as
|
|
23688
|
+
import { resolve as resolve39 } from "path";
|
|
23509
23689
|
var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
23510
23690
|
const configuredDirs = [
|
|
23511
23691
|
config.reactDirectory,
|
|
@@ -23528,7 +23708,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23528
23708
|
return Object.keys(config).length > 0 ? config : null;
|
|
23529
23709
|
}, reloadConfig = async () => {
|
|
23530
23710
|
try {
|
|
23531
|
-
const configPath2 =
|
|
23711
|
+
const configPath2 = resolve39(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
|
|
23532
23712
|
const source = await Bun.file(configPath2).text();
|
|
23533
23713
|
return parseDirectoryConfig(source);
|
|
23534
23714
|
} catch {
|
|
@@ -23613,7 +23793,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23613
23793
|
state.fileChangeQueue.clear();
|
|
23614
23794
|
}
|
|
23615
23795
|
}, handleCachedReload = async () => {
|
|
23616
|
-
const serverMtime = statSync5(
|
|
23796
|
+
const serverMtime = statSync5(resolve39(Bun.main)).mtimeMs;
|
|
23617
23797
|
const lastMtime = globalThis.__hmrServerMtime;
|
|
23618
23798
|
globalThis.__hmrServerMtime = serverMtime;
|
|
23619
23799
|
const cached = globalThis.__hmrDevResult;
|
|
@@ -23650,8 +23830,8 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23650
23830
|
return true;
|
|
23651
23831
|
}, resolveAbsoluteVersion2 = async () => {
|
|
23652
23832
|
const candidates = [
|
|
23653
|
-
|
|
23654
|
-
|
|
23833
|
+
resolve39(import.meta.dir, "..", "..", "package.json"),
|
|
23834
|
+
resolve39(import.meta.dir, "..", "package.json")
|
|
23655
23835
|
];
|
|
23656
23836
|
const [candidate, ...remaining] = candidates;
|
|
23657
23837
|
if (!candidate) {
|
|
@@ -23677,7 +23857,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23677
23857
|
const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
|
|
23678
23858
|
await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
|
|
23679
23859
|
const webPath = `/${framework}/vendor/${entry}`;
|
|
23680
|
-
const bytes = await Bun.file(
|
|
23860
|
+
const bytes = await Bun.file(resolve39(vendorDir, entry)).bytes();
|
|
23681
23861
|
assetStore.set(webPath, bytes);
|
|
23682
23862
|
}));
|
|
23683
23863
|
}, devBuild = async (config) => {
|
|
@@ -23745,11 +23925,11 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23745
23925
|
cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
|
|
23746
23926
|
recordStep("populate asset store", stepStartedAt);
|
|
23747
23927
|
stepStartedAt = performance.now();
|
|
23748
|
-
const reactVendorDir =
|
|
23749
|
-
const angularVendorDir =
|
|
23750
|
-
const svelteVendorDir =
|
|
23751
|
-
const vueVendorDir =
|
|
23752
|
-
const depVendorDir =
|
|
23928
|
+
const reactVendorDir = resolve39(state.resolvedPaths.buildDir, "react", "vendor");
|
|
23929
|
+
const angularVendorDir = resolve39(state.resolvedPaths.buildDir, "angular", "vendor");
|
|
23930
|
+
const svelteVendorDir = resolve39(state.resolvedPaths.buildDir, "svelte", "vendor");
|
|
23931
|
+
const vueVendorDir = resolve39(state.resolvedPaths.buildDir, "vue", "vendor");
|
|
23932
|
+
const depVendorDir = resolve39(state.resolvedPaths.buildDir, "vendor");
|
|
23753
23933
|
const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
|
|
23754
23934
|
const [, angularSpecs, , , , , depPaths] = await Promise.all([
|
|
23755
23935
|
config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
|
|
@@ -23827,7 +24007,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
|
|
|
23827
24007
|
manifest
|
|
23828
24008
|
};
|
|
23829
24009
|
globalThis.__hmrDevResult = result;
|
|
23830
|
-
globalThis.__hmrServerMtime = statSync5(
|
|
24010
|
+
globalThis.__hmrServerMtime = statSync5(resolve39(Bun.main)).mtimeMs;
|
|
23831
24011
|
return result;
|
|
23832
24012
|
};
|
|
23833
24013
|
var init_devBuild = __esm(() => {
|
|
@@ -23864,5 +24044,5 @@ export {
|
|
|
23864
24044
|
build
|
|
23865
24045
|
};
|
|
23866
24046
|
|
|
23867
|
-
//# debugId=
|
|
24047
|
+
//# debugId=23D5B57CAFDE1D0564756E2164756E21
|
|
23868
24048
|
//# sourceMappingURL=build.js.map
|