{"_id":"@mapbox/vtvalidate","_rev":"128-f0a43ff2a1dfdaf5977c1ad64c4b268d","name":"@mapbox/vtvalidate","description":"Simply checks if a vector tile contains valid/invalid geometries","dist-tags":{"latest":"0.3.1","alpha":"0.3.1-alpha.1"},"versions":{"0.1.0-alpha1":{"name":"@mapbox/vtvalidate","version":"0.1.0-alpha1","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","prepublishOnly":"npm ls","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.5.1","node-pre-gyp":"~0.6.32"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.1.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"7bfb66101b108fc08ac6c8819f1c88aeefcdb8a0","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","bundleDependencies":["node-pre-gyp"],"_id":"@mapbox/vtvalidate@0.1.0-alpha1","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"gretacb","email":"carol@mapbox.com"},"dist":{"integrity":"sha512-+1hxy6idtiFwfr5CfMw94lvk3F1/GufVWGeIU/GiRnlXhiRv5ef/fjuLKwLjZQrKibi7sYWMZbU+6YaXFewSng==","shasum":"cb18c5b39c72d4143349e9a5fc25a383edb26b4d","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.1.0-alpha1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCj/dPkZdpiRvpiIcriQJp0ZdXQefFPhA/uf1hjfTsPAiEAyto3P0Rsn1nMoO2HOqhgwSDHx7ck3CzFwsF1A9ed1Kc="}]},"maintainers":[{"name":"gretacb","email":"carol@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate-0.1.0-alpha1.tgz_1513893765543_0.7124667624011636"},"directories":{}},"0.1.0-carol":{"name":"@mapbox/vtvalidate","version":"0.1.0-carol","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","prepublishOnly":"npm ls","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.5.1","node-pre-gyp":"~0.6.32"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.1.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0","bytes":"^2.4.0"},"bin":{"vtvalidate":"./bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"f90f4269d5659eefca523a2efd28fbbda54e8deb","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","bundleDependencies":["node-pre-gyp"],"_id":"@mapbox/vtvalidate@0.1.0-carol","_shasum":"a9a4fe455f73a04953ac9eb1b4c2702b004617f4","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"gretacb","email":"carol@mapbox.com"},"dist":{"shasum":"a9a4fe455f73a04953ac9eb1b4c2702b004617f4","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.1.0-carol.tgz","fileCount":1106,"unpackedSize":6324166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFZ5ACRA9TVsSAnZWagAA3GMP/0ZDqkaBmNqYtDfa41pc\nvxT9sZPKqn95mZ3AyZ/KHC34Dmc42xgMYQxbkkpmxppaxjQJCqMcyMK4HyRW\nPYHBeJ7wdF3mNz0m5x77WZ4GOAftoLXNE9j0ExOCB/2ddGQKPUZE7r24KDfw\nUln4ZX1p+s1dxg5aBdETINsteGqLVkP5lwhu9s4GS8UOPLWcpit1VDX9hMI4\nmPE7x0Bg1yzv+gCXzlUewaZ6BKcJzpIBEwXq7jRhigJmC28EYoiU3z2gy7pg\nkDA6Y0g1XJh+uwjnvJdtfizrdOQx4BNWIgJvM7uS4gcqfLut6O1gJtg6XW3K\nw9D86s3sGBro7p3K4h0hxkM9b5wmjAKJ/gPduMoL09w7/MgjC73zCUzVIAc8\nRNmmmIepjJb3XdyJcuVEF1fHSGfSITf3P9PClS0wYsOdiGNMZw26/P6jRGgT\n7QYqGNZ2qa7d/x3psnCeGSwRbdgjrWXAIATO1gcLSjJMPPK16amSpaB8zH2t\nD1K6IJ+b+jsgkLFsFRq7lnNv8Pr03v8w51luFsp8s6mXrVNqArepLt2fN+l5\nDOrY/9ary+fkXBW+YSDxQA7Wvszwnn/foTk2Xqy94v3AZ4xUjJciYp4C3vCn\ndtnixba7SbOg8jcPeys7+zrrHHkqeTBRl97yTOQUSYX2Ayni2N4U0qED2kxn\nMSJS\r\n=tXLS\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-VIXGUKrP+r2eyzfQECAlplk4H43i/2llFRL14+MI/+VFvtgw09oUCp8wsyJG/UenK0rOEaQHFAxdzajuyf0Vtg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8oq15D8gOvvimY+AZzbdcgbnE0soW67a9pBVM2tdwFAiBu2V+Asou2T8Wc8PaB3qMNhUmSUondNYqA7to6D6/+XQ=="}]},"maintainers":[{"email":"mxn@1ec5.org","name":"1ec5"},{"email":"andrea.delrio@mapbox.com","name":"aaaandrea"},{"email":"amy.ghate@mapbox.com","name":"aag6z"},{"email":"aarthy@mapbox.com","name":"aarthykc"},{"email":"aj@mapbox.com","name":"ajashton"},{"email":"angel.kittiyachavalit@gmail.com","name":"akit"},{"email":"ali@mapbox.com","name":"alianthes"},{"email":"alice@mapbox.com","name":"aliceykuo"},{"email":"alinapaz@gmail.com","name":"alinapaz"},{"email":"allan.walker@mapbox.com","name":"allanwalkerit"},{"email":"okay@allie.is","name":"allieoop"},{"email":"aileen.s.rowan@gmail.com","name":"allierowan"},{"email":"ulsh@mapbox.com","name":"alulsh"},{"email":"amisha@mapbox.com","name":"amishas157"},{"email":"anna.petrone@mapbox.com","name":"ampetr89"},{"email":"amyleewalton@gmail.com","name":"amyleew"},{"email":"vestibule@anandthakker.net","name":"anandthakker"},{"email":"andrey@mapbox.com","name":"andygol"},{"email":"angela.navarro@mapbox.com","name":"angela.navarro"},{"email":"ansis.brammanis@gmail.com","name":"ansis"},{"email":"alex.parlato@mapbox.com","name":"aparlato"},{"email":"adarsh.pavani@mapbox.com","name":"apavani"},{"email":"andrew@mapbox.com","name":"apendleton"},{"email":"aruna@mapbox.com","name":"arunasank"},{"email":"arya.popescu@mapbox.com","name":"arya-elf"},{"email":"asheemm@gmail.com","name":"asheemmamoowala"},{"email":"andrew.evans@mapbox.com","name":"atevans-mapbox"},{"email":"benjamin@mapbox.com","name":"benjamintd"},{"email":"bryan@mapbox.com","name":"bhousel"},{"email":"bhargav.kowshik@gmail.com","name":"bkowshik"},{"email":"blannon@gmail.com","name":"boblannon"},{"email":"brendan@mapbox.com","name":"brendanmcfarland"},{"email":"bersabel.tadesse@mapbox.com","name":"brsbl"},{"email":"bruno@mapbox.com","name":"brunoabinader"},{"email":"bharata+npm@mapbox.com","name":"bsrinivasa"},{"email":"bobby@mapbox.com","name":"bsudekum"},{"email":"camilla@mapbox.com","name":"camillacaros"},{"email":"camilo.sanin@mapbox.com","name":"camilo.sanin"},{"email":"cameron@mapbox.com","name":"cammace"},{"email":"nadia.barbosa@mapbox.com","name":"captainbarbosa-mbx"},{"email":"caseymm@gmail.com","name":"caseymm"},{"email":"b.jazzy.w@gmail.com","name":"castledoor"},{"email":"charlie@mapbox.com","name":"charloyd"},{"email":"hello@chau-nguyen.de","name":"chaupow"},{"email":"chris.loer@mapbox.com","name":"chrisloer"},{"email":"chris.wu@mapbox.com","name":"chriswu42"},{"email":"christopher.knouss@mapbox.com","name":"cknouss"},{"email":"toomey.chris@gmail.com","name":"cmtoomey"},{"email":"colleen.mcginnis@mapbox.com","name":"colleenmcginnis"},{"email":"jay.coxchapman@gmail.com","name":"coxchapman"},{"email":"dave.prukop@mapbox.com","name":"d-prukop"},{"email":"daniel+npm@trvx.org","name":"danieljh"},{"email":"danmactough@gmail.com","name":"danmactough"},{"email":"danpat@danpat.net","name":"danpat"},{"email":"daniel.paz-soldan@mapbox.com","name":"danpaz-mb"},{"email":"dan@mapbox.com","name":"danswick"},{"email":"dana.sulit@mapbox.com","name":"dasulit"},{"email":"david.dave.clark@gmail.com","name":"davidtheclark"},{"email":"denis.koronchik@gmail.com","name":"deniskoronchik"},{"email":"duane.gearhart@mapbox.com","name":"dgearhart"},{"email":"dave@mapbox.com","name":"dhcole"},{"email":"diane.e.schulze@gmail.com","name":"dianeschulze"},{"email":"david.nesbitt@mapbox.com","name":"dnesbitt"},{"email":"damon@mapbox.com","name":"dnomadb"},{"email":"daniel.puttick@mapbox.com","name":"dputtick"},{"email":"devin.boyer@mapbox.com","name":"drboyer"},{"email":"dthompson@gmail.com","name":"dthompson"},{"email":"edgar.marca@mapbox.com","name":"edgar-marca"},{"email":"anthony.agby@mapbox.com","name":"electrostat"},{"email":"eli.fitch.prof+npm@gmail.com","name":"elifitch"},{"email":"emily@mapbox.com","name":"emilymcafee"},{"email":"dubois@mapbox.com","name":"emilymdubois"},{"email":"fischer@mapbox.com","name":"enf"},{"email":"eric.alessandrini@mapbox.com","name":"ericdeveloper"},{"email":"emily.chow@mapbox.com","name":"eschow"},{"email":"gokul.ganesan@mapbox.com","name":"fa7c0n"},{"email":"fabian.guerra@gmail.com","name":"fabianguerra"},{"email":"flippmoke@gmail.com","name":"flippmoke"},{"email":"hello@franka.tech","name":"franka"},{"email":"spam@freenerd.de","name":"freenerd"},{"email":"friedbunny@users.noreply.github.com","name":"friedbunny"},{"email":"rafa@mapbox.com","name":"geografa"},{"email":"ghoshkaj@gmail.com","name":"ghoshkaj"},{"email":"greg.knisely@mapbox.com","name":"gknisely"},{"email":"carol@mapbox.com","name":"gretacb"},{"email":"pablo.guardiola@mapbox.com","name":"guardiola31337"},{"email":"adam.debreczeni@mapbox.com","name":"heyadam_mapbox"},{"email":"heather.stenson@mapbox.com","name":"heystenson"},{"email":"hjudge@mapbox.com","name":"hjudge"},{"email":"ian.villeda@gmail.com","name":"ian29"},{"email":"ian@mapbox.com","name":"ianshward"},{"email":"ingalls@protonmail.com","name":"ingalls"},{"email":"siyu.song@gmail.com","name":"isiyu"},{"email":"info@ivovandongen.nl","name":"ivovandongen"},{"email":"hi@jacquestardie.org","name":"jacquestardie"},{"email":"jayana.charles@mapbox.com","name":"jayana"},{"email":"joe.clark@mapbox.com","name":"jc-clark"},{"email":"john.sylak-glassman@mapbox.com","name":"jcsg"},{"email":"Jerrad.Thramer@mapbox.com","name":"jerrad"},{"email":"john.firebaugh@gmail.com","name":"jfirebaugh"},{"email":"jim.martin@mapbox.com","name":"jim-martin"},{"email":"jinny.cho@mapbox.com","name":"jinnycho503"},{"email":"justyna.janczyszyn@mapbox.com","name":"jjanczyszyn"},{"email":"jordan.kiley@mapbox.com","name":"jmkiley"},{"email":"jordan.webb@mapbox.com","name":"jordanwebb"},{"email":"jothirnadh@mapbox.com","name":"jothirnadh"},{"email":"jake@jakepruitt.com","name":"jrpruit1"},{"email":"james.seppi@gmail.com","name":"jseppi"},{"email":"julian.rex@mapbox.com","name":"julianrex"},{"email":"kara.e.mahoney@gmail.com","name":"k-mahoney"},{"email":"kalimar.maia@gmail.com","name":"kalimar"},{"email":"karen.ellenberger@mapbox.com","name":"karenell"},{"email":"karen@mapbox.com","name":"karenzshea"},{"email":"decorah@mapbox.com","name":"katydecorah"},{"email":"kristen.diluca@mapbox.com","name":"kdiluca"},{"email":"kelly.young@mapbox.com","name":"kellyoung"},{"email":"0o3ko0@gmail.com","name":"kepta"},{"email":"kevinkreiser@gmail.com","name":"kevinkreiser"},{"email":"kilatsat@gmail.com","name":"kilatsat"},{"email":"mail@kkaefer.com","name":"kkaefer"},{"email":"kaitlyn.summerill@mapbox.com","name":"ksummerill"},{"email":"laurier@mapbox.com","name":"l-r"},{"email":"langston.smith@mapbox.com","name":"langstonsmith"},{"email":"lauren@mapbox.com","name":"lbud"},{"email":"lily@mapbox.com","name":"lily-chai"},{"email":"lauri.rustanius@mapbox.com","name":"lingoded"},{"email":"lizzie.gooding@mapbox.com","name":"lizziegooding"},{"email":"lo_benichou@protonmail.com","name":"lobenichou"},{"email":"liz.shigetoshi@mapbox.com","name":"lshig"},{"email":"lawrence.wang@mapbox.com","name":"lswang14"},{"email":"me@lukasmartinelli.ch","name":"lukasmartinelli"},{"email":"lukasz.paczos@mapbox.com","name":"lukaspaczos"},{"email":"alex@mapbox.com","name":"lxbarth"},{"email":"lyzi@mapbox.com","name":"lyzidiamond"},{"email":"macro.shen@mapbox.com","name":"macro-shen"},{"email":"mai.nguyen@mapbox.com","name":"maikyon"},{"email":"mallorywood413@gmail.com","name":"mal-wood"},{"email":"emmanuel.sambale@gmail.com","name":"maning"},{"email":"manohar@mapbox.com","name":"manoharuss"},{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"sam@mapbox.com","name":"mapsam"},{"email":"mark.misener@mapbox.com","name":"markmisener"},{"email":"matt@mapbox.com","name":"mateov"},{"email":"matt.gosline@mapbox.com","name":"matt.gosline"},{"email":"matt@mattficke.com","name":"mattficke"},{"email":"mcwhittemore@gmail.com","name":"mcwhittemore"},{"email":"jeff@miccolis.net","name":"miccolis"},{"email":"mikel@groundtruth.in","name":"mikelmaron"},{"email":"ann.millspaugh@gmail.com","name":"millzpaugh"},{"email":"mollylloyd@gmail.com","name":"mollymerp"},{"email":"morgane.santos@mapbox.com","name":"morgane"},{"email":"morgan.herlocker@gmail.com","name":"morganherlocker"},{"email":"agafonkin@gmail.com","name":"mourner"},{"email":"mikhail.pozdnyakov@mapbox.com","name":"mpozdnyakov"},{"email":"max@mapbox.com","name":"msirenko"},{"email":"irwin@mapbox.com","name":"mtirwin"},{"email":"krishna@mapbox.com","name":"nammala"},{"email":"nat@mapbox.com","name":"natslaughter"},{"email":"nick.cordella@mapbox.com","name":"nickcordella"},{"email":"nicki@mapbox.com","name":"nickidlugash"},{"email":"nick.italiano@mapbox.com","name":"nickitaliano"},{"email":"nikinfour@gmail.com","name":"nikhilprabhakar"},{"email":"nmargolis89@gmail.com","name":"nmargolis"},{"email":"norchard24@gmail.com","name":"norchard"},{"email":"norman.barker@mapbox.com","name":"normanb"},{"email":"oindrila.gupta92@gmail.com","name":"oini"},{"email":"okorie.puryear@mapbox.com","name":"okoriep"},{"email":"olivia.brundage@mapbox.com","name":"oliikit"},{"email":"oormila@mapbox.com","name":"oormilavinod"},{"email":"osana.babayan@mapbox.com","name":"osana"},{"email":"laura.mooney@mapbox.com","name":"otherwiseman"},{"email":"michael.krasnyk@gmail.com","name":"oxidase"},{"email":"paige.moody@mapbox.com","name":"paigemoody"},{"email":"paul@mapbox.com","name":"pdgoodman"},{"email":"perry@mapbox.com","name":"perrygeo"},{"email":"peterqliu@gmail.com","name":"peterqliu"},{"email":"peter.sirota@mapbox.com","name":"petersirota"},{"email":"arun.planemad@gmail.com","name":"planemad"},{"email":"poornima@mapbox.com","name":"poornibadrinath"},{"email":"pratik@mapbox.com","name":"pratikyadav"},{"email":"patrick.taylor@mapbox.com","name":"pt-44"},{"email":"paul@pave4.com","name":"pveugen"},{"email":"josephvandrunen@gmail.com","name":"ramshackle-jamathon"},{"email":"rasagy@mapbox.com","name":"rasagy"},{"email":"ryan.clark.j@gmail.com","name":"rclark"},{"email":"randall.lee@mapbox.com","name":"rcleedev"},{"email":"johnny@johnnyray.me","name":"recursivefunk"},{"email":"rebecca.rice@mapbox.com","name":"rmrice"},{"email":"ruggero.altair@gmail.com","name":"ruggeroaltair"},{"email":"ryan.baumann@mapbox.com","name":"ryan-baumann"},{"email":"sofia.heisler@mapbox.com","name":"s-heisler"},{"email":"saba.elhilo2@gmail.com","name":"sabaelhilo"},{"email":"sabelo.mhlambi@mapbox.com","name":"sabzo"},{"email":"sewilhelm@gmail.com","name":"sadiew"},{"email":"abhishek@mapbox.com","name":"saikia.abhishek"},{"email":"saman@mapbox.com","name":"samanbb"},{"email":"eliane@mapbox.com","name":"samely"},{"email":"sam.fader@mapbox.com","name":"samfader"},{"email":"tlee@mapbox.com","name":"sbma44"},{"email":"scott.schultz@mapbox.com","name":"scottschultz"},{"email":"scott.farley@mapbox.com","name":"scottsfarley93"},{"email":"ryan.seekely@mapbox.com","name":"seekely"},{"email":"sean@mapbox.com","name":"sgillies"},{"email":"dane@mapbox.com","name":"springmeyer"},{"email":"srividyabharadwaj26@gmail.com","name":"srividyacb"},{"email":"jennifer.van@mapbox.com","name":"sugargreenbean"},{"email":"tapasweni@mapbox.com","name":"tapasweni-pathak"},{"email":"tara.adiseshan@gmail.com","name":"taziam"},{"email":"tim.channell@gmail.com","name":"tcql"},{"email":"patrick@mapbox.com","name":"themarex"},{"email":"tmpsantos@gmail.com","name":"tmpsantos"},{"email":"tobrun@mapbox.com","name":"tobrun"},{"email":"tony.chen@mapbox.com","name":"tony-cj"},{"email":"suntony@gmail.com","name":"tonysun"},{"email":"trevor.specht@gmail.com","name":"trevorspecht"},{"email":"tridip@mapbox.com","name":"tridip1931"},{"email":"tristen.brown@gmail.com","name":"tristen"},{"email":"upendra@mapbox.com","name":"upendrayadav"},{"email":"anjana.vakil@mapbox.com","name":"vakila"},{"email":"vincent.sarago@mapbox.com","name":"vincents"},{"email":"virginia@mapbox.com","name":"virginiayung"},{"email":"will@mapbox.com","name":"willwhite"},{"email":"xianny@gmail.com","name":"xianny"},{"email":"young@mapbox.com","name":"yhahn"},{"email":"msteigerwalt@gmail.com","name":"yuffster"},{"email":"alexy@codeforamerica.org","name":"yuletide"},{"email":"13761509829@163.com","name":"zhuwenlong"},{"email":"mully@mapbox.com","name":"zmully"},{"email":"antonio@mapbox.com","name":"zugaldia"},{"email":"zurihunter92@gmail.com","name":"zurihunter92"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.1.0-carol_1528143422974_0.5344949800522072"},"_hasShrinkwrap":false},"0.2.0":{"name":"@mapbox/vtvalidate","version":"0.2.0","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","prepublishOnly":"npm ls","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.5.1","node-pre-gyp":"~0.6.32"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.1.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0","bytes":"^2.4.0"},"bin":{"vtvalidate":"./bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"de7a619bc65d0c52399704e2912e7972a17d8e01","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","bundleDependencies":["node-pre-gyp"],"_id":"@mapbox/vtvalidate@0.2.0","_npmVersion":"6.1.0","_nodeVersion":"6.14.2","_npmUser":{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},"dist":{"integrity":"sha512-63xdnGkgLySFkxtSCmb2dOJJaaNzAD+UdvgfEZeVFb3Q11mHASzmHV+vcJVclHNtKrT3VPrLNPH/WBL1fr9s3A==","shasum":"100b876162b43b57dffbe2a632654c68af6c1435","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.2.0.tgz","fileCount":3092,"unpackedSize":126752262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKEzXCRA9TVsSAnZWagAAe8cQAIK+5bKjuxzSaIn+JLjW\nq2bYfPX2u5yu8a+VqzHt0mJoPSY4t4jdP7h3oCmi11xZVNutw7Vd/T24s3uz\nYc5KJ6oyowxDH4iZIHo2TnF+vX7ndnqXQsgcaVkqoyMjDIJo3Ap4T/a4/FRi\n/ERI3YapBrdzKlO0+wAdYK+9/wF/xJE24EVa5Yf9WFvwGiWEjN2ueDciljNq\nawoCGDC7az2gh9ebV0uZ/VSrhkYLOg4vd10PamORyFxlJwpJQBF5eF8iIkTu\n1rMLVQAqcAQBcOkCIIQTh73m2fK1s791lGbObMWFgDcnC4dU5aATduHPSWDA\n66w/znQhhrG5WLpbmPkYMiHrW74Ttipd9fwdK4y5g0QWeWc3e6VVX0bf4nTk\nUNl1HBpgrbq2t9nxYdnTLSVmMkK8eTV8+vR9cS256DdnmkzG+jxPeNjfbFwM\noogPXYcXam02UuViwn5iFgeJS/ePdNHFlszvL/VjoCfTZMT8gjDw9vpaqudY\nOqSSZKW5P/Q+TMaquR6glA/jRUFDS9aNGJVsJg/912P4LFLFq5EsaKEWZ4f/\nWUk4J34jBcDboVcqJhdbx4khQZ3/YER8dUlsh8OxKxsMLUBP1WddXXcXOF7p\n6k7KZkhbmFWia00zMNbfMe2bXcIHE3mwy+eVZpoNqQWvub7NICD5Jxipp7/T\nhEZO\r\n=S69I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL3ZwpS2b28DRE0dz2+Rill8c0xDca32npThssjNo/kgIhAPXTsV2rePF/Gl6OWQleoHX1xxBJUWG7uoYOoNyMmBld"}]},"maintainers":[{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"accounts+npmjs-01@mapbox.com","name":"mapbox-npm-01"},{"email":"accounts+npmjs-02@mapbox.com","name":"mapbox-npm-02"},{"email":"accounts+npmjs-03@mapbox.com","name":"mapbox-npm-03"},{"email":"accounts+npmjs-04@mapbox.com","name":"mapbox-npm-04"},{"email":"accounts+npmjs-05@mapbox.com","name":"mapbox-npm-05"},{"email":"accounts+npmjs-06@mapbox.com","name":"mapbox-npm-06"},{"email":"accounts+npmjs-07@mapbox.com","name":"mapbox-npm-07"},{"email":"accounts+npmjs-08@mapbox.com","name":"mapbox-npm-08"},{"email":"accounts+npmjs-09@mapbox.com","name":"mapbox-npm-09"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.2.0_1529367765142_0.23162694988906574"},"_hasShrinkwrap":false},"0.2.1":{"name":"@mapbox/vtvalidate","version":"0.2.1","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","prepublishOnly":"npm ls","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.5.1","node-pre-gyp":"~0.6.32"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.1.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0","bytes":"^2.4.0"},"bin":{"vtvalidate":"./bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"81a1b9c091135db0eef898970b153b35a916f23f","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","bundleDependencies":["node-pre-gyp"],"_id":"@mapbox/vtvalidate@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"6.14.2","_npmUser":{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},"dist":{"integrity":"sha512-paQkXQjxaDiPF0ITdFkqkjAPB3iqwG7ouMNzX1aguVfDy+Ro1/UHfJeBnRfGU5GP/FFZH8HLsNzHMwBtJejmXQ==","shasum":"1b6b6fb0de75e55ece90843567b13967c6125b5c","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.2.1.tgz","fileCount":1120,"unpackedSize":6260262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKXanCRA9TVsSAnZWagAAYPYP/jl9TL7NHGu/a4zVSCfk\nzFm+CUV3ULAECOkQFVdvnKpXLMhNdIKelShnEcamIwRHysW3whEAsFs8r6SP\nQ/RXt8FqJcpeVv77N5VQQQvDZFr6IkiFZHQEVf9QP+8+bNt6H41njUpWve29\npjzXKKE+JAGzbZuWqzK3SkI6XU3Wz5fX/1bmQb9sM0lYR+PcAo54H3NSJyP0\nR5oCM8WICJVkDkOkiXjEMlMwbIdlk6x+JD6NfP1NQWAmJ1Nwx2XDKmoPalMD\niFMyNv4ilMVeGiLSKp8+64C8YjqneJ11DxtS2zJZsnvBD5K+cDbuBmmC+nG0\nPOiE1IlPZoNl0r7vDDC69Nyr20XPKYkRYtHezaeP+ZtNHdQJTnGk5CxPpwEi\nMp3agKTw7xylv2iez9bt3iQUkA9Xa1KllzQBM+rX+PntsBItkIKG1J6i+vBN\n+vUUDgLSxLdE/HQVXThVl9eHlLFoIoo/Ljc2sAWQeTiwLabcNcI4+Hyps+j6\nh51PHDuRUerbaeYlH7WuhoA0jHfezBxZ5UZ6Uj6rYM4RNhY7Cy2YBPolNpE5\nm2s0lbaRNYCNjH8tMT8nMAc1Lps4NBtOWcKtYQvQ3Zmf+GxsOdbMyMOizbUi\nGq22TuvD+HIJgMB51+44CTmvXUTjmQxDagXfQjI6gu64AHvYyjAiA8IHb0/+\nJnYw\r\n=lwyF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJwt/BdAgFR9aQR/5tKZuWvcsVNsPR6lmcNGUIIrfjPAiEAlq3rtGlNZVLOaefq53TyeRKf+m3wkrTHUxyY6M7vsUs="}]},"maintainers":[{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"accounts+npmjs-01@mapbox.com","name":"mapbox-npm-01"},{"email":"accounts+npmjs-02@mapbox.com","name":"mapbox-npm-02"},{"email":"accounts+npmjs-03@mapbox.com","name":"mapbox-npm-03"},{"email":"accounts+npmjs-04@mapbox.com","name":"mapbox-npm-04"},{"email":"accounts+npmjs-05@mapbox.com","name":"mapbox-npm-05"},{"email":"accounts+npmjs-06@mapbox.com","name":"mapbox-npm-06"},{"email":"accounts+npmjs-07@mapbox.com","name":"mapbox-npm-07"},{"email":"accounts+npmjs-08@mapbox.com","name":"mapbox-npm-08"},{"email":"accounts+npmjs-09@mapbox.com","name":"mapbox-npm-09"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.2.1_1529444007314_0.3222071171149117"},"_hasShrinkwrap":false},"0.2.2":{"name":"@mapbox/vtvalidate","version":"0.2.2","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.10.0","node-pre-gyp":"~0.10.1"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.1.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0","bytes":"^2.4.0"},"bin":{"vtvalidate":"./bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"8114a7c4e175694e11b9565a66a2fb5f349ede2d","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"6.14.3","_npmUser":{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},"dist":{"integrity":"sha512-9qORTXw4g7OUaWf4JpZDNGLreUgm1hlc3xY9VDssxUFIXkQm+RRiUV6K/SNhXW6WVSxtPZduwciuQcNyHuj5og==","shasum":"36d11561860b13ae939b932907f2a56df0186af7","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.2.2.tgz","fileCount":39,"unpackedSize":99953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOlMXCRA9TVsSAnZWagAA5eEP/jILr1p5uqfWNVcsMoGX\nDiMW1HIMv3sy2PmsOdiNa5+oKfi75nRI+HY+yKlShxxW0kss7rKZhUUHOUnP\nUF96NrgLgkjaNnm8gBUUY0/TWki5YKEIHRm4nVymN8fcwGnKPHOQjfrB0cl+\nqTWhIMPhlkrajIBz4zEwl8tZIIcdBXyDKPuysMNCK0XVr/A6qpHyklGwIUKe\nMF22oL5W3bqiswjmGsX3PYMn/Lu5hIItrZYh6TwFyLyU0+gWqCs4/gM/Icyc\n98+VIXuXnigO6m9YPtch5lLgP7kdILMGFRWa4OI7FmDAJg+ny+07K8wylwen\nx4r6sOtxbVY4QmmMl+lQm1tNvlvV8vyvxA32KrU9CXRk4nx8ERaiDBM7GCqQ\nfStrlVBT2VVWhP95ZpeM8LBx96Ml2tzGkQfTeRx7eBvweILGQLLy74909jqj\nGONNyk05nRctz5sT/pdSVKHClJpa1lkSeoWi5dv8rjxShqRD3hcX99/pNfnt\nMqaPwBIGM5VLv318Uiv1osIoYlraVf28o2z4wba7bmu3f0FYfttEG6sklbS0\ngWYvtJ1gZogWoFr8en2aUN9TwceNzNuvGzzIddVlt0KMcGck0QTjYurMKarf\noh3RVLVBap3HC4wQv4GMWpLkhZR8xmUIBMtopSZ8wO9AfoeLmd2Bc0b1v3Xd\n1dQg\r\n=L1Ft\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjW6MvqNXLeCIHhu1jZWhy1YwaOYLviwqLQCDKwXmmLAiEA6O26gepgx+NpBYE8yiN2BWPvAXCxuWNxmzUxKFDO+mM="}]},"maintainers":[{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"accounts+npmjs-01@mapbox.com","name":"mapbox-npm-01"},{"email":"accounts+npmjs-02@mapbox.com","name":"mapbox-npm-02"},{"email":"accounts+npmjs-03@mapbox.com","name":"mapbox-npm-03"},{"email":"accounts+npmjs-04@mapbox.com","name":"mapbox-npm-04"},{"email":"accounts+npmjs-05@mapbox.com","name":"mapbox-npm-05"},{"email":"accounts+npmjs-06@mapbox.com","name":"mapbox-npm-06"},{"email":"accounts+npmjs-07@mapbox.com","name":"mapbox-npm-07"},{"email":"accounts+npmjs-08@mapbox.com","name":"mapbox-npm-08"},{"email":"accounts+npmjs-09@mapbox.com","name":"mapbox-npm-09"},{"email":"accounts+npmjs-advanced-actions@mapbox.com","name":"mapbox-npm-advanced-actions"},{"email":"accounts+npmjs-npm-ci@mapbox.com","name":"mapbox-npm-ci"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.2.2_1530549015558_0.3950845853218654"},"_hasShrinkwrap":false},"0.2.3":{"name":"@mapbox/vtvalidate","version":"0.2.3","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"nan":"~2.10.0","node-pre-gyp":"~0.10.1"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.5.0","aws-sdk":"^2.4.7","tape":"^4.5.1","d3-queue":"^3.0.1","minimist":"~1.2.0","bytes":"^2.4.0"},"bin":{"vtvalidate":"./bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{node_abi}-{platform}-{arch}.tar.gz"},"gitHead":"83ff1736f28146dbc08ceabf3f5fa1976761e742","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.2.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},"dist":{"integrity":"sha512-i9hf+1osHf+uBvBk+HeFmFT6puqo/h2Lo1wj1DViDusoKpPxQcfU0iRqotTr2hZiyqKk2vHHc5mw29lTcKDNAw==","shasum":"fac65b3ba9ff5609122b46a70db11b9dfcecc295","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.2.3.tgz","fileCount":38,"unpackedSize":98336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYwTDCRA9TVsSAnZWagAACOMP/1ggQBeR6ENp4UrecK1H\nqg/SCEEMXkVpbnWnSAKw+DM9j4oZ7r60L8RqPDOsT+8KesxSZHVN/d0lVoWo\nbr0xCKYF0TbjMnqKK9mtUHvsiv0HFdNX4KT2ZqThJUMn2Mlp1+iyWVUJnemn\nKmxDzXqSxxtRgKfrgcdpDkT2p01DV88OBNmn0e+J494lFr2K4uSNFgJHdFYO\nGlfJcGOcvxvje566f8RyWlY1b6zIW0fDYHrqxNCcCftayQcIcPM/qKTCe11q\nsHEbgO2AHP5NYApl0l2jWJY96/7KOwo2fIahGD44dO/VzVGL0eCX5rpkEGpD\nves3hzpjSVDCahzLcSAyA/DRUl30vIy9Igu6NkB81+/FTTT4NkP5ZJBP0mSL\nTc66fN5G7obVdlSS3bPEnLkVVxyxlQZEa7bRjZ4aRkfm0gzwHTDjAnVskwOO\n/HiLDe/gnBFiQz8RP6gMSrzUCX7WMJkbLdpVzIqHxvU+smyAp2woykC/WAvN\n7I2mwBRPgT+2R4VGwWa+o/LKhpas/XPclTK4lwGbhxVZKhOmJHUVtZZJa3vP\nsXjO/Im+a1qnu89/HmNDQa28S2iXyC/rhTSysD18WdoJwfN6Ta+1BuwQJ+ph\nOQpUrzVslX9peUm0l/N/wYzLxpDon3CguhTtM4PX6fYOhVhO9nOd10Gfjaz9\nv/qx\r\n=HSO7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjXZdUOJgyMuYA26XYBKdqK2LZoSKk3FTZURfSNfQsIgIgAelP0FdS8M2sez2qPmVmeN0IfXPlHVO8oGYpDceT/Hg="}]},"maintainers":[{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npm-mapbox-machine-user@mapbox.com","name":"mapbox-machine-user"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"accounts+npmjs-01@mapbox.com","name":"mapbox-npm-01"},{"email":"accounts+npmjs-02@mapbox.com","name":"mapbox-npm-02"},{"email":"accounts+npmjs-03@mapbox.com","name":"mapbox-npm-03"},{"email":"accounts+npmjs-04@mapbox.com","name":"mapbox-npm-04"},{"email":"accounts+npmjs-05@mapbox.com","name":"mapbox-npm-05"},{"email":"accounts+npmjs-06@mapbox.com","name":"mapbox-npm-06"},{"email":"accounts+npmjs-07@mapbox.com","name":"mapbox-npm-07"},{"email":"accounts+npmjs-08@mapbox.com","name":"mapbox-npm-08"},{"email":"accounts+npmjs-09@mapbox.com","name":"mapbox-npm-09"},{"email":"accounts+npmjs-advanced-actions@mapbox.com","name":"mapbox-npm-advanced-actions"},{"email":"accounts+npmjs-npm-ci@mapbox.com","name":"mapbox-npm-ci"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.2.3_1549993154523_0.6544811409329907"},"_hasShrinkwrap":false},"0.3.0-alpha2":{"name":"@mapbox/vtvalidate","version":"0.3.0-alpha2","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"@mapbox/mason-js":"^0.1.5","@mapbox/node-pre-gyp":"^1.x","node-addon-api":"^3.1.0"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.5.0","aws-sdk":"^2.4.7","bytes":"^2.4.0","d3-queue":"^3.0.1","minimist":"~1.2.0","tape":"^4.5.1"},"bin":{"vtvalidate":"bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{platform}-{arch}.tar.gz"},"readme":"# vtvalidate\n\nValidate vector tiles based on the [Mapbox Vector Tile Specification 2.x](https://www.mapbox.com/vector-tiles/specification/) via [vtzero](https://github.com/mapbox/vtzero).\n\n[![node-cpp-skel](https://raw.githubusercontent.com/mapbox/cpp/master/assets/node-cpp-skel-badge_blue.svg)](https://github.com/mapbox/node-cpp-skel)\n[![Build Status](https://travis-ci.com/mapbox/vtvalidate.svg?branch=master)](https://travis-ci.com/mapbox/vtvalidate)\n[![codecov](https://codecov.io/gh/mapbox/vtvalidate/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/vtvalidate)\n\n## Build & Test\n```shell\ngit clone git@github.com:mapbox/vtvalidate.git\ncd vtvalidate\n\n# Build binaries. This looks to see if there were changes in the C++ code. This does not reinstall deps.\nmake\n\n# Run tests\nmake test\n\n# Cleans your current builds and removes potential cache\nmake clean\n\n# Cleans everything, including the things you download from the network in order to compile (ex: npm packages).\n# This is useful if you want to nuke everything and start from scratch.\n# For example, it's super useful for making sure everything works for Travis, production, someone else's machine, etc\nmake distclean\n```\n\n## Usage\n \n- If the tile is valid, `vtvalidate` will return an empty string. \n- If the tile is invalid, `vtvalidate` will return the string output from vtzero. \n- `vtvalidate` will throw an error if there is unexpected behaviour, for example an invalid argument value passed into `vtvalidate.isValid()` or a corrupt compressed buffer.\n\n#### Valid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns empty string if it's a valid tile\n  console.log(result); // ''\n});\n```\n\n#### Invalid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns string that specifies why the tile is invalid\n  console.log(result); // 'Missing geometry field in feature (spec 4.2)'\n});\n```\n\n#### Type of validation\n`vtvalidate` validates tile data against [vtzero](https://github.com/mapbox/vtzero):\n- Tile data consistent with the [Mapbox vector tile spec - Version 2](https://www.mapbox.com/vector-tiles/specification/). Tiles created via Mapbox vector tile spec Version 1 will be flagged invalid.\n- Read tile layer(s) and feature(s)\n- Decode properties\n- Decode geometries\n\nCurrently, vtvalidate does not check geometries for self-intersections, but planned in [the future](https://github.com/mapbox/core-tech/issues/253). If you'd like to add more extensive tile validation, check out [this example](https://github.com/mapbox/vtzero/blob/master/examples/vtzero-check.cpp).\n\n\n## CLI\n\nAccepts either uncompressed or gzip/zlib compressed tiles\n\n```\nnode bin/vtvalidate.js <path-to-vector-tile>\n```\nWill output:\n- empty string if it's a valid tile\n- string that specifies why the tile is invalid\n\n\n## Bench\nProvide desired iterations and concurrency\n```\nnode bench/isValid.bench.js --iterations 50 --concurrency 10\n```\n","readmeFilename":"README.md","gitHead":"0e8f020419684c1f42edd070625b5d5edb28ef53","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.3.0-alpha2","_nodeVersion":"17.1.0","_npmVersion":"8.1.3","dist":{"integrity":"sha512-bxkmKTvhoEuXaTRrJMOiaPzj9WOG6FdxfdYpwCmxl0FbGYYp7ZK+k2gXgzLJxPjFO9aTcT5A719ER5a3jr9ZMQ==","shasum":"6c957a798aa470293caf6566f5eda87f0b49c1d9","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.3.0-alpha2.tgz","fileCount":40,"unpackedSize":95325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDNz8CRA9TVsSAnZWagAAdvUP/AxBCkFA/VQ3AxGR3Eaa\n2G2sts/Ixl7RvF163WMmHnXEZJgnbu5C7GDbKiqQqy7C/3CWClTlkrM3p3Hs\n/y8Fr2ZrBkYCwekOAB5raE7facdxP8eKej6OByN9ZQBH9grnOyFAjfzxfFda\ntQyyV5aTGk9CB6pgKKvCtNQXeTQwvz/4hPNAuk+9uoZj1DPFLT4mYl7LuMLX\nUPIah6D/mecpREzwMw2Ro9+Upa2PXU4yiPq2PYtxn43L38d7S5ek0pYyQMIb\nIGT8skc+gQPDzKNxjJs7Lz+HgdDR1TMOkGmcy524C59fNRppBWf+zm0oXupt\nA3J6KCKS6DTnmO69sMIuN8VOVKQKyPY24HMYS5h0sp4r02XWnnmilhD9rX8C\nXi4FDa0jeJ/vaRTAExAOphiWbabvz4DVRa7aHfp3RjUksvMXiF0RMxW2rFG2\nWSmy3x5h2A0RoHH2SAFddKOvMWm6guSeDqpW9EFmPAjyL+ud/ZJatfunyClx\nlFys/BXlitiogQyFmyzCy127qlEtDEv3LLwReUqBYGns9FliY+VfU+foer9e\nHkuj6MRt7lT8Vi3QvyvJO8XI68EOHuxy96E/3Pe3/DNe3YvNXe5MHNg9GhUN\nFoNz4rm/REzymmqEQVeFFzaK0uKhlAtlxaVeNagJvfTicxtySW8GSAJ44Akv\nGyIU\r\n=Wkq7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqHdguPnAEXmju1u7LkEC/CmrmT2Ag9b8dP4z7jYzj0wIhAOsGMqq/XSD1MYgKohxQ0/1iy2mS57wAyEPYO/VfoquZ"}]},"_npmUser":{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},"directories":{},"maintainers":[{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},{"name":"mapbox-npm-02","email":"accounts+npmjs-02@mapbox.com"},{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},{"name":"mapbox-npm-03","email":"accounts+npmjs-03@mapbox.com"},{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},{"name":"mapbox-npm-05","email":"accounts+npmjs-05@mapbox.com"},{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},{"name":"mapbox-npm-advanced-actions","email":"accounts+npmjs-advanced-actions@mapbox.com"},{"name":"mapbox-npm-ci","email":"accounts+npmjs-npm-ci@mapbox.com"},{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},{"name":"mapbox-admin","email":"accounts@mapbox.com"},{"name":"mapbox-machine-user","email":"accounts+npm-mapbox-machine-user@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.3.0-alpha2_1645010172178_0.9876924696743736"},"_hasShrinkwrap":false},"0.3.0":{"name":"@mapbox/vtvalidate","version":"0.3.0","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"@mapbox/mason-js":"^0.1.5","@mapbox/node-pre-gyp":"^1.x","node-addon-api":"^3.1.0"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.5.0","aws-sdk":"^2.4.7","bytes":"^2.4.0","d3-queue":"^3.0.1","minimist":"~1.2.0","tape":"^4.5.1"},"bin":{"vtvalidate":"bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{platform}-{arch}.tar.gz"},"gitHead":"d80a3beeb73132af75cf417ce8cb0d5623aa41b3","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.3.0","_nodeVersion":"17.1.0","_npmVersion":"8.1.3","dist":{"integrity":"sha512-4xtvS4LoGlbWT0oSyOQtCJ6y1wZcjdGl8lA8VS2XGlLXtpe7XS3d+DGUvIzOC0acWyLSMj1Vsu1neZ/VysuypQ==","shasum":"d3765a3856d93d152a083e76a7b336f7a9c843d8","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.3.0.tgz","fileCount":40,"unpackedSize":94489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFLlIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnyxAAjSyBRZl0AuzfbAB7SZMtct+3bMl5QQioW1g7o4pSv0OJAzZI\r\nA3BZTmSvhGi2o001VEhUE5djts3SyhZpxccGLSC26MH1GkXN2dLYQ11uBfWu\r\nYNtjEi0ZJKjMY+5C/a0X6OD2yUbzPwpSoloqEh7NiMgBJascdRRTwgUuQng1\r\npf0zh8AKCQGXI+LvA3VC4HZy4If5NeMVk8ZobdS8qJG/PwjBRfLLkzQ6dpbt\r\noFui4XBNwfSadsxpuDD0wNv0eZQUBTuLG5K9lZYDc6PocooDEWYzejWsyy4Y\r\ncFmk/DdPa9eiv/RpbpjyKldz9FXD6MlnswUk3aYaTgSRWLj+gmiA+Ym25Mhr\r\nfyHV1gFIH+0PJWY5PG9sUhWEzwjYif9XLhdkIu3yeMwDcKzfhVAAojegKEdX\r\n07xMoAdiBQeGoiVnUxdUjNPD2mpZf2FpGJloXf+t4/2llu5v+uTiIt9qwjqM\r\nK7/Fgvayu0523iPKSv1YbBPPB6yu2TT9g+TDJMuv16jHbUk6OihJ/OdW2InI\r\nJ6Jte35GWIL1VrNW7KgPUBf3i7tw54Swy41Ylg6ggR8vJYXPJqH2eX7gL7Zp\r\n/vMvcujpxjo8RGJJiy5LVNrk+Yi11G57rmkakFAM+LVhbKBZKo9YPkYoD2ap\r\nCkSOgP1cL9SD82Pn1LczXyizwzuTKOvp+yw=\r\n=/mzz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvr/ludFtOjzq0CH4FD8Fo+g5QXRZ2xTP+TPNJI3RmzwIhAMSDg1Bg8SPXD1pXCd1SgBvT2ms1tdDDptJhAEum9HW/"}]},"_npmUser":{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},"directories":{},"maintainers":[{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},{"name":"mapbox-npm-02","email":"accounts+npmjs-02@mapbox.com"},{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},{"name":"mapbox-npm-03","email":"accounts+npmjs-03@mapbox.com"},{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},{"name":"mapbox-npm-05","email":"accounts+npmjs-05@mapbox.com"},{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},{"name":"mapbox-npm-advanced-actions","email":"accounts+npmjs-advanced-actions@mapbox.com"},{"name":"mapbox-npm-ci","email":"accounts+npmjs-npm-ci@mapbox.com"},{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},{"name":"mapbox-admin","email":"accounts@mapbox.com"},{"name":"mapbox-machine-user","email":"accounts+npm-mapbox-machine-user@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.3.0_1645525319902_0.17732774433417875"},"_hasShrinkwrap":false},"0.3.1-alpha.0":{"name":"@mapbox/vtvalidate","version":"0.3.1-alpha.0","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"@mapbox/mason-js":"^0.1.5","@mapbox/node-pre-gyp":"^1.0.8","aws-sdk":"^2.1074.0","node-addon-api":"^4.3.0"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.6.0","aws-sdk":"2.1074.0","bytes":"^3.1.2","d3-queue":"^3.0.7","minimist":"~1.2.5","tape":"^5.5.0"},"bin":{"vtvalidate":"bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{platform}-{arch}.tar.gz"},"readme":"# vtvalidate\n\nValidate vector tiles based on the [Mapbox Vector Tile Specification 2.x](https://www.mapbox.com/vector-tiles/specification/) via [vtzero](https://github.com/mapbox/vtzero).\n\n[![node-cpp-skel](https://raw.githubusercontent.com/mapbox/cpp/master/assets/node-cpp-skel-badge_blue.svg)](https://github.com/mapbox/node-cpp-skel)\n[![Build Status](https://travis-ci.com/mapbox/vtvalidate.svg?branch=master)](https://travis-ci.com/mapbox/vtvalidate)\n[![codecov](https://codecov.io/gh/mapbox/vtvalidate/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/vtvalidate)\n\n## Build & Test\n```shell\ngit clone git@github.com:mapbox/vtvalidate.git\ncd vtvalidate\n\n# Build binaries. This looks to see if there were changes in the C++ code. This does not reinstall deps.\nmake\n\n# Run tests\nmake test\n\n# Cleans your current builds and removes potential cache\nmake clean\n\n# Cleans everything, including the things you download from the network in order to compile (ex: npm packages).\n# This is useful if you want to nuke everything and start from scratch.\n# For example, it's super useful for making sure everything works for Travis, production, someone else's machine, etc\nmake distclean\n```\n\n## Usage\n \n- If the tile is valid, `vtvalidate` will return an empty string. \n- If the tile is invalid, `vtvalidate` will return the string output from vtzero. \n- `vtvalidate` will throw an error if there is unexpected behaviour, for example an invalid argument value passed into `vtvalidate.isValid()` or a corrupt compressed buffer.\n\n#### Valid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns empty string if it's a valid tile\n  console.log(result); // ''\n});\n```\n\n#### Invalid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns string that specifies why the tile is invalid\n  console.log(result); // 'Missing geometry field in feature (spec 4.2)'\n});\n```\n\n#### Type of validation\n`vtvalidate` validates tile data against [vtzero](https://github.com/mapbox/vtzero):\n- Tile data consistent with the [Mapbox vector tile spec - Version 2](https://www.mapbox.com/vector-tiles/specification/). Tiles created via Mapbox vector tile spec Version 1 will be flagged invalid.\n- Read tile layer(s) and feature(s)\n- Decode properties\n- Decode geometries\n\nCurrently, vtvalidate does not check geometries for self-intersections, but planned in [the future](https://github.com/mapbox/core-tech/issues/253). If you'd like to add more extensive tile validation, check out [this example](https://github.com/mapbox/vtzero/blob/master/examples/vtzero-check.cpp).\n\n\n## CLI\n\nAccepts either uncompressed or gzip/zlib compressed tiles\n\n```\nnode bin/vtvalidate.js <path-to-vector-tile>\n```\nWill output:\n- empty string if it's a valid tile\n- string that specifies why the tile is invalid\n\n\n## Bench\nProvide desired iterations and concurrency\n```\nnode bench/isValid.bench.js --iterations 50 --concurrency 10\n```\n","readmeFilename":"README.md","gitHead":"556873703ccaa30e73cda6fb8844fa1b16283314","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.3.1-alpha.0","_nodeVersion":"17.1.0","_npmVersion":"8.1.3","dist":{"integrity":"sha512-5CDEdu+4plr/2g3iVWFb9dXy5pY/Y/5hn/quKGHoIlbkrKX7hDfT1mqwNUgtmrSY4MkKSV03M5QEbLDiGOM7rA==","shasum":"a650195316613b0589fb2009544417fe03b28689","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.3.1-alpha.0.tgz","fileCount":40,"unpackedSize":90855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFRlMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrlgw/7B+OmDK/08LK770G3F7S25VVLL7+Y20h6gQKJAheSRSXCvdUD\r\nPRpk+JiscZ3G4mlUkmPw4EsammaquOO7gHsEcd9B8cOi3ov6DW/duprBaFa7\r\n5ilhTY4gVlwe1GWD/f7DHGXMDkS8U0sybojBdHt2TDbJ+HRsG+/9dG9In5+A\r\n1n5C+vWT26Ym5irL1zPnhMcJkAsWjc+typU/OwwXtExZ6Uuq6PBYy9NCzty8\r\nfmcXZSrQUcr95qFJ2wt0DRLk6P0iosos+wNk7YOzvZcd33mC8ozfud9DjtZs\r\n7G7jU4Qc0PntgywFi1XtgzGMYYAH0f4CQDs898BS+blplSzJkgT5i0ei7Dd9\r\nOcHxer+jnOhZNbNuAwpuFRaG0Wf+YdzvlVi8x9Y/NLjWSSJG6/vmnXP6riRo\r\nfKPX0e9JbarP+BLKnGpXZcOwbRIeQWshlmN6FPuAS5HTJ5di2iRuhqYhv0uK\r\n5HpmFM5+vW2AaDhqHyKh4Au6zhVRDpel4w/MLFZxRyORnbbRCWODiaPTuOCU\r\no7ZRfyHp9SL3Rq5tEpoEjsdaSB7veOny5YkF1eEH6r+4g+gk6pv8LOi5GVUR\r\namGeYZkfbcRIvL0NYJU2NpmMGMM5tdAaKwgSWXp1Hv1IbaYGB5AdM1yBGCeB\r\nyoFWrn4rVSaZGF8RKROQ0vXDaj+PD5rKBns=\r\n=wfn5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWIyW8H2hC8Wr/woeRQOK3/1U1F/dE0f1Ey7lQFTED4AiEAoQqpa9QM0nrkL7VY58gbnATsCSK0w0jKog8QkhWDFlQ="}]},"_npmUser":{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},"directories":{},"maintainers":[{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},{"name":"mapbox-npm-02","email":"accounts+npmjs-02@mapbox.com"},{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},{"name":"mapbox-npm-03","email":"accounts+npmjs-03@mapbox.com"},{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},{"name":"mapbox-npm-05","email":"accounts+npmjs-05@mapbox.com"},{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},{"name":"mapbox-npm-advanced-actions","email":"accounts+npmjs-advanced-actions@mapbox.com"},{"name":"mapbox-npm-ci","email":"accounts+npmjs-npm-ci@mapbox.com"},{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},{"name":"mapbox-admin","email":"accounts@mapbox.com"},{"name":"mapbox-machine-user","email":"accounts+npm-mapbox-machine-user@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.3.1-alpha.0_1645549900403_0.47859266113584953"},"_hasShrinkwrap":false},"0.3.1-alpha.1":{"name":"@mapbox/vtvalidate","version":"0.3.1-alpha.1","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"@mapbox/mason-js":"^0.1.5","@mapbox/node-pre-gyp":"^1.0.8","aws-sdk":"^2.1074.0","node-addon-api":"^4.3.0"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.6.0","aws-sdk":"2.1074.0","bytes":"^3.1.2","d3-queue":"^3.0.7","minimist":"~1.2.5","tape":"^5.5.0"},"bin":{"vtvalidate":"bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{platform}-{arch}.tar.gz"},"readme":"# vtvalidate\n\nValidate vector tiles based on the [Mapbox Vector Tile Specification 2.x](https://www.mapbox.com/vector-tiles/specification/) via [vtzero](https://github.com/mapbox/vtzero).\n\n[![node-cpp-skel](https://raw.githubusercontent.com/mapbox/cpp/master/assets/node-cpp-skel-badge_blue.svg)](https://github.com/mapbox/node-cpp-skel)\n[![Build Status](https://travis-ci.com/mapbox/vtvalidate.svg?branch=master)](https://travis-ci.com/mapbox/vtvalidate)\n[![codecov](https://codecov.io/gh/mapbox/vtvalidate/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/vtvalidate)\n\n## Build & Test\n```shell\ngit clone git@github.com:mapbox/vtvalidate.git\ncd vtvalidate\n\n# Build binaries. This looks to see if there were changes in the C++ code. This does not reinstall deps.\nmake\n\n# Run tests\nmake test\n\n# Cleans your current builds and removes potential cache\nmake clean\n\n# Cleans everything, including the things you download from the network in order to compile (ex: npm packages).\n# This is useful if you want to nuke everything and start from scratch.\n# For example, it's super useful for making sure everything works for Travis, production, someone else's machine, etc\nmake distclean\n```\n\n## Usage\n \n- If the tile is valid, `vtvalidate` will return an empty string. \n- If the tile is invalid, `vtvalidate` will return the string output from vtzero. \n- `vtvalidate` will throw an error if there is unexpected behaviour, for example an invalid argument value passed into `vtvalidate.isValid()` or a corrupt compressed buffer.\n\n#### Valid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns empty string if it's a valid tile\n  console.log(result); // ''\n});\n```\n\n#### Invalid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns string that specifies why the tile is invalid\n  console.log(result); // 'Missing geometry field in feature (spec 4.2)'\n});\n```\n\n#### Type of validation\n`vtvalidate` validates tile data against [vtzero](https://github.com/mapbox/vtzero):\n- Tile data consistent with the [Mapbox vector tile spec - Version 2](https://www.mapbox.com/vector-tiles/specification/). Tiles created via Mapbox vector tile spec Version 1 will be flagged invalid.\n- Read tile layer(s) and feature(s)\n- Decode properties\n- Decode geometries\n\nCurrently, vtvalidate does not check geometries for self-intersections, but planned in [the future](https://github.com/mapbox/core-tech/issues/253). If you'd like to add more extensive tile validation, check out [this example](https://github.com/mapbox/vtzero/blob/master/examples/vtzero-check.cpp).\n\n\n## CLI\n\nAccepts either uncompressed or gzip/zlib compressed tiles\n\n```\nnode bin/vtvalidate.js <path-to-vector-tile>\n```\nWill output:\n- empty string if it's a valid tile\n- string that specifies why the tile is invalid\n\n\n## Bench\nProvide desired iterations and concurrency\n```\nnode bench/isValid.bench.js --iterations 50 --concurrency 10\n```\n","readmeFilename":"README.md","gitHead":"5903bc9c9d7198798b4c4a563e586d2a16187daa","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.3.1-alpha.1","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-hs34IWFs2m0ngM8ti7WD4Ro/+pgntP7nbYBbgIYm97ZGUOZbRccuuYZ91Z5MD9Iy6+e/2M0P2OM0/uGYf7YHMw==","shasum":"26b3565378bf8c84d4cf311e78c72ca7b0a3d614","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.3.1-alpha.1.tgz","fileCount":40,"unpackedSize":90769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiH2KrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7NBAAlH4wsuF0Mlj4/eXYfX98va32Ba3ksg4gckX4zlGv+urwDIW1\r\nSQzqkoHPks91A+GTLSa7U9Eeq+EoMHAhvR3Xtu/h63qPY2+H6TW/i85JdOlL\r\nHz/XUWssRIzuPGfd0O7Re3ciP5GUMRNWUliDSJOIpPYChY29b7WnTe7IGC3I\r\nEgIVMkZgJoimQEhy0F77Xiyv+aPdfNH9dzfn9io1Qot0rkk5h1WMQJljx283\r\ngCOIgxWTmc1DnBaN0Db8Dxmwq0ou1xug7uIaKbtwCjJLACaME2eK/jMc6PYn\r\n2Wmls1wi7YOK6O+Jpr+1xUXgM9L3Iyn5XhHu14gs9z9DLGz9R2csTfGF0RW3\r\nChIf7w1dxuhbVXduBjoxxj+oEjFnwZD2oGOY4zMeh6woRNtcTYjZ7mkSWiVG\r\ndVYlsNfas0l++gPL1nYFQ0vNGOwfvOUn1rwPO274wCnJBefVm9eAA04Fjhyx\r\nW70KFBKRBwaK3hoDyOJHOT6MH77hYFTtZK+aCI/S/yv7KoLKB14WJP55Rh0n\r\nZQV5fcGTdcxWqRCc2Wr+ljpXPHs2RZZT3GsJFyZO2Nf4dpqfbLfodfqgT9O5\r\nWnvlxdAEgkKHZi3oZM+mknvkU3qx+rv+GL2LntC/75WYNUxE68amUWPiyx6p\r\nhpC1ZvYe3p3q3K2n8LhqhU8R0owTQrJR6Pc=\r\n=iVuU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD5Rg0PbBlZVGrK1N1P/2MXfBrdYiG39jaYAOqSVeq3gIgNul5DY07OknUlAJUFC1esCA5/4Y7WUxW6JyLRu4hIVw="}]},"_npmUser":{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},"directories":{},"maintainers":[{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},{"name":"mapbox-npm-02","email":"accounts+npmjs-02@mapbox.com"},{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},{"name":"mapbox-npm-03","email":"accounts+npmjs-03@mapbox.com"},{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},{"name":"mapbox-npm-05","email":"accounts+npmjs-05@mapbox.com"},{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},{"name":"mapbox-npm-advanced-actions","email":"accounts+npmjs-advanced-actions@mapbox.com"},{"name":"mapbox-npm-ci","email":"accounts+npmjs-npm-ci@mapbox.com"},{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},{"name":"mapbox-admin","email":"accounts@mapbox.com"},{"name":"mapbox-machine-user","email":"accounts+npm-mapbox-machine-user@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.3.1-alpha.1_1646224043633_0.0817194806345447"},"_hasShrinkwrap":false},"0.3.1":{"name":"@mapbox/vtvalidate","version":"0.3.1","description":"Simply checks if a vector tile contains valid/invalid geometries","url":"http://github.com/mapbox/vtvalidate","main":"./lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"scripts":{"test":"tape test/*.test.js","install":"node-pre-gyp install --fallback-to-build","docs":"documentation build src/vtvalidate.cpp --polyglot -f md -o API.md"},"author":{"name":"Mapbox"},"license":"ISC","dependencies":{"@mapbox/mason-js":"^0.1.5","@mapbox/node-pre-gyp":"^1.0.8","aws-sdk":"^2.1074.0","node-addon-api":"^4.3.0"},"devDependencies":{"@mapbox/mvt-fixtures":"~3.6.0","aws-sdk":"2.1074.0","bytes":"^3.1.2","d3-queue":"^3.0.7","minimist":"~1.2.5","tape":"^5.5.0"},"bin":{"vtvalidate":"bin/vtvalidate.js"},"binary":{"module_name":"module","module_path":"./lib/binding/","host":"https://mapbox-node-binary.s3.amazonaws.com","remote_path":"./{name}/v{version}/{configuration}/{toolset}/","package_name":"{platform}-{arch}.tar.gz"},"gitHead":"9c9e6bdcb01c712e2d5922339e81829e2792333a","bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"homepage":"https://github.com/mapbox/vtvalidate#readme","_id":"@mapbox/vtvalidate@0.3.1","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-BvroCO58pItm6Q9JzkL1xFcZsu5sMvIhlyQHWeErdZUvPrXjr61TM6MV0bm8htG3ayOZ2uEGQNcZYMpbcqVuAA==","shasum":"48871d62c4ec37be887bff4f45fecea3d0c26f59","tarball":"https://registry.npmjs.org/@mapbox/vtvalidate/-/vtvalidate-0.3.1.tgz","fileCount":40,"unpackedSize":90761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIIC5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKjw/9FlU0IsRmLfsk49nWCdm2FS/rxe6D8zE3n39IIkM5/S84ozYp\r\ndb5b0zUCcj0aTASFLvfhptcEIwBNSAQciau7DqnygB6hxAWJRXkXO3omRDqK\r\nQOe1tm33n+gx47V/Z01RCmmSt4oXM80AK/K/oWFAu1n+8rmAUWfQRwvdhYWw\r\nTBqtcto0P170psV6L/RxntN3YG5AvMA+nAWwRh9jAcUMlinjRdMmplUlLQm5\r\nnH96YS+hn+r08mwJ4tJGLBYr8Bn2+EjDck2h0oCOlQylN7eWcOiX9AUo0v6M\r\n/GGmPIc0uSdspdma9mQU44FxkEJ7TE1RD3BD6MhSClJJf78vnYTCIKX38qYL\r\nPoEjI75qQbU9yWebyD7NSO6fw8wKtxkEE6gnQ8fqtTLyZUws/vU/+hnNGbQO\r\nSnaS3tFcWS/FyATSm6b7rtPi4Xk7jLdiSMLVQXOtFG9d0hwslVobMfuZKptt\r\nyPfkrMiB8sVip78qObO07HBdPYouikN3MEbCZ6jc0m8+aUMqwU8CeRoct92U\r\nzL7tfw+9uYg8Xvfkan3Q8LZcnNVoiQTppRezcR+BsG0BsejMtcuBRM7eN/eG\r\ndr/ZX7Sd/xn/DyYQV5J7b0mnfSFTcSVDtiXu12J9nnOFM2tncn94M9agwDEL\r\nKAdIKcl477HL8OL6IHrQtA5PI0Xiq8HCmOQ=\r\n=vONF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDbsHlzOkQkVNUSbtt/MBAlBtZAMgHhj2OO+9F50Dz7QIhAJ4gYLK6T0k7JOKQMIRDWX6KPQoZ1gmrFbn7RZ4AdDNh"}]},"_npmUser":{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},"directories":{},"maintainers":[{"name":"mapbox-npm-01","email":"accounts+npmjs-01@mapbox.com"},{"name":"mapbox-npm-02","email":"accounts+npmjs-02@mapbox.com"},{"name":"mapbox-npm-07","email":"accounts+npmjs-07@mapbox.com"},{"name":"mapbox-npm-03","email":"accounts+npmjs-03@mapbox.com"},{"name":"mapbox-npm-04","email":"accounts+npmjs-04@mapbox.com"},{"name":"mapbox-npm-09","email":"accounts+npmjs-09@mapbox.com"},{"name":"mapbox-npm-05","email":"accounts+npmjs-05@mapbox.com"},{"name":"mapbox-npm-06","email":"accounts+npmjs-06@mapbox.com"},{"name":"mapbox-npm-08","email":"accounts+npmjs-08@mapbox.com"},{"name":"mapbox-npm-advanced-actions","email":"accounts+npmjs-advanced-actions@mapbox.com"},{"name":"mapbox-npm-ci","email":"accounts+npmjs-npm-ci@mapbox.com"},{"name":"mapbox-npm","email":"accounts+npmjs@mapbox.com"},{"name":"mapbox-admin","email":"accounts@mapbox.com"},{"name":"mapbox-machine-user","email":"accounts+npm-mapbox-machine-user@mapbox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vtvalidate_0.3.1_1646297273120_0.5626300067670587"},"_hasShrinkwrap":false}},"readme":"# vtvalidate\n\nValidate vector tiles based on the [Mapbox Vector Tile Specification 2.x](https://www.mapbox.com/vector-tiles/specification/) via [vtzero](https://github.com/mapbox/vtzero).\n\n[![node-cpp-skel](https://raw.githubusercontent.com/mapbox/cpp/master/assets/node-cpp-skel-badge_blue.svg)](https://github.com/mapbox/node-cpp-skel)\n[![Build Status](https://travis-ci.com/mapbox/vtvalidate.svg?branch=master)](https://travis-ci.com/mapbox/vtvalidate)\n[![codecov](https://codecov.io/gh/mapbox/vtvalidate/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/vtvalidate)\n\n## Build & Test\n```shell\ngit clone git@github.com:mapbox/vtvalidate.git\ncd vtvalidate\n\n# Build binaries. This looks to see if there were changes in the C++ code. This does not reinstall deps.\nmake\n\n# Run tests\nmake test\n\n# Cleans your current builds and removes potential cache\nmake clean\n\n# Cleans everything, including the things you download from the network in order to compile (ex: npm packages).\n# This is useful if you want to nuke everything and start from scratch.\n# For example, it's super useful for making sure everything works for Travis, production, someone else's machine, etc\nmake distclean\n```\n\n## Usage\n \n- If the tile is valid, `vtvalidate` will return an empty string. \n- If the tile is invalid, `vtvalidate` will return the string output from vtzero. \n- `vtvalidate` will throw an error if there is unexpected behaviour, for example an invalid argument value passed into `vtvalidate.isValid()` or a corrupt compressed buffer.\n\n#### Valid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns empty string if it's a valid tile\n  console.log(result); // ''\n});\n```\n\n#### Invalid tile\n```js\nvar vtvalidate = require('@mapbox/vtvalidate');\n\n...\n\n// Pass in protocol buffer (uncompressed)\nvtvalidate.isValid(buffer, function(err, result) {\n  if (err) throw err;\n\n  // returns string that specifies why the tile is invalid\n  console.log(result); // 'Missing geometry field in feature (spec 4.2)'\n});\n```\n\n#### Type of validation\n`vtvalidate` validates tile data against [vtzero](https://github.com/mapbox/vtzero):\n- Tile data consistent with the [Mapbox vector tile spec - Version 2](https://www.mapbox.com/vector-tiles/specification/). Tiles created via Mapbox vector tile spec Version 1 will be flagged invalid.\n- Read tile layer(s) and feature(s)\n- Decode properties\n- Decode geometries\n\nCurrently, vtvalidate does not check geometries for self-intersections, but planned in [the future](https://github.com/mapbox/core-tech/issues/253). If you'd like to add more extensive tile validation, check out [this example](https://github.com/mapbox/vtzero/blob/master/examples/vtzero-check.cpp).\n\n\n## CLI\n\nAccepts either uncompressed or gzip/zlib compressed tiles\n\n```\nnode bin/vtvalidate.js <path-to-vector-tile>\n```\nWill output:\n- empty string if it's a valid tile\n- string that specifies why the tile is invalid\n\n\n## Bench\nProvide desired iterations and concurrency\n```\nnode bench/isValid.bench.js --iterations 50 --concurrency 10\n```\n","maintainers":[{"email":"yannick.meeus+npm+production+ci@mapbox.com","name":"mbx-npm-ci-production"},{"email":"yannick.meeus+npm+staging+ci@mapbox.com","name":"mbx-npm-ci-staging"},{"email":"yannick.meeus+npm+prod+advanced+actions@mapbox.com","name":"mbx-npm-advanced-actions-production"},{"email":"yannick.meeus+npm+staging+advanced+actions@mapbox.com","name":"mbx-npm-advanced-actions-staging"},{"email":"yannick.meeus+npm+prod+09@mapbox.com","name":"mbx-npm-09-production"},{"email":"yannick.meeus+npm+prod+08@mapbox.com","name":"mbx-npm-08-production"},{"email":"yannick.meeus+npm+prod+07@mapbox.com","name":"mbx-npm-07-production"},{"email":"yannick.meeus+npm+prod+06@mapbox.com","name":"mbx-npm-06-production"},{"email":"yannick.meeus+npm+prod+05@mapbox.com","name":"mbx-npm-05-production"},{"email":"yannick.meeus+npm+prod+04@mapbox.com","name":"mbx-npm-04-production"},{"email":"yannick.meeus+npm+prod+03@mapbox.com","name":"mbx-npm-03-production"},{"email":"yannick.meeus+npm+prod+02@mapbox.com","name":"mbx-npm-02-production"},{"email":"yannick.meeus+npm+prod+01@mapbox.com","name":"mbx-npm-01-production"},{"email":"yannick.meeus@mapbox.com","name":"mbx-npm-02-staging"},{"email":"accounts+npmjs-01@mapbox.com","name":"mapbox-npm-01"},{"email":"accounts+npmjs-02@mapbox.com","name":"mapbox-npm-02"},{"email":"accounts+npmjs-07@mapbox.com","name":"mapbox-npm-07"},{"email":"accounts+npmjs-03@mapbox.com","name":"mapbox-npm-03"},{"email":"accounts+npmjs-04@mapbox.com","name":"mapbox-npm-04"},{"email":"accounts+npmjs-09@mapbox.com","name":"mapbox-npm-09"},{"email":"accounts+npmjs-05@mapbox.com","name":"mapbox-npm-05"},{"email":"accounts+npmjs-06@mapbox.com","name":"mapbox-npm-06"},{"email":"accounts+npmjs-08@mapbox.com","name":"mapbox-npm-08"},{"email":"accounts+npmjs-advanced-actions@mapbox.com","name":"mapbox-npm-advanced-actions"},{"email":"accounts+npmjs-npm-ci@mapbox.com","name":"mapbox-npm-ci"},{"email":"accounts+npmjs@mapbox.com","name":"mapbox-npm"},{"email":"accounts@mapbox.com","name":"mapbox-admin"},{"email":"accounts+npm-mapbox-machine-user@mapbox.com","name":"mapbox-machine-user"}],"time":{"modified":"2023-01-12T12:46:07.059Z","created":"2017-12-21T22:02:47.324Z","0.1.0-alpha1":"2017-12-21T22:02:47.324Z","0.1.0-carol":"2018-06-04T20:17:03.077Z","0.2.0":"2018-06-19T00:22:46.262Z","0.2.1":"2018-06-19T21:33:27.501Z","0.2.2":"2018-07-02T16:30:15.731Z","0.2.3":"2019-02-12T17:39:14.649Z","0.3.0-alpha2":"2022-02-16T11:16:12.331Z","0.3.0":"2022-02-22T10:22:00.034Z","0.3.1-alpha.0":"2022-02-22T17:11:40.674Z","0.3.1-alpha.1":"2022-03-02T12:27:23.770Z","0.3.1":"2022-03-03T08:47:53.285Z"},"homepage":"https://github.com/mapbox/vtvalidate#readme","repository":{"type":"git","url":"git+ssh://git@github.com/mapbox/vtvalidate.git"},"author":{"name":"Mapbox"},"bugs":{"url":"https://github.com/mapbox/vtvalidate/issues"},"license":"ISC","readmeFilename":"README.md"}