@b9g/shovel 0.2.1 → 0.2.2
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 +6 -0
- package/README.md +3 -1
- package/bin/cli.js +2 -2
- package/package.json +1 -1
- package/src/_chunks/{build-QZE6GNRD.js → build-5DSZYRHR.js} +1 -1
- package/src/_chunks/{chunk-LVKYX67O.js → chunk-ZIKUWTXK.js} +6 -0
- package/src/_chunks/{develop-UJ7PMMOM.js → develop-DNLCO6BX.js} +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Shovel will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.2] - 2026-01-30
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **Fix asset manifest invalidation in dev mode** - Assets with new content hashes after client bundle changes no longer return 404. The root cause was build-time manifest resolution reading stale data from disk during rebuilds. ([#36](https://github.com/bikeshaving/shovel/pull/36), fixes [#35](https://github.com/bikeshaving/shovel/issues/35))
|
|
10
|
+
|
|
5
11
|
## [0.2.0-beta.12] - 2026-01-14
|
|
6
12
|
|
|
7
13
|
### Breaking Changes
|
package/README.md
CHANGED
|
@@ -69,7 +69,9 @@ Your code uses standards. Shovel makes them work everywhere.
|
|
|
69
69
|
|
|
70
70
|
## Meta-Framework
|
|
71
71
|
|
|
72
|
-
Shovel is a meta-framework: it
|
|
72
|
+
Shovel is a meta-framework: it generates bundles and compiles your code with ESBuild.
|
|
73
|
+
You write code, and it runs in development and production with the exact same APIs.
|
|
74
|
+
Shovel takes care of single file bundle requirements, and transpiling JSX/TypeScript.
|
|
73
75
|
|
|
74
76
|
## True Portability
|
|
75
77
|
|
package/bin/cli.js
CHANGED
|
@@ -75,7 +75,7 @@ program.command("develop <entrypoint>").description("Start development server wi
|
|
|
75
75
|
DEFAULTS.WORKERS
|
|
76
76
|
).option("--platform <name>", "Runtime platform (node, cloudflare, bun)").action(async (entrypoint, options) => {
|
|
77
77
|
checkPlatformReexec(options);
|
|
78
|
-
const { developCommand } = await import("../src/_chunks/develop-
|
|
78
|
+
const { developCommand } = await import("../src/_chunks/develop-DNLCO6BX.js");
|
|
79
79
|
await developCommand(entrypoint, options, config);
|
|
80
80
|
});
|
|
81
81
|
program.command("build <entrypoint>").description("Build app for production").option("--platform <name>", "Runtime platform (node, cloudflare, bun)").option(
|
|
@@ -83,7 +83,7 @@ program.command("build <entrypoint>").description("Build app for production").op
|
|
|
83
83
|
"Run ServiceWorker lifecycle after build (install or activate, default: activate)"
|
|
84
84
|
).action(async (entrypoint, options) => {
|
|
85
85
|
checkPlatformReexec(options);
|
|
86
|
-
const { buildCommand } = await import("../src/_chunks/build-
|
|
86
|
+
const { buildCommand } = await import("../src/_chunks/build-5DSZYRHR.js");
|
|
87
87
|
await buildCommand(entrypoint, options, config);
|
|
88
88
|
process.exit(0);
|
|
89
89
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@b9g/shovel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "ServiceWorker-first universal deployment platform. Write ServiceWorker apps once, deploy anywhere (Node/Bun/Cloudflare). Registry-based multi-app orchestration.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -475,6 +475,12 @@ function createAssetsManifestPlugin(projectRoot, outDir = "dist", sharedManifest
|
|
|
475
475
|
namespace: "shovel-assets"
|
|
476
476
|
}));
|
|
477
477
|
build2.onLoad({ filter: /.*/, namespace: "shovel-assets" }, () => {
|
|
478
|
+
if (sharedManifest) {
|
|
479
|
+
return {
|
|
480
|
+
contents: `export default ${MANIFEST_PLACEHOLDER};`,
|
|
481
|
+
loader: "js"
|
|
482
|
+
};
|
|
483
|
+
}
|
|
478
484
|
if (existsSync2(manifestPath)) {
|
|
479
485
|
try {
|
|
480
486
|
const manifest = JSON.parse(readFileSync2(manifestPath, "utf8"));
|