Version 1.0 #60

Merged
mburchard merged 11 commits from dev-1.0 into main 2026-02-09 23:18:32 +00:00
Owner

Summary

This PR prepares the 1.0 release branch (dev-1.0) for merge into main with a focus on stability, correctness, and release readiness.

What Changed

  • Improved logging core behavior

    • Refined root log-level comparison to avoid redundant level-change updates
    • Cleaned up dynamic appender config mapping in index.ts
    • Reworked call-site resolution in logger.ts to use a more robust stack-frame parsing approach
  • Strengthened test quality and coverage

    • Added targeted branch tests for index.ts, logger.ts, utils.ts, and appenders
    • Replaced weak/assertion-light tests with meaningful assertions (e.g. ansi + file-appender mocks)
    • Added async queue robustness tests for FileAppender (serialization + recovery after write failure)
  • Type checking and CI/publish workflow hardening

    • Added dedicated tsconfig.typecheck.json and updated typecheck script to include spec files
    • Enabled manual workflow runs for CI and publish (workflow_dispatch)
    • Added fail-fast npm token validation in publish workflow to abort early on missing/invalid auth
  • Project metadata/dependency updates

    • Updated package metadata from GitHub references to Forgejo/Forge host
    • Dependency/lockfile updates included in branch

Validation

  • pnpm run typecheck
  • pnpm test -- --run
  • pnpm run coverage

All checks pass on dev-1.0.

## Summary This PR prepares the `1.0` release branch (`dev-1.0`) for merge into `main` with a focus on stability, correctness, and release readiness. ## What Changed - Improved logging core behavior - Refined root log-level comparison to avoid redundant level-change updates - Cleaned up dynamic appender config mapping in `index.ts` - Reworked call-site resolution in `logger.ts` to use a more robust stack-frame parsing approach - Strengthened test quality and coverage - Added targeted branch tests for `index.ts`, `logger.ts`, `utils.ts`, and appenders - Replaced weak/assertion-light tests with meaningful assertions (e.g. ansi + file-appender mocks) - Added async queue robustness tests for `FileAppender` (serialization + recovery after write failure) - Type checking and CI/publish workflow hardening - Added dedicated `tsconfig.typecheck.json` and updated typecheck script to include spec files - Enabled manual workflow runs for CI and publish (`workflow_dispatch`) - Added fail-fast npm token validation in publish workflow to abort early on missing/invalid auth - Project metadata/dependency updates - Updated package metadata from GitHub references to Forgejo/Forge host - Dependency/lockfile updates included in branch ## Validation - `pnpm run typecheck` - `pnpm test -- --run` - `pnpm run coverage` All checks pass on `dev-1.0`.
- add tsconfig.typecheck.json for CI/CLI type checks
- include test/spec files in type checking
- update package script: typecheck -> tsc -p tsconfig.typecheck.json
- enable workflow_dispatch for ci and publish workflows
- validate NPM_AUTH_TOKEN at the start of publish workflow
- abort early on missing/invalid token before install and build
- remove redundant publish auth/login steps now covered by early validation
- add targeted tests for root level config branches in index logging setup
- add logger tests for skipped appenders and call-site parsing branches
- add CircularTracker no-op verification for repeated setAsCircular calls
- refactor ConsoleAppender tests with shared emitAllLevels helper and add false-setter branch test
- extract isRootPrintablePrimitive helper in utils formatting logic
- keep unreachable utils fallback explicitly ignored for v8 coverage
- fix FileAppender.mock beforeEach to always initialize appender
- replace weak null-check with defined-check in mocked file appender test
- replace ansi console output smoke test with explicit ANSI code assertions
- remove obsolete comment in ansi spec
- add applyAppenderProperties helper to centralize dynamic appender property assignment
- use Reflect.set with reserved-key filtering instead of ts-expect-error style casting
- normalize root log level comparison via toLogLevel to avoid redundant level-change logs
- keep behaviour covered by existing and newly added index tests
- add concurrency test to verify parallel handle calls are serialized by logQueue
- add failure-recovery test to ensure queued events continue after one write rejection
- keep existing queue error logging assertion for write failures
test(logger): harden call-site parsing coverage and edge-case handling
All checks were successful
Run Tests / test (pull_request) Successful in 1m3s
e6b31fb1e6
- add tests for undefined error stack in call-site resolution
- add tests for non-numeric line/column stack entries
- ensure logger call-site metadata is omitted for invalid stack frames
test(file-appender): replace flaky permission test with deterministic access-guard coverage
All checks were successful
Run Tests / test (pull_request) Successful in 51s
ab61484053
- remove environment-dependent chmod/write-permission test from FileAppender.spec.ts
- add deterministic mocked test for existing logfile access denial in FileAppender.mock.spec.ts
- cover calcFullFilePath branch where existing logfile is not accessible
- clean up unused chmod import after test removal
Version 1.0.0
All checks were successful
Run Tests / test (pull_request) Successful in 52s
bf34ca445b
mburchard deleted branch dev-1.0 2026-02-09 23:18:33 +00:00
Sign in to join this conversation.
No description provided.