Skip to content

DX-2445: Add new search client packages#1422

Merged
CahidArda merged 11 commits intomainfrom
DX-2445-new-packages
Mar 11, 2026
Merged

DX-2445: Add new search client packages#1422
CahidArda merged 11 commits intomainfrom
DX-2445-new-packages

Conversation

@CahidArda
Copy link
Copy Markdown
Contributor

package.json changes

  • search-ioredis, search-redis: Move @upstash/redis from dependencies to peerDependencies with workspace:*
  • search-ioredis, search-redis: Simplify test script to vitest run (removed node --env-file=.env prefix — env vars are injected by CI)

tsconfig changes

  • search-ioredis, search-redis: Extend ../../tsconfig.base.json
  • Override noEmit: false (base sets noEmit: true because the redis package uses tsup; search packages use plain tsc and need emit)
  • Override allowImportingTsExtensions: false (required when emitting)
  • Add paths mapping @upstash/redis../redis/dist/nodejs.d.ts so tsc resolves types from the built redis output without needing to modify the redis package.json entry points

Workflow changes

  • canary.yml: Add search-ioredis and search-redis as package options. Extract package→directory mapping into a reusable resolve step using a case statement instead of if/else
  • npm-publish.yml: Accept packages JSON array instead of single version string. Use fromJson() matrix strategy with dynamic package directory resolution (follows the box-sdk pattern)
  • router.yml: Pass full packages array from release metadata to npm-publish instead of extracting a single version. Supports multi-package releases from changesets

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

CahidArda and others added 3 commits March 11, 2026 23:59
Copy the ioredis search client from search-clients repo into the
monorepo as packages/search-ioredis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy the node-redis search client from search-clients repo into the
monorepo as packages/search-redis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
## package.json changes

- search-ioredis, search-redis: Move `@upstash/redis` from
  `dependencies` to `peerDependencies` with `workspace:*`
- search-ioredis, search-redis: Simplify test script to `vitest run`
  (removed `node --env-file=.env` prefix — env vars are injected by CI)

## tsconfig changes

- search-ioredis, search-redis: Extend `../../tsconfig.base.json`
- Override `noEmit: false` (base sets `noEmit: true` because the redis
  package uses tsup; search packages use plain tsc and need emit)
- Override `allowImportingTsExtensions: false` (required when emitting)
- Add `paths` mapping `@upstash/redis` → `../redis/dist/nodejs.d.ts`
  so tsc resolves types from the built redis output without needing to
  modify the redis package.json entry points

## Workflow changes

- canary.yml: Add search-ioredis and search-redis as package options.
  Extract package→directory mapping into a reusable `resolve` step
  using a `case` statement instead of if/else
- npm-publish.yml: Accept `packages` JSON array instead of single
  `version` string. Use `fromJson()` matrix strategy with dynamic
  package directory resolution (follows the box-sdk pattern)
- router.yml: Pass full `packages` array from release metadata to
  npm-publish instead of extracting a single version. Supports
  multi-package releases from changesets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@linear
Copy link
Copy Markdown

linear bot commented Mar 11, 2026

CahidArda and others added 6 commits March 12, 2026 00:20
The redis package entry points (main: ./nodejs.js) are relative to
the dist directory, so it must be published from packages/redis/dist.
Add publish_dir output to the parse step and use working-directory
with npm publish instead of pnpm --filter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add vitest.config.mts with resolve alias pointing @upstash/redis to
  ../redis/dist/nodejs.mjs, fixing "Cannot find module" errors caused by
  the redis package's entry points being relative to its dist/ directory
- Load root .env via dotenv in vitest configs so env vars like REDIS_URL
  are available in process.env at test runtime
- Install dotenv as dev dependency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Search packages need packages/redis/dist to exist for module resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@CahidArda CahidArda changed the title DX-2445: new packages DX-2445: Add new search client packages Mar 11, 2026
@CahidArda CahidArda merged commit 96a99a4 into main Mar 11, 2026
16 checks passed
@CahidArda CahidArda deleted the DX-2445-new-packages branch March 11, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants