2025-12-02 09:16:42 +00:00
|
|
|
# Project Hints - @api.global/typedserver
|
|
|
|
|
|
|
|
|
|
## Recent Changes (December 2025)
|
|
|
|
|
|
|
|
|
|
### Dependency Updates
|
2025-12-08 17:00:16 +00:00
|
|
|
- `@push.rocks/smartwatch` upgraded to v6.0.0 (cross-runtime, native fs.watch)
|
|
|
|
|
- `@design.estate/dees-catalog` upgraded to v3.1.1 (new icons, components)
|
|
|
|
|
- `@push.rocks/smartchok` replaced with `@push.rocks/smartwatch` (renamed package)
|
2025-12-02 09:16:42 +00:00
|
|
|
- `@push.rocks/smartfile` upgraded from v11 to v13 (major API change - `fs` module removed)
|
|
|
|
|
- `@push.rocks/smartfs` added for filesystem operations (v1.2.0+)
|
|
|
|
|
- `@push.rocks/smartenv` upgraded to v6.0.0
|
|
|
|
|
- `@push.rocks/smartrequest` upgraded to v5.0.1
|
|
|
|
|
- `@push.rocks/webrequest` upgraded to v4.0.1 (`WebRequest` renamed to `WebrequestClient`)
|
|
|
|
|
- Express upgraded to v5.2.1
|
|
|
|
|
- All `@git.zone/*` dev dependencies updated to latest
|
|
|
|
|
|
|
|
|
|
### Code Migration Notes
|
|
|
|
|
|
2025-12-08 17:00:16 +00:00
|
|
|
#### smartwatch v6.0.0
|
|
|
|
|
- Cross-runtime support: Node.js 20+, Deno, Bun
|
|
|
|
|
- Uses native `fs.watch({ recursive: true })` for performance
|
|
|
|
|
- Minimal dependencies (no chokidar, no FSEvents bindings)
|
|
|
|
|
- API unchanged: `new Smartwatch([patterns])`, `.start()`, `.stop()`, `.getObservableFor(event)`
|
|
|
|
|
- Events: `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `error`, `ready`
|
|
|
|
|
- Dynamic watching: `.add(patterns)`, `.remove(pattern)`
|
|
|
|
|
- Status property: `'idle' | 'starting' | 'watching'`
|
|
|
|
|
|
|
|
|
|
#### dees-catalog v3.0.0+ Migration
|
|
|
|
|
- **DeesIcon**: New unified `icon` property with library prefixes:
|
|
|
|
|
- FontAwesome: `icon="fa:check"` (prefix `fa:`)
|
|
|
|
|
- Lucide: `icon="lucide:menu"` (prefix `lucide:`)
|
|
|
|
|
- Legacy `iconFA` property deprecated but still supported
|
|
|
|
|
- **DeesToast**: New convenience methods and positioning:
|
|
|
|
|
- `DeesToast.info()`, `.success()`, `.warning()`, `.error()`
|
|
|
|
|
- Position options: `top-right`, `top-left`, `bottom-right`, `bottom-left`, `top-center`, `bottom-center`
|
|
|
|
|
- New components: DeesInputTags, DeesInputDatepicker, DeesStatsGrid, DeesPagination, DeesAppuiBase
|
|
|
|
|
- DeesAppuiAppbar: Hierarchical menus with keyboard navigation
|
|
|
|
|
|
2025-12-02 09:16:42 +00:00
|
|
|
#### smartfile v13 Migration
|
|
|
|
|
- Old: `plugins.smartfile.fs.toStringSync(path)` / `plugins.smartfile.fs.toBufferSync(path)`
|
|
|
|
|
- New: Use `plugins.fsInstance` (SmartFs instance with Node provider)
|
|
|
|
|
- String: `await plugins.fsInstance.file(path).encoding('utf8').read() as string`
|
|
|
|
|
- Buffer: `await plugins.fsInstance.file(path).read() as Buffer`
|
|
|
|
|
|
|
|
|
|
#### smartfs treeHash
|
|
|
|
|
- Old: `plugins.smartfile.fs.fileTreeToHash(dir, pattern)`
|
|
|
|
|
- New: `await plugins.fsInstance.directory(dir).recursive().treeHash()`
|
|
|
|
|
|
|
|
|
|
#### webrequest v4
|
|
|
|
|
- Class renamed: `WebRequest` → `WebrequestClient`
|
|
|
|
|
|
|
|
|
|
### Architecture
|
|
|
|
|
- `plugins.fsInstance` is a pre-configured SmartFs instance with SmartFsProviderNode
|
|
|
|
|
- All file operations should be async using smartfs
|
|
|
|
|
- Sync file operations have been removed
|
|
|
|
|
|
|
|
|
|
### Express 5 Notes
|
|
|
|
|
- Wildcard routes use `/{*splat}` notation
|
|
|
|
|
- `req.params.splat` can be an array, use `Array.isArray()` check
|