{"_id":"@andex/analytics","name":"@andex/analytics","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@andex/analytics","description":"Andex analytics","license":"MIT","publishConfig":{"access":"public"},"version":"1.0.0","exports":{".":{"import":{"types":"./lib/esm/types/index.d.ts","default":"./lib/esm/index.mjs"},"require":{"types":"./lib/cjs/types/index.d.ts","default":"./lib/cjs/index.js"}}},"types":"./lib/cjs/types/index.d.ts","main":"./lib/cjs/index.js","scripts":{"clean":"rm -rf ./lib","build":"yarn run clean && yarn run build:esm && yarn run build:cjs","build:esm":"tsc -p ./tsconfig.esm.json && mv lib/esm/index.js lib/esm/index.mjs","build:cjs":"tsc -p ./tsconfig.cjs.json","prepack":"yarn run build","lint":"yarn eslint .","release":"semantic-release","test":"jest --passWithNoTests"},"author":"","engines":{"node":">=14"},"devDependencies":{"@babel/core":"^7.19.6","@babel/preset-env":"^7.19.4","@babel/preset-typescript":"^7.18.6","@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@types/jest":"^29.2.1","@types/node":"^18.11.7","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@typescript-eslint/eslint-plugin":"^4","@typescript-eslint/parser":"^4","babel-jest":"^29.2.2","eslint":"^7.11.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","eslint-plugin-react":"^7.21.5","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-typescript-sort-keys":"^2.1.0","eslint-plugin-unused-imports":"^2.0.0","jest":"^29.2.2","prettier":"^2.7.1","semantic-release":"^19.0.5","typescript":"^4.4.3"},"dependencies":{"@amplitude/analytics-browser":"^1.5.8","react":"^18.2.0","react-dom":"^18.2.0"},"_id":"@andex/analytics@1.0.0","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3iV3GmKEdmVC9gyYQF8IFkwckyRwWdyNZ3P53JQTiRrG/q/fc8xu3FXISnrQhy7gduv0QIygRrD+M7pK1r87bg==","shasum":"f666dd7b250e72fdf3a79e5eda362e3e32df0b59","tarball":"https://registry.npmjs.org/@andex/analytics/-/analytics-1.0.0.tgz","fileCount":33,"unpackedSize":77101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlWZ81qT3N2NCxHErajVy2sFVg/U+dKfbXG068jP35fAiA1DGPJXvefAcnjIZuSR5unEokqvYfls2AjMy24bxQEKQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhTJtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4oxAAj3ZKSpUpHwvWwEEtg7GdTJxRiQScOZG3dMrlEUI+tsnYylYs\r\nS+FvAduFKZtNOiYJemyhbWRZwSDzAar5Tsl9frtEng2nhr87q0Gs6csTaEPR\r\n2hgWadsukjloLJlVz98NDahyKprkS22+pwswAa+Uz5uOdzgf67WxVWtA3w+Z\r\nh8p4rhywRKNhZlWb9a7PlMx89IUaWzLAqoRfETtIEWKmUKxw53RK53/z1Kg3\r\nZG4MO/UUTkbNwC2zCLNy+ezYHGbfrnmrT64cRXa9yblZuVTx/O3gh82vU2eg\r\n1lSWg5Td/UFy7mRRXeyPkZnHMooPPvCOhI2UYPXx3KbzRIEBPWEaxijEdLI4\r\n79FkubLnWoWFLRWQKRxue9SqCDPjYqPOx1YPZzVnwahvoB1mek69E6laTuX2\r\nsYNUCvpo82roueDdzGYOPs/X1JKq5DdneBXO/z+e1utnf9Me/P9oCV0VfqLR\r\n4R860O2ekpz0sCJeKSrZIlCDJy/rZb37+XJUdvHlC6ERNBfsszGMzOniboDG\r\nO8st+kVibxh2bO8mKLVTLl6+5hpCpyoBveRpOVXpeLfFoKhMzTiAPMFGXYRH\r\ncvjFXD3G6bCKLNaTv8hCBRuM7Aab60L2wC/ijVtOBQVluVdpgnWCseVA/GOX\r\ncWldVl+zPStUilvJ30GX1oemgyRSfaGG6ow=\r\n=ObgB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"natedotv2","email":"nathanirikefe@gmail.com"},"directories":{},"maintainers":[{"name":"natedotv2","email":"nathanirikefe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analytics_1.0.0_1669673581475_0.9643269627419568"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-28T22:13:01.394Z","1.0.0":"2022-11-28T22:13:01.647Z","modified":"2022-11-28T22:13:01.966Z"},"maintainers":[{"name":"natedotv2","email":"nathanirikefe@gmail.com"}],"description":"Andex analytics","license":"MIT","readme":"# Andex Protocol Analytics\n[![npm](https://img.shields.io/npm/v/@andex/analytics)](https://www.npmjs.com/package/@andex/analytics)\n\nThe `@andex/analytics` package is a [npm package](https://www.npmjs.com/package/@andex/analytics) of React components and functions used to provide Analytics capability to Andex Protocol products.\n\nThis package is intended to be used with the [@andex/analytics-events](https://www.npmjs.com/package/@andex/analytics-events) package, which provides the constant definitions used inside this package.\n\n## Installation\n\nInstall via `npm` or `yarn`.\n\n```js\nyarn add @andex/analytics\n```\n```js\nnpm i --save @andex/analytics\n```\n\nMake sure the environment variable `REACT_APP_STAGING` is set to `false` in production.\n\n## Release\n\nReleasing is performed manually using the [release](/.github/workflows/release.yaml) Github workflow.\n\nThis repository uses [semantic-release](https://github.com/semantic-release/semantic-release) for the release process,\nwhich in turn uses the [Angular commit message suggestions](https://github.com/angular/angular/blob/main/CONTRIBUTING.md) to identify the type of release.\n\n\n## Documentation\n\n\nThe client should be initialized before it is used. To initialize the client, pass in the API key of the application, as well as the name of\nthe application. If the application name is not listed under `OriginApplication`, it should be added under the enum. An additional\nconfiguration object can be passed.\n\n```js\nimport { initializeAnalytics, OriginApplication } from '@andex/analytics'\n\ninitializeAnalytics(MY_API_KEY, OriginApplication.INTERFACE, {\n    proxyUrl: MY_PROXY_URL\n})\n```\nNote that an `Error` is thrown if the client is initialized more than once.\n\nBefore logging an event, make sure to add it under the `EventName` enum in the [@andex/analytics-events](https://www.npmjs.com/package/@andex/analytics-events) package. To log an analytics event:\n```js\nimport { sendAnalyticsEvent } from '@andex/analytics'\nimport { EventName, ElementName } from '@andex/analytics-events'\n\nsendAnalyticsEvent(EventName.PAGE_CLICKED, {\n    elementName: ElementName.TOP_MENU\n})\n```\n\nThere is also a built in React component that logs an event when it is first mounted. You may use it as a wrapper:\n```js\nimport { Trace } from '@andex/analytics'\nimport { EventName, ModalName } from '@andex/analytics-events'\n\n\n<Trace name={EventName.TOKEN_SELECTOR_OPENED} modal={ModalName.TOKEN_SELECTOR}>\n    <SomeComponent/>\n</Trace>\n```\nDepending on the context that `<Trace/>` is used in, you may have to define new values in [@andex/analytics-events](https://www.npmjs.com/package/@andex/analytics-events) for the enums that are passed in as arguments such: `BrowserEvent`, `EventName`, `ModalName`, `ElementName`.\n\nThere is a React component that wraps event callbacks with logging logic:\n```js\nimport { TraceEvent } from '@andex/analytics'\nimport { EventName, ElementName } from '@andex/analytics-events'\n\n<TraceEvent events={[Event.onClick]} name={EventName.SWAP_MAX_TOKEN_AMOUNT_SELECTED} element={ElementName.MAX_TOKEN_AMOUNT_BUTTON}>\n    <SomeButton onClick={onClickHandler}/>\n</TraceEvent>\n``` \n\nFinally, you can set properties about the user of the application:\n```js\nimport { user } from 'analytics'\nimport { CustomUserProperties } from '@andex/analytics-events'\n\nuser.set(CUSTOM_USER_PROPERTIES.DARK_MODE, isDarkMode)\n```\n\n## Example Apps\n\nThis package is used into a few of Andex Protocol repos:\n\n- [Interface](https://github.com/andex-fi/widgets-demo/tree/nextjs)\n- [Docs](https://github.com/andex-fi/docs)\n\n\n\n\n## Legal notice\n\nAptex Protocol encourages integrators to evaluate their own regulatory obligations when integrating this package into their products, including, but not limited to, those related to economic or trade sanctions compliance.\n\n","readmeFilename":"README.md"}