# Project Hints - @api.global/typedserver ## Recent Changes (March 2026) ### Dependency Updates - `@git.zone/tsbuild` upgraded to v4.3.0 (major: auto path rewriting, folder clearing) - `@git.zone/tsbundle` upgraded to v2.9.1 (uses npmextra.json config) - `@git.zone/tstest` upgraded to v3.5.0 - `@push.rocks/smartsitemap` upgraded to v4.0.1 (major: builder pattern API) - `@push.rocks/taskbuffer` upgraded to v8.0.0 (backward compatible for existing usage) - `@push.rocks/smartjson` upgraded to v6.0.0 (backward compatible) - `@tsclass/tsclass` upgraded to v9.5.0 - `@types/node` upgraded to v25.5.0 - All other dependencies updated to latest patch/minor versions ### Code Migration Notes #### tsbuild v4 Migration - **Cross-folder imports**: Use `../ts_interfaces/index.js` instead of `../dist_ts_interfaces/index.js` - tsbuild v4 automatically rewrites import paths from `ts_*` to `dist_ts_*` in output - CLI flags `--web` and `--allowimplicitany` removed (defaults already handle these) - Build script simplified to `tsbuild tsfolders && tsbundle` #### tsbundle npmextra.json Config - Bundle configuration moved from CLI args to `npmextra.json` under `"@git.zone/tsbundle"` key - Three bundles configured: web_inject, web_serviceworker, swdash #### smartsitemap v4 Migration - Complete API rewrite using builder pattern - Old: `new SmartSitemap().createSitemapFromUrlInfoArray(urls)` - New: `SmartSitemap.create().addUrls(urls).toXml()` - Old: `new SmartSitemap().createSitemapNewsFromArticleArray(articles)` - New: `SmartSitemap.fromArticles(articles, { publicationName: '...' }).toXml()` - `IUrlInfo` renamed to `ISitemapUrl` with different properties: - `url` → `loc` - `timestamp` → `lastmod` (accepts Date | string | number) - `frequency` → `changefreq` ### Architecture - `plugins.fsInstance` is a pre-configured SmartFs instance with SmartFsProviderNode - All file operations should be async using smartfs - Cross-folder imports reference source `ts_*` folders, tsbuild handles path rewriting