{"_id":"@codefast/tracking","_rev":"17-3cc590119dd87359eec7880be9b79fb2","name":"@codefast/tracking","dist-tags":{"canary":"0.5.0-canary.9","latest":"0.7.3"},"versions":{"0.0.0":{"name":"@codefast/tracking","version":"0.0.0","keywords":["analytics","codefast","consent","tanstack-start","tracking","typescript","zod"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.0.0","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"8248b994c9897a5409c8bdbcfc7d624c4d53a1d0","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.0.0.tgz","fileCount":75,"integrity":"sha512-GU56UEMrg8CyXR8u5S3QKxZYevy9UHJ+IfXTQ4XAsnoIQv7cor4FqphXToyWvpjFoy+kZOS3g8r5Rqh5Ez6syQ==","signatures":[{"sig":"MEUCIATBKqU1eBrqtOtoMlU2MW23WtsmhYk+c/wz77KFWNLPAiEA8ouEUdtmlPv++F+gv09Zt5u+Y9IpOHaGDu/eo3HPDxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75020},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./core":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs","source":"./src/core/index.ts"},"./react":{"types":"./dist/react/index.d.mts","import":"./dist/react/index.mjs","source":"./src/react/index.ts"},"./client":{"types":"./dist/client/index.d.mts","import":"./dist/client/index.mjs","source":"./src/client/index.ts"},"./server":{"types":"./dist/server/index.d.mts","import":"./dist/server/index.mjs","source":"./src/server/index.ts"},"./client/gpc":{"types":"./dist/client/gpc.d.mts","import":"./dist/client/gpc.mjs","source":"./src/client/gpc.ts"},"./client/queue":{"types":"./dist/client/queue.d.mts","import":"./dist/client/queue.mjs","source":"./src/client/queue.ts"},"./core/consent":{"types":"./dist/core/consent.d.mts","import":"./dist/core/consent.mjs","source":"./src/core/consent.ts"},"./destinations":{"types":"./dist/destinations/index.d.mts","import":"./dist/destinations/index.mjs","source":"./src/destinations/index.ts"},"./package.json":"./package.json","./client/router":{"types":"./dist/client/router.d.mts","import":"./dist/client/router.mjs","source":"./src/client/router.ts"},"./core/event-id":{"types":"./dist/core/event-id.d.mts","import":"./dist/core/event-id.mjs","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.mts","import":"./dist/server/region.mjs","source":"./src/server/region.ts"},"./client/lifecycle":{"types":"./dist/client/lifecycle.d.mts","import":"./dist/client/lifecycle.mjs","source":"./src/client/lifecycle.ts"},"./core/destination":{"types":"./dist/core/destination.d.mts","import":"./dist/core/destination.mjs","source":"./src/core/destination.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.mts","import":"./dist/react/use-consent.mjs","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.mts","import":"./dist/core/event-catalog.mjs","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.mts","import":"./dist/core/tracked-event.mjs","source":"./src/core/tracked-event.ts"},"./client/local-storage":{"types":"./dist/client/local-storage.d.mts","import":"./dist/client/local-storage.mjs","source":"./src/client/local-storage.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.mts","import":"./dist/react/consent-banner.mjs","source":"./src/react/consent-banner.tsx"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.mts","import":"./dist/client/consent-storage.mjs","source":"./src/client/consent-storage.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.mts","import":"./dist/client/create-client-tracker.mjs","source":"./src/client/create-client-tracker.ts"},"./server/create-server-tracker":{"types":"./dist/server/create-server-tracker.d.mts","import":"./dist/server/create-server-tracker.mjs","source":"./src/server/create-server-tracker.ts"},"./destinations/http-destination":{"types":"./dist/destinations/http-destination.d.mts","import":"./dist/destinations/http-destination.mjs","source":"./src/destinations/http-destination.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.mts","import":"./dist/destinations/vercel-analytics.mjs","source":"./src/destinations/vercel-analytics.ts"}},"imports":{"#/*":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"tsdown","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsgo --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Fullstack, type-safe event tracking for TanStack Start — isomorphic client/server trackers over a per-app Zod event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^19.2.7","tsdown":"^0.22.3","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^26.1.0","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.9","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript/native-preview":"7.0.0-dev.20260704.1","@codefast/typescript-config":"0.5.0-canary.3","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.0.0_1783352263946_0.35419778351825926","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.4":{"name":"@codefast/tracking","version":"0.5.0-canary.4","keywords":["analytics","codefast","consent","tanstack-start","tracking","typescript","zod"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.4","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"d281f90e16e2a3687959385979ec5cd4cb244d87","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.4.tgz","fileCount":82,"integrity":"sha512-GfHYLaiQpSRQLmnHZ5ig5jE/gZ0EVdy9+gu3Wgk/r3F0zStWl+Wg1w4OY2g5Rc5a5X6gain2EJTCGm5EZ7UTfg==","signatures":[{"sig":"MEYCIQDfOwSrhNuixHVjW1PEYVeiwNut2trV3Af6fgMi58n/uQIhAOJbgm7AjW1AfLyaovhcCF1ry9MUSbDFLabTIr9ic0qk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144097},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./core":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs","source":"./src/core/index.ts"},"./react":{"types":"./dist/react/index.d.mts","import":"./dist/react/index.mjs","source":"./src/react/index.ts"},"./client":{"types":"./dist/client/index.d.mts","import":"./dist/client/index.mjs","source":"./src/client/index.ts"},"./server":{"types":"./dist/server/index.d.mts","import":"./dist/server/index.mjs","source":"./src/server/index.ts"},"./client/gpc":{"types":"./dist/client/gpc.d.mts","import":"./dist/client/gpc.mjs","source":"./src/client/gpc.ts"},"./client/queue":{"types":"./dist/client/queue.d.mts","import":"./dist/client/queue.mjs","source":"./src/client/queue.ts"},"./core/consent":{"types":"./dist/core/consent.d.mts","import":"./dist/core/consent.mjs","source":"./src/core/consent.ts"},"./destinations":{"types":"./dist/destinations/index.d.mts","import":"./dist/destinations/index.mjs","source":"./src/destinations/index.ts"},"./package.json":"./package.json","./client/router":{"types":"./dist/client/router.d.mts","import":"./dist/client/router.mjs","source":"./src/client/router.ts"},"./core/event-id":{"types":"./dist/core/event-id.d.mts","import":"./dist/core/event-id.mjs","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.mts","import":"./dist/server/region.mjs","source":"./src/server/region.ts"},"./client/lifecycle":{"types":"./dist/client/lifecycle.d.mts","import":"./dist/client/lifecycle.mjs","source":"./src/client/lifecycle.ts"},"./core/destination":{"types":"./dist/core/destination.d.mts","import":"./dist/core/destination.mjs","source":"./src/core/destination.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.mts","import":"./dist/react/use-consent.mjs","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.mts","import":"./dist/core/event-catalog.mjs","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.mts","import":"./dist/core/tracked-event.mjs","source":"./src/core/tracked-event.ts"},"./client/local-storage":{"types":"./dist/client/local-storage.d.mts","import":"./dist/client/local-storage.mjs","source":"./src/client/local-storage.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.mts","import":"./dist/react/consent-banner.mjs","source":"./src/react/consent-banner.tsx"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.mts","import":"./dist/client/consent-storage.mjs","source":"./src/client/consent-storage.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.mts","import":"./dist/client/create-client-tracker.mjs","source":"./src/client/create-client-tracker.ts"},"./server/create-server-tracker":{"types":"./dist/server/create-server-tracker.d.mts","import":"./dist/server/create-server-tracker.mjs","source":"./src/server/create-server-tracker.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.mts","import":"./dist/destinations/google-analytics.mjs","source":"./src/destinations/google-analytics.ts"},"./destinations/http-destination":{"types":"./dist/destinations/http-destination.d.mts","import":"./dist/destinations/http-destination.mjs","source":"./src/destinations/http-destination.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.mts","import":"./dist/destinations/vercel-analytics.mjs","source":"./src/destinations/vercel-analytics.ts"},"./destinations/ga4-measurement-protocol":{"types":"./dist/destinations/ga4-measurement-protocol.d.mts","import":"./dist/destinations/ga4-measurement-protocol.mjs","source":"./src/destinations/ga4-measurement-protocol.ts"}},"imports":{"#/*":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"tsdown","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsgo --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Fullstack, type-safe event tracking for TanStack Start — isomorphic client/server trackers over a per-app Zod event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^19.2.7","tsdown":"^0.22.3","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^26.1.0","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.9","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript/native-preview":"7.0.0-dev.20260704.1","@codefast/typescript-config":"0.5.0-canary.4","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.4_1783445406676_0.3057105902251478","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.5":{"name":"@codefast/tracking","version":"0.5.0-canary.5","keywords":["analytics","codefast","consent","tanstack-start","tracking","typescript","zod"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.5","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"4b1132a85bc1f2a5521ff8e379ca8cd813eb75e1","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.5.tgz","fileCount":83,"integrity":"sha512-Fod9ocNERRTCg2MDNaqnrcAncCSEWZD6EdvWFss44suXIWUscYtSbQ1cQM3Z4Npo+dlAOOhK3u58WcllghAChA==","signatures":[{"sig":"MEYCIQCfy3YeFcoWQlZTmKM5xaPJr2YGYauepLiDldkHmot2ogIhANpD0hoVHc0iWCX6l/rDkxGEn8mfQUo4+cXDZu9wZQCM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160567},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./core":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs","source":"./src/core/index.ts"},"./css/*":"./src/css/*","./react":{"types":"./dist/react/index.d.mts","import":"./dist/react/index.mjs","source":"./src/react/index.ts"},"./client":{"types":"./dist/client/index.d.mts","import":"./dist/client/index.mjs","source":"./src/client/index.ts"},"./server":{"types":"./dist/server/index.d.mts","import":"./dist/server/index.mjs","source":"./src/server/index.ts"},"./client/gpc":{"types":"./dist/client/gpc.d.mts","import":"./dist/client/gpc.mjs","source":"./src/client/gpc.ts"},"./client/queue":{"types":"./dist/client/queue.d.mts","import":"./dist/client/queue.mjs","source":"./src/client/queue.ts"},"./core/consent":{"types":"./dist/core/consent.d.mts","import":"./dist/core/consent.mjs","source":"./src/core/consent.ts"},"./destinations":{"types":"./dist/destinations/index.d.mts","import":"./dist/destinations/index.mjs","source":"./src/destinations/index.ts"},"./package.json":"./package.json","./client/router":{"types":"./dist/client/router.d.mts","import":"./dist/client/router.mjs","source":"./src/client/router.ts"},"./core/event-id":{"types":"./dist/core/event-id.d.mts","import":"./dist/core/event-id.mjs","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.mts","import":"./dist/server/region.mjs","source":"./src/server/region.ts"},"./client/lifecycle":{"types":"./dist/client/lifecycle.d.mts","import":"./dist/client/lifecycle.mjs","source":"./src/client/lifecycle.ts"},"./core/destination":{"types":"./dist/core/destination.d.mts","import":"./dist/core/destination.mjs","source":"./src/core/destination.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.mts","import":"./dist/react/use-consent.mjs","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.mts","import":"./dist/core/event-catalog.mjs","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.mts","import":"./dist/core/tracked-event.mjs","source":"./src/core/tracked-event.ts"},"./client/local-storage":{"types":"./dist/client/local-storage.d.mts","import":"./dist/client/local-storage.mjs","source":"./src/client/local-storage.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.mts","import":"./dist/react/consent-banner.mjs","source":"./src/react/consent-banner.tsx"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.mts","import":"./dist/client/consent-storage.mjs","source":"./src/client/consent-storage.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.mts","import":"./dist/client/create-client-tracker.mjs","source":"./src/client/create-client-tracker.ts"},"./server/create-server-tracker":{"types":"./dist/server/create-server-tracker.d.mts","import":"./dist/server/create-server-tracker.mjs","source":"./src/server/create-server-tracker.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.mts","import":"./dist/destinations/google-analytics.mjs","source":"./src/destinations/google-analytics.ts"},"./destinations/http-destination":{"types":"./dist/destinations/http-destination.d.mts","import":"./dist/destinations/http-destination.mjs","source":"./src/destinations/http-destination.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.mts","import":"./dist/destinations/vercel-analytics.mjs","source":"./src/destinations/vercel-analytics.ts"},"./destinations/ga4-measurement-protocol":{"types":"./dist/destinations/ga4-measurement-protocol.d.mts","import":"./dist/destinations/ga4-measurement-protocol.mjs","source":"./src/destinations/ga4-measurement-protocol.ts"}},"imports":{"#/*":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"tsdown","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsgo --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Fullstack, type-safe event tracking for TanStack Start — isomorphic client/server trackers over a per-app Zod event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^19.2.7","tsdown":"^0.22.3","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^26.1.0","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.9","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript/native-preview":"7.0.0-dev.20260704.1","@codefast/typescript-config":"0.5.0-canary.5","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.5_1783448005891_0.7611612181641545","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-canary.6":{"name":"@codefast/tracking","version":"1.0.0-canary.6","keywords":["analytics","codefast","consent","tanstack-start","tracking","typescript","zod"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@1.0.0-canary.6","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"4d505801b57d3eb74bab0fe4796be0b60392180e","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-1.0.0-canary.6.tgz","fileCount":116,"integrity":"sha512-7vOXCPbnwH09AlkZeb/iSJW0m5ygMZeUlWHYqKTd9Iv3NvQhaLG0n+jE2TJXgjWb4TPjuVw6+XEQWilsvXlKNA==","signatures":[{"sig":"MEUCIA8P+l0BqKOUl/p1KguK6Hfq7VomzNqyjotaGiaqsd0CAiEAjMZh96WhuQRwzhMK9rHXe47zgv5u/P8rlXPVFb4kSVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275640},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./css/*":"./src/css/*","./react":{"types":"./dist/react/index.d.mts","import":"./dist/react/index.mjs","source":"./src/react/index.ts"},"./client":{"types":"./dist/client/index.d.mts","import":"./dist/client/index.mjs","source":"./src/client/index.ts"},"./server":{"types":"./dist/server/index.d.mts","import":"./dist/server/index.mjs","source":"./src/server/index.ts"},"./destinations":{"types":"./dist/destinations/index.d.mts","import":"./dist/destinations/index.mjs","source":"./src/destinations/index.ts"},"./package.json":"./package.json","./tanstack-start":{"types":"./dist/tanstack-start/index.d.mts","import":"./dist/tanstack-start/index.mjs","source":"./src/tanstack-start/index.ts"},"./import-protection":{"types":"./dist/import-protection.d.mts","import":"./dist/import-protection.mjs","source":"./src/import-protection.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.mts","import":"./dist/destinations/vercel-analytics.mjs","source":"./src/destinations/vercel-analytics.ts"}},"imports":{"#/*":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"tsdown","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsgo --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Fullstack, type-safe event tracking for TanStack Start — isomorphic client/server trackers over a per-app Zod event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^29.1.1","react":"^19.2.7","tsdown":"^0.22.3","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^26.1.0","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.9","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@tanstack/react-start":"^1.168.27","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript/native-preview":"7.0.0-dev.20260704.1","@codefast/typescript-config":"1.0.0-canary.6","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_1.0.0-canary.6_1783780703204_0.8044569068152301","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-canary.7":{"name":"@codefast/tracking","version":"1.0.0-canary.7","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@1.0.0-canary.7","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"48f37e902854a65421507df097a8d9d6038544ad","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-1.0.0-canary.7.tgz","fileCount":215,"integrity":"sha512-afvcmJc4fOsFPzU8RXaU0l8iED99d7Zlpz3taoe+rTsPWzSsi+Th90Tbfp7JshnkjZ4b3sx4SJ1ME2fqqoSIFw==","signatures":[{"sig":"MEYCIQCl2viQfJSJ3RHg+MXEzoWFxtjOIKU4pNMliCiFbJlOAwIhAICmJWifvDMX9FULoPKtyJXvUugjEMOwl+ENbyEGH0qu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475354},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":["./dist/*.d.ts","./dist/*/index.d.ts"],"source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":["./dist/*.js","./dist/*/index.js"]},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^7.0.2","@types/node":"^26.1.1","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@tanstack/react-start":"^1.168.32","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@codefast/typescript-config":"1.0.0-canary.7","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_1.0.0-canary.7_1784556414663_0.146726237686031","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.6":{"name":"@codefast/tracking","version":"0.5.0-canary.6","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.6","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"c3b9c52f2b2de8b6ddc56c3f0cd0a98f0382f868","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.6.tgz","fileCount":215,"integrity":"sha512-TwHS8KnV8pU3/ziP2jkNkxT6HaT2Mq5wLkwBAfUxvQaklzYYdxZr8hR0YKcV26WUrhBzfxJOjGOzriN5yBmvlA==","signatures":[{"sig":"MEQCIGcyh4ZG/cHvZtDPCJG1LmIYUGJ5/yzgwqq6OJRxsp+YAiAKidnORbeSJmE835OJbxVMA9beRprZcTvTbzCctjLWjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":["./dist/*.d.ts","./dist/*/index.d.ts"],"source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":["./dist/*.js","./dist/*/index.js"]},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^7.0.2","@types/node":"^26.1.1","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@tanstack/react-start":"^1.168.32","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@codefast/typescript-config":"0.5.0-canary.6","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.6_1784696476299_0.42969981456933537","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.7":{"name":"@codefast/tracking","version":"0.5.0-canary.7","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.7","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"a8e6c6d60b95492f32233111c398264fed9b6861","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.7.tgz","fileCount":215,"integrity":"sha512-REOa0hbc1toh3QUBHXBxF2KBcQSzMSl1J8BwCW3dvEU2FYwfATr+s7woSa6D4XzXTijz0z6cjX5uG4WhpAT1SA==","signatures":[{"sig":"MEQCIHgwf52dD1QNDt8yqWhLOObzQw6KTyS/IpxAdv6ibjG6AiALrdKdMtQ7BOVBFIgL+u5dyNl9aHcDbz2bv9EMRLVGZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":["./dist/*.d.ts","./dist/*/index.d.ts"],"source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":["./dist/*.js","./dist/*/index.js"]},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^29.1.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.1.1","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.4","@tanstack/react-start":"^1.168.32","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@codefast/typescript-config":"0.5.0-canary.7","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.7_1785044264823_0.9243025904337758","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.8":{"name":"@codefast/tracking","version":"0.5.0-canary.8","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.8","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"433aad594d003f9d463e753a01d8e52c97a7e3b2","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.8.tgz","fileCount":215,"integrity":"sha512-pNYGsYh4j3HCvEUTXuRO/63COvcUKz6dkuMzWnm0GQ1s0FIhlTbvcLBoQUkbPjU3bPVzGl0UAQP6YXM/4TiOaw==","signatures":[{"sig":"MEUCIQC/FLOlYrsscpX/tEtNfNc3WlvPxufleV+aRkAKBy51xwIgCPiaEzrT0XgNg1fcjexMa8FZfEjhMN/sFmv842+FsOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":["./dist/*.d.ts","./dist/*/index.d.ts"],"source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":["./dist/*.js","./dist/*/index.js"]},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^29.1.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.1.1","expect-type":"^1.4.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.4","@tanstack/react-start":"^1.168.32","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@codefast/typescript-config":"0.5.0-canary.8","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.8_1785118230727_0.2315951253171704","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-canary.9":{"name":"@codefast/tracking","version":"0.5.0-canary.9","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0-canary.9","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"ed5a563edb98505df497010a5ae330407931a1f5","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0-canary.9.tgz","fileCount":215,"integrity":"sha512-zXVvFVwZHFtx5j0f4CL4kg4j0THGUJKRuD5QIQYuXCLlDfh09YJREQfOT8UgONPgINbRHrTB5l1BKYScE9uqUg==","signatures":[{"sig":"MEUCIQCZkGXZ0PJnu6nPclc/pBY4528zOcwndSBAsR6iLeZZ2AIgbubzbrean0eGQ9QE4KxohaN8xMpgBo2+k+uOh0PjjlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":525643},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.1.2","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.34","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@codefast/typescript-config":"0.5.0-canary.9","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0-canary.9_1785542597413_0.8332998631197848","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@codefast/tracking","version":"0.5.0","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.5.0","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"4b98332cf8117bbef70dceba1f14e3648b681f15","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.5.0.tgz","fileCount":215,"integrity":"sha512-ORqowkjLNHl0+7+AqFaSLOZ8TlM2S5dkyA3BcE9jlho3RVI7fZ3PJ4BwQjf78L1pbStr/BUGk1j7pldtfmpdww==","signatures":[{"sig":"MEUCIQCPQhRpQtNWqH033buPpo4jeG1NVfp6jq6AHRF+DKpCdQIgHkCxS8fqSzdDZPr5LLtvqoFymDwjp/hZXc55XqhNYJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575996},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.1.2","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.34","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@codefast/typescript-config":"0.5.0","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.5.0_1785544121994_0.1847724906352961","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@codefast/tracking","version":"0.6.0","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.6.0","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"50abdda1a1fec0fc67a61758cd04d142f9b9c6f6","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.6.0.tgz","fileCount":215,"integrity":"sha512-0pg4TXEDZDqWtMbeqKEdQ/FrH6CuGhqBViZdU5ZRXVYjLZMF/jsDw3vNJH/qdOzNV5fYgn7DGeTSQSU7wmIj5g==","signatures":[{"sig":"MEUCIQDJp1DuAqNJl5XgyvBGGuQx86f9A3aeeWSnsmAoS2tZbAIgZ1YrVtmxo/GY7yllYIEJFdLFPP2djy2QGLpvWrWr5Dk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578738},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.2.0","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.44","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.6.0","@testing-library/user-event":"^14.6.4"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.6.0_1786879857169_0.4819220268800788","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@codefast/tracking","version":"0.6.1","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.6.1","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"9ef56da0ebfb068b886940c86773a775fd3e8484","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.6.1.tgz","fileCount":215,"integrity":"sha512-ZnJ0WhOu2s2cs3mq3wc121SYZpeoXSARelDHojzbi2Ll/1jtEJwvX5kT9MBsjjhdfgFC0PbWH59wVN9bITKOsg==","signatures":[{"sig":"MEUCIEsW5b6xdN7c+jGP5XgDXdOeMWhdsV3UEMqUSubr3jdjAiEAsn+ttoutzLCqFlawQYHzCkPMQD+hFuE+cuBFRoQ+UHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578748},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.2.0","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.44","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.6.1","@testing-library/user-event":"^14.6.4"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.6.1_1786895234883_0.973763696736335","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@codefast/tracking","version":"0.6.2","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.6.2","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"0c203824b802dfa650420a8b51375e112a64d31f","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.6.2.tgz","fileCount":215,"integrity":"sha512-/9UEA5ikLaoNYL1+A1Zm6xRVnxpF98ubmbF0ZB/jXpLwaWkYWwnZctJZMaEfV+vil9upSlF0XagKqJ6psnHENg==","signatures":[{"sig":"MEQCIBMSKEvApYjn0BpWqGCB8A16849HGpbWg8YcE25lxHpVAiBo7IpEhu3fftsd9TPjwDeIhEuM+SbJqehbUTapSZUCKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578758},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.2.0","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.44","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.6.2","@testing-library/user-event":"^14.6.4"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.6.2_1786897419494_0.8795411954303662","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@codefast/tracking","version":"0.7.0","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.7.0","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"f474ae7792dcdeb48f3cab647ee7aa9137c9c91b","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.7.0.tgz","fileCount":215,"integrity":"sha512-wNOUvd6JbbX0QSHaawpyeLnNcIhEFSkMqqgfkNhp7WZfr0284VNyktnGZxoY5BgNBQPyvdLprzkShfI76GxRZQ==","signatures":[{"sig":"MEQCICunCvF98DNpEz/+8SvmTQnSdcz9lrVN22MdLjpkhvieAiAEzYUHeCJc66rYyl7P8XM6/5s/aH6X5nT8VbBuccqi6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578768},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"thevuong","email":"mr.thevuong@gmail.com"},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.10","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.2.0","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.10","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.5","@tanstack/react-start":"^1.168.44","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.7.0","@testing-library/user-event":"^14.6.4"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.7.0_1787014062144_0.03174610110808751","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@codefast/tracking","version":"0.7.1","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.7.1","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"c686e6c749ed387c08faca45ff62991c69843a96","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.7.1.tgz","fileCount":215,"integrity":"sha512-zW4sU7ZXUaCnjiIkNeOY4fYOb8+90jwOLftpYFl7XnYTRgynyhZvlOCcg31Q5BdxTXMHdbcSO5ktaES2vj+/hA==","signatures":[{"sig":"MEYCIQCz0IEelbTMtIan1rEYqlxeN6UF/WSSTuDr0aAK/eQQMAIhAIdkGJ5r1l/ShxVOXhlft2H9LstXNfdJtx/QIPnRUdba","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codefast%2ftracking@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":585937},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js","source":"./src/client/gpc.ts"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js","source":"./src/core/cookie.ts"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js","source":"./src/core/consent.ts"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js","source":"./src/core/event-id.ts"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js","source":"./src/server/region.ts"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js","source":"./src/core/destination.ts"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js","source":"./src/destinations/meta.ts"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js","source":"./src/react/use-consent.ts"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js","source":"./src/core/event-catalog.ts"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js","source":"./src/core/tracked-event.ts"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js","source":"./src/core/consent-config.ts"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js","source":"./src/destinations/shared.ts"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js","source":"./src/destinations/tiktok.ts"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js","source":"./src/core/consent-receipt.ts"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js","source":"./src/react/consent-banner.tsx"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js","source":"./src/server/user-deletion.ts"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js","source":"./src/client/browser-cookie.ts"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js","source":"./src/client/consent-runtime.ts"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js","source":"./src/client/consent-storage.ts"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js","source":"./src/server/consent-receipt.ts"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js","source":"./src/server/initial-consent.ts"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js","source":"./src/adapters/tanstack-start.ts"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js","source":"./src/destinations/ad-consent.ts"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js","source":"./src/client/consent-withdrawal.ts"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js","source":"./src/react/use-initial-consent.ts"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js","source":"./src/tooling/import-protection.ts"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js","source":"./src/client/cookie-anonymous-id.ts"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js","source":"./src/destinations/microsoft-uet.ts"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js","source":"./src/server/anonymous-id-cookie.ts"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js","source":"./src/client/ad-framework-consent.ts"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js","source":"./src/client/is-analytics-allowed.ts"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js","source":"./src/destinations/google-consent.ts"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js","source":"./src/server/measurement-protocol.ts"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js","source":"./src/client/create-client-tracker.ts"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js","source":"./src/client/initial-consent-store.ts"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js","source":"./src/react/gtag-consent-bootstrap.tsx"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js","source":"./src/server/consent-receipt-store.ts"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js","source":"./src/destinations/google-analytics.ts"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js","source":"./src/destinations/vercel-analytics.ts"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js","source":"./src/react/use-google-consent-sync.ts"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js","source":"./src/client/server-persisted-anonymous-id.ts"}},"imports":{"#/*":{"types":"./dist/*.d.ts","source":["./src/*","./src/*.ts","./src/*.tsx","./src/*/index.ts","./src/*/index.tsx"],"default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7461cb53-ebec-49c6-8f0b-fbe896060ce1"}},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.2.0","expect-type":"^1.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^4.1.11","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.1.0","@tanstack/react-start":"^1.168.49","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.8.0","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.7.1_1787527405086_0.7946606138487604","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@codefast/tracking","version":"0.7.2","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"author":"Vuong Phan <mr.thevuong@gmail.com>","license":"MIT","_id":"@codefast/tracking@0.7.2","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"e301bfb451333aced39970f3da5d9a7db60a814f","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.7.2.tgz","fileCount":88,"integrity":"sha512-VHjSPK5Aq3zrJxjNrBX9ib9HCfBd/X7u0g1xj4P3EnxGL1IahdboF6iGEJCQXSchD6ZcDSqk97blCYp6QF8HSg==","signatures":[{"sig":"MEYCIQCSNvWNeTnczWLWLwSKZp2TwFQSLg/aTCYVWOB3MJeR3wIhAKoAgH/o6VnE+tcss0yd283PkfV9B7YF5UehmEoDSgtT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD+2dmSta0ysWgnZ3vyD5gIuJ5KhsHes1HUGh3KtaQQxQIhAIlm44FAzgzyO2Nf3CQFyyRuOV5g5lPwAd3l5W9aqztj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codefast%2ftracking@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":358419},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js"}},"imports":{"#/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"},"#/tests/*":["./tests/*","./tests/*.ts","./tests/*.tsx","./tests/*/index.ts","./tests/*/index.tsx"]},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"vitest run tests/e2e","test:type":"vitest run tests/types","test:unit":"vitest run tests/unit","test:watch":"vitest","check-types":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7461cb53-ebec-49c6-8f0b-fbe896060ce1"}},"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"sideEffects":false,"_nodeVersion":"26.1.0","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.5.4","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^5.0.0","react-dom":"^19.2.8","typescript":"^7.0.2","@types/node":"^26.4.1","@types/react":"^19.2.18","@types/react-dom":"^19.2.7","@vercel/analytics":"^2.0.1","@vitest/coverage-v8":"^5.0.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.1.1","@tanstack/react-start":"^1.168.49","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1","@codefast/typescript-config":"0.9.0","@testing-library/user-event":"^14.6.7"},"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tracking_0.7.2_1788597505548_0.18602898648113886","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"_id":"@codefast/tracking@0.7.3","bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"dist":{"shasum":"ccb5a8f01f169a3af7dfef353c5476c68509eb9c","tarball":"https://registry.npmjs.org/@codefast/tracking/-/tracking-0.7.3.tgz","fileCount":89,"integrity":"sha512-R6HL25v7ZELAkOVd2gRKs627PnYRi0gETDz1+TVXnemZmqJmsLkuHITkeuH69MoMUt5iDolBkcplr+DDhRkDgQ==","signatures":[{"sig":"MEQCIEd6xqY0l7aE5GFutRbqulbRJVFSeNFIYDee4a/UC8KuAiB8eYZmGCk8KIR9imPQiHs6LmKbaxObT5jrZbrw5V1bCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBFm6kBykorcU/y1ll2Nwy17XImRcI7/Fb8VkswV2eB/AiADB/uf8nEl2/DTfqrvYQd5YiNBbjqpO0RkGA+SUXYJig=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codefast%2ftracking@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":363495},"main":"./dist/index.js","name":"@codefast/tracking","type":"module","types":"./dist/index.d.ts","author":"Vuong Phan <mr.thevuong@gmail.com> (https://github.com/thevuong)","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./css/*":"./src/css/*","./client/gpc":{"types":"./dist/client/gpc.d.ts","import":"./dist/client/gpc.js"},"./core/cookie":{"types":"./dist/core/cookie.d.ts","import":"./dist/core/cookie.js"},"./core/consent":{"types":"./dist/core/consent.d.ts","import":"./dist/core/consent.js"},"./package.json":"./package.json","./core/event-id":{"types":"./dist/core/event-id.d.ts","import":"./dist/core/event-id.js"},"./server/region":{"types":"./dist/server/region.d.ts","import":"./dist/server/region.js"},"./core/destination":{"types":"./dist/core/destination.d.ts","import":"./dist/core/destination.js"},"./destinations/meta":{"types":"./dist/destinations/meta.d.ts","import":"./dist/destinations/meta.js"},"./react/use-consent":{"types":"./dist/react/use-consent.d.ts","import":"./dist/react/use-consent.js"},"./core/event-catalog":{"types":"./dist/core/event-catalog.d.ts","import":"./dist/core/event-catalog.js"},"./core/tracked-event":{"types":"./dist/core/tracked-event.d.ts","import":"./dist/core/tracked-event.js"},"./core/consent-config":{"types":"./dist/core/consent-config.d.ts","import":"./dist/core/consent-config.js"},"./destinations/shared":{"types":"./dist/destinations/shared.d.ts","import":"./dist/destinations/shared.js"},"./destinations/tiktok":{"types":"./dist/destinations/tiktok.d.ts","import":"./dist/destinations/tiktok.js"},"./core/consent-receipt":{"types":"./dist/core/consent-receipt.d.ts","import":"./dist/core/consent-receipt.js"},"./react/consent-banner":{"types":"./dist/react/consent-banner.d.ts","import":"./dist/react/consent-banner.js"},"./server/user-deletion":{"types":"./dist/server/user-deletion.d.ts","import":"./dist/server/user-deletion.js"},"./client/browser-cookie":{"types":"./dist/client/browser-cookie.d.ts","import":"./dist/client/browser-cookie.js"},"./client/consent-runtime":{"types":"./dist/client/consent-runtime.d.ts","import":"./dist/client/consent-runtime.js"},"./client/consent-storage":{"types":"./dist/client/consent-storage.d.ts","import":"./dist/client/consent-storage.js"},"./server/consent-receipt":{"types":"./dist/server/consent-receipt.d.ts","import":"./dist/server/consent-receipt.js"},"./server/initial-consent":{"types":"./dist/server/initial-consent.d.ts","import":"./dist/server/initial-consent.js"},"./adapters/tanstack-start":{"types":"./dist/adapters/tanstack-start.d.ts","import":"./dist/adapters/tanstack-start.js"},"./destinations/ad-consent":{"types":"./dist/destinations/ad-consent.d.ts","import":"./dist/destinations/ad-consent.js"},"./client/consent-withdrawal":{"types":"./dist/client/consent-withdrawal.d.ts","import":"./dist/client/consent-withdrawal.js"},"./react/use-initial-consent":{"types":"./dist/react/use-initial-consent.d.ts","import":"./dist/react/use-initial-consent.js"},"./tooling/import-protection":{"types":"./dist/tooling/import-protection.d.ts","import":"./dist/tooling/import-protection.js"},"./client/cookie-anonymous-id":{"types":"./dist/client/cookie-anonymous-id.d.ts","import":"./dist/client/cookie-anonymous-id.js"},"./destinations/microsoft-uet":{"types":"./dist/destinations/microsoft-uet.d.ts","import":"./dist/destinations/microsoft-uet.js"},"./server/anonymous-id-cookie":{"types":"./dist/server/anonymous-id-cookie.d.ts","import":"./dist/server/anonymous-id-cookie.js"},"./client/ad-framework-consent":{"types":"./dist/client/ad-framework-consent.d.ts","import":"./dist/client/ad-framework-consent.js"},"./client/is-analytics-allowed":{"types":"./dist/client/is-analytics-allowed.d.ts","import":"./dist/client/is-analytics-allowed.js"},"./destinations/google-consent":{"types":"./dist/destinations/google-consent.d.ts","import":"./dist/destinations/google-consent.js"},"./server/measurement-protocol":{"types":"./dist/server/measurement-protocol.d.ts","import":"./dist/server/measurement-protocol.js"},"./client/create-client-tracker":{"types":"./dist/client/create-client-tracker.d.ts","import":"./dist/client/create-client-tracker.js"},"./client/initial-consent-store":{"types":"./dist/client/initial-consent-store.d.ts","import":"./dist/client/initial-consent-store.js"},"./react/gtag-consent-bootstrap":{"types":"./dist/react/gtag-consent-bootstrap.d.ts","import":"./dist/react/gtag-consent-bootstrap.js"},"./server/consent-receipt-store":{"types":"./dist/server/consent-receipt-store.d.ts","import":"./dist/server/consent-receipt-store.js"},"./destinations/google-analytics":{"types":"./dist/destinations/google-analytics.d.ts","import":"./dist/destinations/google-analytics.js"},"./destinations/vercel-analytics":{"types":"./dist/destinations/vercel-analytics.d.ts","import":"./dist/destinations/vercel-analytics.js"},"./react/use-google-consent-sync":{"types":"./dist/react/use-google-consent-sync.d.ts","import":"./dist/react/use-google-consent-sync.js"},"./client/server-persisted-anonymous-id":{"types":"./dist/client/server-persisted-anonymous-id.d.ts","import":"./dist/client/server-persisted-anonymous-id.js"}},"imports":{"#*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"license":"MIT","version":"0.7.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7461cb53-ebec-49c6-8f0b-fbe896060ce1"}},"homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","directories":{},"maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"@standard-schema/spec":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=19.0.0","react-dom":">=19.0.0","@types/react":">=19.0.0","@types/react-dom":">=19.0.0","@vercel/analytics":">=1.0.0","@tanstack/react-start":">=1.168.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"@types/react":{"optional":true},"@types/react-dom":{"optional":true},"@vercel/analytics":{"optional":true},"@tanstack/react-start":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tracking_0.7.3_1789715674379_0.9800561338515139"}}},"time":{"created":"2026-07-06T15:37:43.748Z","modified":"2026-09-18T07:14:34.905Z","0.0.0":"2026-07-06T15:37:44.100Z","0.5.0-canary.4":"2026-07-07T17:30:06.813Z","0.5.0-canary.5":"2026-07-07T18:13:26.023Z","1.0.0-canary.6":"2026-07-11T14:38:23.354Z","1.0.0-canary.7":"2026-07-20T14:06:54.801Z","0.5.0-canary.6":"2026-07-22T05:01:16.467Z","0.5.0-canary.7":"2026-07-26T05:37:44.988Z","0.5.0-canary.8":"2026-07-27T02:10:30.881Z","0.5.0-canary.9":"2026-08-01T00:03:17.587Z","0.5.0":"2026-08-01T00:28:42.138Z","0.6.0":"2026-08-16T11:30:57.315Z","0.6.1":"2026-08-16T15:47:15.027Z","0.6.2":"2026-08-16T16:23:39.627Z","0.7.0":"2026-08-18T00:47:42.331Z","0.7.1":"2026-08-23T23:23:25.310Z","0.7.2":"2026-09-05T08:38:25.653Z","0.7.3":"2026-09-18T07:14:34.486Z"},"bugs":{"url":"https://github.com/codefastlabs/codefast/issues"},"author":"Vuong Phan <mr.thevuong@gmail.com> (https://github.com/thevuong)","license":"MIT","homepage":"https://github.com/codefastlabs/codefast/tree/main/packages/tracking#readme","keywords":["analytics","codefast","consent","standard-schema","tanstack-start","tracking","typescript"],"repository":{"url":"git+https://github.com/codefastlabs/codefast.git","type":"git","directory":"packages/tracking"},"description":"Consent-gated, type-safe event tracking for TanStack Start — client tracker and server consent helpers over a per-app Standard Schema event catalog","maintainers":[{"name":"thevuong","email":"mr.thevuong@gmail.com"}],"readme":"# @codefast/tracking\n\nConsent-gated, type-safe event tracking for TanStack Start apps that ship to a CDN-cached (ISR) deployment.\n\n[![npm version](https://img.shields.io/npm/v/@codefast/tracking)](https://www.npmjs.com/package/@codefast/tracking)\n[![license](https://img.shields.io/npm/l/@codefast/tracking)](./LICENSE)\n\n## Overview\n\n`@codefast/tracking` is consent-gated, type-safe event tracking for TanStack Start apps deployed to a CDN cache (ISR).\nYou define your events over a Standard Schema catalog, and `track()` infers each event's name and properties, validates\nthem at runtime, and forwards them to your destinations — but only when consent allows.\n\nBecause ISR HTML is shared across visitors, the package bakes the strictest consent default into the cached render, then\nresolves the region-correct default per visitor over a private server-function lane.\n\n- **One catalog, typed end to end.** The app defines its events over any [Standard Schema](https://standardschema.dev)\n  library (zod, `zod/mini`, valibot, and so on). `track()` infers the event name and its properties from the catalog and\n  validates them at runtime, and the client bundle pays only for the schema library the app already ships.\n- **One consent config, every surface.** `ConsentConfig` holds the storage key, the policy version, and the requested\n  purposes. The React hooks, the tracker gate, and the pre-hydration Google tag bootstrap all take the same object, so\n  nothing drifts.\n- **ISR-safe by design.** Shared HTML bakes the strictest consent default; the region-correct default arrives per\n  visitor over a private server-function lane.\n- **Per-category decisions.** Consent is `{ ads, analytics }`, mirroring Google Consent Mode v2, with region-resolved\n  opt-in or opt-out modes, and Global Privacy Control honored as an ads opt-out.\n- **Destinations own their transport.** gtag.js and Vercel Analytics batch in-page, so `track()` is fire-and-forget, and\n  a failing destination never breaks the interaction.\n\n## Installation\n\n```bash\npnpm add @codefast/tracking\n```\n\n`@codefast/tracking` requires Node.js 22.12 or later. Its one runtime dependency is `@standard-schema/spec`. Every peer\nis optional, needed only by the surface that uses it: `react` and `react-dom` (19 or later) for the `react/*` subpaths,\n`@tanstack/react-start` (1.168 or later) for `adapters/tanstack-start`, and `@vercel/analytics` for\n`destinations/vercel-analytics`.\n\nThe package is published on 0.x and versioned on its own track: breaking changes ship as minor versions, so pin the\nminor version when you need stability.\n\n## Quick start\n\nThree modules: the consent contract, the live consent runtime derived from it, and the catalog plus tracker.\n\n```ts\n// consent.ts — the one consent contract every surface shares\nimport { defineConsentConfig } from \"@codefast/tracking\";\n\nexport const consentConfig = defineConsentConfig({\n  policyVersion: \"2026-01\", // bump to re-prompt everyone\n  requestedCategories: [\"analytics\"],\n  storageKey: \"my-app-consent\",\n});\n```\n\n```ts\n// consent-runtime.ts — live client instances derived from the config\nimport { createConsentRuntime } from \"@codefast/tracking/client/consent-runtime\";\n\nimport { consentConfig } from \"./consent\";\nimport { resolveVisitorConsent } from \"./resolve-visitor-consent\"; // server function, see \"The ISR lane\"\n\nexport const consentRuntime = createConsentRuntime({\n  config: consentConfig,\n  initialConsentSessionStorageKey: \"my-app-initial-consent\",\n  resolveInitialConsent: () => resolveVisitorConsent(),\n});\n```\n\n```ts\n// tracking.ts — catalog + tracker\nimport { defineEventCatalog } from \"@codefast/tracking\";\nimport { createClientTracker } from \"@codefast/tracking/client/create-client-tracker\";\nimport { createGoogleAnalyticsDestination } from \"@codefast/tracking/destinations/google-analytics\";\nimport { createVercelAnalyticsDestination } from \"@codefast/tracking/destinations/vercel-analytics\";\nimport * as z from \"zod/mini\";\n\nimport { consentRuntime } from \"./consent-runtime\";\n\nexport const catalog = defineEventCatalog({\n  copy_code: { schema: z.object({ name: z.string() }) },\n});\n\nexport const tracker = createClientTracker({\n  anonymousId: () => \"...\", // see \"Durable anonymous id\"\n  catalog,\n  destinations: [\n    // Vercel is cookieless and receives no identifier, so it may keep counting before consent.\n    createVercelAnalyticsDestination({ consentRequirement: \"exempt\" }),\n    createGoogleAnalyticsDestination(),\n  ],\n  isAnalyticsAllowed: consentRuntime.isAnalyticsAllowed,\n});\n\ntracker.track(\"copy_code\", { name: \"button\" }); // typed + runtime-validated\n```\n\n`anonymousId` is a callback, not a value: the tracker calls it per allowed event, so the id is only minted once an event\nis actually permitted to send. `isAnalyticsAllowed` is consulted before every event; while it returns `false`, only\n`consentRequirement: \"exempt\"` destinations still receive events, stripped of identifiers. Pass `isExemptionAllowed` to\ngate even that lane per region, and `onDeliveryError` to meter a destination that throws or rejects.\n\n## Event catalog\n\nThe package ships no events and no schema library. Every app builds its own catalog with `defineEventCatalog` over the\nStandard Schema validator it already uses. `track()` infers both the event name and its properties from the catalog,\nthen validates the properties at runtime and hands destinations the parsed output (unknown keys stripped, transforms\napplied). A validation failure throws at the call site. Schemas that validate asynchronously are rejected, because\ntracking sits on synchronous call paths.\n\n## Subpaths\n\nThe root `@codefast/tracking` is the **client entry**. It re-exports the isomorphic core (catalog types, `Destination`,\nthe consent model and `ConsentConfig`) plus the whole browser-side surface: `createClientTracker`,\n`createConsentRuntime`, the `useConsent`/`ConsentBanner`/`GtagConsentBootstrap` React bindings, and the client-lane\ndestinations (Google Analytics, Meta, TikTok, Microsoft UET). Server-only lanes are never re-exported from the root.\n\n| Subpath                                            | Lane        | Contents                                                                                             |\n| -------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------- |\n| `@codefast/tracking`                               | client      | Core + tracker + consent runtime + React bindings + gtag/ad-network destinations                     |\n| `@codefast/tracking/destinations/vercel-analytics` | client      | Its own subpath so the `@vercel/analytics` peer is only pulled in when used                          |\n| `@codefast/tracking/core/*`                        | isomorphic  | `consent`, `consent-config`, `consent-receipt`, `cookie`, `destination`, `event-catalog`, `event-id` |\n| `@codefast/tracking/server/*`                      | server-only | `initial-consent`, `region`, `anonymous-id-cookie`, `consent-receipt`, `consent-receipt-store`, ...  |\n| `@codefast/tracking/adapters/tanstack-start`       | server-only | Request/response glue over `@tanstack/react-start/server`                                            |\n| `@codefast/tracking/tooling/import-protection`     | build       | `SERVER_ONLY_SUBPATHS`, the deny-list for client bundles                                             |\n| `@codefast/tracking/css/consent.css`               | client      | Optional plain-CSS theme for the consent banner                                                      |\n\nEvery built module is also its own subpath (for example `@codefast/tracking/client/gpc`) for granular imports. Server\ncode imports the core it needs from `@codefast/tracking/core/*`, never from the client root. There is no server-side\ntracker: destinations batch in-page, and the server half of the package is consent resolution plus cookie persistence.\n\n## Consent\n\n`ConsentDecision` is per purpose (`{ ads, analytics }`). The region resolves the mode: the EU (plus the UK, Iceland,\nLiechtenstein, and Norway) and Vietnam are **opt-in**; the US and unrecognized countries are **opt-out**. Under opt-out,\na Global Privacy Control signal forces `ads` denied and leaves first-party analytics alone. Stored records carry a\n`policyVersion`; a malformed record, or one saved under another version, counts as no decision and re-prompts.\n\n```tsx\nimport { useConsent } from \"@codefast/tracking/react/use-consent\";\nimport { useInitialConsent } from \"@codefast/tracking/react/use-initial-consent\";\n\nimport { consentConfig } from \"./consent\";\nimport { consentRuntime } from \"./consent-runtime\";\n\nexport function useAppConsent() {\n  // Strictest default until the server lane answers — see \"The ISR lane\".\n  const { initialConsent, isResolved } = useInitialConsent(consentRuntime.initialConsentStore);\n  const consent = useConsent({\n    config: consentConfig,\n    mode: initialConsent.mode,\n    storage: consentRuntime.storage, // one shared instance — must be a stable reference\n  });\n\n  return { consent, isResolved };\n}\n```\n\n- `useConsent({ config, mode, storage, hasGlobalPrivacyControlSignal?, onDecision? })` bridges the stored decision to\n  React through `useSyncExternalStore`. It returns `decision`, `effectiveConsent`, `isAnalyticsAllowed`,\n  `isPromptNeeded`, and the `grantAll`/`denyAll`/`saveDecision` actions. A decision saved in another tab syncs through\n  the storage subscription.\n- `ConsentBanner` is headless and composable: `ConsentBannerTitle`, `ConsentBannerDescription`, `ConsentBannerActions`,\n  `ConsentBannerAccept`, `ConsentBannerReject`, `ConsentBannerCustomize`, `ConsentBannerPreferences`,\n  `ConsentBannerCategory`, and `ConsentBannerSave`. The root takes `consent` (the `useConsent` result) and an optional\n  `open` override, renders nothing unless `consent.isPromptNeeded`, and flips `data-state` between `prompt` and\n  `preferences`. Style the `data-slot` attributes yourself or import `@codefast/tracking/css/consent.css`.\n- `ConsentToggle` is the always-visible control opt-out regions need. By default it flips only `ads`; pass\n  `toggledCategories={[\"analytics\"]}` (or both) for a broader opt-out.\n- `createConsentWithdrawalHandler({ clearAnonymousId?, clearGoogleAnalyticsCookies? })` returns an `onDecision` handler\n  that clears first-party identifiers when analytics is denied.\n\n## The ISR lane\n\nCDN-cached HTML is shared across visitors, so no render may read geo. Bake `STRICTEST_INITIAL_CONSENT` into the shared\nrender (and into `GtagConsentBootstrap`), then resolve the region-correct default per visitor after hydration.\n\n```ts\n// initial-consent-from-request.server.ts — server-only module\nimport { resolveInitialConsentFromRequest } from \"@codefast/tracking/adapters/tanstack-start\";\n\nimport { consentConfig } from \"./consent\";\n\nexport function initialConsentFromRequest() {\n  return resolveInitialConsentFromRequest({ requestedCategories: consentConfig.requestedCategories });\n}\n```\n\n```ts\n// resolve-visitor-consent.ts — the server function the client calls\nimport { createServerFn } from \"@tanstack/react-start\";\n\nimport { initialConsentFromRequest } from \"./initial-consent-from-request.server\";\n\nexport const resolveVisitorConsent = createServerFn({ method: \"GET\" }).handler(() => initialConsentFromRequest());\n```\n\n`resolveInitialConsentFromRequest` reads the country header (`x-vercel-ip-country` by default; override with\n`countryHeaderName`) and `sec-gpc`, stamps `cache-control: private, no-store`, and fails closed to the strictest default\nwhen the header is missing — an unknown visitor is never treated as a known non-EU visitor.\n\n`createConsentRuntime` owns the client half: the strictest default until the server answers, a single in-flight request,\na per-session cache under `initialConsentSessionStorageKey`, and a fail-closed but retryable error path. Call\n`consentRuntime.ensureInitialConsentResolved()` at router creation (window-guarded) so the round trip overlaps\nhydration, then read the result reactively with `useInitialConsent(consentRuntime.initialConsentStore)`, as in the\nConsent section: `initialConsent.mode` feeds `useConsent`, and `isResolved` gates region-dependent UI so an opt-in\nbanner never flashes at an opt-out visitor. The hook also kicks resolution on mount, so the early call is an\noptimization, not a requirement.\n\n## Durable anonymous id\n\nThe client mints, the server persists. `createServerPersistedAnonymousId` mints a UUID cookie lazily — only once an\nevent is allowed to send — and asks the server to re-issue it via `Set-Cookie`, which is what lets the id outlive the\ncap browsers put on script-written cookies. The server half is one line per endpoint.\n\n```ts\n// anonymous-id.ts\nimport {\n  clearAnonymousIdResponseCookie,\n  setAnonymousIdResponseCookie,\n} from \"@codefast/tracking/adapters/tanstack-start\";\nimport { createServerFn } from \"@tanstack/react-start\";\n\nexport const ANONYMOUS_ID_COOKIE_NAME = \"my-app-anon-id\";\n\nexport const persistAnonymousIdCookie = createServerFn({ method: \"POST\" })\n  .validator((data: { id: string }) => data)\n  .handler(({ data }) => {\n    setAnonymousIdResponseCookie({ cookieName: ANONYMOUS_ID_COOKIE_NAME, id: data.id });\n  });\n\nexport const clearAnonymousIdCookie = createServerFn({ method: \"POST\" }).handler(() => {\n  clearAnonymousIdResponseCookie(ANONYMOUS_ID_COOKIE_NAME);\n});\n```\n\n```ts\nimport { createServerPersistedAnonymousId } from \"@codefast/tracking/client/server-persisted-anonymous-id\";\n\nimport { ANONYMOUS_ID_COOKIE_NAME, clearAnonymousIdCookie, persistAnonymousIdCookie } from \"./anonymous-id\";\n\nexport const anonymousId = createServerPersistedAnonymousId({\n  clearOnServer: () => clearAnonymousIdCookie(),\n  cookieName: ANONYMOUS_ID_COOKIE_NAME,\n  persist: (id) => persistAnonymousIdCookie({ data: { id } }),\n});\n\n// createClientTracker({ anonymousId: anonymousId.getOrCreate, ... })\n```\n\n`setAnonymousIdResponseCookie` throws unless the id is exactly UUID-shaped, so a public server function can never echo\nattacker input into a response header. Wire `anonymousId.clear` into `createConsentWithdrawalHandler` so a withdrawal\nexpires the cookie on both sides.\n\n## Google tag\n\n`GtagConsentBootstrap` renders the pre-hydration inline script for advanced Consent Mode: it applies the Consent Mode v2\n`default` signal (a stored decision wins over the baked `defaultConsent`), then always loads gtag.js so cookieless pings\nand consent modeling can run even when storage is denied.\n\n```tsx\nimport { STRICTEST_INITIAL_CONSENT } from \"@codefast/tracking\";\nimport { GtagConsentBootstrap } from \"@codefast/tracking/react/gtag-consent-bootstrap\";\n\nimport { consentConfig } from \"./consent\";\n\nexport function GoogleTag() {\n  return (\n    <GtagConsentBootstrap\n      config={consentConfig}\n      defaultConsent={STRICTEST_INITIAL_CONSENT.defaultConsent}\n      gaMeasurementId=\"G-XXXXXXX\"\n    />\n  );\n}\n```\n\nOptional props: `dataLayerName`, `debugMode`, and a CSP `nonce` that is stamped on both the host script and the injected\ngtag.js tag. Page views are gtag's own job (`config` plus Enhanced Measurement); `createGoogleAnalyticsDestination` only\nforwards catalog events. Runtime decision changes go through `useGoogleConsentSync(consent, { loadGtagScript? })`, which\nemits `update` whenever a stored decision exists (including cross-tab saves), or through `updateGoogleConsent` directly.\n\n## Keeping server-only subpaths out of client bundles\n\n`server/*` and `adapters/*` must never enter a client bundle. `SERVER_ONLY_SUBPATHS` is the package's own deny-list as\npicomatch patterns; spread it into TanStack Start's import protection so the list versions with the package instead of\ngoing stale in your config.\n\n```ts\nimport { SERVER_ONLY_SUBPATHS } from \"@codefast/tracking/tooling/import-protection\";\nimport { tanstackStart } from \"@tanstack/react-start/plugin/vite\";\n\ntanstackStart({\n  importProtection: {\n    client: { specifiers: [...SERVER_ONLY_SUBPATHS] },\n  },\n});\n```\n\n## Reference consumer\n\n[`apps/web/src/features/tracking`](../../apps/web/src/features/tracking/) wires everything above on a real ISR-deployed\nTanStack Start site: the consent config and runtime, the banner and the persistent toggle, the gtag bootstrap, the\ndurable anonymous id, and the private server-function consent lane.\n\n## Documentation\n\n- [codefastlabs.com/docs/tracking](https://codefastlabs.com/docs/tracking) — the rendered docs.\n- [`spec/`](./spec/README.md) — the behavioural contract as language-neutral documents, one per concern (event model,\n  consent, identity, tracker, destinations, server lane, security, plus the commercial-scope extensions), each ending in\n  conformance vectors.\n- [`CHANGELOG.md`](./CHANGELOG.md) — release notes per version.\n\n## Contributing\n\nSee the repository [contributing guide](../../CONTRIBUTING.md) for the toolchain, test taxonomy, and release flow.\n\n## License\n\nReleased under the [MIT License](./LICENSE).\n","readmeFilename":""}