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.
| exit 1 | ||
| fi | ||
| sleep 1 | ||
| done |
There was a problem hiding this comment.
Any better options than these chunky scripts. for detecting the port is ready?
There was a problem hiding this comment.
So this is the same thing we do for https://github.com/launchdarkly/js-core/blob/main/.github/workflows/browser.yml ... I think what we can do is make an executable script that does more or less the same thing in javascript in the shared contract test package?
There was a problem hiding this comment.
Up to you, if there is precedent and it is consistent, I'm ok with it.
There was a problem hiding this comment.
I created a task for myself to revisit both CI implementation.


SDK-2194
Adding fdv1 and fdv2 contract tests to vue sdk
Note
Overview
Adds LaunchDarkly SDK contract test coverage for the Vue client SDK in CI, mirroring the browser SDK harness setup.
A new
@launchdarkly/vue-contract-test-serviceworkspace runs a Vite-built app that connects to the test adapter over WebSocket.ClientEntitymaps harness config to Vue’screateClient/client.start()(including secure-modehashand data-system connection modes) and implements harness commands (evaluate, identify, events, flag listeners).vue.ymlbuilds the SDK and entity, serves static assets, opens headless Chromium via Playwright, and runs FDv1 and FDv2 harness passes with skip lists for known REPORT/tag header gaps.Shared
SDKConfigClientSideParamsgains an optionalhashfield so secure-mode contract scenarios can be configured.Reviewed by Cursor Bugbot for commit 7ba8ec6. Bugbot is set up for automated code reviews on this repo. Configure here.