Files
callstack__agent-device/.gitignore
Michał Pierzchała c32249503b test: cover least-tested parsing modules + verify public exports reach npm; drop dead daemon barrels (#749)
* test: cover least-tested CLI grammar and config parsing modules

Add focused unit tests for the modules the coverage report flagged as
least covered, exercising real behavior rather than padding metrics:

- utils/source-value: env/config value parsing (booleans, enums, enum
  flags with setValue, int bounds, multiple) — 42% -> 100% lines
- commands/cli-grammar/gesture: CLI<->daemon gesture argument
  translation for every gesture kind incl. error paths — 41% -> 100%
- commands/cli-grammar/system: back/rotate/keyboard/clipboard/
  react-native readers and writers incl. validation — 57% -> 100%
- core/device-rotation: orientation parsing with aliases/errors — 100%
- core/dispatch-payload: push payload loading from inline JSON and
  files, with temp-file I/O and JSON/shape error handling

https://claude.ai/code/session_018i1mhcSe6sqM4mKLUKgYXe

* chore: gitignore generated coverage report directory

https://claude.ai/code/session_018i1mhcSe6sqM4mKLUKgYXe

* test: verify public exports reach the npm build; drop dead daemon barrels

Strengthen the package-exports test so it verifies the real
publish-time invariant: every package.json "exports" subpath maps to a
configured rslib build entry that points at an existing source module
which actually exposes named exports. This catches a subpath being added
to package.json without a matching build entry (which would ship a
broken import), and keeps import/types targets in lockstep.

Remove four internal re-export barrels under src/daemon that were pure
1:1 forwarders to their src/utils source, and repoint all importers at
the real module so it is obvious where the code lives:

- daemon/is-predicates.ts      -> utils/selector-is-predicates.ts
- daemon/selectors-build.ts    -> utils/selector-build.ts
- daemon/snapshot-diff.ts      -> utils/snapshot-diff.ts
- daemon/snapshot-processing.ts -> utils/snapshot-processing.ts

The curated daemon/selectors.ts facade is kept; only blind forwarders
were removed. No behavior change.

https://claude.ai/code/session_018i1mhcSe6sqM4mKLUKgYXe

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-10 16:28:01 +02:00

40 lines
575 B
Plaintext

node_modules/
scripts/perf/.results/
.pnpm-store/
.fallow/
dist/
coverage/
.tmp/
.DS_Store
__pycache__/
*.pyc
*.log
test/screenshots/*.png
test/artifacts/
*.gesture-telemetry.json
.build/
.swiftpm/
DerivedData/
*.xcworkspace/xcuserdata/
*.xcodeproj/xcuserdata/
xcuserdata/
*.xcuserstate
*.xccheckout
*.xcscmblueprint
*.xcuserdatad/
*.xcuserdata/
*.xcsettings
*.xcresult
*.ipa
*.apk
*.dSYM
*.dSYM.zip
*.app
*.xctestrun
*.xcarchive
.skillgym-results/
android-snapshot-helper/build/
android-snapshot-helper/dist/
android-multitouch-helper/build/
android-multitouch-helper/dist/