feat(redis): add channel prefix and error handling
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: build-and-exports-validation
|
||||
name: Validate build, package.json exports, and tsup config for all adapters
|
||||
status: pending
|
||||
status: completed
|
||||
depends_on: []
|
||||
scope: narrow
|
||||
risk: low
|
||||
@@ -38,8 +38,51 @@ This task validates the current setup and serves as a checklist item for each ad
|
||||
|
||||
## Notes
|
||||
|
||||
> To be filled by implementation agent
|
||||
Validated all acceptance criteria. No changes were needed — the existing configuration is correct.
|
||||
|
||||
### Validation Results
|
||||
|
||||
1. **`npm run build` produces correct output** ✅
|
||||
- `src/index.ts` → `dist/index.js` (ESM), `dist/index.cjs` (CJS), `dist/index.d.ts` + `dist/index.d.cts` (declarations)
|
||||
- `src/event-target-redis.ts` → `dist/event-target-redis.js` (ESM), `dist/event-target-redis.cjs` (CJS), `dist/event-target-redis.d.ts` + `dist/event-target-redis.d.cts` (declarations)
|
||||
- Code splitting enabled: shared chunk between entries (`chunk-JGLUDY7D.js` / `chunk-TBKAZXTS.cjs`)
|
||||
- Verified both ESM dynamic import and CJS require work for both entry points
|
||||
|
||||
2. **`npm run lint` (tsc --noEmit) passes** ✅ — No errors
|
||||
|
||||
3. **`package.json` exports map has correct ESM/CJS/dts paths** ✅
|
||||
- `"."` → import (d.ts + js) / require (d.cts + cjs)
|
||||
- `"./event-target-redis"` → import (d.ts + js) / require (d.cts + cjs)
|
||||
- All paths resolve to actual built files
|
||||
|
||||
4. **`tsup.config.ts` lists all current entry points** ✅
|
||||
- `src/index.ts` and `src/event-target-redis.ts` both present
|
||||
- `format: ['esm', 'cjs']`, `dts: true`, `splitting: true`, `target: 'es2022'`
|
||||
|
||||
5. **`src/index.ts` re-exports everything from all modules** ✅
|
||||
- Exports from: `create_pubsub.js`, `types.js`, `operators.js`, `repeater.js`, `event-target-redis.js`
|
||||
- All public API surface is accessible from barrel
|
||||
|
||||
6. **Peer dependencies and peerDependenciesMeta are correct** ✅
|
||||
- `ioredis@^5.0.0` as optional peer dep
|
||||
- Future: `@rayhanadev/iroh` will follow same pattern when added
|
||||
|
||||
7. **No runtime dependencies** ✅
|
||||
- `dependencies: {}` is empty
|
||||
- `@repeaterjs/repeater` is inlined in `src/repeater.ts`
|
||||
|
||||
### Verified type resolution
|
||||
- `import { createRedisEventTarget } from '@alkdev/pubsub/event-target-redis'` — types resolve correctly
|
||||
- `import { createPubSub, type EventEnvelope } from '@alkdev/pubsub'` — types resolve correctly
|
||||
- Works with both `skipLibCheck: true` and `skipLibCheck: false`
|
||||
|
||||
### Verified package contents
|
||||
- `npm pack --dry-run` shows 19 files (all dist files + package.json)
|
||||
- `files: ["dist"]` correctly includes all build output
|
||||
|
||||
## Summary
|
||||
|
||||
> To be filled on completion
|
||||
Validated build pipeline, package.json exports map, and tsup config for all adapters. All acceptance criteria pass with no changes required — the existing configuration is correct and consistent.
|
||||
- Created: none
|
||||
- Modified: none (validation-only task)
|
||||
- Tests: 0 (no test files exist yet; `npm test` exits with "No test files found")
|
||||
Reference in New Issue
Block a user