ci(vue-sdk): add contract tests#1790
Conversation
|
@launchdarkly/js-sdk-common size report |
|
@launchdarkly/js-client-sdk-common size report |
|
@launchdarkly/browser size report |
|
@launchdarkly/js-client-sdk size report |
fcdf04a to
ace72f4
Compare
ace72f4 to
d6bf95f
Compare
1f32b99 to
7c1d476
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7c1d476. Configure here.
| tags/poll requests/{"applicationId":"________________________________________________________________","applicationVersion":"________________________________________________________________"} | ||
|
|
||
| # Disallowed characters in applicationId/applicationVersion: same underlying tag-validation gap. | ||
| tags/disallowed characters |
There was a problem hiding this comment.
FDv2 suppressions omit REPORT skips
Medium Severity
The FDv2 contract-test skip list only covers tag-related cases, while the FDv1 list and the browser SDK’s FDv2 suppressions also skip streaming and polling REPORT request tests (including evaluation-reason query variants). The Vue entity uses the same underlying client SDK and useReport wiring as the browser contract entity, so the v3 harness step is likely to hit failures that sibling SDKs already suppress.
Reviewed by Cursor Bugbot for commit 7c1d476. Configure here.


SDK-2194
Adding fdv1 and fdv2 contract tests to vue sdk
Note
Low Risk
Changes are limited to CI, contract-test harness glue, and a documented optional type field; production Vue SDK runtime code is not modified in this diff.
Overview
Adds LaunchDarkly SDK contract-test coverage for the Vue client SDK by introducing a dedicated
@launchdarkly/vue-contract-test-serviceworkspace and wiring it into thevue.ymlworkflow.The contract service is a small Vite Vue app that connects to the harness adapter over WebSocket (
TestHarnessWebSocket), spins up realcreateClient/client.start()instances viaClientEntity, and implements harness commands (evaluate, identify, track, listeners, etc.) with config translation for streaming/polling, data-system connection modes, hooks, and secure-modehashon start.CI builds the SDK and test entity, runs the adapter, serves the built app, keeps a headless Playwright session open so the browser entity stays connected, then runs the shared contract-tests action twice (FDv1 and FDv2/v3) with skip lists for known REPORT/tag gaps. Shared
SDKConfigClientSideParamsgains an optional documentedhashfield for harness-supplied secure mode.Reviewed by Cursor Bugbot for commit 7c1d476. Bugbot is set up for automated code reviews on this repo. Configure here.