@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 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 provides and implements primitives rather than opinions. Instead of dictating how you build, it gives you portable building blocks that work everywhere.
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-UJ7PMMOM.js");
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-QZE6GNRD.js");
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.1",
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": {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ServerBundler,
3
3
  loadPlatformModule
4
- } from "./chunk-LVKYX67O.js";
4
+ } from "./chunk-ZIKUWTXK.js";
5
5
  import {
6
6
  findProjectRoot,
7
7
  findWorkspaceRoot
@@ -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"));
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ServerBundler,
3
3
  loadPlatformModule
4
- } from "./chunk-LVKYX67O.js";
4
+ } from "./chunk-ZIKUWTXK.js";
5
5
  import {
6
6
  DEFAULTS
7
7
  } from "./chunk-NZVIBZYG.js";