{"_id":"@capgo/capacitor-network-diagnostics","_rev":"11-bc1307b32f06cfbd4f17c58380db3940","name":"@capgo/capacitor-network-diagnostics","dist-tags":{"latest":"8.0.10"},"versions":{"8.0.1":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.1","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"96f7817fa9369c04591ed42b99aa4004605e2ac1","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.1.tgz","fileCount":31,"integrity":"sha512-FiJUh8hbbuiKXXEzxJVGJpuI7p9K4TbFO3tQKDZkq+NwAR7BGJBl9A4G+1syyB58sALZ3iOpR1WGj8uMOmGmhg==","signatures":[{"sig":"MEQCIFT8jkCbKvrLMbaxzUf3FHM7fOMruOFu+hbhEzwdFLXSAiAwgFG9DBfsb5p7sucNayU+F+wZ0cH0ZW1JbyTh65GYcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277362},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"d7a7fdaf764e6acf53718d122b236604a1ad082d","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.1_1780071577368_0.08901395262917733","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.2","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"b2b0e944ab3cb33db50c7f22317ac93acfd7b28f","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.2.tgz","fileCount":31,"integrity":"sha512-tdwrLznIMSLI+ZfsdUWlDmbGWbV+Msekew4aRb7Oco105IvTV1bfa1LfyLiVeuw2S0ZgmsqBD1n7ZtnNkAk6+w==","signatures":[{"sig":"MEQCIDK25Jkwfz2K2+mzXGx2g4S0c5HJ9I048xGhrKxm+H0HAiBnMiwkLyq881SZA+Uhc2NVGaZajPm1OvXQtr/MMt/gdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277362},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"a356920029627c73400d9480f2c10027ba29501a","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.2_1780563202435_0.9061597010114486","host":"s3://npm-registry-packages-npm-production"}},"8.0.3":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.3","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.3","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"2c2c21a165fbb70e65b5ecb46fd1e0fbc15e1dfe","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.3.tgz","fileCount":31,"integrity":"sha512-zZxllcRhizt5IYrD5DUpog9gFU4iwRa+EFd+HkPdx/UUew7KShvHr1QazpRv4daqW/RKMnhYquJYPq+DIsQchw==","signatures":[{"sig":"MEUCIQCTpm5RG7kvEAF8UcNXdhxF+GDf1M/DoB5nKY69t1HvaQIgWQM8+/sbWRE0H77yp0zkLIW+L0KI2+TjFdRhrcZa7rU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277362},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"7ec086684bc0c1d4a3deb090bb5f23356787a5d3","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.3_1780612056954_0.3366664413865783","host":"s3://npm-registry-packages-npm-production"}},"8.0.4":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.4","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.4","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"f1051fbb33849a6f00f7ee8420eff70e0bf03bb1","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.4.tgz","fileCount":31,"integrity":"sha512-sXioaKGtnDiI+07nzujxeWut/aO/xN1AFBfdV/nGKhf+f4c4IIZijM+I3rXiVpHitTCOYYPxA0bBIYTuhj0XKw==","signatures":[{"sig":"MEYCIQCdNKTu5tLdcbKlZ91se+yvKDl2o9/6H5FwqMX1S+78NgIhAIq5YpTVU09UL0GntttrGjdM0GrjHAGWW1gFS8j8OvgD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277635},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"d5bed7f9ceeb07b3cb529f12627d72f0d042354d","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.4_1781564208806_0.48134612004908095","host":"s3://npm-registry-packages-npm-production"}},"8.0.5":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.5","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.5","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"ba13a7ad84ca3d8eba024b10934f0efb36d4d555","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.5.tgz","fileCount":31,"integrity":"sha512-Np5Yqq6J9f4tQT+kVJS7rMKGY+5/74z/+w4JYspEGzWG2ssxci1iD9zvSRuyTGo0BzoTeM4p8Sn6hUwTwnyVjw==","signatures":[{"sig":"MEUCIH2QywFnnIQiqKwKx23d7Q5CD3XolkmijYGwc1T500hIAiEAo40BDLgKllZKd6fZvPpKgBZlF+BpdMfJxF3u4yhuXBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278177},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"f0ee217e7fa2f76651010d16cbe8bc3b92d888fd","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.5_1781601965539_0.34445382668973146","host":"s3://npm-registry-packages-npm-production"}},"8.0.6":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.6","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.6","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"868aec1c6ab93c2f668b15010aca4652ae74a16b","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.6.tgz","fileCount":31,"integrity":"sha512-iv3NaDK+JDKXbvHxBpLIx+ECiJxoIPc39UHg4XyALWbyYiUoLTSX/H5oWKNoJjh0fECA3wH5SGcNehVDpDJCHA==","signatures":[{"sig":"MEQCICCemWrpSBUjfzC46PMkhqB4HFJfFQ3xzZIW2W8DPwA9AiBKnwSYGbOv3sTlrzYNtCFuhzz2u7gefPNYy2e99dRd5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278177},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"62a074be38ce8ab718eede138584cbb89f50a709","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.6_1781627038171_0.6999927432465343","host":"s3://npm-registry-packages-npm-production"}},"8.0.7":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.7","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.7","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"d3f21f3022e5ccb0eb0b4b3a705634584c44a5f2","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.7.tgz","fileCount":31,"integrity":"sha512-9QNuR46zmsMwbUPzIXJpumhBKYwpUMG4IEioR3jSZ9iQDrO0Cg6p27lypuX98o85abCjilnjG37rVU4Jjl8uJw==","signatures":[{"sig":"MEYCIQCaiatUHAAFut68U5k5h6ZFiZJf67y0mNXO4nkRha5SWAIhAPj6WSBN1WnyZJxZ3nvRLx5cX0GrU3cnS9pSQc7Sd128","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278084},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"358433d4c4d636bf5daa235fcaaa76b8f1d421e4","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.7_1781873808400_0.7104232220581048","host":"s3://npm-registry-packages-npm-production"}},"8.0.8":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.8","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.8","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"60c2dc69c699ee1b61833236c2beda416304b25b","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.8.tgz","fileCount":31,"integrity":"sha512-UhC/2pXfWvLi8XKyRXjFaMWoKjJPhSmjn7a1rVuxQInrTKylLpU+jxRB29jl9DDYPmutX53rT9oVws7iCzUcdA==","signatures":[{"sig":"MEYCIQCw5sV1jHjkutpreBspx3XX4A5jp1w22ChGo5enQGniHwIhAPraMO77/0qF9AT8U21QBdGi2DnirNrW4WX1zbwK63z4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278146},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"ed1e1942d97d41197f28acc1c0c974694ed6551a","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.8_1783766817176_0.8917493666536656","host":"s3://npm-registry-packages-npm-production"}},"8.0.9":{"name":"@capgo/capacitor-network-diagnostics","version":"8.0.9","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-network-diagnostics@8.0.9","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"e8334828b4d27d636459715e6e6eea058d1eae70","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.9.tgz","fileCount":31,"integrity":"sha512-dNegibMoGqT+Z3dntsZLb5F+rsHQEvxorY/RMtVuwgOVWrKl3ZWnMzaP3LUjEQ8b4gK3rJapDcgjevQxParGCw==","signatures":[{"sig":"MEUCIQC9NWTSHyuBGNdtZ95ppq/hSUOOtSYErWnVqsFA5iHepgIgQKSJyhHc0klGjNZZOs6j1czGylp4qBtY+Zr6IOkWx3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278146},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"2d088b97f9cce2fc09420300fe1e33377811e4a4","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile"},"_npmUser":{"name":"torichancapgo","email":"tori@capgo.app","approver":{"name":"torichancapgo","email":"tori@capgo.app"}},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.19.0","description":"Capacitor plugin for native network diagnostics.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-network-diagnostics_8.0.9_1787219406552_0.36418258538242476","host":"s3://npm-registry-packages-npm-production"}},"8.0.10":{"_id":"@capgo/capacitor-network-diagnostics@8.0.10","bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"dist":{"shasum":"c49f868d84ea5a972415bc4c8a5fee604d8bcff6","tarball":"https://registry.npmjs.org/@capgo/capacitor-network-diagnostics/-/capacitor-network-diagnostics-8.0.10.tgz","integrity":"sha512-0frjxCgKTc8Wg/1GEc4BedcFXP2VjlS4i2wap06udYuQI4ZSrnpYAJnCDRFuq6fLZesfKKvQAJrf8VM+puRvVQ==","fileCount":31,"unpackedSize":278218,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-network-diagnostics@8.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCkKkCD0o3JGrk2jeEdYBcJUNm4lAoAM+4x2786nV5BhgIhALiacz+XDU5QsSJgEtbHZJ2lPOK2W6PhmJTvpZ2ogZo6"}]},"main":"dist/plugin.cjs.js","name":"@capgo/capacitor-network-diagnostics","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"module":"dist/esm/index.js","gitHead":"c78e7b11a5da1e750a80b919bec0b48b08afdce0","license":"MPL-2.0","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api NetworkDiagnosticsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint \"**/*.ts\"","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorNetworkDiagnostics -destination generic/platform=iOS","verify:web":"bun run build","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","check:cap9-deprecated":"node scripts/check-cap9-deprecated.mjs"},"version":"8.0.10","_npmUser":{"name":"torichancapgo","email":"tori@capgo.app","approver":{"name":"torichancapgo","email":"tori@capgo.app"}},"homepage":"https://capgo.app/docs/plugins/network-diagnostics/","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"_npmVersion":"11.19.1","description":"Capacitor plugin for native network diagnostics.","directories":{},"maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"_nodeVersion":"24.20.0","devDependencies":{"husky":"^9.1.7","eslint":"^10.4.0","rimraf":"^6.1.3","rollup":"^4.60.4","prettier":"^3.8.3","swiftlint":"^2.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","@capacitor/cli":"^8.3.4","@capacitor/ios":"^8.3.4","@capacitor/core":"^8.3.4","@capacitor/docgen":"^0.3.1","typescript-eslint":"^8.59.4","@capacitor/android":"^8.3.4","eslint-plugin-import":"^2.32.0","prettier-plugin-java":"^2.9.2","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","eslint-config-prettier":"^10.1.8","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-network-diagnostics_8.0.10_1789498644349_0.9631706657138666"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T16:19:37.252Z","modified":"2026-09-15T18:57:24.802Z","8.0.1":"2026-05-29T16:19:37.519Z","8.0.2":"2026-06-04T08:53:22.575Z","8.0.3":"2026-06-04T22:27:37.128Z","8.0.4":"2026-06-15T22:56:48.940Z","8.0.5":"2026-06-16T09:26:05.677Z","8.0.6":"2026-06-16T16:23:58.302Z","8.0.7":"2026-06-19T12:56:48.547Z","8.0.8":"2026-07-11T10:46:57.324Z","8.0.9":"2026-08-20T09:50:06.640Z","8.0.10":"2026-09-15T18:57:24.472Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-network-diagnostics/issues"},"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","homepage":"https://capgo.app/docs/plugins/network-diagnostics/","keywords":["capacitor","plugin","network","diagnostics","connectivity","websocket","speed","packet-loss","capgo"],"repository":{"url":"git+https://github.com/Cap-go/capacitor-network-diagnostics.git","type":"git"},"description":"Capacitor plugin for native network diagnostics.","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"readme":"# @capgo/capacitor-network-diagnostics\n\n<a href=\"https://capgo.app/\"><img src=\"https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-network-diagnostics\" alt=\"Capgo - Instant updates for Capacitor\" /></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin_network_diagnostics\"> ➡️ Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin_network_diagnostics\"> Missing a feature? We’ll build the plugin for you 💪</a></h2>\n</div>\n\nCapacitor plugin for native network diagnostics. It checks connection type, native HTTP reachability, TCP ports, WebSocket handshakes, download speed, and application-level packet loss from iOS and Android.\n\n## Install\n\nYou can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:\n\n```bash\nnpx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```text\nUse the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-network-diagnostics` plugin in my project.\n```\n\nIf you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capgo/capacitor-network-diagnostics\nnpx cap sync\n```\n\n## What It Tests\n\n- Current native connection type: WiFi, cellular, ethernet, VPN, none, or unknown.\n- OS network flags: validated internet on Android, captive portal on Android, expensive or constrained path where available.\n- Native HTTP/HTTPS URL reachability with status code and latency.\n- Native TCP host:port connectivity.\n- Native WebSocket handshake for `ws://` and `wss://`.\n- Download throughput against your own test file endpoint.\n- Packet loss using repeated TCP connects or HTTP requests.\n\nRaw ICMP ping is not consistently available to App Store and Play Store apps. `testPacketLoss` therefore measures application-level loss with TCP or HTTP probes.\n\n## Usage\n\n```typescript\nimport { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';\n\nconst status = await NetworkDiagnostics.getNetworkStatus();\n\nconst api = await NetworkDiagnostics.testUrl({\n  url: 'https://api.example.com/health',\n  method: 'HEAD',\n  timeoutMs: 5000,\n});\n\nconst port = await NetworkDiagnostics.testPort({\n  host: 'api.example.com',\n  port: 443,\n  timeoutMs: 3000,\n});\n\nconst ws = await NetworkDiagnostics.testWebSocket({\n  url: 'wss://ws.example.com/socket',\n  timeoutMs: 5000,\n});\n\nconst packetLoss = await NetworkDiagnostics.testPacketLoss({\n  mode: 'tcp',\n  host: 'api.example.com',\n  port: 443,\n  count: 10,\n});\n\nconsole.log({ status, api, port, ws, packetLoss });\n```\n\n## Combined Diagnostic Run\n\n```typescript\nconst report = await NetworkDiagnostics.runDiagnostics({\n  urls: [{ url: 'https://api.example.com/health' }],\n  ports: [{ host: 'api.example.com', port: 443 }],\n  websockets: [{ url: 'wss://ws.example.com/socket' }],\n  download: {\n    url: 'https://speed.example.com/5mb.bin',\n    maxBytes: 5 * 1024 * 1024,\n  },\n  packetLoss: {\n    mode: 'tcp',\n    host: 'api.example.com',\n    port: 443,\n    count: 10,\n  },\n});\n\nconsole.log(report.issues);\n```\n\n## Platform Notes\n\n- iOS: no extra permissions are required. Connection type comes from `Network.framework`.\n- Android: the plugin declares `android.permission.INTERNET` and `android.permission.ACCESS_NETWORK_STATE`.\n- Web: provided as a development fallback. Browsers cannot open raw TCP sockets, and URL checks are limited by CORS.\n\n## API\n\n<docgen-index>\n\n* [`getNetworkStatus()`](#getnetworkstatus)\n* [`testUrl(...)`](#testurl)\n* [`testPort(...)`](#testport)\n* [`testWebSocket(...)`](#testwebsocket)\n* [`testDownloadSpeed(...)`](#testdownloadspeed)\n* [`testPacketLoss(...)`](#testpacketloss)\n* [`runDiagnostics(...)`](#rundiagnostics)\n* [`getPluginVersion()`](#getpluginversion)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\nNative network diagnostics API.\n\n### getNetworkStatus()\n\n```typescript\ngetNetworkStatus() => Promise<NetworkStatusResult>\n```\n\nRead the current native connection type and platform network flags.\n\n**Returns:** <code>Promise&lt;<a href=\"#networkstatusresult\">NetworkStatusResult</a>&gt;</code>\n\n--------------------\n\n\n### testUrl(...)\n\n```typescript\ntestUrl(options: UrlTestOptions) => Promise<UrlTestResult>\n```\n\nTest whether an HTTP or HTTPS URL can be reached from native networking.\n\n| Param         | Type                                                      |\n| ------------- | --------------------------------------------------------- |\n| **`options`** | <code><a href=\"#urltestoptions\">UrlTestOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#urltestresult\">UrlTestResult</a>&gt;</code>\n\n--------------------\n\n\n### testPort(...)\n\n```typescript\ntestPort(options: PortTestOptions) => Promise<PortTestResult>\n```\n\nTest whether a TCP host:port can be opened from native networking.\n\n| Param         | Type                                                        |\n| ------------- | ----------------------------------------------------------- |\n| **`options`** | <code><a href=\"#porttestoptions\">PortTestOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#porttestresult\">PortTestResult</a>&gt;</code>\n\n--------------------\n\n\n### testWebSocket(...)\n\n```typescript\ntestWebSocket(options: WebSocketTestOptions) => Promise<WebSocketTestResult>\n```\n\nTest whether a WebSocket URL can complete its native handshake.\n\n| Param         | Type                                                                  |\n| ------------- | --------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#websockettestoptions\">WebSocketTestOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#websockettestresult\">WebSocketTestResult</a>&gt;</code>\n\n--------------------\n\n\n### testDownloadSpeed(...)\n\n```typescript\ntestDownloadSpeed(options: DownloadSpeedTestOptions) => Promise<DownloadSpeedTestResult>\n```\n\nMeasure download throughput from a native HTTP request.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#downloadspeedtestoptions\">DownloadSpeedTestOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#downloadspeedtestresult\">DownloadSpeedTestResult</a>&gt;</code>\n\n--------------------\n\n\n### testPacketLoss(...)\n\n```typescript\ntestPacketLoss(options: PacketLossTestOptions) => Promise<PacketLossTestResult>\n```\n\nEstimate application-level packet loss with repeated TCP or HTTP probes.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#packetlosstestoptions\">PacketLossTestOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#packetlosstestresult\">PacketLossTestResult</a>&gt;</code>\n\n--------------------\n\n\n### runDiagnostics(...)\n\n```typescript\nrunDiagnostics(options?: RunDiagnosticsOptions | undefined) => Promise<RunDiagnosticsResult>\n```\n\nRun several diagnostics and return a compact issue list.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#rundiagnosticsoptions\">RunDiagnosticsOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#rundiagnosticsresult\">RunDiagnosticsResult</a>&gt;</code>\n\n--------------------\n\n\n### getPluginVersion()\n\n```typescript\ngetPluginVersion() => Promise<PluginVersionResult>\n```\n\nReturns the platform implementation version marker.\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginversionresult\">PluginVersionResult</a>&gt;</code>\n\n--------------------\n\n\n### Interfaces\n\n\n#### NetworkStatusResult\n\nCurrent native network state.\n\n| Prop                    | Type                                                                                 | Description                                                          |\n| ----------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |\n| **`connected`**         | <code>boolean</code>                                                                 | True when the platform reports an active network path.               |\n| **`connectionType`**    | <code><a href=\"#connectiontype\">ConnectionType</a></code>                            | Best-effort active transport type.                                   |\n| **`internetReachable`** | <code>boolean</code>                                                                 | True when the OS marks the network as internet-capable or validated. |\n| **`expensive`**         | <code>boolean</code>                                                                 | True for metered or expensive network paths.                         |\n| **`constrained`**       | <code>boolean</code>                                                                 | True when the OS reports a low-data or constrained network path.     |\n| **`captivePortal`**     | <code>boolean</code>                                                                 | True when Android reports captive portal capability.                 |\n| **`details`**           | <code><a href=\"#record\">Record</a>&lt;string, string \\| number \\| boolean&gt;</code> | Native platform details useful for debugging.                        |\n\n\n#### UrlTestResult\n\nNative HTTP URL reachability result.\n\n| Prop               | Type                                                    |\n| ------------------ | ------------------------------------------------------- |\n| **`url`**          | <code>string</code>                                     |\n| **`method`**       | <code><a href=\"#urltestmethod\">UrlTestMethod</a></code> |\n| **`ok`**           | <code>boolean</code>                                    |\n| **`reachable`**    | <code>boolean</code>                                    |\n| **`durationMs`**   | <code>number</code>                                     |\n| **`statusCode`**   | <code>number</code>                                     |\n| **`finalUrl`**     | <code>string</code>                                     |\n| **`errorCode`**    | <code>string</code>                                     |\n| **`errorMessage`** | <code>string</code>                                     |\n\n\n#### UrlTestOptions\n\nOptions for native HTTP URL reachability checks.\n\n| Prop                  | Type                                                    | Description                                           |\n| --------------------- | ------------------------------------------------------- | ----------------------------------------------------- |\n| **`url`**             | <code>string</code>                                     | HTTP or HTTPS URL to test.                            |\n| **`method`**          | <code><a href=\"#urltestmethod\">UrlTestMethod</a></code> | HTTP method. Defaults to `HEAD`.                      |\n| **`timeoutMs`**       | <code>number</code>                                     | Request timeout in milliseconds. Defaults to `10000`. |\n| **`followRedirects`** | <code>boolean</code>                                    | Follow redirects. Defaults to `true`.                 |\n\n\n#### PortTestResult\n\nNative TCP port check result.\n\n| Prop               | Type                 |\n| ------------------ | -------------------- |\n| **`host`**         | <code>string</code>  |\n| **`port`**         | <code>number</code>  |\n| **`open`**         | <code>boolean</code> |\n| **`durationMs`**   | <code>number</code>  |\n| **`errorCode`**    | <code>string</code>  |\n| **`errorMessage`** | <code>string</code>  |\n\n\n#### PortTestOptions\n\nOptions for native TCP port checks.\n\n| Prop            | Type                | Description                                         |\n| --------------- | ------------------- | --------------------------------------------------- |\n| **`host`**      | <code>string</code> | Hostname or IP address.                             |\n| **`port`**      | <code>number</code> | TCP port to open.                                   |\n| **`timeoutMs`** | <code>number</code> | Socket timeout in milliseconds. Defaults to `5000`. |\n\n\n#### WebSocketTestResult\n\nNative WebSocket handshake result.\n\n| Prop               | Type                 |\n| ------------------ | -------------------- |\n| **`url`**          | <code>string</code>  |\n| **`open`**         | <code>boolean</code> |\n| **`durationMs`**   | <code>number</code>  |\n| **`protocol`**     | <code>string</code>  |\n| **`statusCode`**   | <code>number</code>  |\n| **`errorCode`**    | <code>string</code>  |\n| **`errorMessage`** | <code>string</code>  |\n\n\n#### WebSocketTestOptions\n\nOptions for native WebSocket handshake checks.\n\n| Prop            | Type                | Description                                             |\n| --------------- | ------------------- | ------------------------------------------------------- |\n| **`url`**       | <code>string</code> | `ws://` or `wss://` URL to test.                        |\n| **`timeoutMs`** | <code>number</code> | Handshake timeout in milliseconds. Defaults to `10000`. |\n\n\n#### DownloadSpeedTestResult\n\nNative download speed measurement result.\n\n| Prop                  | Type                 |\n| --------------------- | -------------------- |\n| **`url`**             | <code>string</code>  |\n| **`ok`**              | <code>boolean</code> |\n| **`durationMs`**      | <code>number</code>  |\n| **`bytesDownloaded`** | <code>number</code>  |\n| **`bytesPerSecond`**  | <code>number</code>  |\n| **`mbps`**            | <code>number</code>  |\n| **`statusCode`**      | <code>number</code>  |\n| **`errorCode`**       | <code>string</code>  |\n| **`errorMessage`**    | <code>string</code>  |\n\n\n#### DownloadSpeedTestOptions\n\nOptions for native download speed measurement.\n\n| Prop            | Type                | Description                                                           |\n| --------------- | ------------------- | --------------------------------------------------------------------- |\n| **`url`**       | <code>string</code> | HTTP or HTTPS URL returning a downloadable body.                      |\n| **`maxBytes`**  | <code>number</code> | Maximum bytes to read before stopping. Defaults to `5242880` (5 MiB). |\n| **`timeoutMs`** | <code>number</code> | Request timeout in milliseconds. Defaults to `30000`.                 |\n\n\n#### PacketLossTestResult\n\nApplication-level packet loss result.\n\n| Prop                   | Type                                                      |\n| ---------------------- | --------------------------------------------------------- |\n| **`mode`**             | <code><a href=\"#packetlossmode\">PacketLossMode</a></code> |\n| **`target`**           | <code>string</code>                                       |\n| **`sent`**             | <code>number</code>                                       |\n| **`received`**         | <code>number</code>                                       |\n| **`lost`**             | <code>number</code>                                       |\n| **`lossPercent`**      | <code>number</code>                                       |\n| **`averageLatencyMs`** | <code>number</code>                                       |\n| **`minLatencyMs`**     | <code>number</code>                                       |\n| **`maxLatencyMs`**     | <code>number</code>                                       |\n| **`errorCode`**        | <code>string</code>                                       |\n| **`errorMessage`**     | <code>string</code>                                       |\n\n\n#### PacketLossTestOptions\n\nOptions for packet loss measurement.\n\nNative apps cannot rely on raw ICMP ping on both iOS and Android, so this\nmethod measures application-level loss with repeated TCP connects or HTTP\nrequests.\n\n| Prop             | Type                                                      | Description                                                                 |\n| ---------------- | --------------------------------------------------------- | --------------------------------------------------------------------------- |\n| **`mode`**       | <code><a href=\"#packetlossmode\">PacketLossMode</a></code> | Probe mode. Defaults to `tcp` when host/port is provided, otherwise `http`. |\n| **`host`**       | <code>string</code>                                       | Hostname or IP address for TCP probes.                                      |\n| **`port`**       | <code>number</code>                                       | TCP port for TCP probes.                                                    |\n| **`url`**        | <code>string</code>                                       | HTTP or HTTPS URL for HTTP probes.                                          |\n| **`count`**      | <code>number</code>                                       | Number of probes to send. Defaults to `10`.                                 |\n| **`timeoutMs`**  | <code>number</code>                                       | Per-probe timeout in milliseconds. Defaults to `3000`.                      |\n| **`intervalMs`** | <code>number</code>                                       | Delay between probes in milliseconds. Defaults to `250`.                    |\n\n\n#### RunDiagnosticsResult\n\nCombined native network diagnostic result.\n\n| Prop             | Type                                                                        |\n| ---------------- | --------------------------------------------------------------------------- |\n| **`status`**     | <code><a href=\"#networkstatusresult\">NetworkStatusResult</a></code>         |\n| **`urls`**       | <code>UrlTestResult[]</code>                                                |\n| **`ports`**      | <code>PortTestResult[]</code>                                               |\n| **`websockets`** | <code>WebSocketTestResult[]</code>                                          |\n| **`issues`**     | <code>string[]</code>                                                       |\n| **`download`**   | <code><a href=\"#downloadspeedtestresult\">DownloadSpeedTestResult</a></code> |\n| **`packetLoss`** | <code><a href=\"#packetlosstestresult\">PacketLossTestResult</a></code>       |\n\n\n#### RunDiagnosticsOptions\n\nOptions for a combined native network diagnostic run.\n\n| Prop             | Type                                                                          |\n| ---------------- | ----------------------------------------------------------------------------- |\n| **`urls`**       | <code>UrlTestOptions[]</code>                                                 |\n| **`ports`**      | <code>PortTestOptions[]</code>                                                |\n| **`websockets`** | <code>WebSocketTestOptions[]</code>                                           |\n| **`download`**   | <code><a href=\"#downloadspeedtestoptions\">DownloadSpeedTestOptions</a></code> |\n| **`packetLoss`** | <code><a href=\"#packetlosstestoptions\">PacketLossTestOptions</a></code>       |\n\n\n#### PluginVersionResult\n\nPlugin version payload.\n\n| Prop          | Type                | Description                                                 |\n| ------------- | ------------------- | ----------------------------------------------------------- |\n| **`version`** | <code>string</code> | Version identifier returned by the platform implementation. |\n\n\n### Type Aliases\n\n\n#### ConnectionType\n\n<code>'none' | 'wifi' | 'cellular' | 'ethernet' | 'vpn' | 'other' | 'unknown'</code>\n\n\n#### Record\n\nConstruct a type with a set of properties K of type T\n\n<code>{\r [P in K]: T;\r }</code>\n\n\n#### UrlTestMethod\n\n<code>'HEAD' | 'GET'</code>\n\n\n#### PacketLossMode\n\n<code>'tcp' | 'http'</code>\n\n</docgen-api>\n","readmeFilename":"README.md"}