This PR adds the @tryabby/vue integration package for Abby, following the same patterns as the existing React and Svelte integrations.

The package lives in packages/vue, is named @tryabby/vue, and consumes @tryabby/core internally. It exports a createAbby factory function that returns Vue 3 composables:

  • useAbby(testName, lookupObject?) — returns a ComputedRef<variant> and an onAct() function that sends ACT events; sends a PING event immediately on call
  • useFeatureFlag(flagName) — returns a ComputedRef<boolean> that reacts to data changes
  • useRemoteConfig(remoteConfigName) — returns a ComputedRef<RemoteConfigValueStringToType<...>> that reacts to data changes

Reactivity is implemented via a shared ref counter that increments whenever abby.subscribe() fires, causing all computed() values to recompute. The StorageService uses js-cookie identical to the React package. Type-level tests are included using expectTypeOf to verify correct inference for test names, variants, lookup objects, feature flags, and remote config.

Testing

Ran pnpm run test in packages/vue — all 17 tests pass (useAbby, useFeatureFlag, useRemoteConfig, and type-level tests). Ran pnpm run build in packages/vue — CJS + ESM + DTS output all succeed. Ran npx @biomejs/biome lint packages/vue/src/ packages/vue/tests/ — no issues.

Closes #68 /claim #68

Summary by CodeRabbit

  • New Features

    • Added a Vue package providing reactive hooks for A/B tests, feature flags, and remote config with variant selection, event tracking, and persistence.
    • Cookie-backed storage with configurable expiration and SSR/environment-aware behavior.
  • Tests

    • Added comprehensive test suite with API mocking and test lifecycle/setup for reliable test runs.
  • Chores

    • Project build, bundling, TypeScript and test configuration for the new Vue package.

Claim

Total prize pool $40
Total paid $0
Status Pending
Submitted June 02, 2026
Last updated June 02, 2026

Contributors

BI

bisgeario

@bisgeario

100%

Sponsors

AB

Abby

@Abby

$40