Files
typedserver/readme.hints.md

1.7 KiB

Project Hints - @api.global/typedserver

Recent Changes (December 2025)

Dependency Updates

  • @push.rocks/smartchok replaced with @push.rocks/smartwatch (renamed package, same API)
  • @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

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()

smartwatch (formerly smartchok)

  • Class renamed: SmartchokSmartwatch
  • API remains the same: new Smartwatch([paths]), .start(), .stop(), .getObservableFor(event)

webrequest v4

  • Class renamed: WebRequestWebrequestClient

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