gather-vue
| Install | |
|---|---|
npm install gather-vue |
|
| Latest Version: | 8.20.4 |
| Vue: | 3 |
| Last Updated: | Oct 7, 2026 |
| Links: | npm |
Gather Vue
Gather Vue is the Vue 3 customer referral widget used for referral campaigns,
pop-ups, and the campaign editor. It runs inside an iframe on merchant sites,
fetches campaign configuration from Gather Rails, and communicates with the
host page through window.postMessage.
How it fits into Gather
Merchant site
-> gather-integration evaluates targeting and creates an iframe
-> gather-vue renders the campaign inside the iframe
-> gather-rails supplies campaign data and handles API requests
The built widget is published as an npm package for jsDelivr and is also deployed to S3 behind CloudFront.
Requirements
- Node.js 24 LTS, pinned in
.nvmrc - pnpm 10, matching the version used by GitHub Actions
- Gather Rails running locally if you need live API responses
Setup
git clone git@github.com:gathercustomers/gather-vue.git
cd gather-vue
nvm install
nvm use
corepack enable
corepack prepare pnpm@10 --activate
cp .env.development.example .env.local
pnpm install
pnpm dev
The development example points VITE_GATHER_URL at a local Gather Rails
server on port 3000. Add any credentials needed for the integrations you are
testing to .env.local; the file is ignored by Git and must not be committed.
The Vite development server prints the local URL when it starts.
Commands
| Task | Command |
|---|---|
| Start the development server | pnpm dev |
| Type-check | pnpm type-check |
| Lint and apply safe fixes | pnpm lint |
| Format | pnpm format |
| Run unit tests | pnpm test:unit |
| Run unit tests once | pnpm test:unit --run |
| Build the default bundle | pnpm build |
| Build for staging | pnpm build:staging |
| Build for production | pnpm build:production |
| Run end-to-end tests | pnpm test:e2e |
Before committing, run:
pnpm type-check
pnpm lint
pnpm test:unit --run
End-to-end tests
Install the Playwright browsers once:
pnpm exec playwright install
Then build the app and run the suite:
pnpm build
pnpm test:e2e
Useful variants include:
pnpm test:e2e --project=chromium
pnpm test:e2e --debug
Releases and deployment
Feature work merges into develop. Release commits are promoted to staging
for the staging npm/S3/CloudFront deployment, then to master for production.
npm publishing runs in GitHub Actions with OIDC trusted publishing; it does not
use a long-lived npm publish token.
Do not publish a release manually. Follow RELEASES.md for the
versioning, branch promotion, trusted-publisher configuration, and deployment
verification process.
Further documentation
docs/ARCHITECTURE.md— application architecture, state, iframe communication, and build designRELEASES.md— release and deployment runbookdocs/OBSERVABILITY.md— frontend telemetry setupCUSTOMER_README.md— customer integration examples
Recommended editor
Visual Studio Code with Vue - Official provides Vue and TypeScript language support. Disable Vetur if it is installed.
Version History
| Version | Released | License |
|---|---|---|
| 8.20.4 | ||
| 8.20.3 | ||
| 8.20.2 | ||
| 8.20.1 | ||
| 8.20.0 | ||
| 8.19.2 | ||
| 8.19.1 | ||
| 8.19.0 | ||
| 8.18.2 | ||
| 8.18.1 | ||
| 8.18.0 | ||
| 8.17.3 | ||
| 8.17.2 | ||
| 8.13.0 | ||
| 8.10.0 | ||
| 8.7.1 | ||
| 8.7.0 | ||
| 8.6.7 | ||
| 8.6.6 | ||
| 8.6.5 | ||
| 8.6.4 | ||
| 8.6.3 | ||
| 8.6.2 | ||
| 8.6.1 | ||
| 8.6.0 |