{"_id":"@app-city/analytics-browser","_rev":"6-5e10d92692628ba469a549bc0087822c","name":"@app-city/analytics-browser","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@app-city/analytics-browser","version":"0.1.0","author":{"name":"Courtland Allen"},"license":"MIT","_id":"@app-city/analytics-browser@0.1.0","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"dist":{"shasum":"849e0ee41d468569e9c40e9dfc8ac04af433d8b5","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.1.0.tgz","fileCount":12,"integrity":"sha512-4pGwJCn8lMPF9kxuRS44dUM0cpfD+BPIQmR31NS61IjDLNndnTk/2ZB5xQTjFQoVYvwStgSD6La9HnRExtzPGg==","signatures":[{"sig":"MEUCIA6a0anbi4YFHR5KQvcx9jRwhZF6kjrpz8XLlJ66dlILAiEA3o0pNIU1LkoMJUK4rm9vRJ+JxZVr1YIlzK1wXS52an8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261287},"main":"dist/index.js","types":"dist/types/index.d.ts","unpkg":"dist/app-city-analytics.min.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","gitHead":"8c02176a30a4e432dc8564957192f6c246b2548d","scripts":{"lint":"eslint 'src/**/*.ts'","test":"jest","build":"rollup -c","clean":"rimraf dist","build:dev":"rollup -c -w"},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"jsdelivr":"dist/app-city-analytics.min.js","_npmVersion":"10.2.3","description":"Browser analytics SDK for App City","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^8.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.1","tslib":"^2.4.0","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^2.75.6","ts-jest":"^28.0.4","typescript":"^4.7.3","@types/jest":"^28.1.1","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^22.0.0","@rollup/plugin-typescript":"^8.3.2","@rollup/plugin-node-resolve":"^13.3.0"},"_npmOperationalInternal":{"tmp":"tmp/analytics-browser_0.1.0_1741838110909_0.6968958158918366","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@app-city/analytics-browser","version":"0.3.0","author":{"name":"Courtland Allen"},"license":"MIT","_id":"@app-city/analytics-browser@0.3.0","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"dist":{"shasum":"c76d43ded4960672841b617fd13981b7e18febb4","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.3.0.tgz","fileCount":15,"integrity":"sha512-XpZ5Jge2t+el5y0KjWShcviLK98UQ0abqjbFh2WBy3irNdmRes42Dl0U4fCwTp1s5FlxRVE6zFcTqPtxMHn6Nw==","signatures":[{"sig":"MEQCIBZ3PHZtUN4bG2YJnbSiYGb/P2lcfkIyD7VlY02HyOtMAiABUBdETfpCBreSkAbvNobQl85ISD9eW5YkmkE4uez6Ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157216},"main":"dist/index.js","types":"dist/types/index.d.ts","unpkg":"dist/app-city-analytics.min.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","gitHead":"85b19006470c284c7e49d081c38b11d45caf7d15","scripts":{"lint":"eslint 'src/**/*.ts'","build":"rollup -c","clean":"rimraf dist","build:dev":"rollup -c -w"},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"jsdelivr":"dist/app-city-analytics.min.js","_npmVersion":"10.2.3","description":"Browser analytics SDK for App City","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^8.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.4.0","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^4.35.0","typescript":"^4.7.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/analytics-browser_0.3.0_1741970819255_0.22084107017978694","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@app-city/analytics-browser","version":"0.3.1","author":{"name":"Courtland Allen"},"license":"MIT","_id":"@app-city/analytics-browser@0.3.1","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"dist":{"shasum":"10434c1429441ff76387831a8d559a8728fa46a4","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.3.1.tgz","fileCount":15,"integrity":"sha512-21HEP0Z+UU/yVgfuZexN0m/RUM70QjUbMnqF1cRKMDWTy7bNDsYMTkMDNE6zTEkBbl4+Y8uU6hiDlCGo9UDN0A==","signatures":[{"sig":"MEUCIC05eYoCOMGkUV7LpjzqpFq+THfcXKqOPpPZcob47tMkAiEAk89/ym/CZCbOdt94jSyEgMmvy6XEfY6jiqN1xGPq0UU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156916},"main":"dist/index.js","types":"dist/types/index.d.ts","unpkg":"dist/app-city-analytics.min.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","gitHead":"43d91eda5b1c655267d0d038d54861374188e9e6","scripts":{"lint":"eslint 'src/**/*.ts'","build":"rollup -c","clean":"rimraf dist","build:dev":"rollup -c -w"},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"jsdelivr":"dist/app-city-analytics.min.js","_npmVersion":"10.2.3","description":"Browser analytics SDK for App City","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^8.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.4.0","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^4.35.0","typescript":"^4.7.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/analytics-browser_0.3.1_1741976463295_0.7265125038260594","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@app-city/analytics-browser","version":"0.3.2","author":{"name":"Courtland Allen"},"license":"MIT","_id":"@app-city/analytics-browser@0.3.2","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"dist":{"shasum":"5dc0ddcdadd3651a1656a2a4a5f0346a15cb86ef","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.3.2.tgz","fileCount":15,"integrity":"sha512-/C3gn0K+f7zaUbnSns+f5Lhpmh1R62O5Lr89D3GStTcUcpM2/5wnBny8cJPtQ2xZbPFTgAR8a9PHhIm1KIS82g==","signatures":[{"sig":"MEQCIF6l0WpFfgGPGF1wXKyOV5SWTfH4vK51Btg3rU1L7m4WAiA/aBI1VhpZNNrq7vFvVczIs2uHx+elpxTj1OzMinFSyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181057},"main":"dist/index.js","types":"dist/types/index.d.ts","unpkg":"dist/app-city-analytics.min.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","gitHead":"c57f1789467232f45e023d58861f7c7287727654","scripts":{"lint":"eslint 'src/**/*.ts'","build":"rollup -c","clean":"rimraf dist","build:dev":"rollup -c -w"},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"jsdelivr":"dist/app-city-analytics.min.js","_npmVersion":"10.2.3","description":"Browser analytics SDK for App City","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^8.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.4.0","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^4.35.0","typescript":"^4.7.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/analytics-browser_0.3.2_1741996191983_0.30389860230988663","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@app-city/analytics-browser","version":"0.4.0","author":{"name":"Courtland Allen"},"license":"MIT","_id":"@app-city/analytics-browser@0.4.0","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"dist":{"shasum":"6880e5f4beb60957d96f55d41b686aca9dc2ccc2","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.4.0.tgz","fileCount":15,"integrity":"sha512-PtyhgiWZasYdWyDU2DAQp3IucTbVujJeVwbyFYvF4nTBFQqel3GihlC7g6yZsM+RpESHxA+pPrprmfAyDgF16g==","signatures":[{"sig":"MEYCIQDzv6AADoQCVg0HEzVfoSzUhBNmZ0ebp7VRvBXN9m2cOAIhAKq93h099dAl7zYl4KV/XXPD+M6UQhmwBpwx07bB1Nn4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180047},"main":"dist/index.js","types":"dist/types/index.d.ts","unpkg":"dist/app-city-analytics.min.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","gitHead":"4f515d3c85c0e5a8778412b216409807c9e02424","scripts":{"lint":"eslint 'src/**/*.ts'","build":"rollup -c","clean":"rimraf dist","build:dev":"rollup -c -w"},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"jsdelivr":"dist/app-city-analytics.min.js","_npmVersion":"10.2.3","description":"Browser analytics SDK for App City","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^8.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.4.0","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^4.35.0","typescript":"^4.7.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/analytics-browser_0.4.0_1742020384885_0.15010042385215905","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@app-city/analytics-browser","version":"0.5.0","description":"Browser analytics SDK for App City","main":"dist/index.js","module":"dist/index.esm.js","browser":"dist/app-city-analytics.min.js","unpkg":"dist/app-city-analytics.min.js","jsdelivr":"dist/app-city-analytics.min.js","types":"dist/types/index.d.ts","scripts":{"build":"rollup -c","build:dev":"rollup -c -w","lint":"eslint 'src/**/*.ts'","clean":"rimraf dist"},"author":{"name":"Courtland Allen"},"license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-replace":"^6.0.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.2","eslint":"^8.17.0","rimraf":"^3.0.2","rollup":"^4.35.0","tslib":"^2.4.0","typescript":"^4.7.3"},"dependencies":{"uuid":"^8.3.2"},"_id":"@app-city/analytics-browser@0.5.0","gitHead":"ff39b219aac97a250f36ed7d3afe4fd44c0b8b59","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-RuYKLe971chv/4MDmRPWTRhORobY0bxSwOwmNXeLBr9cNKIMf6IlqN+XEZlQL3gSQ/j/w5qA3YLqUHxB/wp/SQ==","shasum":"f0686f80b8733bee07f118a98e8679c3efdc71a7","tarball":"https://registry.npmjs.org/@app-city/analytics-browser/-/analytics-browser-0.5.0.tgz","fileCount":15,"unpackedSize":181513,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGQxVFdSOtq9RZi7z5m2BPenJa8Tt/cqKMkQCql5b/qTAiEArab2/7vOi5qz0hQ80NrBAkeOhDeRzI7+Bqn4EQdh/kg="}]},"_npmUser":{"name":"courthead","email":"courtlandallen@gmail.com"},"directories":{},"maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/analytics-browser_0.5.0_1742662068447_0.8875921640959439"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-13T03:55:10.823Z","modified":"2025-03-22T16:47:48.878Z","0.1.0":"2025-03-13T03:55:11.115Z","0.3.0":"2025-03-14T16:46:59.416Z","0.3.1":"2025-03-14T18:21:03.486Z","0.3.2":"2025-03-14T23:49:52.156Z","0.4.0":"2025-03-15T06:33:05.071Z","0.5.0":"2025-03-22T16:47:48.652Z"},"author":{"name":"Courtland Allen"},"license":"MIT","description":"Browser analytics SDK for App City","maintainers":[{"name":"courthead","email":"courtlandallen@gmail.com"}],"readme":"# @app-city/analytics-browser\n\nA browser-based analytics SDK for App City.\n\n## Installation\n\n```bash\nnpm install @app-city/analytics-browser\n# or\nyarn add @app-city/analytics-browser\n# or\npnpm add @app-city/analytics-browser\n```\n\n## Usage\n\n### Via NPM\n\n```javascript\nimport AppCityAnalytics from '@app-city/analytics-browser';\n\n// Initialize the SDK with your API key\nAppCityAnalytics.init('your-api-key');\n\n// Track an event\nAppCityAnalytics.track('page_viewed', {\n  page: window.location.pathname\n});\n```\n\n### Via CDN\n\nIn the following code, replace \"@latest\" with the version you're using:\n\n```html\n<script src=\"https://unpkg.com/@app-city/analytics-browser@latest/dist/app-city-analytics.min.js\"></script>\n<!-- or -->\n<script src=\"https://cdn.jsdelivr.net/npm/@app-city/analytics-browser@latest/dist/app-city-analytics.min.js\"></script>\n\n<script>\n  // Initialize the SDK with your API key\n  AppCityAnalytics.init('your-api-key');\n\n  // Track an event\n  AppCityAnalytics.track('page_viewed', {\n    page: window.location.pathname\n  });\n</script>\n```\n\n## Framework-Specific Integration\n\n### React\n\n```jsx\n// hooks/useAnalytics.js\nimport { useEffect } from 'react';\nimport AppCityAnalytics from '@app-city/analytics-browser';\n\nexport const useAnalytics = () => {\n  useEffect(() => {\n    // Initialize the SDK only once when the app loads\n    AppCityAnalytics.init('your-api-key', {\n      debug: process.env.NODE_ENV === 'development'\n    });\n\n    // Track page view on component mount\n    AppCityAnalytics.track('page_viewed', {\n      path: window.location.pathname,\n      title: document.title\n    });\n\n    // Flush events when user navigates away\n    const handleBeforeUnload = () => {\n      AppCityAnalytics.flush();\n    };\n\n    window.addEventListener('beforeunload', handleBeforeUnload);\n    return () => {\n      window.removeEventListener('beforeunload', handleBeforeUnload);\n    };\n  }, []);\n\n  return AppCityAnalytics;\n};\n```\n\n### Next.js\n\n```typescript\n// services/analytics.ts\nimport AppCityAnalytics from '@app-city/analytics-browser';\n\n// Only initialize on client side\nif (typeof window !== 'undefined') {\n  AppCityAnalytics.init(process.env.NEXT_PUBLIC_APP_CITY_API_KEY || 'your-api-key');\n}\n\nexport const Analytics = {\n  pageView: (url: string) => {\n    if (typeof window === 'undefined') return;\n    AppCityAnalytics.track('page_viewed', { url });\n  },\n\n  event: (name: string, properties?: Record<string, unknown>) => {\n    if (typeof window === 'undefined') return;\n    AppCityAnalytics.track(name, properties);\n  }\n};\n\nexport default Analytics;\n```\n\nFor more examples and full API documentation, refer to the [full documentation](https://docs.appcity.io/sdks/analytics-browser).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}