@absolutejs/absolute 0.20.0-beta.147 → 0.20.0-beta.149
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 +12 -0
- package/changelog.json +49 -25
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build/buildWorker.js +23 -14
- package/dist/build.js +420 -391
- package/dist/build.js.map +10 -8
- package/dist/cli/{buildDepVendor-g49s8rr1.js → buildDepVendor-29d8v9cx.js} +2 -1
- package/dist/cli/{dev-2s1wgybw.js → dev-b9d4vnk0.js} +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/index.js +582 -553
- package/dist/index.js.map +10 -8
- package/dist/src/build/inlineCssImports.d.ts +1 -0
- package/dist/src/dev/runtimePaths.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,18 @@ 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.149 — 2026-10-24
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Resolve relative CSS imports in Vue development modules using the same compiler path as production builds.**
|
|
14
|
+
|
|
15
|
+
## 0.20.0-beta.148 — 2026-10-23
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **Resolve and scan the shipped HMR runtime in published packages so browser chunks receive valid Sync vendor URLs.**
|
|
20
|
+
|
|
9
21
|
## 0.20.0-beta.147 — 2026-10-23
|
|
10
22
|
|
|
11
23
|
### Fixed
|
package/changelog.json
CHANGED
|
@@ -3,53 +3,56 @@
|
|
|
3
3
|
"name": "@absolutejs/absolute",
|
|
4
4
|
"releases": [
|
|
5
5
|
{
|
|
6
|
-
"version": "0.20.0-beta.146",
|
|
7
|
-
"date": "2026-10-23",
|
|
8
6
|
"changes": [
|
|
9
7
|
{
|
|
10
8
|
"kind": "fixed",
|
|
11
|
-
"summary": "
|
|
12
|
-
"symbols": [
|
|
13
|
-
"prepare",
|
|
14
|
-
"PrepareResult",
|
|
15
|
-
"startDevPrebuild"
|
|
16
|
-
],
|
|
17
|
-
"detail": "Register internal routes on the same runtime instance without exposing environment-specific internal route unions. No casts, compiler suppressions, or runtime middleware changes are needed in consumers."
|
|
9
|
+
"summary": "Resolve relative CSS imports in Vue development modules using the same compiler path as production builds."
|
|
18
10
|
}
|
|
19
|
-
]
|
|
11
|
+
],
|
|
12
|
+
"date": "2026-10-24",
|
|
13
|
+
"version": "0.20.0-beta.149"
|
|
20
14
|
},
|
|
21
15
|
{
|
|
22
16
|
"changes": [
|
|
23
17
|
{
|
|
24
|
-
"detail": "`absolute fmt` formats with Bun's built-in `bun fmt` (Bun 1.4.4 or newer). It reads the project's existing Prettier configuration (`.prettierrc*`, overrides, `.prettierignore`, `.editorconfig`) and produces the same output as Prettier 3.9, Svelte included, in milliseconds, so it needs no cache. `absolute fmt --check` exits non-zero when files need formatting. On older Bun it says so and points to `absolute prettier`, which stays for projects whose Prettier plugins `bun fmt` doesn't support.",
|
|
25
|
-
"kind": "added",
|
|
26
|
-
"summary": "`absolute fmt` formats with bun fmt, using your Prettier config"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"detail": "Builds named `./tsconfig.json` to Bun.build whether or not the project had one. Bun ignored the option until 1.4.3; from 1.4.3 it reads it and fails with `Cannot find tsconfig file`, so on Bun 1.4.3+ a project without a tsconfig.json could not build, compile or start its dev client. The tsconfig is now named only when it exists; otherwise Bun finds the nearest one itself, as it did before.",
|
|
30
18
|
"kind": "fixed",
|
|
31
|
-
"summary": "
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"detail": "`absolute dev` now selects AbsoluteJS's patched Bun 1.4.4 (`1.4.4+absolute.1`, installed and signature-checked by bvm) for React Fast Refresh. Stock Bun 1.4.4 still ignores `reactFastRefresh` on `Bun.Transpiler` (oven-sh/bun#32919), so React edits keep component state only on the patched build. The patched build now reports its full version as `Bun.version`, and the install check accepts it. Projects on the 1.4.2 patched build are offered the update.",
|
|
35
|
-
"kind": "changed",
|
|
36
|
-
"summary": "absolute dev uses the patched Bun 1.4.4 build"
|
|
19
|
+
"summary": "Resolve and scan the shipped HMR runtime in published packages so browser chunks receive valid Sync vendor URLs."
|
|
37
20
|
}
|
|
38
21
|
],
|
|
39
|
-
"date": "2026-10-
|
|
40
|
-
"version": "0.20.0-beta.
|
|
22
|
+
"date": "2026-10-23",
|
|
23
|
+
"version": "0.20.0-beta.148"
|
|
41
24
|
},
|
|
42
25
|
{
|
|
43
26
|
"changes": [
|
|
44
27
|
{
|
|
45
28
|
"kind": "fixed",
|
|
46
29
|
"summary": "absolute dev hides the detached Windows server console",
|
|
47
|
-
"symbols": [
|
|
30
|
+
"symbols": [
|
|
31
|
+
"PrepareResult",
|
|
32
|
+
"prepare",
|
|
33
|
+
"startDevPrebuild"
|
|
34
|
+
]
|
|
48
35
|
}
|
|
49
36
|
],
|
|
50
37
|
"date": "2026-10-23",
|
|
51
38
|
"version": "0.20.0-beta.147"
|
|
52
39
|
},
|
|
40
|
+
{
|
|
41
|
+
"changes": [
|
|
42
|
+
{
|
|
43
|
+
"detail": "Register internal routes on the same runtime instance without exposing environment-specific internal route unions. No casts, compiler suppressions, or runtime middleware changes are needed in consumers.",
|
|
44
|
+
"kind": "fixed",
|
|
45
|
+
"summary": "Give prepare a stable runtime plugin contract across development and production. Prevent exponential Elysia RC error-response type expansion as applications mount plugins, while preserving the types of application routes.",
|
|
46
|
+
"symbols": [
|
|
47
|
+
"prepare",
|
|
48
|
+
"PrepareResult",
|
|
49
|
+
"startDevPrebuild"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"date": "2026-10-23",
|
|
54
|
+
"version": "0.20.0-beta.146"
|
|
55
|
+
},
|
|
53
56
|
{
|
|
54
57
|
"changes": [
|
|
55
58
|
{
|
|
@@ -91,6 +94,27 @@
|
|
|
91
94
|
"date": "2026-10-22",
|
|
92
95
|
"version": "0.20.0-beta.145"
|
|
93
96
|
},
|
|
97
|
+
{
|
|
98
|
+
"changes": [
|
|
99
|
+
{
|
|
100
|
+
"detail": "`absolute fmt` formats with Bun's built-in `bun fmt` (Bun 1.4.4 or newer). It reads the project's existing Prettier configuration (`.prettierrc*`, overrides, `.prettierignore`, `.editorconfig`) and produces the same output as Prettier 3.9, Svelte included, in milliseconds, so it needs no cache. `absolute fmt --check` exits non-zero when files need formatting. On older Bun it says so and points to `absolute prettier`, which stays for projects whose Prettier plugins `bun fmt` doesn't support.",
|
|
101
|
+
"kind": "added",
|
|
102
|
+
"summary": "`absolute fmt` formats with bun fmt, using your Prettier config"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"detail": "Builds named `./tsconfig.json` to Bun.build whether or not the project had one. Bun ignored the option until 1.4.3; from 1.4.3 it reads it and fails with `Cannot find tsconfig file`, so on Bun 1.4.3+ a project without a tsconfig.json could not build, compile or start its dev client. The tsconfig is now named only when it exists; otherwise Bun finds the nearest one itself, as it did before.",
|
|
106
|
+
"kind": "fixed",
|
|
107
|
+
"summary": "Projects without a tsconfig.json build on Bun 1.4.3 and newer"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"detail": "`absolute dev` now selects AbsoluteJS's patched Bun 1.4.4 (`1.4.4+absolute.1`, installed and signature-checked by bvm) for React Fast Refresh. Stock Bun 1.4.4 still ignores `reactFastRefresh` on `Bun.Transpiler` (oven-sh/bun#32919), so React edits keep component state only on the patched build. The patched build now reports its full version as `Bun.version`, and the install check accepts it. Projects on the 1.4.2 patched build are offered the update.",
|
|
111
|
+
"kind": "changed",
|
|
112
|
+
"summary": "absolute dev uses the patched Bun 1.4.4 build"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"date": "2026-10-22",
|
|
116
|
+
"version": "0.20.0-beta.145"
|
|
117
|
+
},
|
|
94
118
|
{
|
|
95
119
|
"changes": [
|
|
96
120
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// .angular-partial-tmp-
|
|
2
|
+
// .angular-partial-tmp-sgg6Qh/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-sgg6Qh/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-sgg6Qh/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";
|
|
@@ -1422,11 +1422,10 @@ var init_stylePreprocessor = __esm(() => {
|
|
|
1422
1422
|
stylePreprocessorPlugin = createStylePreprocessorPlugin();
|
|
1423
1423
|
});
|
|
1424
1424
|
|
|
1425
|
-
// src/build/
|
|
1426
|
-
import {
|
|
1427
|
-
import { dirname as dirname4,
|
|
1428
|
-
var
|
|
1429
|
-
var transpiler2, inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
|
|
1425
|
+
// src/build/inlineCssImports.ts
|
|
1426
|
+
import { readFileSync as readFileSync5, realpathSync } from "fs";
|
|
1427
|
+
import { dirname as dirname4, resolve as resolve3 } from "path";
|
|
1428
|
+
var inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
|
|
1430
1429
|
const resolved = realpathSync(cssFilePath);
|
|
1431
1430
|
if (visited.has(resolved))
|
|
1432
1431
|
return "";
|
|
@@ -1439,22 +1438,31 @@ var transpiler2, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
|
|
|
1439
1438
|
const importedContent = readFileSync5(importedPath, "utf-8");
|
|
1440
1439
|
return inlineCssImports(importedContent, importedPath, visited);
|
|
1441
1440
|
});
|
|
1442
|
-
}
|
|
1441
|
+
};
|
|
1442
|
+
var init_inlineCssImports = __esm(() => {
|
|
1443
|
+
init_isFile();
|
|
1444
|
+
});
|
|
1445
|
+
|
|
1446
|
+
// src/build/compileVueSfc.ts
|
|
1447
|
+
import { existsSync as existsSync5, readFileSync as readFileSync6, realpathSync as realpathSync2 } from "fs";
|
|
1448
|
+
import { dirname as dirname5, relative as relative2, resolve as resolve4 } from "path";
|
|
1449
|
+
var {Transpiler: Transpiler2 } = globalThis.Bun;
|
|
1450
|
+
var transpiler2, toJs = (filePath, sourceDir) => {
|
|
1443
1451
|
if (filePath.endsWith(".vue"))
|
|
1444
1452
|
return filePath.replace(/\.vue$/, ".js");
|
|
1445
1453
|
if (filePath.endsWith(".ts"))
|
|
1446
1454
|
return filePath.replace(/\.ts$/, ".js");
|
|
1447
1455
|
if (isStylePath(filePath)) {
|
|
1448
1456
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
1449
|
-
return
|
|
1457
|
+
return resolve4(sourceDir, filePath);
|
|
1450
1458
|
}
|
|
1451
1459
|
return filePath;
|
|
1452
1460
|
}
|
|
1453
1461
|
if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
|
|
1454
|
-
const directTs =
|
|
1462
|
+
const directTs = resolve4(sourceDir, `${filePath}.ts`);
|
|
1455
1463
|
if (existsSync5(directTs))
|
|
1456
1464
|
return `${filePath}.js`;
|
|
1457
|
-
const indexedTs =
|
|
1465
|
+
const indexedTs = resolve4(sourceDir, filePath, "index.ts");
|
|
1458
1466
|
if (existsSync5(indexedTs))
|
|
1459
1467
|
return `${filePath}/index.js`;
|
|
1460
1468
|
}
|
|
@@ -1522,11 +1530,11 @@ const ${localName} = (source) => ${importedName}(
|
|
|
1522
1530
|
const compiledScript = hasScript ? compiler.compileScript(descriptor, {
|
|
1523
1531
|
fs: {
|
|
1524
1532
|
fileExists: isFile,
|
|
1525
|
-
realpath:
|
|
1533
|
+
realpath: realpathSync2,
|
|
1526
1534
|
readFile: (file) => {
|
|
1527
1535
|
if (!isFile(file))
|
|
1528
1536
|
return;
|
|
1529
|
-
const content =
|
|
1537
|
+
const content = readFileSync6(file, "utf-8");
|
|
1530
1538
|
typeDepHashes[file] = hashContent(content);
|
|
1531
1539
|
return content;
|
|
1532
1540
|
}
|
|
@@ -1539,10 +1547,10 @@ const ${localName} = (source) => ${importedName}(
|
|
|
1539
1547
|
for (const dep of typeDependencies) {
|
|
1540
1548
|
if (dep in typeDepHashes || !existsSync5(dep))
|
|
1541
1549
|
continue;
|
|
1542
|
-
typeDepHashes[dep] = hashContent(
|
|
1550
|
+
typeDepHashes[dep] = hashContent(readFileSync6(dep, "utf-8"));
|
|
1543
1551
|
}
|
|
1544
1552
|
const strippedScript = stripExports(compiledScript.content);
|
|
1545
|
-
const sourceDir =
|
|
1553
|
+
const sourceDir = dirname5(sourceFilePath);
|
|
1546
1554
|
const transpiledScript = rewriteRelativeImports(transpiler2.transformSync(strippedScript), sourceDir);
|
|
1547
1555
|
const generateRenderFunction = (ssr) => {
|
|
1548
1556
|
const rendered = compiler.compileTemplate({
|
|
@@ -1597,7 +1605,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
1597
1605
|
let result = code;
|
|
1598
1606
|
for (const [bareImport, paths] of packageImportRewrites) {
|
|
1599
1607
|
const targetPath = mode === "server" ? paths.server : paths.client;
|
|
1600
|
-
let rel = relative2(
|
|
1608
|
+
let rel = relative2(dirname5(outputPath), targetPath).replace(/\\/g, "/");
|
|
1601
1609
|
if (!rel.startsWith("."))
|
|
1602
1610
|
rel = `./${rel}`;
|
|
1603
1611
|
result = result.replaceAll(bareImport, rel);
|
|
@@ -1632,6 +1640,7 @@ var init_compileVueSfc = __esm(() => {
|
|
|
1632
1640
|
init_isFile();
|
|
1633
1641
|
init_chainInlineSourcemaps();
|
|
1634
1642
|
init_stylePreprocessor();
|
|
1643
|
+
init_inlineCssImports();
|
|
1635
1644
|
init_vueCompileCache();
|
|
1636
1645
|
transpiler2 = new Transpiler2({ loader: "ts", target: "browser" });
|
|
1637
1646
|
});
|