Skip to content

Commit c727e0e

Browse files
committed
docs(changelog): add superwatcher migration and Deno.errors entries
- Add @neabyte/superwatcher dependency to Added section - Add Deno.errors upgrade details to Changed section - Add Removed section for deleted WatchFs class and Watcher types - Remove WatchFs references from existing Added entries
1 parent 9cc4e38 commit c727e0e

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
1010

1111
### Added
1212

13-
- Hot reload for routes and templates via file system watchers (`WatchFs`, `Routing.Watcher`, `Rendering.Watcher`)
13+
- `@neabyte/superwatcher@^0.1.1` dependency for file watching with debounce, event dedup, and atomic write detection
14+
- Hot reload for routes and templates via file system watchers (`Routing.Watcher`, `Rendering.Watcher`)
1415
- `Helper` utility class consolidating `headersToRecord` from `Redirect` and `Response` into a shared `Helper.toRecord` method
15-
- `Watcher` interface types (`WatchedEvent`, `WatchFsOptions`) in `src/interfaces/Watcher.ts`
1616
- `Engine.viewsDir` getter, `Engine.invalidateFile()` and `Engine.refreshPaths()` for cache invalidation during hot reload
1717
- `Handler.reloadRoute()` and `Handler.removeRoute()` for runtime route replacement
1818
- `Handler.getViewEngine()` accessor
@@ -31,6 +31,16 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
3131

3232
### Changed
3333

34+
- File watchers migrated from internal `WatchFs` to `@neabyte/superwatcher` with ignore-based extension filtering, Map-based event dedup, and atomic write detection
35+
- `Routing.Watcher.watch()` and `Rendering.Watcher.watch()` changed from `async` to synchronous
36+
- `Router.startWatchers()` no longer wraps watcher calls in `.catch()` since watchers are now synchronous
37+
- Error types upgraded to `Deno.errors` for semantic error handling:
38+
- `Context.render()`/`streamRender()`: `Error``Deno.errors.NotSupported` (view engine not configured)
39+
- `Context.ensureBodyNotConsumed()`: `Error``Deno.errors.BadResource` (body already consumed)
40+
- `Engine.resolveTemplate()`: `Error``Deno.errors.NotFound` (template not found)
41+
- `Scanner.validateModule()`: `Error``Deno.errors.InvalidData` (no HTTP method) and `TypeError` (export not a function)
42+
- `BasicAuth.create()`: `Error``Deno.errors.InvalidData` (empty users array)
43+
- `Session.create()`: `Error``Deno.errors.InvalidData` (empty cookieSecret)
3444
- `RouterOptions` now extends `HandlerOptions` instead of duplicating fields
3545
- `SecurityHeadersOptions` refactored to `Partial<Record<SecurityHeaderKey, SecurityHeaderValue>>`
3646
- `Engine.render()` and `Engine.streamRender()` refactored to share `resolveTemplate()` private method, removing duplicated path resolution logic
@@ -44,6 +54,11 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
4454
- Indonesian landing page tagline updated
4555
- Alphabetical reordering of type union members in `ExprNode`, `ExprToken`, `AstNode`
4656

57+
### Removed
58+
59+
- `WatchFs` class from `src/core/WatchFs.ts` — replaced by `@neabyte/superwatcher`
60+
- `WatchedEvent` and `WatchFsOptions` types from `src/interfaces/Watcher.ts` — no longer needed
61+
4762
### Fixed
4863

4964
- `Redirect` and `Response` no longer carry duplicate `headersToRecord` implementations

0 commit comments

Comments
 (0)