Commit graph

3 commits

Author SHA1 Message Date
Mikael Hugo
6e6363da0d feat: migrate src/ core TS files to LogTape structured logging
Migrate 5 non-test TS files in src/ from console.* to LogTape:
- src/env.ts → getLogger('sf.core.env')
- src/resource-loader.ts → getLogger('sf.core.resource-loader')
- src/web/undo-service.ts → getLogger('sf.web.undo-service')
- src/web/cleanup-service.ts → getLogger('sf.web.cleanup-service')
- src/web/auto-dashboard-service.ts → getLogger('sf.web.auto-dashboard-service')

console.error(err) → log.error(msg, {error: err})
console.warn(msg) → log.warn(msg)

All CLI-facing output preserved. typecheck, lint pass.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-05-08 21:01:08 +02:00
Mikael Hugo
6be23806fe feat: comprehensive environment schema with type-safe validation
- Expand env.ts with completeSfEnvSchema covering all 80+ SF_* variables
- Organize variables into logical categories (core, directories, performance, debug, extensions, recovery, settings, misc)
- Add typed API: getCompleteSfEnv(), parseCompleteSfEnv(), getEnvValidationSummary()
- Support graceful degradation (missing config returns partial data, never throws)
- Add 25 comprehensive test cases covering schema, parsing, defaults, round-trips
- Document in docs/ENV.md with quick start, API reference, migration guide

Purpose: Prevent silent misconfiguration by centralizing environment validation,
enabling IDE auto-completion, and providing clear defaults. Callers get type-safe
access to all config instead of scattered process.env reads.

Consumers: loader.ts for startup validation, all modules reading configuration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 00:31:59 +02:00
Mikael Hugo
f655188814 sf snapshot: uncommitted changes after 93m inactivity 2026-05-06 11:37:27 +02:00