@b9g/shovel 0.2.0-beta.12 → 0.2.0-beta.14

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -2,6 +2,57 @@
2
2
 
3
3
  All notable changes to Shovel will be documented in this file.
4
4
 
5
+ ## [0.2.0-beta.12] - 2026-01-14
6
+
7
+ ### Breaking Changes
8
+
9
+ - **`shovel activate` command removed** - Use `shovel build --lifecycle` instead
10
+ - **`loadServiceWorker()` removed** - Use `platform.serviceWorker.register()` instead
11
+ - **`getEntryWrapper()` removed** - Use `getProductionEntryPoints()` instead
12
+
13
+ ### Build System Unification
14
+
15
+ Major refactor of the build system to be platform-driven and unified across all commands.
16
+
17
+ - **New `ServerBundler` class** - Unified bundler replacing separate build/watch logic
18
+ - **Platform-driven entry points** - Platforms define their output structure via `getProductionEntryPoints()`:
19
+ - Node/Bun: `{ index: "<supervisor>", worker: "<worker>" }` - two files
20
+ - Cloudflare: `{ worker: "<code>" }` - single file
21
+ - **Deleted `activate` command** - Replaced with `shovel build --lifecycle` flag
22
+ - `--lifecycle` - runs activate stage (default)
23
+ - `--lifecycle install` - runs install stage only
24
+
25
+ ### API Changes
26
+
27
+ - **New `platform.serviceWorker.register()` API** - Mirrors browser's `navigator.serviceWorker.register()`
28
+ - **Deleted `loadServiceWorker()`** - Use `serviceWorker.register()` instead
29
+ - **New `platform.listen()` / `close()`** - Server lifecycle management
30
+ - **New `runLifecycle()` and `dispatchRequest()`** - Public runtime utilities
31
+
32
+ ### Code Quality
33
+
34
+ - Extracted `mergeConfigWithDefaults()` helper to reduce duplication
35
+ - Added JSDoc to platform `create*` methods documenting defaults
36
+ - Standardized import organization (node builtins → external → @b9g/* → relative)
37
+ - Renamed `isDynamicCode` → `containsRuntimeExpressions` for clarity
38
+
39
+ ### Package Updates
40
+
41
+ - `@b9g/platform` → 0.1.14-beta.0
42
+ - `@b9g/platform-node` → 0.1.14-beta.0
43
+ - `@b9g/platform-bun` → 0.1.12-beta.0
44
+ - `@b9g/platform-cloudflare` → 0.1.12-beta.0
45
+
46
+ ### Deleted Files
47
+
48
+ - `src/commands/activate.ts` - Replaced by `build --lifecycle`
49
+ - `src/utils/watcher.ts` - Merged into `ServerBundler`
50
+ - `src/plugins/shovel.ts` - Split into `config.ts` + `entry.ts`
51
+ - `packages/platform/test/single-threaded.test.ts`
52
+ - `SingleThreadedRuntime` class - All platforms now use `ServiceWorkerPool`
53
+
54
+ ---
55
+
5
56
  ## [0.2.0-beta.11] - 2026-01-10
6
57
 
7
58
  ### Changes since beta.10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@b9g/shovel",
3
- "version": "0.2.0-beta.12",
3
+ "version": "0.2.0-beta.14",
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": {
@@ -30,10 +30,10 @@
30
30
  "@b9g/filesystem": "^0.1.8",
31
31
  "@b9g/http-errors": "^0.2.0-beta.0",
32
32
  "@b9g/libuild": "^0.1.22",
33
- "@b9g/platform": "^0.1.13",
34
- "@b9g/platform-bun": "^0.1.11",
35
- "@b9g/platform-cloudflare": "^0.1.11",
36
- "@b9g/platform-node": "^0.1.13",
33
+ "@b9g/platform": "^0.1.14-beta.0",
34
+ "@b9g/platform-bun": "^0.1.12-beta.0",
35
+ "@b9g/platform-cloudflare": "^0.1.12-beta.0",
36
+ "@b9g/platform-node": "^0.1.14-beta.0",
37
37
  "@b9g/router": "^0.2.0-beta.1",
38
38
  "@types/bun": "^1.3.4",
39
39
  "@typescript-eslint/eslint-plugin": "^8.0.0",
@@ -46,10 +46,10 @@
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@b9g/node-webworker": "^0.2.0-beta.1",
49
- "@b9g/platform": "^0.1.13",
50
- "@b9g/platform-node": "^0.1.13",
51
- "@b9g/platform-cloudflare": "^0.1.11",
52
- "@b9g/platform-bun": "^0.1.11",
49
+ "@b9g/platform": "^0.1.14-beta.0",
50
+ "@b9g/platform-node": "^0.1.14-beta.0",
51
+ "@b9g/platform-cloudflare": "^0.1.12-beta.0",
52
+ "@b9g/platform-bun": "^0.1.12-beta.0",
53
53
  "@b9g/cache": "^0.2.0-beta.0",
54
54
  "@b9g/filesystem": "^0.1.8",
55
55
  "@b9g/http-errors": "^0.2.0-beta.0"