The 3.39 change exposed legacy TypeScript configurations that relied on previous default export behavior. To prevent unintended changes to export or type resolution in the future, add a lightweight integration test to CI that validates how js-compute resolves under different TypeScript configurations.
This test should simulate real consumer behavior and fail if export or type resolution changes unexpectedly.
Scope
Create a minimal TypeScript consumer fixture and validate two scenarios:
- Fastly configuration
- tsconfig includes Fastly condition (current standard tooling behavior)
- Expected: Fastly-specific types resolve successfully
- Legacy/default configuration
- No Fastly condition
- Expected: Default types resolve according to current intended behavior (stub/default compatibility)
The CI job should run tsc and fail on unexpected resolution errors.
Acceptance Criteria
- A GitHub Actions job runs on PR and main.
- Two fixture projects exist:
- consumer-fastly
- consumer-default
- Both compile successfully under the current intended behavior.
- If export map or type resolution changes in a way that breaks either scenario, CI fails.
Notes
Goal is to detect accidental changes to:
exports map
- conditional types resolution
- default vs
fastly behavior
The 3.39 change exposed legacy TypeScript configurations that relied on previous default export behavior. To prevent unintended changes to export or type resolution in the future, add a lightweight integration test to CI that validates how
js-computeresolves under different TypeScript configurations.This test should simulate real consumer behavior and fail if export or type resolution changes unexpectedly.
Scope
Create a minimal TypeScript consumer fixture and validate two scenarios:
The CI job should run
tscand fail on unexpected resolution errors.Acceptance Criteria
Notes
Goal is to detect accidental changes to:
exportsmapfastlybehavior