@absolutejs/absolute 0.19.0-beta.95 → 0.19.0-beta.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.absolutejs/tsconfig.tsbuildinfo +1 -1
- package/dist/build.js +156 -121
- package/dist/build.js.map +6 -6
- package/dist/dev/client/handlers/react.ts +19 -35
- package/dist/dev/client/handlers/rebuild.ts +0 -10
- package/dist/index.js +159 -124
- package/dist/index.js.map +6 -6
- package/dist/src/dev/transformCache.d.ts +2 -0
- package/package.json +2 -2
- package/types/globals.d.ts +0 -1
- package/dist/freshBuildWorker.js +0 -559
- package/dist/src/build/freshReadPlugin.d.ts +0 -2
package/dist/build.js
CHANGED
|
@@ -123,7 +123,7 @@ __export(exports_generateReactIndexes, {
|
|
|
123
123
|
});
|
|
124
124
|
import { existsSync, mkdirSync } from "fs";
|
|
125
125
|
import { readdir, rm, writeFile } from "fs/promises";
|
|
126
|
-
import { basename, join,
|
|
126
|
+
import { basename, join, resolve } from "path";
|
|
127
127
|
var {Glob } = globalThis.Bun;
|
|
128
128
|
var indexContentCache, resolveDevClientDir = () => {
|
|
129
129
|
const fromSource = resolve(import.meta.dir, "../dev/client");
|
|
@@ -160,7 +160,6 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
160
160
|
const hmrPreamble = isDev ? [
|
|
161
161
|
`window.__HMR_FRAMEWORK__ = "react";`,
|
|
162
162
|
`window.__REACT_COMPONENT_KEY__ = "${componentName}Index";`,
|
|
163
|
-
`window.__REACT_PAGE_MODULE__ = "/@src/${relative(process.cwd(), resolve(reactPagesDirectory, componentName + ".tsx")).replace(/\\\\/g, "/")}";`,
|
|
164
163
|
`import '${refreshSetupPath}';`,
|
|
165
164
|
`import '${hmrClientPath}';`,
|
|
166
165
|
`import { showErrorOverlay, hideErrorOverlay } from '${errorOverlayPath}';
|
|
@@ -200,6 +199,9 @@ var indexContentCache, resolveDevClientDir = () => {
|
|
|
200
199
|
` reset() {`,
|
|
201
200
|
` this.setState({ hasError: false });`,
|
|
202
201
|
` }`,
|
|
202
|
+
` hmrUpdate() {`,
|
|
203
|
+
` this.forceUpdate();`,
|
|
204
|
+
` }`,
|
|
203
205
|
` render() {`,
|
|
204
206
|
` if (this.state.hasError) return null;`,
|
|
205
207
|
``,
|
|
@@ -867,7 +869,7 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
|
|
|
867
869
|
|
|
868
870
|
// src/build/angularLinkerPlugin.ts
|
|
869
871
|
import { existsSync as existsSync7, mkdirSync as mkdirSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
|
|
870
|
-
import { dirname as dirname2, join as join4, relative
|
|
872
|
+
import { dirname as dirname2, join as join4, relative, resolve as resolve4 } from "path";
|
|
871
873
|
import { createHash } from "crypto";
|
|
872
874
|
var CACHE_DIR, angularLinkerPlugin;
|
|
873
875
|
var init_angularLinkerPlugin = __esm(() => {
|
|
@@ -910,7 +912,7 @@ var init_angularLinkerPlugin = __esm(() => {
|
|
|
910
912
|
dirname: dirname2,
|
|
911
913
|
exists: existsSync7,
|
|
912
914
|
readFile: readFileSync3,
|
|
913
|
-
relative
|
|
915
|
+
relative,
|
|
914
916
|
resolve: resolve4
|
|
915
917
|
},
|
|
916
918
|
linkerJitMode: false,
|
|
@@ -951,11 +953,11 @@ var HASHED_FILE_PATTERN, cleanStaleOutputs = async (buildPath, currentOutputPath
|
|
|
951
953
|
const currentPaths = new Set(currentOutputPaths.map((path) => resolve5(path)));
|
|
952
954
|
const glob = new Glob4("**/*");
|
|
953
955
|
const removals = [];
|
|
954
|
-
for (const
|
|
955
|
-
const absolute = resolve5(buildPath,
|
|
956
|
+
for (const relative2 of glob.scanSync({ cwd: buildPath })) {
|
|
957
|
+
const absolute = resolve5(buildPath, relative2);
|
|
956
958
|
if (currentPaths.has(absolute))
|
|
957
959
|
continue;
|
|
958
|
-
if (!HASHED_FILE_PATTERN.test(
|
|
960
|
+
if (!HASHED_FILE_PATTERN.test(relative2))
|
|
959
961
|
continue;
|
|
960
962
|
removals.push(rm2(absolute, { force: true }));
|
|
961
963
|
}
|
|
@@ -1109,12 +1111,12 @@ var init_startupBanner = __esm(() => {
|
|
|
1109
1111
|
// src/utils/logger.ts
|
|
1110
1112
|
var colors2, frameworkColors, formatPath = (filePath) => {
|
|
1111
1113
|
const cwd = process.cwd();
|
|
1112
|
-
let
|
|
1113
|
-
|
|
1114
|
-
if (!
|
|
1115
|
-
|
|
1114
|
+
let relative2 = filePath.startsWith(cwd) ? filePath.slice(cwd.length + 1) : filePath;
|
|
1115
|
+
relative2 = relative2.replace(/\\/g, "/");
|
|
1116
|
+
if (!relative2.startsWith("/")) {
|
|
1117
|
+
relative2 = `/${relative2}`;
|
|
1116
1118
|
}
|
|
1117
|
-
return
|
|
1119
|
+
return relative2;
|
|
1118
1120
|
}, getFrameworkColor = (framework) => frameworkColors[framework] || colors2.white, log = (action, options) => {
|
|
1119
1121
|
const timestamp = `${colors2.dim}${formatTimestamp()}${colors2.reset}`;
|
|
1120
1122
|
const tag = `${colors2.cyan}[hmr]${colors2.reset}`;
|
|
@@ -1173,11 +1175,11 @@ var init_logger = __esm(() => {
|
|
|
1173
1175
|
});
|
|
1174
1176
|
|
|
1175
1177
|
// src/utils/validateSafePath.ts
|
|
1176
|
-
import { resolve as resolve6, relative as
|
|
1178
|
+
import { resolve as resolve6, relative as relative2 } from "path";
|
|
1177
1179
|
var validateSafePath = (targetPath, baseDirectory) => {
|
|
1178
1180
|
const absoluteBase = resolve6(baseDirectory);
|
|
1179
1181
|
const absoluteTarget = resolve6(baseDirectory, targetPath);
|
|
1180
|
-
const relativePath = normalizePath(
|
|
1182
|
+
const relativePath = normalizePath(relative2(absoluteBase, absoluteTarget));
|
|
1181
1183
|
if (relativePath.startsWith("../") || relativePath === "..") {
|
|
1182
1184
|
throw new Error(`Unsafe path: ${targetPath}`);
|
|
1183
1185
|
}
|
|
@@ -1199,7 +1201,7 @@ import {
|
|
|
1199
1201
|
basename as basename2,
|
|
1200
1202
|
extname as extname2,
|
|
1201
1203
|
resolve as resolve7,
|
|
1202
|
-
relative as
|
|
1204
|
+
relative as relative3,
|
|
1203
1205
|
sep
|
|
1204
1206
|
} from "path";
|
|
1205
1207
|
import { env } from "process";
|
|
@@ -1263,7 +1265,7 @@ var resolveDevClientDir2 = () => {
|
|
|
1263
1265
|
const isModule = src.endsWith(".svelte.ts") || src.endsWith(".svelte.js");
|
|
1264
1266
|
const preprocessed = isModule ? raw : (await preprocess(raw, {})).code;
|
|
1265
1267
|
const transpiled = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler.transformSync(preprocessed) : preprocessed;
|
|
1266
|
-
const relDir = dirname3(
|
|
1268
|
+
const relDir = dirname3(relative3(svelteRoot, src)).replace(/\\/g, "/");
|
|
1267
1269
|
const baseName = basename2(src).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
1268
1270
|
const importPaths = Array.from(transpiled.matchAll(/from\s+['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((path) => path !== undefined);
|
|
1269
1271
|
const resolvedImports = await Promise.all(importPaths.map((importPath) => resolveSvelte(importPath, src)));
|
|
@@ -1282,7 +1284,7 @@ var resolveDevClientDir2 = () => {
|
|
|
1282
1284
|
}).js.code;
|
|
1283
1285
|
let code = raw2.replace(/\.svelte(?:\.(?:ts|js))?(['"])/g, ".js$1");
|
|
1284
1286
|
if (mode === "client" && isDev) {
|
|
1285
|
-
const moduleKey = `/@src/${
|
|
1287
|
+
const moduleKey = `/@src/${relative3(process.cwd(), src).replace(/\\/g, "/")}`;
|
|
1286
1288
|
code = code.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
|
|
1287
1289
|
if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
|
|
1288
1290
|
var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleKey)}] = cb; };`);
|
|
@@ -1317,10 +1319,10 @@ var resolveDevClientDir2 = () => {
|
|
|
1317
1319
|
};
|
|
1318
1320
|
const roots = await Promise.all(entryPoints.map(build));
|
|
1319
1321
|
await Promise.all(roots.map(async ({ client }) => {
|
|
1320
|
-
const relClientDir = dirname3(
|
|
1322
|
+
const relClientDir = dirname3(relative3(clientDir, client));
|
|
1321
1323
|
const name = basename2(client, extname2(client));
|
|
1322
1324
|
const indexPath = join6(indexDir, relClientDir, `${name}.js`);
|
|
1323
|
-
const importRaw =
|
|
1325
|
+
const importRaw = relative3(dirname3(indexPath), client).split(sep).join("/");
|
|
1324
1326
|
const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
|
|
1325
1327
|
const hmrImports = isDev ? `window.__HMR_FRAMEWORK__ = "svelte";
|
|
1326
1328
|
import "${hmrClientPath3}";
|
|
@@ -1360,7 +1362,7 @@ if (typeof window !== "undefined") {
|
|
|
1360
1362
|
return {
|
|
1361
1363
|
svelteClientPaths: roots.map(({ client }) => client),
|
|
1362
1364
|
svelteIndexPaths: roots.map(({ client }) => {
|
|
1363
|
-
const rel = dirname3(
|
|
1365
|
+
const rel = dirname3(relative3(clientDir, client));
|
|
1364
1366
|
return join6(indexDir, rel, basename2(client));
|
|
1365
1367
|
}),
|
|
1366
1368
|
svelteServerPaths: roots.map(({ ssr }) => ssr)
|
|
@@ -1385,7 +1387,7 @@ __export(exports_compileVue, {
|
|
|
1385
1387
|
});
|
|
1386
1388
|
import { existsSync as existsSync9 } from "fs";
|
|
1387
1389
|
import { mkdir as mkdir2 } from "fs/promises";
|
|
1388
|
-
import { basename as basename3, dirname as dirname4, join as join7, relative as
|
|
1390
|
+
import { basename as basename3, dirname as dirname4, join as join7, relative as relative4, resolve as resolve8 } from "path";
|
|
1389
1391
|
var {file: file2, write: write2, Transpiler: Transpiler2 } = globalThis.Bun;
|
|
1390
1392
|
var resolveDevClientDir3 = () => {
|
|
1391
1393
|
const fromSource = resolve8(import.meta.dir, "../dev/client");
|
|
@@ -1430,7 +1432,7 @@ var resolveDevClientDir3 = () => {
|
|
|
1430
1432
|
return "template-only";
|
|
1431
1433
|
}
|
|
1432
1434
|
return "full";
|
|
1433
|
-
}, generateVueHmrId = (sourceFilePath, vueRootDir) =>
|
|
1435
|
+
}, generateVueHmrId = (sourceFilePath, vueRootDir) => relative4(vueRootDir, sourceFilePath).replace(/\\/g, "/").replace(/\.vue$/, ""), extractImports = (sourceCode) => Array.from(sourceCode.matchAll(/import\s+[\s\S]+?['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((importPath) => importPath !== undefined), toJs = (filePath) => {
|
|
1434
1436
|
if (filePath.endsWith(".vue"))
|
|
1435
1437
|
return filePath.replace(/\.vue$/, ".js");
|
|
1436
1438
|
if (filePath.endsWith(".ts"))
|
|
@@ -1457,7 +1459,7 @@ var resolveDevClientDir3 = () => {
|
|
|
1457
1459
|
const cachedResult = cacheMap.get(sourceFilePath);
|
|
1458
1460
|
if (cachedResult)
|
|
1459
1461
|
return cachedResult;
|
|
1460
|
-
const relativeFilePath =
|
|
1462
|
+
const relativeFilePath = relative4(vueRootDir, sourceFilePath).replace(/\\/g, "/");
|
|
1461
1463
|
const relativeWithoutExtension = relativeFilePath.replace(/\.vue$/, "");
|
|
1462
1464
|
const fileBaseName = basename3(sourceFilePath, ".vue");
|
|
1463
1465
|
const componentId = toKebab(fileBaseName);
|
|
@@ -1586,7 +1588,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1586
1588
|
result.tsHelperPaths.forEach((path) => allTsHelperPaths.add(path));
|
|
1587
1589
|
const entryBaseName = basename3(entryPath, ".vue");
|
|
1588
1590
|
const indexOutputFile = join7(indexOutputDir, `${entryBaseName}.js`);
|
|
1589
|
-
const clientOutputFile = join7(clientOutputDir,
|
|
1591
|
+
const clientOutputFile = join7(clientOutputDir, relative4(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
|
|
1590
1592
|
await mkdir2(dirname4(indexOutputFile), { recursive: true });
|
|
1591
1593
|
const vueHmrImports = isDev ? [
|
|
1592
1594
|
`window.__HMR_FRAMEWORK__ = "vue";`,
|
|
@@ -1594,7 +1596,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1594
1596
|
] : [];
|
|
1595
1597
|
await write2(indexOutputFile, [
|
|
1596
1598
|
...vueHmrImports,
|
|
1597
|
-
`import Comp from "${
|
|
1599
|
+
`import Comp from "${relative4(dirname4(indexOutputFile), clientOutputFile).replace(/\\/g, "/")}";`,
|
|
1598
1600
|
'import { createSSRApp, createApp } from "vue";',
|
|
1599
1601
|
"",
|
|
1600
1602
|
"// HMR State Preservation: Check for preserved state from HMR",
|
|
@@ -1694,7 +1696,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1694
1696
|
await Promise.all(Array.from(allTsHelperPaths).map(async (tsPath) => {
|
|
1695
1697
|
const sourceCode = await file2(tsPath).text();
|
|
1696
1698
|
const transpiledCode = transpiler2.transformSync(sourceCode);
|
|
1697
|
-
const relativeJsPath =
|
|
1699
|
+
const relativeJsPath = relative4(vueRootDir, tsPath).replace(/\.ts$/, ".js");
|
|
1698
1700
|
const outClientPath = join7(clientOutputDir, relativeJsPath);
|
|
1699
1701
|
const outServerPath = join7(serverOutputDir, relativeJsPath);
|
|
1700
1702
|
await mkdir2(dirname4(outClientPath), { recursive: true });
|
|
@@ -10584,11 +10586,11 @@ ${lanes.join(`
|
|
|
10584
10586
|
return toComponents;
|
|
10585
10587
|
}
|
|
10586
10588
|
const components = toComponents.slice(start);
|
|
10587
|
-
const
|
|
10589
|
+
const relative5 = [];
|
|
10588
10590
|
for (;start < fromComponents.length; start++) {
|
|
10589
|
-
|
|
10591
|
+
relative5.push("..");
|
|
10590
10592
|
}
|
|
10591
|
-
return ["", ...
|
|
10593
|
+
return ["", ...relative5, ...components];
|
|
10592
10594
|
}
|
|
10593
10595
|
function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) {
|
|
10594
10596
|
Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative");
|
|
@@ -47884,9 +47886,9 @@ ${lanes.join(`
|
|
|
47884
47886
|
if (!startsWithDirectory(target, realPathDirectory, getCanonicalFileName)) {
|
|
47885
47887
|
return;
|
|
47886
47888
|
}
|
|
47887
|
-
const
|
|
47889
|
+
const relative5 = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName);
|
|
47888
47890
|
for (const symlinkDirectory of symlinkDirectories) {
|
|
47889
|
-
const option = resolvePath(symlinkDirectory,
|
|
47891
|
+
const option = resolvePath(symlinkDirectory, relative5);
|
|
47890
47892
|
const result2 = cb(option, target === referenceRedirect);
|
|
47891
47893
|
shouldFilterIgnoredPaths = true;
|
|
47892
47894
|
if (result2)
|
|
@@ -170452,7 +170454,7 @@ __export(exports_compileAngular, {
|
|
|
170452
170454
|
compileAngular: () => compileAngular
|
|
170453
170455
|
});
|
|
170454
170456
|
import { existsSync as existsSync10, readFileSync as readFileSync4, promises as fs } from "fs";
|
|
170455
|
-
import { join as join8, basename as basename4, sep as sep2, dirname as dirname5, resolve as resolve9, relative as
|
|
170457
|
+
import { join as join8, basename as basename4, sep as sep2, dirname as dirname5, resolve as resolve9, relative as relative5 } from "path";
|
|
170456
170458
|
import { createHash as createHash2 } from "crypto";
|
|
170457
170459
|
var import_typescript, computeConfigHash = () => {
|
|
170458
170460
|
try {
|
|
@@ -170761,7 +170763,7 @@ export default ${componentClassName};
|
|
|
170761
170763
|
await fs.writeFile(ssrDepsFile, ssrDepsContent, "utf-8");
|
|
170762
170764
|
}
|
|
170763
170765
|
await fs.writeFile(rawServerFile, rewritten, "utf-8");
|
|
170764
|
-
const relativePath =
|
|
170766
|
+
const relativePath = relative5(indexesDir, rawServerFile).replace(/\\/g, "/");
|
|
170765
170767
|
const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
|
|
170766
170768
|
const hmrPreamble = hmr ? `window.__HMR_FRAMEWORK__ = "angular";
|
|
170767
170769
|
import "${hmrRuntimePath}";
|
|
@@ -171140,7 +171142,7 @@ import {
|
|
|
171140
171142
|
rmSync,
|
|
171141
171143
|
writeFileSync as writeFileSync3
|
|
171142
171144
|
} from "fs";
|
|
171143
|
-
import { basename as basename5, join as join13, relative as
|
|
171145
|
+
import { basename as basename5, join as join13, relative as relative6, resolve as resolve10 } from "path";
|
|
171144
171146
|
import { cwd, env as env2, exit } from "process";
|
|
171145
171147
|
var {build: bunBuild6, Glob: Glob5 } = globalThis.Bun;
|
|
171146
171148
|
var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental, throwOnError) => {
|
|
@@ -171705,7 +171707,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
|
|
|
171705
171707
|
const devIndexDir = join13(buildPath, "_src_indexes");
|
|
171706
171708
|
mkdirSync8(devIndexDir, { recursive: true });
|
|
171707
171709
|
const indexFiles = readDir(reactIndexesPath).filter((f) => f.endsWith(".tsx"));
|
|
171708
|
-
const pagesRel =
|
|
171710
|
+
const pagesRel = relative6(process.cwd(), resolve10(reactPagesPath)).replace(/\\/g, "/");
|
|
171709
171711
|
for (const file3 of indexFiles) {
|
|
171710
171712
|
let content = readFileSync5(join13(reactIndexesPath, file3), "utf-8");
|
|
171711
171713
|
content = content.replace(/from\s*['"]\.\.\/pages\/([^'"]+)['"]/g, `from '/@src/${pagesRel}/$1'`);
|
|
@@ -202323,6 +202325,17 @@ var init_pageHandler = __esm(() => {
|
|
|
202323
202325
|
});
|
|
202324
202326
|
|
|
202325
202327
|
// src/dev/transformCache.ts
|
|
202328
|
+
var exports_transformCache = {};
|
|
202329
|
+
__export(exports_transformCache, {
|
|
202330
|
+
setTransformed: () => setTransformed,
|
|
202331
|
+
markAsDataFile: () => markAsDataFile,
|
|
202332
|
+
isDataFile: () => isDataFile,
|
|
202333
|
+
invalidateAll: () => invalidateAll,
|
|
202334
|
+
invalidate: () => invalidate,
|
|
202335
|
+
getTransformed: () => getTransformed,
|
|
202336
|
+
getInvalidationVersion: () => getInvalidationVersion,
|
|
202337
|
+
findNearestComponent: () => findNearestComponent
|
|
202338
|
+
});
|
|
202326
202339
|
var globalStore, cache, importers, getTransformed = (filePath) => cache.get(filePath)?.content, setTransformed = (filePath, content, mtime, imports) => {
|
|
202327
202340
|
const resolvedImports = imports ?? [];
|
|
202328
202341
|
cache.set(filePath, { content, imports: resolvedImports, mtime });
|
|
@@ -202341,6 +202354,30 @@ var globalStore, cache, importers, getTransformed = (filePath) => cache.get(file
|
|
|
202341
202354
|
cache.delete(parent);
|
|
202342
202355
|
}
|
|
202343
202356
|
}
|
|
202357
|
+
}, invalidateAll = () => {
|
|
202358
|
+
cache.clear();
|
|
202359
|
+
importers.clear();
|
|
202360
|
+
}, dataFiles, markAsDataFile = (filePath) => {
|
|
202361
|
+
dataFiles.add(filePath);
|
|
202362
|
+
}, isDataFile = (filePath) => dataFiles.has(filePath), findNearestComponent = (filePath) => {
|
|
202363
|
+
const visited = new Set;
|
|
202364
|
+
const queue = [filePath];
|
|
202365
|
+
while (queue.length > 0) {
|
|
202366
|
+
const current = queue.shift();
|
|
202367
|
+
if (visited.has(current))
|
|
202368
|
+
continue;
|
|
202369
|
+
visited.add(current);
|
|
202370
|
+
const parents = importers.get(current);
|
|
202371
|
+
if (!parents)
|
|
202372
|
+
continue;
|
|
202373
|
+
for (const parent of parents) {
|
|
202374
|
+
if (parent.endsWith(".tsx") || parent.endsWith(".jsx")) {
|
|
202375
|
+
return parent;
|
|
202376
|
+
}
|
|
202377
|
+
queue.push(parent);
|
|
202378
|
+
}
|
|
202379
|
+
}
|
|
202380
|
+
return;
|
|
202344
202381
|
};
|
|
202345
202382
|
var init_transformCache = __esm(() => {
|
|
202346
202383
|
globalStore = globalThis;
|
|
@@ -202350,6 +202387,8 @@ var init_transformCache = __esm(() => {
|
|
|
202350
202387
|
globalStore.__transformImporters = importers;
|
|
202351
202388
|
invalidationVersions = globalStore.__transformInvalidationVersions ?? new Map;
|
|
202352
202389
|
globalStore.__transformInvalidationVersions = invalidationVersions;
|
|
202390
|
+
dataFiles = globalStore.__transformDataFiles ?? new Set;
|
|
202391
|
+
globalStore.__transformDataFiles = dataFiles;
|
|
202353
202392
|
});
|
|
202354
202393
|
|
|
202355
202394
|
// src/dev/moduleServer.ts
|
|
@@ -202363,7 +202402,7 @@ __export(exports_moduleServer, {
|
|
|
202363
202402
|
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
202364
202403
|
});
|
|
202365
202404
|
import { existsSync as existsSync13, readFileSync as readFileSync9, statSync } from "fs";
|
|
202366
|
-
import { basename as basename7, dirname as dirname7, extname as extname3, resolve as resolve17, relative as
|
|
202405
|
+
import { basename as basename7, dirname as dirname7, extname as extname3, resolve as resolve17, relative as relative7 } from "path";
|
|
202367
202406
|
var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
202368
202407
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
202369
202408
|
const allExports = [];
|
|
@@ -202426,7 +202465,7 @@ ${stubs}
|
|
|
202426
202465
|
const fileDir = dirname7(filePath);
|
|
202427
202466
|
result = result.replace(/(from\s*["'])(\.\.?\/[^"']+)(["'])/g, (_match, prefix, relPath, suffix) => {
|
|
202428
202467
|
const absPath = resolve17(fileDir, relPath);
|
|
202429
|
-
const rel =
|
|
202468
|
+
const rel = relative7(projectRoot, absPath);
|
|
202430
202469
|
let srcPath = rel;
|
|
202431
202470
|
if (!extname3(srcPath)) {
|
|
202432
202471
|
const extensions = [
|
|
@@ -202447,19 +202486,19 @@ ${stubs}
|
|
|
202447
202486
|
}
|
|
202448
202487
|
if (extname3(srcPath) === ".svelte") {
|
|
202449
202488
|
const resolved = resolveSvelteModulePath(resolve17(projectRoot, srcPath));
|
|
202450
|
-
const resolvedRel =
|
|
202489
|
+
const resolvedRel = relative7(projectRoot, resolved);
|
|
202451
202490
|
srcPath = resolvedRel;
|
|
202452
202491
|
}
|
|
202453
202492
|
return `${prefix}${srcUrl(srcPath, projectRoot)}${suffix}`;
|
|
202454
202493
|
});
|
|
202455
202494
|
result = result.replace(/(import\s*\(\s*["'])(\.\.?\/[^"']+)(["']\s*\))/g, (_match, prefix, relPath, suffix) => {
|
|
202456
202495
|
const absPath = resolve17(fileDir, relPath);
|
|
202457
|
-
const rel =
|
|
202496
|
+
const rel = relative7(projectRoot, absPath);
|
|
202458
202497
|
return `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;
|
|
202459
202498
|
});
|
|
202460
202499
|
result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => {
|
|
202461
202500
|
const absPath = resolve17(fileDir, relPath);
|
|
202462
|
-
const rel =
|
|
202501
|
+
const rel = relative7(projectRoot, absPath);
|
|
202463
202502
|
let srcPath = rel;
|
|
202464
202503
|
if (!extname3(srcPath)) {
|
|
202465
202504
|
const extensions = [
|
|
@@ -202483,16 +202522,30 @@ ${stubs}
|
|
|
202483
202522
|
});
|
|
202484
202523
|
result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, (_match, prefix, absPath, _ext, suffix) => {
|
|
202485
202524
|
if (absPath.startsWith(projectRoot)) {
|
|
202486
|
-
const rel2 =
|
|
202525
|
+
const rel2 = relative7(projectRoot, absPath).replace(/\\/g, "/");
|
|
202487
202526
|
return `${prefix}${srcUrl(rel2, projectRoot)}${suffix}`;
|
|
202488
202527
|
}
|
|
202489
|
-
const rel =
|
|
202528
|
+
const rel = relative7(projectRoot, absPath).replace(/\\/g, "/");
|
|
202490
202529
|
if (!rel.startsWith("..")) {
|
|
202491
202530
|
return `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;
|
|
202492
202531
|
}
|
|
202493
202532
|
return _match;
|
|
202494
202533
|
});
|
|
202495
202534
|
return result;
|
|
202535
|
+
}, NAMED_IMPORT_RE, rewriteDataImports = (code, projectRoot) => {
|
|
202536
|
+
let counter = 0;
|
|
202537
|
+
return code.replace(NAMED_IMPORT_RE, (_match, names, q1, srcUrl2, q2) => {
|
|
202538
|
+
const urlPath = srcUrl2.replace(/^\/\@src\//, "").split("?")[0];
|
|
202539
|
+
if (!urlPath)
|
|
202540
|
+
return _match;
|
|
202541
|
+
const absPath = resolve17(projectRoot, urlPath);
|
|
202542
|
+
if (!isDataFile(absPath))
|
|
202543
|
+
return _match;
|
|
202544
|
+
const alias = `__hmr_${counter++}`;
|
|
202545
|
+
const trimmedNames = names.trim();
|
|
202546
|
+
return `import ${alias} from ${q1}${srcUrl2}${q2};
|
|
202547
|
+
const { ${trimmedNames} } = ${alias}`;
|
|
202548
|
+
});
|
|
202496
202549
|
}, HOOK_NAMES, REFRESH_PREAMBLE, JSX_AUTO_RE, JSXS_AUTO_RE, JSX_PROD_RE, FRAGMENT_RE, addJsxImport = (code) => {
|
|
202497
202550
|
const imports = [];
|
|
202498
202551
|
const jsxDevMatch = JSX_AUTO_RE.exec(code);
|
|
@@ -202528,9 +202581,36 @@ ${stubs}
|
|
|
202528
202581
|
transpiled = `var $RefreshReg$ = window.$RefreshReg$ || function(){};
|
|
202529
202582
|
` + `var $RefreshSig$ = window.$RefreshSig$ || function(){ return function(t){ return t; }; };
|
|
202530
202583
|
` + transpiled;
|
|
202531
|
-
const relPath =
|
|
202584
|
+
const relPath = relative7(projectRoot, filePath).replace(/\\/g, "/");
|
|
202532
202585
|
transpiled = transpiled.replace(/\binput\.tsx:/g, `${relPath}:`);
|
|
202533
|
-
|
|
202586
|
+
let result = rewriteImports2(transpiled, filePath, projectRoot, rewriter);
|
|
202587
|
+
result = rewriteDataImports(result, projectRoot);
|
|
202588
|
+
return result;
|
|
202589
|
+
}, isDataOnlyFile = (exports, transpiled) => {
|
|
202590
|
+
if (exports.length === 0)
|
|
202591
|
+
return false;
|
|
202592
|
+
if (exports.some((e) => /^[A-Z]/.test(e) && /^(use|[A-Z])/.test(e)))
|
|
202593
|
+
return false;
|
|
202594
|
+
if (/export\s+(function|class|async\s+function)\s/.test(transpiled))
|
|
202595
|
+
return false;
|
|
202596
|
+
return true;
|
|
202597
|
+
}, wrapDataExports = (transpiled, filePath, exports) => {
|
|
202598
|
+
const storeKey = filePath.replace(/\\/g, "/");
|
|
202599
|
+
let result = transpiled;
|
|
202600
|
+
const preamble = `const __hmr = ((globalThis.__HMR_DATA__ ??= {})[${JSON.stringify(storeKey)}] ??= {});
|
|
202601
|
+
`;
|
|
202602
|
+
for (const name of exports) {
|
|
202603
|
+
result = result.replace(new RegExp(`export\\s+const\\s+${name}\\s*=`), `__hmr.${name} =`);
|
|
202604
|
+
result = result.replace(new RegExp(`export\\s+var\\s+${name}\\s*=`), `__hmr.${name} =`);
|
|
202605
|
+
result = result.replace(new RegExp(`export\\s+let\\s+${name}\\s*=`), `__hmr.${name} =`);
|
|
202606
|
+
}
|
|
202607
|
+
const defaultExport = `
|
|
202608
|
+
export default __hmr;
|
|
202609
|
+
`;
|
|
202610
|
+
const namedExports = exports.map((name) => `export const ${name} = __hmr.${name};`).join(`
|
|
202611
|
+
`);
|
|
202612
|
+
return preamble + result + `
|
|
202613
|
+
` + namedExports + defaultExport;
|
|
202534
202614
|
}, transformPlainFile = (filePath, projectRoot, rewriter) => {
|
|
202535
202615
|
const raw = readFileSync9(filePath, "utf-8");
|
|
202536
202616
|
const ext = extname3(filePath);
|
|
@@ -202542,7 +202622,13 @@ ${stubs}
|
|
|
202542
202622
|
if (isTS) {
|
|
202543
202623
|
transpiled = preserveTypeExports(raw, transpiled, valueExports);
|
|
202544
202624
|
}
|
|
202545
|
-
|
|
202625
|
+
if (isTS && !isTSX && isDataOnlyFile(valueExports, transpiled)) {
|
|
202626
|
+
transpiled = wrapDataExports(transpiled, filePath, valueExports);
|
|
202627
|
+
markAsDataFile(filePath);
|
|
202628
|
+
}
|
|
202629
|
+
let result = rewriteImports2(transpiled, filePath, projectRoot, rewriter);
|
|
202630
|
+
result = rewriteDataImports(result, projectRoot);
|
|
202631
|
+
return result;
|
|
202546
202632
|
}, svelteExternalCss, svelteCompiler = null, vueCompiler = null, warmCompilers = async (frameworks) => {
|
|
202547
202633
|
const [sc, vc] = await Promise.all([
|
|
202548
202634
|
frameworks.svelte ? import("svelte/compiler") : undefined,
|
|
@@ -202595,11 +202681,11 @@ ${stubs}
|
|
|
202595
202681
|
if (compiled.css?.code) {
|
|
202596
202682
|
const cssPath = `${filePath}.css`;
|
|
202597
202683
|
svelteExternalCss.set(cssPath, compiled.css.code);
|
|
202598
|
-
const cssUrl = srcUrl(
|
|
202684
|
+
const cssUrl = srcUrl(relative7(projectRoot, cssPath), projectRoot);
|
|
202599
202685
|
code = `import "${cssUrl}";
|
|
202600
202686
|
${code}`;
|
|
202601
202687
|
}
|
|
202602
|
-
const moduleUrl = `${SRC_PREFIX}${
|
|
202688
|
+
const moduleUrl = `${SRC_PREFIX}${relative7(projectRoot, filePath).replace(/\\/g, "/")}`;
|
|
202603
202689
|
code = code.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
|
|
202604
202690
|
if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
|
|
202605
202691
|
var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`);
|
|
@@ -202663,7 +202749,7 @@ ${code}`;
|
|
|
202663
202749
|
}
|
|
202664
202750
|
code = tsTranspiler2.transformSync(code);
|
|
202665
202751
|
const hmrBase = vueDir ? resolve17(vueDir) : projectRoot;
|
|
202666
|
-
const hmrId =
|
|
202752
|
+
const hmrId = relative7(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
|
|
202667
202753
|
code = code.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
|
|
202668
202754
|
code += [
|
|
202669
202755
|
"",
|
|
@@ -202920,6 +203006,7 @@ var init_moduleServer = __esm(() => {
|
|
|
202920
203006
|
STRING_CONTENTS_RE = /`(?:[^`\\]|\\.)*`|'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"/gs;
|
|
202921
203007
|
REACT_EXTENSIONS = new Set([".tsx", ".jsx"]);
|
|
202922
203008
|
mtimeCache = new Map;
|
|
203009
|
+
NAMED_IMPORT_RE = /import\s*\{([^}]+)\}\s*from\s*(["'])(\/\@src\/[^"']+)(["']);?/g;
|
|
202923
203010
|
HOOK_NAMES = new Set([
|
|
202924
203011
|
"useState",
|
|
202925
203012
|
"useReducer",
|
|
@@ -203022,7 +203109,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
203022
203109
|
// src/dev/rebuildTrigger.ts
|
|
203023
203110
|
import { existsSync as existsSync14 } from "fs";
|
|
203024
203111
|
import { rm as rm8 } from "fs/promises";
|
|
203025
|
-
import { basename as basename8,
|
|
203112
|
+
import { basename as basename8, relative as relative8, resolve as resolve20 } from "path";
|
|
203026
203113
|
var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseErrorLocationFromMessage = (msg) => {
|
|
203027
203114
|
const pathLineCol = msg.match(/^([^\s:]+):(\d+)(?::(\d+))?/);
|
|
203028
203115
|
if (pathLineCol) {
|
|
@@ -203456,7 +203543,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
203456
203543
|
}, getModuleUrl = async (pageFile) => {
|
|
203457
203544
|
const { invalidateModule: invalidateModule2, warmCache: warmCache2, SRC_URL_PREFIX: SRC_URL_PREFIX2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
|
|
203458
203545
|
invalidateModule2(pageFile);
|
|
203459
|
-
const rel =
|
|
203546
|
+
const rel = relative8(process.cwd(), pageFile).replace(/\\/g, "/");
|
|
203460
203547
|
const url = `${SRC_URL_PREFIX2}${rel}`;
|
|
203461
203548
|
warmCache2(url);
|
|
203462
203549
|
return url;
|
|
@@ -203466,12 +203553,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
203466
203553
|
const reactIndexesPath = resolve20(reactDir, "indexes");
|
|
203467
203554
|
const { buildDir } = state.resolvedPaths;
|
|
203468
203555
|
const reactFiles = filesToRebuild.filter((file3) => detectFramework(file3, state.resolvedPaths) === "react");
|
|
203469
|
-
|
|
203470
|
-
if (componentFiles.length > 0 && componentFiles.length === reactFiles.length) {
|
|
203556
|
+
if (reactFiles.length > 0) {
|
|
203471
203557
|
for (const file3 of reactFiles) {
|
|
203472
203558
|
state.fileHashes.set(resolve20(file3), computeFileHash(file3));
|
|
203473
203559
|
}
|
|
203474
|
-
const primaryFile =
|
|
203560
|
+
const primaryFile = reactFiles.find((f) => !f.replace(/\\/g, "/").includes("/pages/")) ?? reactFiles[0];
|
|
203475
203561
|
if (!primaryFile) {
|
|
203476
203562
|
onRebuildComplete({
|
|
203477
203563
|
hmrState: state,
|
|
@@ -203483,10 +203569,18 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
203483
203569
|
for (const file3 of reactFiles) {
|
|
203484
203570
|
invalidateModule2(file3);
|
|
203485
203571
|
}
|
|
203486
|
-
const
|
|
203572
|
+
const isComponentFile = primaryFile.endsWith(".tsx") || primaryFile.endsWith(".jsx");
|
|
203573
|
+
let broadcastTarget = primaryFile;
|
|
203574
|
+
if (!isComponentFile) {
|
|
203575
|
+
const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
|
|
203576
|
+
const nearest = findNearestComponent2(resolve20(primaryFile));
|
|
203577
|
+
if (nearest)
|
|
203578
|
+
broadcastTarget = nearest;
|
|
203579
|
+
}
|
|
203580
|
+
const pageModuleUrl = await getReactModuleUrl(broadcastTarget);
|
|
203487
203581
|
if (pageModuleUrl) {
|
|
203488
203582
|
const serverDuration = Date.now() - startTime;
|
|
203489
|
-
state.lastHmrPath =
|
|
203583
|
+
state.lastHmrPath = relative8(process.cwd(), primaryFile).replace(/\\/g, "/");
|
|
203490
203584
|
state.lastHmrFramework = "react";
|
|
203491
203585
|
broadcastToClients(state, {
|
|
203492
203586
|
data: {
|
|
@@ -203872,7 +203966,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
203872
203966
|
const baseName = fileName.replace(/\.vue$/, "");
|
|
203873
203967
|
const pascalName = toPascal(baseName);
|
|
203874
203968
|
const vueRoot = config.vueDirectory;
|
|
203875
|
-
const hmrId = vueRoot ?
|
|
203969
|
+
const hmrId = vueRoot ? relative8(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
|
|
203876
203970
|
const cssKey = `${pascalName}CSS`;
|
|
203877
203971
|
const cssUrl = manifest[cssKey] || null;
|
|
203878
203972
|
const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
|
|
@@ -204212,11 +204306,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
204212
204306
|
files.filter((f) => detectFramework(f, state.resolvedPaths) === "angular").forEach((f) => handled.add(f));
|
|
204213
204307
|
}
|
|
204214
204308
|
if (config.reactDirectory && affectedFrameworks.includes("react")) {
|
|
204215
|
-
|
|
204216
|
-
|
|
204217
|
-
await handleReactFastPath(state, config, files, startTime, onRebuildComplete);
|
|
204218
|
-
}
|
|
204219
|
-
reactComponentFiles.forEach((f) => handled.add(f));
|
|
204309
|
+
await handleReactFastPath(state, config, files, startTime, onRebuildComplete);
|
|
204310
|
+
files.filter((f) => detectFramework(f, state.resolvedPaths) === "react").forEach((f) => handled.add(f));
|
|
204220
204311
|
}
|
|
204221
204312
|
if (config.svelteDirectory && affectedFrameworks.includes("svelte")) {
|
|
204222
204313
|
await handleSvelteFastPath(state, config, files, startTime, onRebuildComplete);
|
|
@@ -204331,19 +204422,6 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
204331
204422
|
});
|
|
204332
204423
|
return state.manifest;
|
|
204333
204424
|
}
|
|
204334
|
-
const hasNonComponentFiles = (filesToRebuild ?? []).some((f) => f.endsWith(".ts") && !f.endsWith(".d.ts"));
|
|
204335
|
-
const subprocessConfig = hasNonComponentFiles ? {
|
|
204336
|
-
buildDirectory: config.buildDirectory,
|
|
204337
|
-
assetsDirectory: config.assetsDirectory,
|
|
204338
|
-
reactDirectory: config.reactDirectory,
|
|
204339
|
-
stylesConfig: config.stylesConfig,
|
|
204340
|
-
options: {
|
|
204341
|
-
...config.options,
|
|
204342
|
-
baseManifest: state.manifest,
|
|
204343
|
-
injectHMR: true,
|
|
204344
|
-
throwOnError: true
|
|
204345
|
-
}
|
|
204346
|
-
} : undefined;
|
|
204347
204425
|
const buildConfig = {
|
|
204348
204426
|
...config,
|
|
204349
204427
|
incrementalFiles: filesToRebuild && filesToRebuild.length > 0 ? filesToRebuild : undefined,
|
|
@@ -204354,52 +204432,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
204354
204432
|
throwOnError: true
|
|
204355
204433
|
}
|
|
204356
204434
|
};
|
|
204357
|
-
|
|
204358
|
-
if (hasNonComponentFiles && subprocessConfig) {
|
|
204359
|
-
const distDir = dirname8(new URL(import.meta.url).pathname);
|
|
204360
|
-
const workerPath = resolve20(distDir, "freshBuildWorker.js");
|
|
204361
|
-
const configJson = JSON.stringify(subprocessConfig);
|
|
204362
|
-
const proc = Bun.spawn(["bun", "run", workerPath, configJson], {
|
|
204363
|
-
cwd: process.cwd(),
|
|
204364
|
-
stderr: "pipe",
|
|
204365
|
-
stdout: "pipe"
|
|
204366
|
-
});
|
|
204367
|
-
const stdout = await new Response(proc.stdout).text();
|
|
204368
|
-
const stderr = await new Response(proc.stderr).text();
|
|
204369
|
-
await proc.exited;
|
|
204370
|
-
if (proc.exitCode !== 0) {
|
|
204371
|
-
logWarn(`Fresh build failed: ${stderr.slice(0, 300)}`);
|
|
204372
|
-
manifest = await build(buildConfig);
|
|
204373
|
-
} else {
|
|
204374
|
-
const manifestLine = stdout.split(`
|
|
204375
|
-
`).find((l) => l.startsWith("__MANIFEST__"));
|
|
204376
|
-
if (manifestLine) {
|
|
204377
|
-
const freshManifest = JSON.parse(manifestLine.slice("__MANIFEST__".length));
|
|
204378
|
-
for (const [key, value] of Object.entries(freshManifest)) {
|
|
204379
|
-
state.manifest[key] = value;
|
|
204380
|
-
}
|
|
204381
|
-
manifest = state.manifest;
|
|
204382
|
-
} else {
|
|
204383
|
-
manifest = await build(buildConfig);
|
|
204384
|
-
}
|
|
204385
|
-
}
|
|
204386
|
-
} else {
|
|
204387
|
-
manifest = await build(buildConfig);
|
|
204388
|
-
}
|
|
204435
|
+
const manifest = await build(buildConfig);
|
|
204389
204436
|
if (!manifest) {
|
|
204390
204437
|
throw new Error("Build failed - no manifest generated");
|
|
204391
204438
|
}
|
|
204392
204439
|
const duration = Date.now() - startTime;
|
|
204393
|
-
const wasSubprocess = hasNonComponentFiles && subprocessConfig;
|
|
204394
|
-
if (wasSubprocess) {
|
|
204395
|
-
const dataFile = (filesToRebuild ?? []).find((f) => f.endsWith(".ts") && !f.endsWith(".d.ts"));
|
|
204396
|
-
if (dataFile) {
|
|
204397
|
-
const path = relative9(process.cwd(), dataFile).replace(/\\/g, "/");
|
|
204398
|
-
logHmrUpdate(path, "react", duration);
|
|
204399
|
-
}
|
|
204400
|
-
state.lastHmrPath = undefined;
|
|
204401
|
-
state.lastHmrFramework = undefined;
|
|
204402
|
-
}
|
|
204403
204440
|
sendTelemetryEvent("hmr:rebuild-complete", {
|
|
204404
204441
|
durationMs: duration,
|
|
204405
204442
|
fileCount: filesToRebuild?.length ?? 0,
|
|
@@ -204410,17 +204447,15 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
|
|
|
204410
204447
|
broadcastToClients(state, {
|
|
204411
204448
|
data: {
|
|
204412
204449
|
affectedFrameworks,
|
|
204413
|
-
fullReload: wasSubprocess,
|
|
204414
204450
|
manifest
|
|
204415
204451
|
},
|
|
204416
204452
|
message: "Rebuild completed successfully",
|
|
204417
204453
|
type: "rebuild-complete"
|
|
204418
204454
|
});
|
|
204419
|
-
if (filesToRebuild && filesToRebuild.length > 0
|
|
204455
|
+
if (filesToRebuild && filesToRebuild.length > 0) {
|
|
204420
204456
|
await handleFullBuildHMR(state, config, affectedFrameworks, filesToRebuild, manifest, duration);
|
|
204421
204457
|
}
|
|
204422
|
-
|
|
204423
|
-
broadcastFrameworkUpdates(state, affectedFrameworks, filesToRebuild, manifest, startTime);
|
|
204458
|
+
broadcastFrameworkUpdates(state, affectedFrameworks, filesToRebuild, manifest, startTime);
|
|
204424
204459
|
if (affectedFrameworks.includes("angular")) {
|
|
204425
204460
|
invalidateAngularSsrCache();
|
|
204426
204461
|
}
|
|
@@ -204925,5 +204960,5 @@ export {
|
|
|
204925
204960
|
build
|
|
204926
204961
|
};
|
|
204927
204962
|
|
|
204928
|
-
//# debugId=
|
|
204963
|
+
//# debugId=212AF9B72308BD8264756E2164756E21
|
|
204929
204964
|
//# sourceMappingURL=build.js.map
|