@absolutejs/absolute 0.20.0-beta.165 → 0.20.0-beta.167
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 +14 -0
- package/changelog.json +32 -10
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +17 -11
- package/dist/build.js.map +6 -6
- package/dist/cli/{dev-sxx8zyr6.js → dev-ny2vah78.js} +1 -1
- package/dist/cli/{index-1ksy2h3r.js → index-psvsmg0x.js} +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/{patchedBun-r3ykvvwz.js → patchedBun-g1d7528q.js} +1 -1
- package/dist/dev/client/cssUtils.ts +65 -3
- package/dist/dev/client/hmrClient.ts +3 -1
- package/dist/index.js +17 -11
- package/dist/index.js.map +6 -6
- package/dist/src/build/resolveBuildMode.d.ts +1 -0
- package/dist/src/cli/patchedBun.d.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,20 @@ This file is generated by `absolute-changelog` from the entries in
|
|
|
6
6
|
`changelog/`. Edit an entry, not this file — and add new ones under
|
|
7
7
|
`changelog/unreleased/`.
|
|
8
8
|
|
|
9
|
+
## 0.20.0-beta.167 — 2026-11-09
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Refresh imported CSS, stylesheet dependencies, and changed image assets during HMR**
|
|
14
|
+
CSS imported by JavaScript remained in stale style nodes while style-update only reloaded linked bundles. Refresh source stylesheet modules in place to preserve cascade order, rebuild configured CSS entries when imported partials change outside stylesConfig, and run CSS-only incremental builds. Static asset updates now invalidate matching image and favicon URLs. The dev launcher selects patched Bun 1.4.4+absolute.2. React, CSS, logo, and favicon changes were verified in an open Job Tracker page without navigation.
|
|
15
|
+
|
|
16
|
+
## 0.20.0-beta.166 — 2026-11-06
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **Production client bundles use the production build of every package**
|
|
21
|
+
Production client bundles compiled `process.env.NODE_ENV` as development, because Bun.build does so unless told otherwise, whatever the environment says. React's own vendor build was already fixed, but anything else a page bundled took its development build. That made bundles larger and slower, and could pair a package's development code with production React: the reconciler inside @react-three/fiber reads React's `actQueue`, which production React doesn't have, and threw on absolutejs.ai's billing page. React, other-framework, island and worker client builds now say production in a production build. Development builds are unchanged.
|
|
22
|
+
|
|
9
23
|
## 0.20.0-beta.165 — 2026-11-05
|
|
10
24
|
|
|
11
25
|
### Added
|
package/changelog.json
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
"contract": 1,
|
|
3
3
|
"name": "@absolutejs/absolute",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"changes": [
|
|
7
|
+
{
|
|
8
|
+
"detail": "CSS imported by JavaScript remained in stale style nodes while style-update only reloaded linked bundles. Refresh source stylesheet modules in place to preserve cascade order, rebuild configured CSS entries when imported partials change outside stylesConfig, and run CSS-only incremental builds. Static asset updates now invalidate matching image and favicon URLs. The dev launcher selects patched Bun 1.4.4+absolute.2. React, CSS, logo, and favicon changes were verified in an open Job Tracker page without navigation.",
|
|
9
|
+
"kind": "fixed",
|
|
10
|
+
"summary": "Refresh imported CSS, stylesheet dependencies, and changed image assets during HMR"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"date": "2026-11-09",
|
|
14
|
+
"version": "0.20.0-beta.167"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"changes": [
|
|
18
|
+
{
|
|
19
|
+
"detail": "Production client bundles compiled `process.env.NODE_ENV` as development, because Bun.build does so unless told otherwise, whatever the environment says. React's own vendor build was already fixed, but anything else a page bundled took its development build. That made bundles larger and slower, and could pair a package's development code with production React: the reconciler inside @react-three/fiber reads React's `actQueue`, which production React doesn't have, and threw on absolutejs.ai's billing page. React, other-framework, island and worker client builds now say production in a production build. Development builds are unchanged.",
|
|
20
|
+
"kind": "fixed",
|
|
21
|
+
"summary": "Production client bundles use the production build of every package"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"date": "2026-11-06",
|
|
25
|
+
"version": "0.20.0-beta.166"
|
|
26
|
+
},
|
|
5
27
|
{
|
|
6
28
|
"changes": [
|
|
7
29
|
{
|
|
@@ -300,10 +322,10 @@
|
|
|
300
322
|
{
|
|
301
323
|
"changes": [
|
|
302
324
|
{
|
|
303
|
-
"detail": "Elysia 2.0.0-rc.0 renamed every lifecycle hook to its `on` form (request
|
|
325
|
+
"detail": "Elysia 2.0.0-rc.0 renamed every lifecycle hook to its `on` form (request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform) and removed setup/cleanup in favour of onStart/onStop. The framework now builds, tests and ships against Elysia 2.0.0-rc.0 and the matching @elysia plugins, and requires `elysia ^2.0.0-rc.0`, so it also accepts later release candidates and 2.0.0. It moves with the packages that made the same change: @absolutejs/auth 0.101 and @absolutejs/sync 3, plus pwa, sync-capacitor and sync-expo releases that accept sync 3.",
|
|
304
326
|
"kind": "breaking",
|
|
305
327
|
"migration": {
|
|
306
|
-
"instruction": "Upgrade `elysia` and every `@elysia/*` package to 2.0.0-rc.0 or later, `@absolutejs/auth` to 0.101 or later and `@absolutejs/sync` to 3. Then rename lifecycle hooks in your server: request
|
|
328
|
+
"instruction": "Upgrade `elysia` and every `@elysia/*` package to 2.0.0-rc.0 or later, `@absolutejs/auth` to 0.101 or later and `@absolutejs/sync` to 3. Then rename lifecycle hooks in your server: request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform; replace setup/cleanup with onStart/onStop. The codemod at absolutejs/scripts codemods/elysia-rc-hooks.ts does the renames (run it before upgrading Elysia).",
|
|
307
329
|
"manual": true
|
|
308
330
|
},
|
|
309
331
|
"summary": "Requires Elysia 2.0.0-rc.0, @absolutejs/auth 0.101 and @absolutejs/sync 3",
|
|
@@ -324,7 +346,7 @@
|
|
|
324
346
|
"summary": "Browser test recordings and reports no longer restart absolute dev"
|
|
325
347
|
},
|
|
326
348
|
{
|
|
327
|
-
"detail": "An app that imports one of its own workspace packages (`\"@acme/core\": \"workspace:*\"`) did not run under `absolute dev`. With Bun's isolated linker, the default for a workspace, the dev build imported the package from the framework's own folder, could not find it, and the server crash-looped. With the hoisted linker the page rendered but never hydrated: modules outside the app's folder were addressed as `/@src
|
|
349
|
+
"detail": "An app that imports one of its own workspace packages (`\"@acme/core\": \"workspace:*\"`) did not run under `absolute dev`. With Bun's isolated linker, the default for a workspace, the dev build imported the package from the framework's own folder, could not find it, and the server crash-looped. With the hoisted linker the page rendered but never hydrated: modules outside the app's folder were addressed as `/@src/../…`, which a browser collapses before asking, so they 404ed. Now a package that resolves to source outside node_modules is the app's own code: served and transpiled like the app's files rather than vendored, its folder watched, and an edit to it hot-reloads in place (server and browser) instead of restarting the server or reloading the page. Packages are read from the app's folder, so any dependency only the app declares also works under the isolated linker, and the dev server serves files outside the app folder (a workspace package, a node_modules hoisted to the workspace root) through `/@src/@up/…`. A `dev.watchDirs` entry or a symlink written to work around this is no longer needed.",
|
|
328
350
|
"kind": "fixed",
|
|
329
351
|
"summary": "`absolute dev` runs apps that import their own workspace packages, under Bun's isolated or hoisted linker, with hot reload"
|
|
330
352
|
},
|
|
@@ -363,7 +385,7 @@
|
|
|
363
385
|
{
|
|
364
386
|
"detail": "Production builds bundled React into its vendor files without setting `process.env.NODE_ENV`, so React picked its development build: `react-dom_client.js` was 903 KB, and React ran its development checks in every production page. Production builds now set `process.env.NODE_ENV` to `\"production\"`: 400 KB, 81 KB gzipped. Only whitespace is minified; renaming identifiers or minifying syntax across the split vendor chunks makes Bun emit an export named `__INVALID__REF__`, which stopped compiled executables from hydrating. `absolute dev` is unchanged; Fast Refresh needs the development build.",
|
|
365
387
|
"kind": "fixed",
|
|
366
|
-
"summary": "Production builds ship React's production build (react-dom 903 KB
|
|
388
|
+
"summary": "Production builds ship React's production build (react-dom 903 KB → 400 KB, no development checks)"
|
|
367
389
|
},
|
|
368
390
|
{
|
|
369
391
|
"detail": "React Fast Refresh updates the components it registered. Editing a module that registers none (a class component, or a `memo`/`forwardRef` wrapper the transpiler does not register) re-ran only that module, and its importer kept rendering the old one, so the edit never showed until a reload. The update now also re-imports the module's importers up to the nearest one that registers a component, so the edit appears and the rest of the page keeps its state.",
|
|
@@ -537,7 +559,7 @@
|
|
|
537
559
|
"summary": "The dev server starts when a server module re-exports with inline `type` specifiers"
|
|
538
560
|
},
|
|
539
561
|
{
|
|
540
|
-
"detail": "In 0.20.0-beta.129 the published package bundles the dev bootstrap separately from the code that reacts to file changes, and each bundle kept its own copy of the hot runtime's state. The file-change side never saw what the bootstrap had installed, so every server edit was reported as not hot-managed and restarted the server, which is the behaviour backend HMR was meant to remove. The state now lives on `globalThis`, so every bundle shares one runtime. A server edit now updates in place in the published package as well, at about 50
|
|
562
|
+
"detail": "In 0.20.0-beta.129 the published package bundles the dev bootstrap separately from the code that reacts to file changes, and each bundle kept its own copy of the hot runtime's state. The file-change side never saw what the bootstrap had installed, so every server edit was reported as not hot-managed and restarted the server, which is the behaviour backend HMR was meant to remove. The state now lives on `globalThis`, so every bundle shares one runtime. A server edit now updates in place in the published package as well, at about 50–250ms for a handler and about 150–300ms for a plugin or the server entry on a large app.",
|
|
541
563
|
"kind": "fixed",
|
|
542
564
|
"summary": "Server edits update in place in the published package instead of restarting"
|
|
543
565
|
},
|
|
@@ -558,7 +580,7 @@
|
|
|
558
580
|
{
|
|
559
581
|
"changes": [
|
|
560
582
|
{
|
|
561
|
-
"detail": "Editing a server module in development used to restart the whole server: a second or more of downtime, every open page dropped, every connection, pool, queue worker and in-memory cache rebuilt. Server modules are now updated in place, statement by statement. A save re-runs only the top-level statements whose own text changed, those that use something that changed, and the importer statements that call a changed export; everything else (database pools, workers, caches, `let` state) is kept as it was. React pages and components the server imports for SSR are updated the same way, so the next request renders the edit. A handler edit typically lands in 1
|
|
583
|
+
"detail": "Editing a server module in development used to restart the whole server: a second or more of downtime, every open page dropped, every connection, pool, queue worker and in-memory cache rebuilt. Server modules are now updated in place, statement by statement. A save re-runs only the top-level statements whose own text changed, those that use something that changed, and the importer statements that call a changed export; everything else (database pools, workers, caches, `let` state) is kept as it was. React pages and components the server imports for SSR are updated the same way, so the next request renders the edit. A handler edit typically lands in 1–50ms with nothing else re-run, and exactly one update is applied per save. What a replaced statement started is stopped before its replacement runs: intervals, timeouts and timer chains (cron libraries included), immediates, `process` listeners, extra `Bun.serve` servers (a fixed port is handed over), workers and `onHotDispose` callbacks. Work started by requests and WebSocket events is never stopped. Rebuilding the Elysia app swaps it onto the running server and runs the old app's `cleanup` and the new app's `setup` hooks, as a stop followed by a listen would. An edit that fails to parse or throws while running keeps the previous version serving, and everything it started is rolled back; the fix applies normally. Set `ABSOLUTE_BACKEND_HMR=0` to restart on server edits as before. See docs/BACKEND_HMR.md.",
|
|
562
584
|
"kind": "added",
|
|
563
585
|
"summary": "Server code edits in development update the running server in place instead of restarting it",
|
|
564
586
|
"symbols": [
|
|
@@ -602,7 +624,7 @@
|
|
|
602
624
|
{
|
|
603
625
|
"changes": [
|
|
604
626
|
{
|
|
605
|
-
"detail": "When a page failed its on-demand build in development, the handler threw `Asset \"<Page>\" not found in manifest.` and left the response to whichever error handler answered first. An app with its own `onError` (most real apps) showed its generic error page, so the actual cause
|
|
627
|
+
"detail": "When a page failed its on-demand build in development, the handler threw `Asset \"<Page>\" not found in manifest.` and left the response to whichever error handler answered first. An app with its own `onError` (most real apps) showed its generic error page, so the actual cause — a missing import, a syntax error — was only in the terminal. Page handlers for Vue, React, Svelte, Angular and Ember now return a Build Error page themselves, with the build's own error message, and the page reloads by itself once a rebuild lands or the dev server comes back. AbsoluteJS's fallback error page for missing assets shows the same build error.",
|
|
606
628
|
"kind": "fixed",
|
|
607
629
|
"summary": "A page that fails to build in development shows the real build error and reloads itself once fixed",
|
|
608
630
|
"symbols": [
|
|
@@ -611,7 +633,7 @@
|
|
|
611
633
|
]
|
|
612
634
|
},
|
|
613
635
|
{
|
|
614
|
-
"detail": "Any changed file no HMR pipeline handled restarted the dev server, including documentation and test files the server never runs. Each restart dropped every open page for seconds and rebuilt them from nothing. Now documents (`.md`, `.txt`,
|
|
636
|
+
"detail": "Any changed file no HMR pipeline handled restarted the dev server, including documentation and test files the server never runs. Each restart dropped every open page for seconds and rebuilt them from nothing. Now documents (`.md`, `.txt`, …) and test files never restart it; code modules restart it only when the running server process has loaded them (a module nothing has imported yet loads fresh on first use); config such as `.env`, `package.json` and `tsconfig.json` still does.",
|
|
615
637
|
"kind": "fixed",
|
|
616
638
|
"summary": "Editing docs, tests or code the server never loaded no longer restarts the dev server"
|
|
617
639
|
}
|
|
@@ -649,7 +671,7 @@
|
|
|
649
671
|
{
|
|
650
672
|
"changes": [
|
|
651
673
|
{
|
|
652
|
-
"detail": "The Vue build copies every `.ts` helper a page reaches into its generated tree, but it found them with a regex that only matched `import
|
|
674
|
+
"detail": "The Vue build copies every `.ts` helper a page reaches into its generated tree, but it found them with a regex that only matched `import … from`. A helper reached only through a re-export (`export { x } from './y'` or `export * from './y'`) was never copied, so the build failed with `Could not resolve: \"./y\"` and every page above it answered 500 in dev. Dependencies are now read with Bun's import scanner, which sees imports, dynamic imports and all three re-export forms; a regex that also covers re-exports is the fallback for source that does not parse.",
|
|
653
675
|
"kind": "fixed",
|
|
654
676
|
"summary": "Vue pages that reach a helper through a re-export build again"
|
|
655
677
|
}
|
|
@@ -1067,7 +1089,7 @@
|
|
|
1067
1089
|
{
|
|
1068
1090
|
"changes": [
|
|
1069
1091
|
{
|
|
1070
|
-
"detail": "The provider-neutral release command now installs the exact Capacitor AAB-derived APK set on the managed emulator, takes both network transports offline, and requires an AbsoluteJS-owned native readiness signal across a cold launch and process relaunch. Bun workspace-hoisted Capacitor executables and package manifests are resolved only through the application
|
|
1092
|
+
"detail": "The provider-neutral release command now installs the exact Capacitor AAB-derived APK set on the managed emulator, takes both network transports offline, and requires an AbsoluteJS-owned native readiness signal across a cold launch and process relaunch. Bun workspace-hoisted Capacitor executables and package manifests are resolved only through the application’s governing workspace. Reports and telemetry retain only provider, artifact identity, outcome, and bounded timings.",
|
|
1071
1093
|
"kind": "added",
|
|
1072
1094
|
"summary": "Capacitor Android releases gain installed offline AAB acceptance"
|
|
1073
1095
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// .angular-partial-tmp-
|
|
2
|
+
// .angular-partial-tmp-0mmkCI/src/core/streamingSlotRegistrar.ts
|
|
3
3
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
4
4
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
5
5
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// .angular-partial-tmp-
|
|
2
|
+
// .angular-partial-tmp-0mmkCI/src/core/streamingSlotRegistrar.ts
|
|
3
3
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
4
4
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
5
5
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -46,7 +46,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
46
46
|
getWarningController()?.maybeWarn(primitiveName);
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
// .angular-partial-tmp-
|
|
49
|
+
// .angular-partial-tmp-0mmkCI/src/core/streamingSlotRegistry.ts
|
|
50
50
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
51
51
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
52
52
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
package/dist/build.js
CHANGED
|
@@ -12694,7 +12694,7 @@ var resolveBuildDevelopmentMode = (mode, nodeEnv) => mode === "development" || m
|
|
|
12694
12694
|
__VUE_OPTIONS_API__: "true",
|
|
12695
12695
|
__VUE_PROD_DEVTOOLS__: development ? "true" : "false",
|
|
12696
12696
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: development ? "true" : "false"
|
|
12697
|
-
});
|
|
12697
|
+
}), resolveClientDefine = (development, define = {}) => development ? define : { ...define, "process.env.NODE_ENV": '"production"' };
|
|
12698
12698
|
|
|
12699
12699
|
// src/utils/commonAncestor.ts
|
|
12700
12700
|
var commonAncestor = (paths, fallback) => {
|
|
@@ -23343,6 +23343,8 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
23343
23343
|
const buildStart = performance.now();
|
|
23344
23344
|
const isDev = resolveBuildDevelopmentMode(mode, env2.NODE_ENV);
|
|
23345
23345
|
const vueFeatureFlags = resolveVueFeatureFlags(isDev);
|
|
23346
|
+
const clientDefine = resolveClientDefine(isDev);
|
|
23347
|
+
const clientDefineWithVue = resolveClientDefine(isDev, vueDirectory ? vueFeatureFlags : {});
|
|
23346
23348
|
const projectRoot = cwd();
|
|
23347
23349
|
const devServerExternalsPlugins = isDev ? [
|
|
23348
23350
|
createDevServerExternalsPlugin({
|
|
@@ -23727,7 +23729,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
23727
23729
|
...allAngularEntries.map((source) => toDevPageEntry("angular", source)),
|
|
23728
23730
|
...allEmberEntries.map((source) => toDevPageEntry("ember", source))
|
|
23729
23731
|
] : [];
|
|
23730
|
-
const globalCssEntries = isIncremental ? filterToIncrementalEntries(allGlobalCssEntries, (entry) => entry)
|
|
23732
|
+
const globalCssEntries = !isIncremental || incrementalFiles?.some(isStylePath) ? allGlobalCssEntries : filterToIncrementalEntries(allGlobalCssEntries, (entry) => entry);
|
|
23731
23733
|
const hmrClientBundlePromise = hmr && (htmlDir || htmxDir) ? buildHMRClient() : undefined;
|
|
23732
23734
|
const allFrameworkDirs = [
|
|
23733
23735
|
reactDir,
|
|
@@ -24012,7 +24014,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
24012
24014
|
generatedRoot: join46(buildPath, "_island_entries")
|
|
24013
24015
|
};
|
|
24014
24016
|
const islandClientEntryPoints = islandEntryResult.entries.map((entry) => entry.entryPath);
|
|
24015
|
-
if (!deferPageEntries && serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && urlReferencedFiles.length === 0 && islandClientEntryPoints.length === 0 && htmxDir === undefined && htmlDir === undefined) {
|
|
24017
|
+
if (!deferPageEntries && serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && urlReferencedFiles.length === 0 && islandClientEntryPoints.length === 0 && globalCssEntries.length === 0 && htmxDir === undefined && htmlDir === undefined) {
|
|
24016
24018
|
logWarn("No entry points found, manifest will be empty");
|
|
24017
24019
|
sendTelemetryEvent("build:empty", {
|
|
24018
24020
|
configuredDirs: {
|
|
@@ -24131,6 +24133,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
24131
24133
|
const htmlScriptPlugin = hmr ? createHTMLScriptHMRPlugin(htmlDir, htmxDir) : undefined;
|
|
24132
24134
|
const reactBuildConfig = reactClientEntryPoints.length > 0 ? mergeBunBuildConfig({
|
|
24133
24135
|
banner: pwaArtifacts?.bootstrapBanner,
|
|
24136
|
+
define: clientDefine,
|
|
24134
24137
|
entrypoints: reactClientEntryPoints,
|
|
24135
24138
|
external: [
|
|
24136
24139
|
...new Set([
|
|
@@ -24209,7 +24212,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
24209
24212
|
nonReactClientEntryPoints.length > 0 ? tracePhase("bun/non-react-client", () => bunBuild7(mergeBunBuildConfig({
|
|
24210
24213
|
banner: pwaArtifacts?.bootstrapBanner,
|
|
24211
24214
|
conditions: svelteResolveConditions,
|
|
24212
|
-
define:
|
|
24215
|
+
define: clientDefineWithVue,
|
|
24213
24216
|
entrypoints: nonReactClientEntryPoints,
|
|
24214
24217
|
external: Object.keys(nonReactExternalPaths),
|
|
24215
24218
|
format: "esm",
|
|
@@ -24238,6 +24241,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
24238
24241
|
}, resolveBunBuildOverride(bunBuildConfig, "nonReactClient")))) : undefined,
|
|
24239
24242
|
urlReferencedFiles.length > 0 ? tracePhase("bun/worker-client", () => bunBuild7(mergeBunBuildConfig({
|
|
24240
24243
|
conditions: svelteResolveConditions,
|
|
24244
|
+
define: clientDefine,
|
|
24241
24245
|
entrypoints: urlReferencedFiles,
|
|
24242
24246
|
external: Object.keys(nonReactExternalPaths),
|
|
24243
24247
|
format: "esm",
|
|
@@ -24255,7 +24259,7 @@ ${offenders.map((o) => ` \u2022 ${o}`).join(`
|
|
|
24255
24259
|
islandClientEntryPoints.length > 0 ? tracePhase("bun/island-client", () => bunBuild7(mergeBunBuildConfig({
|
|
24256
24260
|
banner: pwaArtifacts?.bootstrapBanner,
|
|
24257
24261
|
conditions: svelteResolveConditions,
|
|
24258
|
-
define:
|
|
24262
|
+
define: clientDefineWithVue,
|
|
24259
24263
|
entrypoints: islandClientEntryPoints,
|
|
24260
24264
|
external: Object.keys(nonReactExternalPaths),
|
|
24261
24265
|
format: "esm",
|
|
@@ -32388,12 +32392,13 @@ ${code}`;
|
|
|
32388
32392
|
const raw = readFileSync43(filePath, "utf-8");
|
|
32389
32393
|
const escaped = raw.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
32390
32394
|
return [
|
|
32391
|
-
`const
|
|
32395
|
+
`const id = ${JSON.stringify(filePath)};`,
|
|
32396
|
+
`const existing = Array.from(document.querySelectorAll('style[data-hmr-id]')).find(el => el.dataset.hmrId === id);`,
|
|
32397
|
+
`const style = existing || document.createElement('style');`,
|
|
32392
32398
|
`style.textContent = \`${escaped}\`;`,
|
|
32393
|
-
`style.dataset.hmrId =
|
|
32394
|
-
`
|
|
32395
|
-
`if (existing)
|
|
32396
|
-
`document.head.appendChild(style);`
|
|
32399
|
+
`style.dataset.hmrId = id;`,
|
|
32400
|
+
`style.dataset.hmrSrc = import.meta.url;`,
|
|
32401
|
+
`if (!existing) document.head.appendChild(style);`
|
|
32397
32402
|
].join(`
|
|
32398
32403
|
`);
|
|
32399
32404
|
}, generateSvelteHmrBootstrap = (moduleUrl, vendorPaths, timestamp) => {
|
|
@@ -34549,6 +34554,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
|
|
|
34549
34554
|
logHmrUpdate(relative27(process.cwd(), filePath));
|
|
34550
34555
|
broadcastToClients(state, {
|
|
34551
34556
|
data: {
|
|
34557
|
+
assetUrl: webPath,
|
|
34552
34558
|
framework: urlPrefix || "public",
|
|
34553
34559
|
manifest: state.manifest,
|
|
34554
34560
|
serverDuration: Math.round(performance.now() - startedAt),
|
|
@@ -37979,5 +37985,5 @@ export {
|
|
|
37979
37985
|
devBuild
|
|
37980
37986
|
};
|
|
37981
37987
|
|
|
37982
|
-
//# debugId=
|
|
37988
|
+
//# debugId=28A6554DD474CEE164756E2164756E21
|
|
37983
37989
|
//# sourceMappingURL=build.js.map
|