Implements the Payload-backed IConsent that reads/writes users.consentState and emits CONSENT_GRANT/CONSENT_WITHDRAW audit entries via injected auditLog. Adds RecordingConsent test double in core-testing for unit-test injection. Adds bindProductionConsent/bindDevSeedConsent DI binders and InMemoryConsent for dev/seed contexts. Contract tests cover grant/withdraw/isGranted round-trip, audit entry shape, metadata persistence (bannerVersion/policyVersion/method), and getCategories reflection of state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
797 B
JSON
37 lines
797 B
JSON
{
|
|
"name": "@repo/core-consent",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./di": "./src/di/bind-production.ts"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc --noEmit",
|
|
"lint": "eslint .",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run --passWithNoTests"
|
|
},
|
|
"dependencies": {
|
|
"@repo/core-shared": "workspace:*"
|
|
},
|
|
"peerDependencies": {
|
|
"payload": "^3.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"payload": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@repo/core-eslint": "workspace:*",
|
|
"@repo/core-testing": "workspace:*",
|
|
"@repo/core-typescript": "workspace:*",
|
|
"@vitest/coverage-v8": "^3.0.0",
|
|
"payload": "^3.14.0",
|
|
"typescript": "^5.8.0",
|
|
"vitest": "^3.0.0"
|
|
}
|
|
}
|