feat(core-analytics): add React provider and useAnalytics hook

Adds a ./react subpath export to @repo/core-analytics containing
<AnalyticsProvider value={IAnalytics}> and useAnalytics(): IAnalytics.
useAnalytics() throws AnalyticsContextError when called outside a provider.
React Testing Library test verifies track() flows through context using
RecordingAnalytics. Switches vitest config to pick up .tsx test files
via environmentMatchGlobs and extends tsconfig to react-library.json
for JSX support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 15:54:30 +00:00
parent 065ca1b6aa
commit a7e0bf290d
8 changed files with 138 additions and 26 deletions

View File

@@ -4,7 +4,8 @@
"private": true,
"type": "module",
"exports": {
".": "./src/index.ts"
".": "./src/index.ts",
"./react": "./src/react/index.ts"
},
"scripts": {
"build": "tsc --noEmit",
@@ -12,6 +13,14 @@
"typecheck": "tsc --noEmit",
"test": "vitest run --passWithNoTests"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"react": {
"optional": true
}
},
"dependencies": {
"@repo/core-shared": "workspace:*"
},
@@ -19,7 +28,11 @@
"@repo/core-eslint": "workspace:*",
"@repo/core-testing": "workspace:*",
"@repo/core-typescript": "workspace:*",
"@testing-library/react": "^16.0.0",
"@types/react": "^19.0.0",
"@vitest/coverage-v8": "^3.0.0",
"jsdom": "^25.0.0",
"react": "^19.0.0",
"typescript": "^5.8.0",
"vitest": "^3.0.0"
}