{"_id":"@dawidzawada/bonjour-zeroconf","_rev":"11-cd312ff6312273c55510bb6474500189","name":"@dawidzawada/bonjour-zeroconf","dist-tags":{"alpha":"1.2.0-alpha.0","latest":"2.2.0"},"versions":{"1.0.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.0.0","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.0.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"a97dec60a02d83279389ff4c20f2fd4e1bda5699","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.0.0.tgz","fileCount":125,"integrity":"sha512-6qkTihAXJmbImjI+9KPRDOk5p/uxpscSEIN1n9TQgJTuFu362MFgKCSIWUUTTJ70BxIHrSZXGJ7ezpRA+IUX3g==","signatures":[{"sig":"MEUCIQCanenh51908iU9BMMknzxvliPvJCAMVrHhrTm7S9LEGwIgCgiYpxpL1l+rBu38DLpDSfY0BP2RVw0QJSaxg+vDlxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192654},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"41fcfc2663d842ed7f34933ed91839c3a1d808bd","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.31.8","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.31.8","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.31.8"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.0.0_1764171665695_0.098844776513904","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"clean":"nitrogen/","script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"1.0.1":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.0.1","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.0.1","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"fcc63eaca5c04999981eb191d6e338d8712469af","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.0.1.tgz","fileCount":125,"integrity":"sha512-MJeLn4sIdaYyjNnp4u0MDQabV7AZjVjrVRGzfaqrJVoyw5CL/Hd47tjEcOJ/QFaWzvz/rcgnkMclemCndosfKg==","signatures":[{"sig":"MEYCIQDfiSUV41RAcEObOPrwuBKleIX+z1jTsQRcDuy6ueS16QIhAIHP4783UA7Q9BkLmg1bRvj8WKA6mCJr+pX5GuLPB3Qs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197981},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"4e54906c7f88d0ddca7a577e29010012440a1fcb","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.31.8","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.31.8","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.31.8"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.0.1_1764174987372_0.05911286949540284","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"clean":"nitrogen/","script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"1.1.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.1.0","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.1.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"f59b5ee81a5589ac0b6582775598f10e5932ae80","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.1.0.tgz","fileCount":125,"integrity":"sha512-+bDCQjRxGYSjIvfS8o8h5j5aI6Cf4rNob1S82l2mKyNujn3lzLIpCNreeCqbsdfKtrm6w3Odo2kUecogm2Gl9w==","signatures":[{"sig":"MEQCICLdF8YoOoSiwS0tjc9KnBURWcBBqUxbCA/YH3yigz85AiA2LokwxLXPQomdEmMcTyDs/Gu8tj50theUSt11YeOXUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208153},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"3f6cf9cf55b9f33552fdde9e61a75f8c379607db","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.31.8","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.31.8","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.31.8"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.1.0_1768207648178_0.7257137469490802","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"clean":"nitrogen/","script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"1.2.0-alpha.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.2.0-alpha.0","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.2.0-alpha.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"75586a30c4a7ec2b558c8f1a759fbe94b14a8a62","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.2.0-alpha.0.tgz","fileCount":125,"integrity":"sha512-wLWX2WB8FMN+w95eQ6tFd1RzL08nsP+hDKkpIEQvYTl0dYP1BB9fegclGxN0KEpz3w8Vq9zDeO7GA6kZAzhDFg==","signatures":[{"sig":"MEUCIQDM+uJGmflBLXtZKx+l2EwxZgHE63ro0HdTy0vawS5oWAIgX576SWQinALDtYgS8tkcfG5aGOM4lrztPkdO7Z3vIFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209014},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"40d692eb2380f8c6b1f18d0ca464aadd0563dec4","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.32.1","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.32.1","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.32.1"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.2.0-alpha.0_1769430050163_0.600117545539995","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"1.2.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.2.0","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.2.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"560ace901f3dd55ee0953019b207a3593589f6bb","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.2.0.tgz","fileCount":125,"integrity":"sha512-Ry+GY7K9af4qcXpbOMEbHErOqxUNWDdGEKuDyn57dGqsVNrnzkPcnpsqP7cDkBRdc3XrAzAgCZPmlSo9C5wgIg==","signatures":[{"sig":"MEUCIB+qB7+occJd/tlUWgkMLL4MXdm4kQy7VGqXj9+k6xLzAiEA1btdM0m7nCuqaDm/nqHmEOfe+zTMjgXUIvNXmeKTo7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209294},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"7832484583f5bc2c18415a1e7965abded567f0bb","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.32.2","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.32.2","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.2.0_1769685759281_0.7814714752436875","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"1.2.1":{"name":"@dawidzawada/bonjour-zeroconf","version":"1.2.1","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@1.2.1","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"3bea15b2082c3de6059f0f53f0cb142a964d6923","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-1.2.1.tgz","fileCount":125,"integrity":"sha512-d9eMaQkqFqWlFTVjrGbb5WNOhqpIdRIZRW4H0MrGSq0g4Ad22Og2xReOByDj9Ia9IKQnYvFFEKYcLmVZJVv4+w==","signatures":[{"sig":"MEUCIDTaVwFA9G/U6g2l6wKLhM6loBSuFJ/0gxZWkz4cnGicAiEAuKlAneq50j7AfQPL6QV3H1eZyAuPFxisz4ooXe11jVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209294},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"054523b9aad9f953f5a1c8a65cdd6a0652106bb0","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.32.2","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.32.2","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_1.2.1_1769689637544_0.8814226705152974","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"2.0.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"2.0.0","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@2.0.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"866aef3f52900d7ff0c2de977b37c18e15869c3f","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-2.0.0.tgz","fileCount":132,"integrity":"sha512-NtpPOoHbmQvz6Gt3/EgvHu3GNR/2ge2YkLsDeuYNNqu8hnXOW1xCZMRa6mO2MC1OrRrYg8yFFGzPIPzCb0ipvw==","signatures":[{"sig":"MEUCIQD5d2LrAz7FSnh0HpsnadBvVYGVE375NVOg8v3n2nkleAIgQjsIy0oq683n7o85cKstSPt0vh2SmuhNs3w4xhSYgTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220813},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"250c18245e16fa3ab32ec2ee4ded2066ead2ca22","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.32.2","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.32.2","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":"0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_2.0.0_1771514301700_0.3090759915415997","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"2.1.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"2.1.0","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@2.1.0","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"adf67888a7c6baece887730b04fd7b240c1dc942","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-2.1.0.tgz","fileCount":132,"integrity":"sha512-7VziS/xV+65tAAOT2UsMzf/G0fe5ykanb67PcAYNqltEZPb9mSuvkOEiTroA2sNehMJlfIu7MokO2d4m2kmbAg==","signatures":[{"sig":"MEQCIChenl9Yj8L9JE+cbdn1IiIJuZyhOteMy7V+Y+DPNVmVAiBnXBqRRCfuzNoab0TaY+Z5tRZo+mudf1aq9L49PNwkAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220377},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"4345a8e4354775d19e0fc45cc1ca225ee6c56295","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.33.7","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.33.7","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":">=0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_2.1.0_1771850748548_0.7373005596420079","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"2.1.1":{"name":"@dawidzawada/bonjour-zeroconf","version":"2.1.1","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@2.1.1","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"00dc8f0255c5bf0a9c16dc1194f6556ce52a47e2","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-2.1.1.tgz","fileCount":132,"integrity":"sha512-cgoJO8/GThT0nIMMslQsq6nciB+WQDPzsVmyW9DW8ZkYwyIEW/Zvxjan+K8wxAVNlcyISkLGitXOW3UCE7iQUA==","signatures":[{"sig":"MEUCIFVHW0gsBeBpCdmFtpkZvKGq7ZauIuXMCj2ZYxNiRvJFAiEAntrguZlIW/J7ila50DD2RZsJ2Il/w0ocU7WMU1CYrjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220623},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"870932673899706c05e3bc4ba36fc684e417b3c3","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.33.7","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.33.7","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":">=0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_2.1.1_1776848501863_0.8742057819674971","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"2.1.2":{"name":"@dawidzawada/bonjour-zeroconf","version":"2.1.2","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"author":{"url":"https://github.com/dawidzawada","name":"Dawid Zawada","email":"dawidzaw7@gmail.com"},"license":"MIT","_id":"@dawidzawada/bonjour-zeroconf@2.1.2","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"dist":{"shasum":"8eeea6eefc38852fd521189144bd1e2a7d344872","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-2.1.2.tgz","fileCount":132,"integrity":"sha512-+kg+FhzqjKseIM6d9hD9BCEiKONYSef9HePitnizMiVMYPoCErHHBc4iUU86myFOPBloPYLUYSf844tJ5PLNHg==","signatures":[{"sig":"MEUCIQC02yltGeAAh5hiCgdY/gSRTnGqcMBhsOGe6Z0MF1CpjwIgSU6SdlRduAFXepmUdKOW60cL8rjsWuCOfbSl74VNpNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220612},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"f4828f8b9dd4efcc6bc43fb9ab5b09e7df13775b","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","prepare":"bob build","release":"release-it --only-version","nitrogen":"nitrogen","typecheck":"tsc"},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"19.1.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","nitrogen":"0.33.7","prettier":"^3.6.2","@eslint/js":"^9.35.0","commitlint":"^19.8.1","release-it":"^19.0.4","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/react":"^19.1.0","react-native":"0.81.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@evilmartians/lefthook":"^1.12.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-builder-bob":"^0.40.13","@react-native/babel-preset":"0.81.1","react-native-nitro-modules":"0.33.7","@react-native/eslint-config":"^0.81.1","@commitlint/config-conventional":"^19.8.1","@release-it/conventional-changelog":"^10.0.1"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":">=0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/bonjour-zeroconf_2.1.2_1777884122570_0.8338730220648825","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"nitro-module","version":"0.54.6","languages":"kotlin-swift"}},"2.2.0":{"name":"@dawidzawada/bonjour-zeroconf","version":"2.2.0","description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"source":"./src/index.ts","types":"./lib/typescript/src/index.d.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"scripts":{"example":"yarn workspace @dawidzawada/bonjour-zeroconf-example","test":"jest","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\"","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","prepare":"bob build","nitrogen":"nitrogen","release":"release-it --only-version"},"keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"repository":{"type":"git","url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git"},"author":{"name":"Dawid Zawada","email":"dawidzaw7@gmail.com","url":"https://github.com/dawidzawada"},"license":"MIT","bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@commitlint/config-conventional":"^19.8.1","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.35.0","@evilmartians/lefthook":"^1.12.3","@react-native/babel-preset":"0.83.6","@react-native/eslint-config":"^0.83.6","@release-it/conventional-changelog":"^10.0.1","@types/jest":"^29.5.14","@types/react":"^19.2.0","commitlint":"^19.8.1","del-cli":"^6.0.0","eslint":"^9.35.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","jest":"^29.7.0","nitrogen":"0.35.7","prettier":"^3.6.2","react":"19.2.0","react-native":"0.83.6","react-native-builder-bob":"^0.40.13","react-native-nitro-modules":"0.35.7","release-it":"^19.0.4","turbo":"^2.5.6","typescript":"^5.9.2"},"peerDependencies":{"react":"*","react-native":"*","react-native-nitro-modules":">=0.35.0"},"workspaces":["example"],"packageManager":"yarn@3.6.1","jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"react-native-builder-bob":{"source":"src","output":"lib","targets":[["custom",{"script":"nitrogen"}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"languages":"kotlin-swift","type":"nitro-module","version":"0.54.6"},"_id":"@dawidzawada/bonjour-zeroconf@2.2.0","gitHead":"f4147da2a67f03094f4c853b1b2117a9e7588276","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CIpmDeyFjG96XhT3KnbCcbX8AIGI/GlpYZ0ObAGykWkyld3O/jBpe25K+HFokhPunQK2W99Fn/95HIEs6y+fcA==","shasum":"aa9ba8079f9cbc84c0228a8622547b14140242af","tarball":"https://registry.npmjs.org/@dawidzawada/bonjour-zeroconf/-/bonjour-zeroconf-2.2.0.tgz","fileCount":132,"unpackedSize":223789,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwOXKWHSB2ymx8tFB0/gVLDjDf3Dihym/OUNB6DjjflwIgQUxtu7pqMFOifux6GwAlIsu3TKCUMkRnM2GI4l6Tl7Q="}]},"_npmUser":{"name":"dawidzawada","email":"dawidzaw7@gmail.com"},"directories":{},"maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bonjour-zeroconf_2.2.0_1781191582114_0.4022350114788651"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-26T15:41:05.624Z","modified":"2026-06-11T15:26:22.427Z","1.0.0":"2025-11-26T15:41:05.876Z","1.0.1":"2025-11-26T16:36:27.592Z","1.1.0":"2026-01-12T08:47:28.315Z","1.2.0-alpha.0":"2026-01-26T12:20:50.321Z","1.2.0":"2026-01-29T11:22:39.427Z","1.2.1":"2026-01-29T12:27:17.756Z","2.0.0":"2026-02-19T15:18:21.856Z","2.1.0":"2026-02-23T12:45:48.684Z","2.1.1":"2026-04-22T09:01:42.009Z","2.1.2":"2026-05-04T08:42:02.702Z","2.2.0":"2026-06-11T15:26:22.308Z"},"bugs":{"url":"https://github.com/dawidzawada/bonjour-zeroconf/issues"},"author":{"name":"Dawid Zawada","email":"dawidzaw7@gmail.com","url":"https://github.com/dawidzawada"},"license":"MIT","homepage":"https://github.com/dawidzawada/bonjour-zeroconf#readme","keywords":["react-native","bonjour","zeroconf","mdns","nsd","service-discovery","network-discovery","local-network","nitro-modules","ios","android","expo","typescript","swift","kotlin","device-discovery","multicast-dns","dns-sd","avahi"],"repository":{"type":"git","url":"git+https://github.com/dawidzawada/bonjour-zeroconf.git"},"description":"React Native Zeroconf scanner using Bonjour (iOS) and NSD (Android). Powered by Nitro Modules.","maintainers":[{"name":"dawidzawada","email":"dawidzaw7@gmail.com"}],"readme":"<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/banner-dark.png\" />\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"./docs/banner-light.png\" />\n  <img alt=\"BonjourZeroconf\" src=\"./docs/banner-light.png\" />\n</picture>\n\n# Bonjour Zeroconf 🇫🇷🥖\n\n⚡ **High-performance Zeroconf/mDNS service discovery for React Native**\n\nDiscover devices and services on your local network using native Bonjour (iOS) and NSD (Android) APIs. Built with [Nitro Modules](https://nitro.margelo.com/) for maximum performance. Designed for both React Native and Expo. 🧑‍🚀\n\n## ✨ Features\n\n- 🏎️ **Racecar performance** – powered by Nitro Modules\n- 🛡️ **Type-safe** – thanks to Nitro & Nitrogen\n- 📡 **Cross-platform** – iOS (Bonjour) and Android (NSD)\n- 📱 **Managing iOS permissions** - no need for extra libraries or custom code, just use `requestLocalNetworkPermission` or `useLocalNetworkPermission` before scanning!\n- 🔄 **Real-time updates** – listen to scan results, state changes, and errors\n- 🔭 **Multiple scanners** – run several independent scanners simultaneously for different service types\n- 🧩 **Expo compatible** - (config plugin coming soon)\n\n## 📦 Installation\n\n```sh\nnpm install @dawidzawada/bonjour-zeroconf react-native-nitro-modules\n```\n\n> **Note:** `react-native-nitro-modules` is required as a peer dependency.\n\n## ⚙️ iOS Setup\n\nOn iOS we need to ask for permissions and configure services we want to scan.\n\n### Expo:\n\nAdd this to your `app.json`, `app.config.json` or `app.config.js`:\n\n```ts\n{\n  ios: {\n    infoPlist: {\n      NSLocalNetworkUsageDescription:\n        'This app needs local network access to discover devices',\n      NSBonjourServices: ['_bonjour._tcp', '_lnp._tcp.'],\n    },\n  },\n}\n// Add service types you want to scan to NSBonjourServices, first two service types are needed for permissions\n```\n\nRun prebuild command:\n\n```sh\nnpx expo prebuild\n```\n\n### React Native:\n\nAdd this to your `Info.plist`:\n\n```xml\n<key>NSLocalNetworkUsageDescription</key>\n<string>This app needs local network access to discover devices</string>\n<key>NSBonjourServices</key>\n<array>\n    <!-- Needed for permissions -->\n    <string>_bonjour._tcp</string>\n    <string>_lnp._tcp</string>\n    <!-- Add other service types you need here -->\n</array>\n```\n\n## 🚀 Quick Start\n\n```tsx\nimport {\n  Scanner,\n  useIsScanning,\n  type ScanResult,\n} from '@dawidzawada/bonjour-zeroconf';\nimport { useEffect, useState } from 'react';\n\nfunction App() {\n  const [devices, setDevices] = useState<ScanResult[]>([]);\n\n  const handleScan = async () => {\n    const granted = await requestLocalNetworkPermission();\n    if (granted) {\n      Scanner.scan('_bonjour._tcp', 'local');\n    }\n  };\n\n  const handleStop = async () => {\n    Scanner.stop();\n  };\n\n  const handleCheck = async () => {\n    Alert.alert(`Is scanning? ${Scanner.isScanning}`);\n  };\n\n  useEffect(() => {\n    // Listen for discovered devices\n    const { remove } = Scanner.listenForScanResults((scan) => {\n      setResults(scan);\n    });\n\n    return () => {\n      remove();\n    };\n  }, []);\n\n  return (\n    <View>\n      <Button title={'Scan'} onPress={handleScan} />\n      <Button title={'Stop'} onPress={handleStop} />\n      {devices.map((device) => (\n        <Text key={device.name}>\n          {device.name} - {device.ipv4}:{device.port}\n        </Text>\n      ))}\n    </View>\n  );\n}\n```\n\n---\n\n## 🔭 Multiple Scanners\n\nFor convenience, the library exports a `Scanner` singleton that covers most use cases. Each scanner can only scan one service type at a time, so if you need to discover multiple service types simultaneously, use the `BonjourScanner` class to create as many independent scanners as you need.\n\n```tsx\nimport { BonjourScanner } from '@dawidzawada/bonjour-zeroconf';\n\nconst printerScanner = new BonjourScanner({ id: 'printers' });\nconst httpScanner = new BonjourScanner({ id: 'http' });\n\n// Both run in parallel, scanning different service types\nprinterScanner.scan('_printer._tcp', 'local');\nhttpScanner.scan('_http._tcp', 'local');\n```\n\nThe optional `id` is appended to log messages, making it easy to distinguish between scanners during debugging.\n\n---\n\n## 📖 API Reference\n\n### **Scanner**\n\nA pre-created `BonjourScanner` singleton exported for convenience. Use it when you only need to scan one service type at a time.\n\n### **BonjourScanner**\n\n#### `scan(type: string, domain: string, options?: ScanOptions)`\n\nStart scanning for services.\n\n```ts\nScanner.scan('_http._tcp', 'local');\n```\n\n```ts\nScanner.scan('_printer._tcp', 'local', {\n  addressResolveTimeout: 10000, // ms\n});\n```\n\n**Common service types:**\n\n- `_http._tcp` – HTTP servers\n- `_ssh._tcp` – SSH servers\n- `_airplay._tcp` – AirPlay devices\n- `_printer._tcp` – Network printers\n\n#### `scanFor(time: number, type: string, domain: string, options?: ScanOptions)`\n\nScan for services for a specified duration and return results as a Promise.\n\n```ts\nconst devices = await Scanner.scanFor(15, '_http._tcp', 'local');\nconsole.log('Found devices:', devices);\n```\n\n```ts\nconst devices = await Scanner.scanFor(25, '_printer._tcp', 'local', {\n  addressResolveTimeout: 10000, // ms\n});\n```\n\n**Parameters:**\n\n- `time` – Duration in seconds to scan before stopping\n- `type` – Service type to discover\n- `domain` – Domain to scan (typically `'local'`)\n- `options` – Optional scan configuration\n\n**Returns:** `Promise<ScanResult[]>` – Array of discovered services\n\n#### `stop()`\n\nStop scanning and clear cached results.\n\n```ts\nScanner.stop();\n```\n\n#### `listenForScanResults(callback)`\n\nListen for discovered services.\n\n```ts\nconst listener = Scanner.listenForScanResults((results: ScanResult[]) => {\n  console.log('Found devices:', results);\n});\n\n// Clean up listener\nlistener.remove();\n```\n\n#### `listenForScanState(callback)`\n\nListen for scanning state changes.\n\n```ts\nconst listener = Scanner.listenForScanState((isScanning: boolean) => {\n  console.log('Scanning:', isScanning);\n});\n\n// Clean up listener\nlistener.remove();\n```\n\n#### `listenForScanFail(callback)`\n\nListen for scan failures.\n\n```ts\nconst listener = Scanner.listenForScanFail((error: BonjourFail) => {\n  console.log('Scan failed:', error);\n});\n\n// Clean up listener\nlistener.remove();\n```\n\n---\n\n### **Hooks**\n\n#### `useIsScanning()`\n\nReact hook that returns the current scanning state.\n\n```tsx\nconst isScanning = useIsScanning();\n```\n\n#### `useLocalNetworkPermission()` (iOS only)\n\nReact hook for managing local network permission.\n\n```tsx\nconst { status, request } = useLocalNetworkPermission();\n```\n\n---\n\n### **Functions**\n\n#### `requestLocalNetworkPermission()`\n\nDisplays prompt to request local network permission, always returns `true` on Android.\n\n```tsx\nconst granted = await requestLocalNetworkPermission();\n```\n\n---\n\n### **Types**\n\n```ts\ninterface ScanResult {\n  name: string;\n  ipv4?: string;\n  ipv6?: string;\n  hostname?: string;\n  port?: number;\n}\n\ninterface ScanOptions {\n  addressResolveTimeout?: number; // milliseconds, default: 10000\n}\n\nenum BonjourFail {\n  DISCOVERY_FAILED = 'DISCOVERY_FAILED',\n  RESOLVE_FAILED = 'RESOLVE_FAILED',\n  EXTRACTION_FAILED = 'EXTRACTION_FAILED',\n}\n```\n\n## Nitro compatibility table\n\n| Bonjour version 🥖 | Recommended Nitro Version |\n| ------------------ | ------------------------- |\n| 2.1.X              | 0.33.X                    |\n| 2.0.X              | 0.32.X                    |\n| 1.2.X              | 0.32.X                    |\n| 1.1.X              | 0.31.X                    |\n| 1.0.X              | 0.31.X                    |\n\n## Contributing\n\n- [Development workflow](CONTRIBUTING.md#development-workflow)\n- [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)\n- [Code of conduct](CODE_OF_CONDUCT.md)\n\n## Credits\n\n- [Nitro Modules](https://nitro.margelo.com/) - High-performance native module framework\n- [mrousavy](https://github.com/mrousavy) - Creator of Nitro Modules\n- [react-native-builder-bob](https://github.com/callstack/react-native-builder-bob) - Library template\n\nSolution for handling permissions is based on [react-native-local-network-permission](https://github.com/neurio/react-native-local-network-permission)\n\n## License\n\nMIT\n\n---\n\n**Made with ❤️ for the React Native community**\n","readmeFilename":"README.md"}