{"_id":"@churnsignal/churnsignal-sdk-web","_rev":"7-ebf6da4d86eb1fafe89d3755f42d2aaa","name":"@churnsignal/churnsignal-sdk-web","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.1":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.1","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.1","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"7d037e10567437925dd2f51f1d7210bc153dbb26","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.1.tgz","fileCount":33,"integrity":"sha512-h2h+6ocexxwoG56QHsPVRzx/N5MsBIOQxhYrE4pnx0MXblADpz9nD7Rfwsi7EJ+3pFUmvD8k1h3fVNa0OqZAQQ==","signatures":[{"sig":"MEUCIEj/h4az3vfo/tJmCZsBKYbNoKH6KfpgvoAAnuwcND0nAiEAraj9guNRt5e/kYYBFhGFJxGO2cmRb8abHrlrpsHsj1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74962},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"d28f3dc4e1152a6f555dff454f3db1223402bc89","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate Raven into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.1_1765128552130_0.7592995626654437","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.2","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.2","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"f36b6474d23f4421f116c425e2c1902e058d1507","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.2.tgz","fileCount":33,"integrity":"sha512-7CEmGEfmNYDZrteo7T8p0YHzQ8Ovj6xF/5zbkuXawIDGalI4z0vEbgnSiHB9JMXr2i0qJb8IoSDTwt4wwgFiDw==","signatures":[{"sig":"MEYCIQCfAU85uJH6SbPI44scLvqwCNNUILUovHEW7AR+KrKK0AIhAKJ7Wi8HZPab/P51F5gNz0ScRB1aruzCUoYFz9YBfHwJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74974},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"d28f3dc4e1152a6f555dff454f3db1223402bc89","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.2_1765129316170_0.71078143451782","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.3","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.3","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"6dd0e4cedd430f9daa5f3aecc00a36f1032e79a2","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.3.tgz","fileCount":35,"integrity":"sha512-MTedNuGPl9MvHIuE8Kg3yivlEB4F+MIBDuTA57pAQug+E3H1dypEDpyymkoI/AjEEi63t5iYcDHWBe0OSQ82HA==","signatures":[{"sig":"MEQCIAuEq73VUIPY5XYMnH8TXti6Ad1elR0wo2V0V7mwo+hMAiA7PWIh7k4TLO3OSCb2Xk6YH7sx8IQK1Dm0QSNihaS5Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93254},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"aca6c30abaa5dc1bdd104beb0aea4b9147480635","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.3_1765132380260_0.6843796924776329","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.4","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.4","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"28d8bd9a2f80722699df5a78ae724c6f00628a62","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.4.tgz","fileCount":35,"integrity":"sha512-ro/X9C4bCd72UUzhTDPkWguNBC/km9A60ZubvriaTcjIgXqv7EkleM0/3dBqygXgt/284DsOXv+QCuMSbdMasw==","signatures":[{"sig":"MEQCIDj703sbnNSe/qSAIt8hsLfJErWyOTl515rCYINXGOLEAiABTzCM9EaN4XiQXOWx4MfNyRDRQ54udy/9+tn5E6Fj4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95445},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"aca6c30abaa5dc1bdd104beb0aea4b9147480635","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.4_1765135665531_0.04794713738633649","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.5","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.5","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"e06970670e85f2984d4e68c18cc2774522107909","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.5.tgz","fileCount":35,"integrity":"sha512-4ExgP1Ko0dRFYmi2xRMqewc3UYl/NdNGfNEoZMP+jvG3uwEdd/2DvlHQabiCJHTF6V7w8mTx3ojeOv7GPy+hAQ==","signatures":[{"sig":"MEUCIQChZ3/gnsn0ZAbg3J/xTY6QCYUcxZ5qIIKLGAv68pm0rAIgWvknFAWaT67B+N006JHazF3M9BY0M6HRJXo6lQuuXsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95416},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"aca6c30abaa5dc1bdd104beb0aea4b9147480635","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.5_1765136711325_0.011819786038087754","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@churnsignal/churnsignal-sdk-web","version":"0.1.6","author":{"name":"cyberraven"},"license":"ISC","_id":"@churnsignal/churnsignal-sdk-web@0.1.6","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"dist":{"shasum":"9365949131fe2421a7a0e64e4db7f8c4a7888cf9","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.6.tgz","fileCount":35,"integrity":"sha512-pv0JsoTmco1vl14cIliGkPv/bREXmjFaeENmD9HD3TKf8K8drAUdtCZEzZHUIQcwnMYniDzb3RY7uejOqMO/pw==","signatures":[{"sig":"MEYCIQCR6nNA82XXpVzKunwodxY4zpdUO0/smhTQMeI9D2YANAIhAMUO+pH7TA1uSFhoYJ9fsh/tuWJ82jL2AGaAUbgQ9thk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94969},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint"}},"module":"dist/churnsignal-sdk-web.esm.js","engines":{"node":">=10"},"gitHead":"4e8516fece5afa55815fabbcc7e067c0d5226c2a","scripts":{"lint":"tsdx lint","size":"size-limit","test":"tsdx test","build":"tsdx build","start":"tsdx watch","analyze":"size-limit --why","prepare":"tsdx build"},"typings":"dist/index.d.ts","_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"_npmVersion":"11.6.0","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"tsdx":"^0.14.1","husky":"^8.0.3","tslib":"^2.6.2","size-limit":"^11.0.1","typescript":"^5.3.3","@size-limit/preset-small-lib":"^11.0.1"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/churnsignal-sdk-web_0.1.6_1765182896525_0.5835576309205277","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"version":"0.1.7","license":"ISC","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@churnsignal/churnsignal-sdk-web","author":{"name":"cyberraven"},"module":"dist/churnsignal-sdk-web.esm.js","size-limit":[{"path":"dist/churnsignal-sdk-web.cjs.production.min.js","limit":"10 KB"},{"path":"dist/churnsignal-sdk-web.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^11.0.1","husky":"^8.0.3","size-limit":"^11.0.1","tsdx":"^0.14.1","tslib":"^2.6.2","typescript":"^5.3.3"},"_id":"@churnsignal/churnsignal-sdk-web@0.1.7","gitHead":"a1e6f5ede24d8c8836c7e5d7d39e9060ad59e5ce","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-vWr+UIJeMEQr7roXarGPIkYbdp5ncPt6mVJVIMe+Qb33jDY1ezs+jKGTDsVp67O6wflt8VNnoZNIdBB0zyxgBA==","shasum":"33b19e1c1d87f6ee5a7baaae504f9b52ade768fc","tarball":"https://registry.npmjs.org/@churnsignal/churnsignal-sdk-web/-/churnsignal-sdk-web-0.1.7.tgz","fileCount":35,"unpackedSize":94969,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCBFyvc5uiuHjkLi2IT26T98Cc5D9uFijFPnK0uwixwYgIhALSBNnbmsspPg0b4Ed8yn7Mtv7HAfaLexTamUH5szF6A"}]},"_npmUser":{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"},"directories":{},"maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/churnsignal-sdk-web_0.1.7_1766950512395_0.017209228138305832"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-07T17:29:12.030Z","modified":"2025-12-28T19:35:12.742Z","0.1.1":"2025-12-07T17:29:12.317Z","0.1.2":"2025-12-07T17:41:56.324Z","0.1.3":"2025-12-07T18:33:00.382Z","0.1.4":"2025-12-07T19:27:45.696Z","0.1.5":"2025-12-07T19:45:11.479Z","0.1.6":"2025-12-08T08:34:56.666Z","0.1.7":"2025-12-28T19:35:12.544Z"},"author":{"name":"cyberraven"},"license":"ISC","description":"This SDK allows developers to seamlessly integrate ChurnSignal into their Web applications","maintainers":[{"name":"nenad.stojkovic","email":"nenad.stojkovic@blackfieldlabs.com"}],"readme":"# CHURNSIGNAL SDK WEB\nThis SDK allows developers to seamlessly integrate ChurnSignal into their Web applications\n\n## Installation\n\n```bash\nnpm install @churnsignal/churnsignal-sdk-web\n```\n\n## Usage\n\n### Initialize the SDK\n\nThe SDK only requires your API key. All configuration (workspaceId, tenantId, baseUrl) is automatically extracted from the API key.\n\n```typescript\nimport { initialise, track } from '@churnsignal/churnsignal-sdk-web';\n\n// Initialize with your API key\nconst success = initialise(API_KEY);\n\nif (success) {\n  console.log('SDK initialized successfully');\n}\n```\n\n### Track Events\n\nTrack user events with optional properties and user email:\n\n```typescript\n// Track an event with email and properties\ntrack('page_viewed', { page: '/home' }, 'user@example.com');\n\n// Track an event with just email\ntrack('button_clicked', undefined, 'user@example.com');\n\n// Track an event with properties and email\ntrack('purchase_completed', {\n  productId: '123',\n  amount: 99.99,\n  currency: 'USD'\n}, 'user@example.com');\n```\n\n### Complete Example\n\n```typescript\nimport { initialise, track } from '@churnsignal/churnsignal-sdk-web';\n\n// Initialize\ninitialise('your-api-key-here');\n\n// Track events with email\ntrack('page_viewed', { page: '/home' }, 'user@example.com');\ntrack('product_viewed', { productId: 'abc123' }, 'user@example.com');\n```\n\n## Commands\n\n### Install dependencies\n\nTo install the dependencies run:\n\n```bash\nnpm i\n```\n\nTo do a one-off build\n\n```bash\nnpm run build\n```\n\nThis builds the library to `/dist` folder\n\nTo run in watch mode run\n\n```bash\nnpm start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nTo run tests run\n\n```bash\nnpm run test\n```\n\n## Checking if it's working\n\nTo use this package in another app you will need to link it\nTo do so, go into the SDK folder and run  \n`npm link`\nthen inside of the folder of the app you want to check it in run  \n`npm link @churnsignal/churnsignal-sdk-web`\n\n### Bundle Analysis\n\n[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`.\n\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. \n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n","readmeFilename":"README.md"}