{"_id":"@ddastter/apptracer-sdk","_rev":"14-474780369b2dbc9b27b93c2867c8ad3a","name":"@ddastter/apptracer-sdk","dist-tags":{"latest":"0.1.15"},"versions":{"0.1.0":{"name":"@ddastter/apptracer-sdk","version":"0.1.0","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.0","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"066cbc0a04f067480664d4a7ec1cfc16bc485187","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.0.tgz","fileCount":15,"integrity":"sha512-5gGt4D5/DlLncKBcwHL40MZdiYMnR+U0gKx5AfcXg1EPzl9afkj0DzE2gO8uOujos+PevBsnjhLgnVDGpAYt+Q==","signatures":[{"sig":"MEYCIQCDJpVvoi1aYE9yMXRhWfiuSILXwg2cvS6PTT+i0hVHOAIhAJmCSyVPAY4bzubpg7SJepDBCZbn6qAe/bMt5kgS0QPY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103213},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/df2d814b0068c0327e88635232c11e68/ddastter-apptracer-sdk-0.1.0.tgz","_integrity":"sha512-5gGt4D5/DlLncKBcwHL40MZdiYMnR+U0gKx5AfcXg1EPzl9afkj0DzE2gO8uOujos+PevBsnjhLgnVDGpAYt+Q==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.0_1776438336921_0.6260277340331797","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ddastter/apptracer-sdk","version":"0.1.1","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.1","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/react-native-apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/react-native-apptracer-sdk/issues"},"dist":{"shasum":"8b6cd0aebdd30fdd7efa4480b8c5cfa06f75b803","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.1.tgz","fileCount":17,"integrity":"sha512-cC/GXIa26XT4sX5FfIBX2qxfmzNMGFcusvz+WwpnP52swyw1ibj/DJbEqvPaZW0XrNK0uKTshMi1v1W9iH9Qkw==","signatures":[{"sig":"MEUCIDA7/pZyd51rMDnAzckBwgTuN98XKZCnMgSfdxjzV/gUAiEA2oHcpKhCGSq8uUCw/mYLsY31Wz6NI1bxvxmB2I1W38Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104625},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/810b40d3745af766c9261b6dbeeb6d97/ddastter-apptracer-sdk-0.1.1.tgz","_integrity":"sha512-cC/GXIa26XT4sX5FfIBX2qxfmzNMGFcusvz+WwpnP52swyw1ibj/DJbEqvPaZW0XrNK0uKTshMi1v1W9iH9Qkw==","repository":{"url":"git+https://github.com/dasshit/react-native-apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.1_1776439126427_0.9908752735184221","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ddastter/apptracer-sdk","version":"0.1.4","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.4","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/react-native-apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/react-native-apptracer-sdk/issues"},"dist":{"shasum":"c0c0657fe0d1bf3d33a199db74b59844d0610c3c","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.4.tgz","fileCount":17,"integrity":"sha512-fWU9yqwqv7D+X7xYy5brrbYAU2qCwQVOoFGIbMrv72ZfpoKJM6fwidj8c3yJlqKGSLQLLLxFqnPdsqEDvygNkg==","signatures":[{"sig":"MEUCIQDhoj0KiuHuXn5b+1lxkZdTINdM+aWy+2Onnu9H8GRqFAIgUBIziBPNdZgYGQzgFM+l77cMGkdnYb49SFffRBjzu8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104873},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.4.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/fc7ae6f5c63b66765f98a95e48343a44/ddastter-apptracer-sdk-0.1.4.tgz","_integrity":"sha512-fWU9yqwqv7D+X7xYy5brrbYAU2qCwQVOoFGIbMrv72ZfpoKJM6fwidj8c3yJlqKGSLQLLLxFqnPdsqEDvygNkg==","repository":{"url":"git+https://github.com/dasshit/react-native-apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.4_1776439666614_0.010307484043655224","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ddastter/apptracer-sdk","version":"0.1.5","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.5","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/react-native-apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/react-native-apptracer-sdk/issues"},"dist":{"shasum":"72ee8d0c52759e22a64a26b1387b03fc139b608c","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.5.tgz","fileCount":17,"integrity":"sha512-l7WReCUMf2RiT91phosB/KzCUOSrk0glkzfIcqww9HXs5BxLSGdv5zUziYFyLCuUb5Bg/7w26DiRhGdkYUhA1w==","signatures":[{"sig":"MEYCIQDudkkmwetSfCWQch7Go72gLmN0mrDATDLxenBnl8UfcAIhANNep3eP0wjrb5iSw2kMGeJQyyJLQt8wQ+bW4V2MmFa+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106089},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.5.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/3bc00b47286a7ab9707028da77292ed8/ddastter-apptracer-sdk-0.1.5.tgz","_integrity":"sha512-l7WReCUMf2RiT91phosB/KzCUOSrk0glkzfIcqww9HXs5BxLSGdv5zUziYFyLCuUb5Bg/7w26DiRhGdkYUhA1w==","repository":{"url":"git+https://github.com/dasshit/react-native-apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.5_1776440602851_0.5382918093772271","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ddastter/apptracer-sdk","version":"0.1.6","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.6","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/react-native-apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/react-native-apptracer-sdk/issues"},"dist":{"shasum":"7f93cd429e65ac3e8ee0b16296851ebf5fa69dc6","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.6.tgz","fileCount":17,"integrity":"sha512-oZyrQMcNRJv7mcLAK7Ua9hCHRCYOy9hk9m8BMTezjJr/YaLE+x+27ts1hAmEV2ILtmPHVThSsjNXOLPBQe3MUg==","signatures":[{"sig":"MEUCID+s9AeS4cf7Hm0h9t0/mINgR2saFukidmuTTE+Yvg72AiEAi0VQVXd1ZesgEq3W4tHQdkCcIgMb+6b3m9WaCAk62L4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104369},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.6.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/b2e259360abb4b1873b493264acc004d/ddastter-apptracer-sdk-0.1.6.tgz","_integrity":"sha512-oZyrQMcNRJv7mcLAK7Ua9hCHRCYOy9hk9m8BMTezjJr/YaLE+x+27ts1hAmEV2ILtmPHVThSsjNXOLPBQe3MUg==","repository":{"url":"git+https://github.com/dasshit/react-native-apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.6_1776440979419_0.5139954780588156","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ddastter/apptracer-sdk","version":"0.1.7","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.7","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"178fd7ceee4c5b78444d43f97bc96ddf70ecb4db","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.7.tgz","fileCount":17,"integrity":"sha512-FXLAL4sC/3XP4LxbUSQFiWo3hhWNZ9BEPAW0kcW6z0SO5swQI55tfL9+t8i4mqZGqc3eiwkLDvrY8bCOyngchg==","signatures":[{"sig":"MEUCIGI/JiqA1LgIUyiLQEW3sDP8yeW7UxDWZyTrw/4/9BkNAiEAmXUOjifjhWl3zTwyfOEMbYhXzxVLlwW527Fp7oiS37c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104356},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.7.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/private/var/folders/k6/v_xb1q3d4w762jlwznjpcbl00000gp/T/6134ea5b72b724e53ac462dad8b50279/ddastter-apptracer-sdk-0.1.7.tgz","_integrity":"sha512-FXLAL4sC/3XP4LxbUSQFiWo3hhWNZ9BEPAW0kcW6z0SO5swQI55tfL9+t8i4mqZGqc3eiwkLDvrY8bCOyngchg==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.7_1776443014104_0.8932692652564296","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@ddastter/apptracer-sdk","version":"0.1.8","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.8","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"4e0f115bab9eb847bb3a8bdb2af49db815ce1e94","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.8.tgz","fileCount":17,"integrity":"sha512-hlq69Uock/W0E8eDXJi+39tIKH9gODR/0VezPQ9QOU3zemZR1m4HSWCzK7FRlcbEtF+ugIk8SrIdD9DcyRBlzQ==","signatures":[{"sig":"MEQCIB+DMeYlyQZ3nRnm43SBAhoYTTYaONtMq0BvCjuazTvQAiB36q6epgyDbGKRsKDmOAtKA6mk2WLO/eEb/GnC2fX+qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104550},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.8.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"build":"tsup","release":"changeset publish","changeset":"changeset","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/e1a09ab06a807dfcc98ac538d2853ce3/ddastter-apptracer-sdk-0.1.8.tgz","_integrity":"sha512-hlq69Uock/W0E8eDXJi+39tIKH9gODR/0VezPQ9QOU3zemZR1m4HSWCzK7FRlcbEtF+ugIk8SrIdD9DcyRBlzQ==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^6.0.3","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.8_1776443723952_0.6342902488166748","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@ddastter/apptracer-sdk","version":"0.1.9","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.9","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"eb3117e3da35ab2a8dfbb61a57d0b285b400e10e","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.9.tgz","fileCount":17,"integrity":"sha512-zVRzIkabuLVODeyRslfT3UHT9SrvzazK0s4dZj6Qk35N4a/jS23XRRO85fBCq5uxK5kXolUCyRlB+ti0FcaBZQ==","signatures":[{"sig":"MEQCIF3stdHjsBZhHzCQN+cuvWUcrxedh7qpgqsYB2keVL9RAiAD+/i3XR2MiwHsxf67LvvalIajoekSQ7UD3snRUZQkQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104774},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.9.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"test":"jest","build":"tsup","release":"changeset publish","test:ci":"jest --runInBand","changeset":"changeset","test:watch":"jest --watch","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/3116a0b69288ffebdd61b8a8b1259f4d/ddastter-apptracer-sdk-0.1.9.tgz","_integrity":"sha512-zVRzIkabuLVODeyRslfT3UHT9SrvzazK0s4dZj6Qk35N4a/jS23XRRO85fBCq5uxK5kXolUCyRlB+ti0FcaBZQ==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","ts-jest":"^29.4.9","ts-node":"^10.9.2","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.9_1776446122104_0.3319848559536964","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@ddastter/apptracer-sdk","version":"0.1.10","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.10","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"5b9119b4bf047ea166ab4d5ff5fa687b2d60050c","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.10.tgz","fileCount":17,"integrity":"sha512-eSKV6xtkg49mf6oWcdc+WU5T4g1JZNLNF7lOsSEVcjGED5elkltrmvzVAbgxO8SAuFHebYaWTZqt81rOxayP1A==","signatures":[{"sig":"MEQCIGX4N5lda9/798hC8T0swSEuYZvX18tWL/gulnm55w1LAiB/WOCSgZT/W6kPaTkgNvErvwO/d5UDdyoStiAgkY5cYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106087},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.10.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"lint":"eslint src jest.setup.ts jest.config.ts","test":"jest","build":"tsup","format":"prettier --write .","release":"changeset publish","test:ci":"jest --runInBand","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","changeset":"changeset","test:watch":"jest --watch","format:check":"prettier --check .","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/8df0a152a8c7348edcef503c1b5d6f57/ddastter-apptracer-sdk-0.1.10.tgz","_integrity":"sha512-eSKV6xtkg49mf6oWcdc+WU5T4g1JZNLNF7lOsSEVcjGED5elkltrmvzVAbgxO8SAuFHebYaWTZqt81rOxayP1A==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.2.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.10_1776448201725_0.9343625441732062","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@ddastter/apptracer-sdk","version":"0.1.11","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.11","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"cf6ac818b79beb5fbac20c3a50de8f20a5feb242","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.11.tgz","fileCount":17,"integrity":"sha512-jWmqjUg0FAFf8JNZV+4KU2ril6s2buI1vB1dDJAZcpl5hYKh0DdBcpEJsfkaHw+L0r3kuGJDWZ+5USCQUq+Xlw==","signatures":[{"sig":"MEQCIDijNcYJh3Q/O0sO1A0SYXhrTtrVr1StMLLiEUv1QgDxAiAC5zH7p47CpMleEzdaf8eWcw5StpBAJF3kdEJEXINXTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236049},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.11.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"lint":"eslint src jest.setup.ts jest.config.ts","test":"jest","build":"tsup","format":"prettier --write .","release":"changeset publish","test:ci":"jest --runInBand","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","changeset":"changeset","test:watch":"jest --watch","format:check":"prettier --check .","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/5f86c2420cb4e770a2a2704ab4aef0cc/ddastter-apptracer-sdk-0.1.11.tgz","_integrity":"sha512-jWmqjUg0FAFf8JNZV+4KU2ril6s2buI1vB1dDJAZcpl5hYKh0DdBcpEJsfkaHw+L0r3kuGJDWZ+5USCQUq+Xlw==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.2.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.11_1776451945398_0.323517882243072","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@ddastter/apptracer-sdk","version":"0.1.12","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.12","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"69dfb06be714eadb45732d08d673be94b21d1512","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.12.tgz","fileCount":17,"integrity":"sha512-B4RCHRAx4HwA1XxmV/LOQYvLZlpWiqJ7FUGNsyemK/i7bRvArDDr6NNfYGGU3SNhq1jNqEZh8y1W7bOBwnu5sw==","signatures":[{"sig":"MEYCIQCiVLZQqUE1o11cgAYOUM151M0goFc4D/zSuLb59wRsXAIhAIy8+WWX6D5rGIL3jdxiAWx4+zBE/UL2NbhDm1VqZQrS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247391},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.12.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"lint":"eslint src jest.setup.ts jest.config.ts","test":"jest","build":"tsup","format":"prettier --write .","release":"changeset publish","test:ci":"jest --runInBand","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","changeset":"changeset","test:watch":"jest --watch","format:check":"prettier --check .","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/5f994899438507630ebea4631c9de73d/ddastter-apptracer-sdk-0.1.12.tgz","_integrity":"sha512-B4RCHRAx4HwA1XxmV/LOQYvLZlpWiqJ7FUGNsyemK/i7bRvArDDr6NNfYGGU3SNhq1jNqEZh8y1W7bOBwnu5sw==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.2.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.12_1776452818014_0.038346909472498636","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@ddastter/apptracer-sdk","version":"0.1.13","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.13","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"99ea4c1bc8dea93c421aaccd58677ab364c3564a","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.13.tgz","fileCount":17,"integrity":"sha512-hGaPK8HqfhIIzApeiyoB18Nd/SBC+bejR3GMxgtf8SijXBqXLeq5XAqiFXpVrwEnBFnWlxg5stu41dxdti2S9A==","signatures":[{"sig":"MEUCIQCJbZvdc3s3Iyi3wH7cOFivBtdbxojHXdriZGO2Nfo44gIgc1Y0HJoNxB5k+bY78f1Kqe8N9p3TfMvNrzcdyEocbec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247825},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.13.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"lint":"eslint src jest.setup.ts jest.config.ts","test":"jest","build":"tsup","format":"prettier --write .","release":"changeset publish","test:ci":"jest --runInBand","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","changeset":"changeset","test:watch":"jest --watch","format:check":"prettier --check .","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/0d265cbe2fc54abe00a6ce6c77061db7/ddastter-apptracer-sdk-0.1.13.tgz","_integrity":"sha512-hGaPK8HqfhIIzApeiyoB18Nd/SBC+bejR3GMxgtf8SijXBqXLeq5XAqiFXpVrwEnBFnWlxg5stu41dxdti2S9A==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.2.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.13_1776454008189_0.17466723215337998","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@ddastter/apptracer-sdk","version":"0.1.14","license":"MIT","_id":"@ddastter/apptracer-sdk@0.1.14","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"homepage":"https://github.com/dasshit/apptracer-sdk#readme","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"dist":{"shasum":"175aafb66d59552da0f3e79dbfe627f69b5232b0","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.14.tgz","fileCount":17,"integrity":"sha512-+RIwMg7nKdrZYgN4h+b5F9dCCSZEeh9D97P76h2FFNwObNpgxeeQx73vX8nsS+VoJy/U6q0TDyS6W6XckEDb/Q==","signatures":[{"sig":"MEUCIB0nToDTlN35E/x3kbv8LsqhYNUCfnRZXyhJdjwgBNZ/AiEAzbIYUnDtD9O4pKMKycghWgFj/hry5Pma49E5LXmbB0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251456},"main":"dist/index.cjs","_from":"file:ddastter-apptracer-sdk-0.1.14.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","import":"./dist/integrations/react-native-logs.js","require":"./dist/integrations/react-native-logs.cjs"}},"scripts":{"lint":"eslint src jest.setup.ts jest.config.ts","test":"jest","build":"tsup","format":"prettier --write .","release":"changeset publish","test:ci":"jest --runInBand","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","changeset":"changeset","test:watch":"jest --watch","format:check":"prettier --check .","version-packages":"changeset version"},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"_resolved":"/tmp/1200fb798fd1a8e81338f8f888c99250/ddastter-apptracer-sdk-0.1.14.tgz","_integrity":"sha512-+RIwMg7nKdrZYgN4h+b5F9dCCSZEeh9D97P76h2FFNwObNpgxeeQx73vX8nsS+VoJy/U6q0TDyS6W6XckEDb/Q==","repository":{"url":"git+https://github.com/dasshit/apptracer-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"AppTracer SDK for React Native / Expo","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"@react-native-async-storage/async-storage":"^3.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.2.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.6.0","@changesets/cli":"^2.30.0","react-native-logs":"^5.6.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"_npmOperationalInternal":{"tmp":"tmp/apptracer-sdk_0.1.14_1776454961689_0.7867019428262718","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@ddastter/apptracer-sdk","version":"0.1.15","description":"AppTracer SDK for React Native / Expo","license":"MIT","repository":{"type":"git","url":"git+https://github.com/dasshit/apptracer-sdk.git"},"main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.js"},"./react-native-logs":{"types":"./dist/integrations/react-native-logs.d.ts","require":"./dist/integrations/react-native-logs.cjs","import":"./dist/integrations/react-native-logs.js"}},"sideEffects":false,"publishConfig":{"access":"public"},"peerDependencies":{"react":">=18","react-native":">=0.70"},"devDependencies":{"@changesets/cli":"^2.30.0","@eslint/js":"^10.0.1","@types/jest":"^30.0.0","@types/node":"^25.6.0","eslint":"^10.2.0","eslint-config-prettier":"^10.1.8","jest":"^30.3.0","prettier":"^3.8.3","react-native-logs":"^5.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","tsup":"^8.5.1","typescript":"^6.0.3","typescript-eslint":"^8.58.2"},"dependencies":{"@react-native-async-storage/async-storage":"^3.0.2","react-native-promise-rejection-utils":"^0.0.1"},"scripts":{"build":"tsup","changeset":"changeset","version-packages":"changeset version","release":"changeset publish","test":"jest","test:watch":"jest --watch","test:ci":"jest --runInBand","lint":"eslint src jest.setup.ts jest.config.ts","lint:fix":"eslint src jest.setup.ts jest.config.ts --fix","format":"prettier --write .","format:check":"prettier --check ."},"_id":"@ddastter/apptracer-sdk@0.1.15","bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"homepage":"https://github.com/dasshit/apptracer-sdk#readme","_integrity":"sha512-hdjEtDmQmUG6UCSR8lfboKyIp42tgcs4cjQwm1aeMSmffPdtGJXhGf3HPhNGaEYGI5AZRYifgC6093DT/uBCSg==","_resolved":"/tmp/83fc956ada985b9ba869b11e66b0dec7/ddastter-apptracer-sdk-0.1.15.tgz","_from":"file:ddastter-apptracer-sdk-0.1.15.tgz","_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-hdjEtDmQmUG6UCSR8lfboKyIp42tgcs4cjQwm1aeMSmffPdtGJXhGf3HPhNGaEYGI5AZRYifgC6093DT/uBCSg==","shasum":"b078d20bc95d658eb6f7e807fd7c9df0365f096e","tarball":"https://registry.npmjs.org/@ddastter/apptracer-sdk/-/apptracer-sdk-0.1.15.tgz","fileCount":17,"unpackedSize":251411,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBtpfv57Q/V77ekt7FNeUQg7YdfIEhFVgQlipclKubgIAiEAypQAGr0v844WE0fP7YPHgqqvwAoSr3q/bZ/VlNtTo+k="}]},"_npmUser":{"name":"ddastter","email":"dasshit@yandex.ru"},"directories":{},"maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apptracer-sdk_0.1.15_1776457916604_0.37284089708693013"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T15:05:36.820Z","modified":"2026-04-17T20:31:56.912Z","0.1.0":"2026-04-17T15:05:37.054Z","0.1.1":"2026-04-17T15:18:46.612Z","0.1.4":"2026-04-17T15:27:46.764Z","0.1.5":"2026-04-17T15:43:23.001Z","0.1.6":"2026-04-17T15:49:39.585Z","0.1.7":"2026-04-17T16:23:34.280Z","0.1.8":"2026-04-17T16:35:24.087Z","0.1.9":"2026-04-17T17:15:22.252Z","0.1.10":"2026-04-17T17:50:01.893Z","0.1.11":"2026-04-17T18:52:25.542Z","0.1.12":"2026-04-17T19:06:58.135Z","0.1.13":"2026-04-17T19:26:48.332Z","0.1.14":"2026-04-17T19:42:41.846Z","0.1.15":"2026-04-17T20:31:56.798Z"},"bugs":{"url":"https://github.com/dasshit/apptracer-sdk/issues"},"license":"MIT","homepage":"https://github.com/dasshit/apptracer-sdk#readme","repository":{"type":"git","url":"git+https://github.com/dasshit/apptracer-sdk.git"},"description":"AppTracer SDK for React Native / Expo","maintainers":[{"name":"ddastter","email":"dasshit@yandex.ru"}],"readme":"# AppTracer SDK for React Native / Expo\n\n[![npm version](https://img.shields.io/npm/v/@ddastter/apptracer-sdk.svg)](https://www.npmjs.com/package/@ddastter/apptracer-sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nSDK для отслеживания ошибок и крашей в React Native и Expo приложениях. Автоматически перехватывает JavaScript ошибки, unhandled promise rejections и собирает логи (breadcrumbs) для диагностики проблем.\n\n## Возможности\n\n- ✅ Автоматический перехват глобальных ошибок и крашей\n- ✅ Перехват unhandled promise rejections\n- ✅ Сбор логов (breadcrumbs) перед ошибкой\n- ✅ Персистентное хранение отчётов при ошибках сети\n- ✅ Ручной захват ошибок из try/catch блоков\n- ✅ Интеграция с react-native-logs\n- ✅ TypeScript из коробки\n- ✅ Минимальный размер бандла\n\n## Установка\n\n### npm\n\n```bash\nnpm install @ddastter/apptracer-sdk\n```\n\n### pnpm\n\n```bash\npnpm add @ddastter/apptracer-sdk\n```\n\n### Yarn\n\n```bash\nyarn add @ddastter/apptracer-sdk\n```\n\n### Expo\n\nДля Expo проектов установите дополнительные зависимости:\n\n```bash\nnpx expo install @ddastter/apptracer-sdk @react-native-async-storage/async-storage\n```\n\n## Быстрый старт\n\n### 1. Инициализация\n\nИнициализируйте SDK как можно раньше в точке входа приложения:\n\n```typescript\n// App.tsx или index.js\nimport AppTracer from \"@ddastter/apptracer-sdk\";\n\nAppTracer.init({\n  appToken: \"YOUR_APP_TOKEN\",      // Получите в dashboard AppTracer\n  deviceId: \"DEVICE_ID\",           // Уникальный ID устройства\n  versionCode: 1,                  // Числовой код версии\n  versionName: \"1.0.0\",            // Строковая версия\n});\n```\n\n### 2. Проверка работы\n\n```typescript\n// Тестовая ошибка для проверки\nthrow new Error(\"Test error from AppTracer SDK\");\n```\n\nПосле запуска проверьте dashboard AppTracer - ошибка должна появиться в списке.\n\n## Инициализация\n\n### Полный пример\n\n```typescript\nimport AppTracer from \"@ddastter/apptracer-sdk\";\nimport { getDeviceId } from \"react-native-device-info\";\n\n// Инициализация при старте приложения\nAppTracer.init({\n  // Обязательные параметры\n  appToken: \"YOUR_APP_TOKEN\",\n  deviceId: await getDeviceId(),\n  versionCode: 1,\n  versionName: \"1.0.0\",\n  \n  // Опциональные параметры\n  maxLogs: 200,                    // Макс. количество логов (по умолчанию 100)\n  maxLogBytes: 128 * 1024,         // Макс. размер файла логов (по умолчанию 64KB)\n  persistNonFatal: true,           // Сохранять non-fatal ошибки (по умолчанию false)\n  httpLogLevel: \"error\",           // Уровень логирования HTTP (none|error|info|debug)\n});\n```\n\n### Параметры инициализации\n\n| Параметр | Тип | Обязательный | По умолчанию | Описание |\n|----------|-----|--------------|--------------|----------|\n| `appToken` | string | ✅ | - | Токен приложения из dashboard |\n| `deviceId` | string | ✅ | - | Уникальный ID устройства |\n| `versionCode` | number | ✅ | - | Числовой код версии |\n| `versionName` | string | ✅ | - | Строковая версия (например, \"1.0.0\") |\n| `maxLogs` | number | ❌ | 100 | Максимальное количество логов в буфере |\n| `maxLogBytes` | number | ❌ | 65536 | Максимальный размер файла логов (байты) |\n| `maxLineBytes` | number | ❌ | 2048 | Максимальный размер одной строки лога |\n| `persistNonFatal` | boolean | ❌ | false | Сохранять non-fatal ошибки при сбое сети |\n| `persistMaxItems` | number | ❌ | 50 | Макс. количество pending отчётов |\n| `httpLogLevel` | string | ❌ | \"error\" | Уровень логирования HTTP |\n| `endpointBaseUrl` | string | ❌ | https://sdk-api.apptracer.ru | URL сервера |\n\n## Ручной захват ошибок\n\n### Использование captureException\n\nДля ошибок, перехваченных в try/catch блоках:\n\n```typescript\nimport AppTracer from \"@ddastter/apptracer-sdk\";\n\ntry {\n  await riskyOperation();\n} catch (error) {\n  // Отправить ошибку в AppTracer\n  AppTracer.captureException(error);\n  \n  // Можно пометить как фатальную\n  // AppTracer.captureException(error, true);\n  \n  // Обработка ошибки\n  console.error(\"Operation failed:\", error);\n}\n```\n\n### Примеры использования\n\n```typescript\n// Обработка ошибок API\nasync function fetchUserData(userId: string) {\n  try {\n    const response = await fetch(`/api/users/${userId}`);\n    if (!response.ok) {\n      throw new Error(`HTTP ${response.status}`);\n    }\n    return await response.json();\n  } catch (error) {\n    AppTracer.captureException(error);\n    throw error;\n  }\n}\n\n// Обработка ошибок бизнес-логики\nfunction processPayment(amount: number) {\n  if (amount <= 0) {\n    const error = new Error(\"Invalid payment amount\");\n    AppTracer.captureException(error);\n    throw error;\n  }\n  // ...\n}\n```\n\n## Логирование (Breadcrumbs)\n\n### Добавление логов\n\nДобавляйте логи для отслеживания действий пользователя перед ошибкой:\n\n```typescript\nimport AppTracer from \"@ddastter/apptracer-sdk\";\n\n// Логирование пользовательских действий\nAppTracer.addLog({\n  level: { severity: 1, text: \"INFO\" },\n  timestamp: Date.now(),\n  msg: \"User tapped 'Submit' button\",\n});\n\n// Логирование навигации\nAppTracer.addLog({\n  level: { severity: 2, text: \"DEBUG\" },\n  timestamp: Date.now(),\n  msg: \"Navigated to /profile screen\",\n});\n```\n\n### Уровни логирования\n\n| Severity | Text | Описание |\n|----------|------|----------|\n| 0 | ERROR | Критические ошибки |\n| 1 | WARN | Предупреждения |\n| 2 | INFO | Информационные сообщения |\n| 3 | DEBUG | Отладочная информация |\n\n### Интеграция с react-native-logs\n\nДля автоматического сбора логов из react-native-logs:\n\n```typescript\nimport { logger } from \"react-native-logs\";\nimport { createAppTracerTransport } from \"@ddastter/apptracer-sdk/react-native-logs\";\nimport AppTracer from \"@ddastter/apptracer-sdk\";\n\n// Инициализация AppTracer\nAppTracer.init({\n  appToken: \"YOUR_TOKEN\",\n  deviceId: \"device-id\",\n  versionCode: 1,\n  versionName: \"1.0.0\",\n});\n\n// Создание логгера с транспортом AppTracer\nconst log = logger.createLogger({\n  transport: createAppTracerTransport(AppTracer),\n});\n\n// Теперь все логи автоматически попадают в AppTracer\nlog.info(\"User logged in\");\nlog.warn(\"API response slow\");\nlog.error(\"Failed to load data\", new Error(\"Network timeout\"));\n```\n\n## API Reference\n\n### AppTracer.init(options)\n\nИнициализирует SDK. Должен быть вызван один раз при старте приложения.\n\n```typescript\nAppTracer.init({\n  appToken: string,\n  deviceId: string,\n  versionCode: number,\n  versionName: string,\n  // ... опциональные параметры\n});\n```\n\n### AppTracer.captureException(error, isFatal?)\n\nРучная отправка ошибки.\n\n```typescript\nAppTracer.captureException(error: unknown, isFatal?: boolean): void;\n```\n\n| Параметр | Тип | Описание |\n|----------|-----|----------|\n| error | unknown | Ошибка для отправки |\n| isFatal | boolean | Пометить как фатальную (по умолчанию false) |\n\n### AppTracer.addLog(row)\n\nДобавить лог (breadcrumb) в буфер.\n\n```typescript\nAppTracer.addLog({\n  level: { severity: number; text: string };\n  timestamp: number;\n  msg: string;\n}): void;\n```\n\n### AppTracer.drainPending()\n\nОтправить накопленные отчёты из хранилища.\n\n```typescript\nawait AppTracer.drainPending();\n```\n\n### AppTracer.shutdown()\n\nОтключить SDK и удалить обработчики ошибок.\n\n```typescript\nAppTracer.shutdown();\n```\n\n## Best Practices\n\n### 1. Инициализация\n\n```typescript\n// ✅ Хорошо - ранняя инициализация\n// index.js или App.tsx\nimport AppTracer from \"@ddastter/apptracer-sdk\";\n\nAppTracer.init({ ... });\n\n// Ваше приложение\nfunction App() { ... }\n```\n\n### 2. Идентификатор устройства\n\n```typescript\n// ✅ Хорошо - используйте стабильный ID\nimport { getUniqueId } from \"react-native-device-info\";\n\nAppTracer.init({\n  deviceId: await getUniqueId(),\n  // ...\n});\n\n// ❌ Плохо - случайный ID при каждом запуске\nAppTracer.init({\n  deviceId: Math.random().toString(),\n  // ...\n});\n```\n\n### 3. Логирование ключевых событий\n\n```typescript\n// ✅ Хорошо - логируйте важные действия\nfunction checkout() {\n  AppTracer.addLog({\n    level: { severity: 2, text: \"INFO\" },\n    timestamp: Date.now(),\n    msg: \"User started checkout\",\n  });\n  \n  // ...\n}\n\n// ❌ Плохо - слишком много логов\nfunction onPress() {\n  AppTracer.addLog({ ... msg: \"Button pressed\" }); // Слишком детально\n}\n```\n\n### 4. Обработка ошибок API\n\n```typescript\n// ✅ Хорошо - контекст ошибки\nasync function fetchUser(id: string) {\n  try {\n    const response = await fetch(`/api/users/${id}`);\n    return await response.json();\n  } catch (error) {\n    AppTracer.addLog({\n      level: { severity: 1, text: \"WARN\" },\n      timestamp: Date.now(),\n      msg: `Failed to fetch user ${id}`,\n    });\n    AppTracer.captureException(error);\n    throw error;\n  }\n}\n```\n\n## Troubleshooting\n\n### Ошибки не появляются в dashboard\n\n1. Проверьте правильность `appToken`\n2. Убедитесь, что SDK инициализирован до возникновения ошибки\n3. Проверьте сетевое подключение\n4. Включите debug логирование:\n\n```typescript\nAppTracer.init({\n  // ...\n  httpLogLevel: \"debug\",\n});\n```\n\n### Ошибки AsyncStorage\n\nЕсли видите ошибки AsyncStorage, убедитесь, что пакет установлен:\n\n```bash\n# React Native CLI\nnpm install @react-native-async-storage/async-storage\n\n# Expo\nnpx expo install @react-native-async-storage/async-storage\n```\n\n### TypeScript ошибки\n\nУбедитесь, что `react` и `react-native` установлены как peer dependencies:\n\n```bash\nnpm install react react-native\n```\n\n## Лицензия\n\nMIT © [AppTracer](https://github.com/dasshit/apptracer-sdk)","readmeFilename":"README.md"}