diff --git a/.editorconfig b/.editorconfig
index d3bd86c3ba..404ff0701c 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,5 +5,5 @@ indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
-[{*.json,*.yml}]
+[{*.json,*.yml,*.ts}]
indent_style = space
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index de68dd4e47..3fa1deaed3 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -2,4673 +2,5349 @@
# Add yourself to the "Definitions by:" list instead.
# See https://github.com/DefinitelyTyped/DefinitelyTyped#edit-an-existing-package
-/types/a-big-triangle/ @MathiasPaumgarten
-/types/abbrev/ @BendingBender
-/types/abs/ @AyaMorisawa
-/types/absolute/ @AyaMorisawa
-/types/acc-wizard/ @cyrilschumacher
-/types/accept-language-parser/ @kampfgnom
-/types/accepts/ @bomret @brikou
-/types/accounting/ @gerich-home @chrisleck
-/types/ace/ @Diullei
-/types/ace-diff/ @innovation-team
-/types/acl/ @tkQubo
-/types/acorn/ @RReverser @e-cloud
-/types/actioncable/ @zhu1230
-/types/actions-on-google/ @joelhegg
-/types/activex-access/ @zspitz
-/types/activex-adodb/ @zspitz
-/types/activex-adox/ @zspitz
-/types/activex-dao/ @zspitz
-/types/activex-diskquota/ @zspitz
-/types/activex-excel/ @zspitz
-/types/activex-faxcomexlib/ @zspitz
-/types/activex-infopath/ @zspitz
-/types/activex-interop/ @zspitz
-/types/activex-iwshruntimelibrary/ @zspitz
-/types/activex-libreoffice/ @zspitz
-/types/activex-msforms/ @zspitz
-/types/activex-mshtml/ @zspitz
-/types/activex-msxml2/ @zspitz
-/types/activex-office/ @zspitz
-/types/activex-outlook/ @zspitz
-/types/activex-powerpoint/ @zspitz
-/types/activex-scripting/ @zspitz
-/types/activex-shdocvw/ @zspitz
-/types/activex-shell/ @zspitz
-/types/activex-stdole/ @zspitz
-/types/activex-vbide/ @zspitz
-/types/activex-wia/ @zspitz
-/types/activex-word/ @zspitz
-/types/adal-angular/ @unindented @aciccarello
-/types/add-zero/ @Roaders
-/types/adm-zip/ @jvilk @abner
-/types/adone/ @s0m3on3 @maxveres
-/types/aframe/ @devpaul @bertoritger @twastvedt
-/types/agenda/ @meirgottlieb @princjef
-/types/aggregate-error/ @BendingBender
-/types/agora-rtc-sdk/ @menthays
-/types/ajv-errors/ @afshawnlotfi
-/types/alertify/ @jjeffery
-/types/alexa-sdk/ @petebeegle @hoo29 @pascalwhoop @blforce @rk-7 @alexmalcoci
-/types/alexa-voice-service/ @dolanmiu
-/types/algebra.js/ @CaselIT
-/types/algoliasearch/ @cbaptiste @haroenv @aherve @samouss
-/types/allure-js-commons/ @zaqqaz
-/types/alt/ @Shearerbeard
-/types/amazon-cognito-auth-js/ @scottescue
-/types/amazon-product-api/ @MattiLehtinen @alien35
-/types/amcharts/ @ldrick
-/types/amp/ @jewbre
-/types/amp-message/ @jewbre
-/types/amphtml-validator/ @kevincharm
-/types/amplify/ @joeriks
-/types/amplify-deferred/ @joeriks @laurentiustamate94
-/types/amplitude-js/ @Asido
-/types/amqp/ @seikho @jonnysparkplugs
-/types/amqp-connection-manager/ @rogierschouten
-/types/amqp-rpc/ @wokim
-/types/amqplib/ @mnahkies @abreits @nfantone @zelein
-/types/analytics-node/ @fongandrew @thomasthiebaud
-/types/anchor-js/ @xt0rted
-/types/angular/ @diegovilar @thorn0 @calebstdenis @leonard-thieu @scipper
-/types/angular-agility/ @rolandzwaga
-/types/angular-animate/ @michelsalib @adidahiya @rasch @codyschaaf
-/types/angular-block-ui/ @lassebn @sclassen
-/types/angular-bootstrap-calendar/ @Odrin
-/types/angular-bootstrap-lightbox/ @rolandzwaga
-/types/angular-breadcrumb/ @marctalary
-/types/angular-clipboard/ @bradfordwagner
-/types/angular-cookie/ @borislavjivkov
-/types/angular-cookies/ @diegovilar @aciccarello
-/types/angular-deferred-bootstrap/ @Ritzlgrmft
-/types/angular-desktop-notification/ @Dona278
-/types/angular-dialog-service/ @wcomartin
-/types/angular-dynamic-locale/ @stephenlautier
-/types/angular-environment/ @terrawheat
-/types/angular-es/ @mbutsykin
-/types/angular-feature-flags/ @borislavjivkov
-/types/angular-file-saver/ @deenairn
-/types/angular-file-upload/ @cyrilgandon
-/types/angular-formly/ @scatcher
-/types/angular-fullscreen/ @julienpa
-/types/angular-gettext/ @AkosLukacs
-/types/angular-google-analytics/ @cyrilschumacher @Toxantron
-/types/angular-gridster/ @jpmnteiro
-/types/angular-growl-v2/ @mkp05
-/types/angular-hotkeys/ @jlz27 @reppners @cyrilgandon
-/types/angular-http-auth/ @vvakame
-/types/angular-httpi/ @Kukks
-/types/angular-idle/ @mthamil
-/types/angular-jwt/ @rerezz
-/types/angular-load/ @david-gang
-/types/angular-loading-bar/ @stephenlautier @tyronedougherty
-/types/angular-local-storage/ @kenfdev @dona278
-/types/angular-localforage/ @reppners
-/types/angular-locker/ @nkovacic
-/types/angular-material/ @blbigelow @PeterHajdu @Dona278 @geertjansen @eknowles
-/types/angular-media-queries/ @jpmnteiro
-/types/angular-meteor/ @pgrm
-/types/angular-mocks/ @diegovilar @daltin
-/types/angular-modal/ @paullessing
-/types/angular-oauth2/ @anteriovieira
-/types/angular-pdfjs-viewer/ @bastienmoulia
-/types/angular-permission/ @vmishevski
-/types/angular-promise-tracker/ @rufusl
-/types/angular-q-spread/ @rafw87
-/types/angular-resource/ @diegovilar @miffels
-/types/angular-route/ @park9140
-/types/angular-sanitize/ @diegovilar
-/types/angular-scenario/ @RomanoLindano
-/types/angular-scroll/ @samherrmann
-/types/angular-signalr-hub/ @AdamSantaniello
-/types/angular-spinner/ @Biegal
-/types/angular-storage/ @mdekrey
-/types/angular-strap/ @samherrmann @mkannwischer
-/types/angular-toastr/ @nkovacic @trodi
-/types/angular-toasty/ @muenchdo
-/types/angular-tooltips/ @leonard-thieu
-/types/angular-translate/ @michelsalib @GabrielGil
-/types/angular-ui-bootstrap/ @xt0rted @ry8806
-/types/angular-ui-router/ @michelsalib @matiishyn @mikehaas763
-/types/angular-ui-scroll/ @marknadig
-/types/angular-ui-sortable/ @thgreasi
-/types/angular-ui-tree/ @CalvinFernandez
-/types/angular-websocket/ @nickveys
-/types/angular-wizard/ @mjurisic @rwwilden
-/types/angular-xeditable/ @jpmnteiro
-/types/angular.throttle/ @reppners
-/types/angularfire/ @thSoft
-/types/angularlocalstorage/ @horiuchi
-/types/angulartics/ @bateast2
-/types/animation-frame/ @qinfchen
-/types/animejs/ @A-Babin
-/types/annyang/ @hisham @theluk
-/types/ansi-colors/ @rogierschouten
-/types/ansi-escapes/ @jacobbubu
-/types/ansi-regex/ @mvachhar
-/types/ansi-styles/ @brynbellomy @plylrnsdy
-/types/ansicolors/ @rogierschouten
-/types/antlr4/ @mcchatman8009
-/types/any-db/ @rogierschouten
-/types/any-db-transaction/ @rogierschouten
-/types/anybar/ @khoomeister
-/types/anymatch/ @BendingBender
-/types/apex.js/ @y13i
-/types/aphrodite/ @asvetliakov
-/types/api-error-handler/ @tkrotoff
-/types/apicache/ @danielsogl
-/types/apigee-access/ @CasperSkydt
-/types/apollo-codegen/ @bradleyayers @kostspielig
-/types/apollo-upload-client/ @Slessi
-/types/app-root-dir/ @chenyang-biu
-/types/app-root-path/ @shantmarouti
-/types/appdmg/ @unindented
-/types/appframework/ @kyo-ago
-/types/applepayjs/ @martincostello
-/types/appletvjs/ @brainded
-/types/applicationinsights-js/ @kamilszostak
-/types/aqb/ @Athenkosi-Mase
-/types/arangodb/ @pluma
-/types/arbiter/ @arash16
-/types/arcgis-js-api/v3/ @Esri @bsvensson
-/types/arcgis-js-api/ @Esri @bsvensson
-/types/arcgis-rest-api/ @JeffJacobson
-/types/arcgis-to-geojson-utils/ @JeffJacobson
-/types/archiver/ @dolanmiu @crevil
-/types/archy/ @vvakame
-/types/are-we-there-yet/ @brianloveswords
-/types/argon2-browser/ @ivangabriele
-/types/argparse/ @arcticwaters @tlaziuk @eps1lon
-/types/args/ @Slessi
-/types/argv/ @hookclaw
-/types/arr-union/ @mrmlnc
-/types/array-find-index/ @samverschueren
-/types/array-foreach/ @skysteve
-/types/array-uniq/ @DanielRosenwasser
-/types/array-unique/ @CSLTech
-/types/arrify/ @wanganjun
-/types/artillery/ @kmccoan-allocadia
-/types/asana/ @tkqubo
-/types/asap/ @fpascutti
-/types/ascii2mathml/ @RagibHasin
-/types/asenv/ @remisery
-/types/asn1js/ @microshine
-/types/aspnet-identity-pw/ @jt000
-/types/assert-equal-jsx/ @seryl
-/types/assert-plus/ @KostyaTretyak
-/types/assertsharp/ @brunolm
-/types/assets-webpack-plugin/ @kryops
-/types/async/ @borisyankov @kern0 @Penryn @fenying @pascalmartin
-/types/async-cache/ @BendingBender
-/types/async-lock/ @elisee @afharo @rhymmor
-/types/async-polling/ @Goldsmith42
-/types/async-retry/ @albertywu @MeLlamoPablo
-/types/async.nexttick/ @pyrho
-/types/asynciterator/ @rubensworks
-/types/atlaskit__button/ @dijimsta
-/types/atlaskit__calendar/ @lstanden
-/types/atlaskit__inline-edit/ @lstanden
-/types/atlaskit__layer/ @lstanden
-/types/atlaskit__single-select/ @lstanden
-/types/atlassian-crowd-client/ @mtgto
-/types/atmosphere.js/ @toedter @Mory1879 @Scipion
-/types/atob/ @johngeorgewright
-/types/atom/ @GlenCFL @smhxx @lierdakil
-/types/atom-keymap/ @GlenCFL
-/types/atom-mocha-test-runner/ @GlenCFL
-/types/atpl/ @soywiz
-/types/audiosprite/ @Perlmint
-/types/auth0/ @wbhob @westy92 @amiram
-/types/auth0-angular/ @homesar
-/types/auth0-js/v7/ @advancedrei
-/types/auth0-js/ @adrianchia @mdurrant @peterblazejewicz
-/types/auth0-lock/ @carusology @goldcaddy77 @lfaudreejr
-/types/auth0.widget/ @advancedrei
-/types/auto-launch/ @rhysd @unindented
-/types/auto-sni/ @janwo
-/types/autobahn/ @darkl @valepu
-/types/autolinker/ @leonyu
-/types/autoprefixer/ @odnamrataizem
-/types/autosize/ @kingdango @keika299 @NeekSandhu
-/types/autosuggest-highlight/ @senukartur
-/types/awesomplete/ @webbiesdk @bmdixon @tbekolay @chrislopresto
-/types/aws-iot-device-sdk/ @niik @mlamp
-/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris @aneilbaboo @jeznag
-/types/aws-serverless-express/ @threesquared @jcaffey @mattmeye @albertovasquez
-/types/aws4/ @ajcrites
-/types/axe-webdriverjs/ @JoshuaKGoldberg
-/types/axel/ @ruslan-molodyko
-/types/axios-token-interceptor/ @innovation-team
-/types/axon/ @jewbre
-/types/azure/ @AndrewGaspar @antiveeranna @SomaticIT
-/types/azure-mobile-services-client/ @dmorosinotto
-/types/azure-sb/ @Azure
-/types/b_/ @outring
-/types/babel-code-frame/ @mohsen1
-/types/babel-core/ @yortus @marvinhagemeister
-/types/babel-generator/ @yortus @johnnyestilles
-/types/babel-plugin-react-pug/ @jpap
-/types/babel-plugin-syntax-jsx/ @marvinhagemeister
-/types/babel-template/ @yortus @marvinhagemeister
-/types/babel-traverse/ @yortus @marvinhagemeister @rpetrich
-/types/babel-types/ @yortus @baxtersa @marvinhagemeister @bcherny
-/types/babel-webpack-plugin/ @j-f1
-/types/babel__code-frame/ @mohsen1 @ForbesLindesay
-/types/babelify/ @TeamworkGuy2 @marvinhagemeister
-/types/babylon/ @yortus @marvinhagemeister
-/types/babylon-walk/ @czbuchi
-/types/babyparse/ @cdiddy77
-/types/backbone/ @borisyankov @nvivo @kenjiru
-/types/backbone-associations/ @craigbrett17
-/types/backbone-fetch-cache/ @delphinus35
-/types/backbone-relational/ @eirikhm
-/types/backbone.layoutmanager/ @hejiang2000
-/types/backbone.localstorage/ @lgrignon
-/types/backbone.marionette/ @zhamid @nvivo @sventschui @razorness
-/types/backbone.paginator/ @Nyamazing
-/types/backbone.radio/ @alphaleonis
-/types/backgrid/ @jlujan
-/types/backlog-js/ @vvatanabe
-/types/backo2/ @Retsam
-/types/backoff/ @BendingBender
-/types/baconjs/ @alexander-matsievsky @gekkio
-/types/bagpipes/ @micmro
-/types/barcode/ @pvomhoff
-/types/bardjs/ @TepigMC
-/types/base-64/ @dolanmiu
-/types/base-x/ @chrootsu
-/types/base16/ @alechill
-/types/base64-arraybuffer/ @jbencook
-/types/base64-js/ @pe8ter
-/types/base64-url/ @urish
-/types/base64topdf/ @lucasriondel
-/types/bases/ @harikv
-/types/bash-glob/ @mrmlnc
-/types/basic-auth/ @moonpyk @vesse
-/types/batch-stream/ @drudge
-/types/bazinga-translator/ @alexndlm
-/types/bcrypt/ @codeanimal @IOAyman @dstapleton92
-/types/bcryptjs/ @RafaelKr
-/types/beats/ @urish
-/types/bech32/ @micksatana
-/types/behavior3/ @carrrywu
-/types/bell/ @SimonSchick
-/types/bem-cn/ @selkinvitaly
-/types/bencode/ @tobenna
-/types/better-curry/ @pocesar
-/types/better-sqlite3/ @Morfent @matrumz
-/types/bezier-easing/ @ptlis
-/types/bezier-js/ @danmarshall
-/types/bgiframe/ @sumegizoltan
-/types/bidirectional-map/ @helenanderson
-/types/big.js/ @nycdotnet @googol
-/types/bigi/ @mhegazy
-/types/bigint/ @Evgenus
-/types/bignum/ @Patman64
-/types/bigscreen/ @dduugg
-/types/bin-pack/ @orentrutner
-/types/binary-parser/ @riggs @dolanmiu
-/types/bind-ponyfill/ @skysteve
-/types/bindings/ @unindented
-/types/bintrees/ @CjS77
-/types/bip21/ @stefanhuber
-/types/bip38/ @micksatana
-/types/bip39/ @micksatana
-/types/bit-array/ @mudkipme
-/types/bitcoinjs-lib/ @mhegazy @dlebrecht @rbuckton @micksatana @youssefgh @kento1218
-/types/bitcore-lib/ @lautarodragan
-/types/bittorrent-protocol/ @feross @tlaziuk
-/types/bitwise-xor/ @rogierschouten
-/types/bl/ @Bartvds
-/types/blacklist/ @mhegazy
-/types/blazy/ @julienpa
-/types/blessed/ @brynbellomy @skellock
-/types/blissfuljs/ @fskorzec
-/types/blob-stream/ @erichillah
-/types/blob-to-buffer/ @nrlquaker
-/types/blob-util/ @WorldMaker
-/types/blocked/ @l-jonas
-/types/blockies/ @LogvinovLeon
-/types/blocks/ @ksmigiel
-/types/bloomfilter/ @slawiko
-/types/blue-tape/ @sodatea
-/types/bluebird/v1/ @Bartvds
-/types/bluebird/v2/ @Bartvds @falsandtru
-/types/bluebird/ @lhecker
-/types/bluebird-global/ @d-ph
-/types/bluebird-retry/ @pvomhoff
-/types/blueimp-md5/ @rmartone @mkohlmyr
-/types/bn.js/ @LogvinovLeon @HenryNguyen5
-/types/body-parser/ @santialbo @vilic @dreampulse @blendsdk @tlaziuk @jwalton
-/types/body-parser-xml/ @tbounsiar
-/types/bonjour/ @quentin-ol @octo-sniffle
-/types/bookshelf/ @arcticwaters @vesse
-/types/boom/v3/ @rogatty
-/types/boom/v4/ @rogatty @AJamesPhillips @jineshshah36 @danielmachado
-/types/boom/ @rogatty @AJamesPhillips @jineshshah36 @TimonVS @danielmachado
-/types/bootbox/ @vbortone @konpikwastaken @kanup @icereed @trodi @stannynuytkens @renjfk
-/types/bootpag/ @rdeneau
-/types/bootstrap/v3/ @borisyankov
-/types/bootstrap/ @denisname
-/types/bootstrap-3-typeahead/ @AndersonFriaca
-/types/bootstrap-datepicker/ @borisyankov
-/types/bootstrap-fileinput/ @CheCoxshall
-/types/bootstrap-growl-ifightcrime/ @AndersonFriaca
-/types/bootstrap-maxlength/ @danmana
-/types/bootstrap-notify/ @niemyjski @mouse0270 @robert-voica
-/types/bootstrap-select/ @LKay
-/types/bootstrap-slider/ @dbeckwith @leonard-thieu
-/types/bootstrap-switch/ @johnmbaughman
-/types/bootstrap-table/ @talatbaig
-/types/bootstrap-touchspin/ @albinsunnanbo
-/types/bootstrap-treeview/ @jbtronics
-/types/bootstrap-validator/ @BradyLiles
-/types/bootstrap.paginator/ @derikwhittaker
-/types/bootstrap.timepicker/ @derikwhittaker @heatherbooker
-/types/bootstrap.v3.datetimepicker/v3/ @bayitajesi
-/types/bootstrap.v3.datetimepicker/ @katonap
-/types/bootstrap3-dialog/ @nakupanda @cnboland
-/types/bounce.js/ @cherrry
-/types/box2d/ @jbaldwin
-/types/bpmn-moddle/ @haydos89
-/types/brace-expansion/ @BendingBender
-/types/braces/ @vemoo
-/types/braft-editor/ @me
-/types/braintree-web/ @chlela
-/types/breeze/ @borisyankov
-/types/bricks.js/ @kondi
-/types/brorand/ @chrootsu
-/types/browser-bunyan/ @PaulLockwood @kryops
-/types/browser-fingerprint/ @LKay
-/types/browser-harness/ @scriby
-/types/browser-pack/ @TeamworkGuy2
-/types/browser-report/ @JTOne123
-/types/browser-resolve/ @marionebl
-/types/browser-sync/ @joeskeen @aznnomness
-/types/browserify/ @AndrewGaspar @jvilk @leonard-thieu
-/types/bs58/ @chrootsu
-/types/bson/ @horiuchi @CaselIT
-/types/btoa/ @johngeorgewright
-/types/bucks/ @zaneli
-/types/buffer-compare/ @chrootsu
-/types/buffer-equal/ @Bartvds
-/types/buffer-from/ @burnnat
-/types/buffer-reader/ @nrlquaker
-/types/buffers/ @rhencke
-/types/bufferstream/ @Bartvds
-/types/builtin-modules/ @ajafff
-/types/bull/v2/ @bgrieder @JProgrammer
-/types/bull/ @bgrieder @JProgrammer @marshall007 @weeco @blaugold @iamolegga @koblas
-/types/bump-regex/ @silkentrance
-/types/bunnymq/ @cyrilschumacher
-/types/bunyan/ @amikhalev
-/types/bunyan-blackhole/ @olivr70
-/types/bunyan-bugsnag/ @pasieronen
-/types/bunyan-config/ @cyrilschumacher
-/types/bunyan-format/ @dex4er
-/types/bunyan-prettystream/ @jasonswearingen @enlight
-/types/bunyan-winston-adapter/ @stevehipwell
-/types/busboy/ @jacobbaskin
-/types/business-rules-engine/ @rsamec
-/types/bwip-js/ @MugeSo
-/types/byline/ @reppners
-/types/bytebuffer/ @cappellin
-/types/bytes/ @danny8002 @believer
-/types/c3/ @mcliment @gerinjacob @denyo @dmitryshindin @timn
-/types/cache-manager/ @GausSim
-/types/cal-heatmap/ @RetroChrisB
-/types/callsite/ @newclear
-/types/callsites/ @BendingBender
-/types/calq/ @eirikhm
-/types/camaro/ @tuananh
-/types/camelcase/ @samverschueren
-/types/camelcase-keys/ @mhegazy
-/types/camo/ @lucasmciruzzi
-/types/cancan/ @Vincent-Pang
-/types/cannon/ @clark-stevenson @Gelio
-/types/canvas-confetti/ @matracey
-/types/canvas-gauges/ @Mikhus
-/types/canvasjs/ @brutalimp
-/types/capitalize/ @frederickfogerty
-/types/card-validator/ @ChanceM
-/types/case-sensitive-paths-webpack-plugin/ @r3nya
-/types/caseless/ @downace @mastermatt
-/types/cash/ @akvlko
-/types/casperjs/ @jedmao @urielch
-/types/cassandra-driver/ @Svjard @pc-jedi
-/types/catbox/v7/ @jasonswearingen @AJamesPhillips
-/types/catbox/ @jasonswearingen @AJamesPhillips @saboya
-/types/cbor/ @pushplay
-/types/ccap/ @taoqf
-/types/cesium/ @Zuzon @hnipps @szechyjs
-/types/chai/v2/ @Bartvds @AGBrown
-/types/chai/ @jedmao @Bartvds @AGBrown @olivr70 @mwistrand @joshuakgoldberg @shaunluttin @Naktibalda @micksatana @ErikSchierboom
-/types/chai-arrays/ @clementprevot
-/types/chai-as-promised/ @jt000 @Kuniwak @leonard-thieu @lazerwalker @mattbishop
-/types/chai-datetime/ @cliffburger
-/types/chai-dom/ @mattlewis92
-/types/chai-enzyme/ @asvetliakov
-/types/chai-fuzzy/ @Bartvds
-/types/chai-http/ @Nemo157 @G1itcher @CaselIT @bas-l
-/types/chai-jest-snapshot/ @mattvperry
-/types/chai-jquery/ @kazimanzurrashid
-/types/chai-json-schema/ @ulrichheiniger
-/types/chai-oequal/ @mizunashi-mana
-/types/chai-spies/ @kuzn-ilya @harm-less @jounisuo
-/types/chai-string/ @nmalaguti
-/types/chai-subset/ @delta62 @AGBrown
-/types/chai-uuid/ @harm-less
-/types/chai-webdriverio/ @sherlock1982
-/types/chai-xml/ @jedigo
-/types/chance/ @cbowdon @brikou @cafesanu
-/types/change-emitter/ @iskandersierra
-/types/chardet/ @Gebatzens
-/types/charm/ @Xananax
-/types/charset/ @cspotcode
-/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @chicoxyzzy @archy-bold @braincore @gebeto @frabnt @alexdor
-/types/chartist/ @mtgibbs @psimonski @clottman @affilnost @sunnyrjuneja
-/types/chayns/ @HenningKuehl
-/types/check-sum/ @BendingBender
-/types/check-types/ @idchlife
-/types/checkstyle-formatter/ @mhegazy
-/types/checksum/ @rogierschouten
-/types/cheerio/ @blittle @wmaurer @umarniz @LiJinyao @chennakrishna8
-/types/chessboardjs/ @sliverb @davidmpaz
-/types/chmodr/ @BendingBender
-/types/chokidar/ @reppners @felixfbecker @bayssmekanique
-/types/chosen-js/ @borisyankov @denisname
-/types/chownr/ @BendingBender
-/types/chroma-js/v0/ @invliD
-/types/chroma-js/ @invliD @mpacholec
-/types/chrome/ @matthewkimber @otiai10 @couven92 @rreverser @sreimer15
-/types/chrome-apps/ @niikoo @AdamLay @pine613 @mzsm @RReverser @pyle @matthewkimber @otiai10 @couven92 @rreverser @sreimer15
-/types/chromecast-caf-receiver/ @craigrbruce
-/types/chromecast-caf-sender/ @samuelmaddock
-/types/chromedriver/ @pe8ter
-/types/circuit-breaker-js/ @DeTeam
-/types/circular-json/ @jpevarnek
-/types/ckeditor/v2/ @wittwert
-/types/ckeditor/ @wittwert @stuartlong
-/types/clamp-js/ @Hikariii
-/types/clamp-js-main/ @sinziananicolae
-/types/classnames/ @adidahiya @JKillian @seansfkelley @mradamczyk @marvinhagemeister
-/types/cldrjs/ @RamanBut-Husaim @gcastre
-/types/clean-css/ @tkrotoff
-/types/clean-stack/ @BendingBender
-/types/clean-webpack-plugin/ @j-f1
-/types/clear-require/ @dan-j
-/types/clearbladejs-client/ @ClearBlade
-/types/clearbladejs-node/ @ClearBlade
-/types/clearbladejs-server/ @ClearBlade
-/types/cleave.js/ @clentfort @jasongi-at-sportsbet @sashashakun
-/types/cli/ @kayahr
-/types/cli-color/ @ChaosinaCan
-/types/cli-progress/ @mhegazy
-/types/cli-spinner/ @janslow
-/types/cli-table/ @arylo
-/types/cli-table2/ @mgroenhoff
-/types/client-sessions/ @netroy
-/types/clientjs/ @icopp
-/types/cliff/ @brynbellomy
-/types/clipboard/ @impworks
-/types/clipboard-js/ @markwongsk
-/types/clipboardy/ @BendingBender
-/types/clmtrackr/ @hellochar
-/types/clndr/ @jasperjn
-/types/clockpicker/ @jfcere
-/types/cloneable-readable/ @qlonik
-/types/cloner/ @matrumz
-/types/closure-compiler/ @mprobst
-/types/cloud-env/ @Morfent
-/types/cloudflare-apps/ @MartynasZilinskas
-/types/cls-hooked/ @aleung
-/types/clusterize.js/ @Pr1st0n
-/types/cmd-shim/ @cspotcode
-/types/co-body/ @geoffreak
-/types/co-views/ @devlee @geoffreak
-/types/code/ @prashaantt
-/types/codemirror/ @mihailik @nrbernard @Pr1st0n @rileymiller
-/types/codependency/ @morphatic
-/types/coffeeify/ @tkQubo
-/types/coinbase/ @rogierschouten
-/types/coinstring/ @mhegazy
-/types/collections/ @scarabedore
-/types/color/v0/ @LKay
-/types/color/v1/ @LKay
-/types/color/v2/ @Airlun
-/types/color/ @Airlun @jameswlane
-/types/color-convert/ @Airlun
-/types/color-name/ @Ailrun
-/types/color-namer/ @in19farkt
-/types/color-string/ @BendingBender @danmarshall
-/types/colorbrewer/ @mtraynham
-/types/com.darktalker.cordova.screenshot/ @akarienta
-/types/com.wikitude.phonegap.wikitudeplugin/ @zbarbuto
-/types/combine-source-map/ @TeamworkGuy2
-/types/combined-stream/ @felixge @tlaziuk
-/types/combokeys/ @iclanton
-/types/cometd/ @derekcicerone
-/types/command-line-args/v4/ @CzBuCHi @75lb
-/types/command-line-args/ @75lb
-/types/command-line-commands/ @CzBuCHi
-/types/command-line-usage/ @matrumz @Dvorsky
-/types/commangular/ @hiraash
-/types/comment-json/ @Jason3S
-/types/common-errors/ @icopp
-/types/common-prefix/ @seangenabe
-/types/common-tags/ @zuzusik @tzupengwang
-/types/commonmark/ @nicojs @leonard-thieu
-/types/compare-version/ @jpevarnek
-/types/compare-versions/ @LogvinovLeon
-/types/complex/ @AyaMorisawa
-/types/component-emitter/ @psnider
-/types/compose-function/ @denis-sokolov
-/types/compressible/ @BendingBender
-/types/compression/ @santialbo @rburgt
-/types/compression-webpack-plugin/ @dublicator
-/types/compute-stdev/ @mrmlnc
-/types/concat-stream/ @jmarianer
-/types/concaveman/ @DenisCarriere
-/types/conf/v0/ @SamVerschueren
-/types/conf/ @SamVerschueren @BendingBender
-/types/confidence/ @jppellerin
-/types/config/ @RWander @forrestbice @jndonald3 @albertovasquez
-/types/config-yaml/ @me
-/types/configstore/ @ArcticLight
-/types/configurable/ @jewbre
-/types/confit/ @ethanresnick
-/types/connect/ @SomaticIT @EvanHahn
-/types/connect-busboy/ @pinguet62
-/types/connect-ensure-login/ @0x6368656174
-/types/connect-flash/ @AndreasGassmann
-/types/connect-history-api-fallback/ @douglasduteil
-/types/connect-livereload/ @SomaticIT
-/types/connect-modrewrite/ @tinganho
-/types/connect-mongo/ @Syati
-/types/connect-mongodb-session/ @NattapongSiri
-/types/connect-pg-simple/ @pasieronen
-/types/connect-redis/ @xstoudi @morcerf
-/types/connect-slashes/ @samherrmann
-/types/connect-timeout/ @cyrilschumacher
-/types/console-stamp/ @ericbyers
-/types/consolidate/ @soywiz @theosherry @nicolashenry
-/types/consul/ @chrootsu
-/types/content-disposition/ @bomret
-/types/content-type/ @horiuchi @BendingBender
-/types/contentful-resolve-response/ @antonkarsten
-/types/contextjs/ @kernhanda
-/types/continuation-local-storage/ @rath @heycalmdown @aboveyou00
-/types/convert-hrtime/ @BendingBender
-/types/convert-layout/ @xeningem
-/types/convert-source-map/ @AndrewGaspar @mgroenhoff @TeamworkGuy2
-/types/convict/ @Nemo157 @vesse @elyscape @vanthiyathevan
-/types/cookie/ @pine613
-/types/cookie-parser/ @santialbo @BendingBender
-/types/cookie-session/ @borislavjivkov
-/types/cookie-signature/ @lith-light-g
-/types/cookie_js/ @slawiko
-/types/cookiejar/ @paroxp
-/types/cookies/ @WangZishi @jkeylu @BendingBender
-/types/copy-paste/ @SrTobi
-/types/copy-text-to-clipboard/ @BendingBender
-/types/copy-webpack-plugin/ @flying-sheep
-/types/cordova-ionic/ @hendrikmaus
-/types/cordova-plugin-app-version/ @Ritzlgrmft
-/types/cordova-plugin-background-mode/ @Lordnoname
-/types/cordova-plugin-badge/ @timbru31
-/types/cordova-plugin-ble-central/ @gjunge
-/types/cordova-plugin-canvascamera/ @lordazzi
-/types/cordova-plugin-device-name/ @larrybahr
-/types/cordova-plugin-file-opener2/ @cyrilgandon
-/types/cordova-plugin-ibeacon/ @Ritzlgrmft
-/types/cordova-plugin-insomnia/ @Ritzlgrmft
-/types/cordova-plugin-keyboard/ @danmana @jkfb
-/types/cordova-plugin-mapsforge/ @rafw87
-/types/cordova-plugin-ms-adal/ @KaiWalter
-/types/cordova-plugin-native-keyboard/ @lobo87
-/types/cordova-plugin-ouralabs/ @Justin-Credible
-/types/cordova-plugin-qrscanner/ @bitjson @jab
-/types/cordova-plugin-spinner/ @Justin-Credible
-/types/cordova-plugin-x-socialsharing/ @Ritzlgrmft @larrybahr
-/types/cordova-sqlite-storage/ @rafw87
-/types/cordova-universal-links-plugin/ @broder
-/types/cordova_app_version_plugin/ @larrybahr
-/types/cordovarduino/ @hendrikmaus
-/types/core-js/ @rbuckton @mfdeveloper
-/types/correlation-id/ @natemara
-/types/cors/ @pluma
-/types/cosmiconfig/v4/ @ozum
-/types/cosmiconfig/ @ozum @szeck87 @saadq @jinwoo
-/types/cote/ @makepost
-/types/couchbase/ @maouida
-/types/countdown/ @gjuchault
-/types/counterpart/ @santiagodoldan
-/types/countries-and-timezones/ @zero51
-/types/country-list/ @iRoachie
-/types/country-select-js/ @humrochagf
-/types/coverup/ @bevalorous
-/types/cp-file/ @BendingBender
-/types/cpx/ @alan-agius4
-/types/cpy/ @mhegazy @BendingBender
-/types/cqrs-domain/ @blissi
-/types/cradle/ @panuhorsmalahti
-/types/crc/ @YuJianrong
-/types/create-error/ @tkrotoff
-/types/create-react-class/ @jgoz
-/types/create-subscription/ @Asana @vsiao
-/types/createjs/ @evilangelist @gyohk
-/types/createjs-lib/ @evilangelist @gyohk
-/types/credential/ @phuvo
-/types/credit-card-type/ @LKay
-/types/cron/ @horiuchi @winup
-/types/cropperjs/ @stepancar
-/types/croppie/ @connor4312 @dklmuc @sarunint @knuthelgesen
-/types/cross-spawn/ @Alorel
-/types/crossfilter/ @schmuli @iebaker @nordfjord
-/types/crossroads/ @diullei
-/types/cryptiles/ @awendland
-/types/crypto-js/ @misak113
-/types/cryptojs/ @giabao
-/types/cson/ @stpettersens
-/types/csprng/ @winksaville
-/types/csrf/ @markis
-/types/css/ @ilich
-/types/css-font-loading-module/ @slikts
-/types/css-modules/ @NeekSandhu
-/types/cssbeautify/ @rictic
-/types/csso/ @screendriver
-/types/csurf/ @horiuchi
-/types/csv-parse/ @davidm77 @obi-jan-kenobi
-/types/csv-stringify/ @rogierschouten @arjenvanderende
-/types/csv2json/ @dex4er
-/types/csvrow/ @codeanimal
-/types/csvtojson/ @EricByers @wcarson
-/types/cucumber/v1/ @abraaoalves @jan-molak @isoung @BendingBender
-/types/cucumber/v3/ @abraaoalves @jan-molak @isoung @BendingBender @ErikSchierboom
-/types/cucumber/ @abraaoalves @jan-molak @isoung @BendingBender @ErikSchierboom
-/types/currency-formatter/ @mhegazy @davidmpaz
-/types/custom-error-generator/ @thmiceli
-/types/cwise/ @taoqf
-/types/cwise-compiler/ @taoqf
-/types/cwise-parser/ @taoqf
-/types/cybozulabs-md5/ @pine613
-/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas @cerberuser
-/types/d3/v3/ @gustavderdrache @borisyankov @MatthiasJobst
-/types/d3/v4/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-array/ @gustavderdrache @borisyankov @tomwanzek
-/types/d3-axis/ @tomwanzek @gustavderdrache @borisyankov @denisname
-/types/d3-box/ @lk-chen
-/types/d3-brush/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-chord/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-collection/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-color/ @tomwanzek @gustavderdrache @borisyankov @denisname @ledragon
-/types/d3-contour/ @tomwanzek @Ledragon
-/types/d3-dispatch/ @tomwanzek @gustavderdrache @borisyankov @denisname
-/types/d3-drag/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-dsv/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-ease/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-fetch/ @ledragon
-/types/d3-force/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-format/ @tomwanzek @gustavderdrache @borisyankov @denisname
-/types/d3-geo/ @ledragon @tomwanzek @gustavderdrache @borisyankov
-/types/d3-hexbin/ @uncovertruth @tomwanzek
-/types/d3-hierarchy/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-hsv/ @arrayjam @denisname
-/types/d3-interpolate/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-path/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-polygon/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-quadtree/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-queue/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-random/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-request/ @Ledragon @gustavderdrache @borisyankov @tomwanzek
-/types/d3-sankey/ @tomwanzek @gustavderdrache
-/types/d3-scale/v1/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-scale/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-scale-chromatic/ @Ledragon @gustavderdrache @borisyankov @henriquefm
-/types/d3-selection/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-selection-multi/ @gustavderdrache @borisyankov
-/types/d3-shape/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-time/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-time-format/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-timer/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-tip/ @brspnnggrt
-/types/d3-transition/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-voronoi/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-zoom/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3.cloud.layout/ @hansrwindhoff
-/types/d3.slider/ @lk-chen
-/types/d3kit/ @morphatic
-/types/d3pie/ @mc-petry
-/types/dagre/ @qinfchen @Frankrike @vilterp @rustedgrail
-/types/dagre-d3/ @markwongsk
-/types/dagre-layout/ @qinfchen @Frankrike @vilterp
-/types/dargs/ @BendingBender
-/types/dashify/ @rokt33r
-/types/dat.gui/ @gyohk @sonic3d @rroylance
-/types/data-driven/ @mrhen
-/types/datadog-metrics/ @pushplay
-/types/datadog-tracer/ @dineshsaravanan
-/types/datatables.net/ @Silver-Connection @omidkrad @pragmatrix @CNBoland
-/types/datatables.net-autofill/ @andy-maca
-/types/datatables.net-buttons/ @Silver-Connection @SammyG4Free @jimhartford
-/types/datatables.net-colreorder/ @andy-maca
-/types/datatables.net-fixedheader/ @szechyjs @Silver-Connection
-/types/datatables.net-rowgroup/ @maixiu
-/types/datatables.net-rowreorder/ @baywet
-/types/datatables.net-scroller/ @RohdeK
-/types/datatables.net-select/ @szechyjs
-/types/date-arithmetic/ @HeeL
-/types/date.format.js/ @balrob
-/types/dateformat/ @aicest
-/types/datejs/ @rupertavery
-/types/daterangepicker/ @SirMartin @smasala @nertzy
-/types/db-migrate-base/ @nickiannone
-/types/db-migrate-pg/ @nickiannone
-/types/db.js/ @cgwrench
-/types/dc/ @hansrwindhoff @mtraynham @MatthiasJobst
-/types/dd-trace/ @ColinBradley
-/types/deasync/ @Sicilica
-/types/debessmann/ @vkorehov
-/types/debounce/ @denis-sokolov
-/types/debug/ @swook @galtalmor @zamb3zi
-/types/decamelize/ @samverschueren
-/types/decay/ @enaeseth
-/types/decompress/ @plantain-00 @jbethke
-/types/decompress-response/ @DanielRosenwasser
-/types/decorum/ @dflor003
-/types/dedent/ @douglasduteil
-/types/deep-assign/ @souldreamer
-/types/deep-diff/ @ZauberNerd
-/types/deep-equal/ @remojansen @janslow
-/types/deep-extend/ @rhysd
-/types/deep-freeze/ @Bartvds @aluanhaddad
-/types/deep-freeze-es6/ @mattbishop
-/types/deep-freeze-strict/ @mhegazy
-/types/deepmerge/ @marvinscharle @syy1125 @AppLover69
-/types/defaults/ @IbtihelCHNAB
-/types/defer-promise/ @niklasf
-/types/define-lazy-prop/ @BendingBender
-/types/defined/ @BendingBender
-/types/deglob/ @saadq
-/types/deku/ @pocka
-/types/del/v2/ @AyaMorisawa
-/types/del/ @AyaMorisawa @BendingBender @bitjson
-/types/delaunator/ @DenisCarriere
-/types/delay/ @BendingBender
-/types/deline/ @iarroyo5
-/types/deluge/ @Diasiare
-/types/denodeify/ @joaomoreno
-/types/deoxxa-content-type/ @pine613
-/types/depcheck/ @ark120202
-/types/depd/ @danny8002 @BendingBender
-/types/dependency-tree/ @joscha
-/types/deployjava/ @cyrilschumacher
-/types/derhuerst__cli-on-key/ @jacobbubu
-/types/destroy/ @BendingBender
-/types/destroy-on-hwm/ @BendingBender
-/types/detect-browser/ @rogierschouten
-/types/detect-hover/ @thomastilkema
-/types/detect-indent/v0/ @Bartvds
-/types/detect-indent/ @Bartvds @BendingBender
-/types/detect-it/ @thomastilkema
-/types/detect-newline/ @BendingBender
-/types/detect-passive-events/ @thomastilkema
-/types/detect-pointer/ @thomastilkema
-/types/detect-port/ @lith-light-g
-/types/detect-touch-events/ @thomastilkema
-/types/detox/ @TareqElMasri
-/types/devexpress-aspnetcore-bootstrap/ @devexpress @skubarenko
-/types/df-visible/ @Litee
-/types/dhtmlxgantt/ @mkozhukh @chriscamicas
-/types/dhtmlxscheduler/ @mkozhukh
-/types/di-lite/ @dcrusader
-/types/diacritics/ @otociulis
-/types/diff/ @vvakame @szdc
-/types/diff2html/ @rtfpessoa
-/types/dir-resolve/ @andy-ms
-/types/discontinuous-range/ @OiCMudkips
-/types/discourse-sso/ @championswimmer
-/types/dispatchr/ @Ragg-
-/types/disposable-email-domains/ @geoffreak
-/types/dnssd/ @angelmerino
-/types/doccookies/ @jonegerton
-/types/dockerode/ @seikho @nlaplante @isac322 @lazarusx @meisenzahl @thegecko
-/types/docopt/ @giggio
-/types/doctrine/ @rictic
-/types/document-promises/ @NotWoods
-/types/documentdb/ @NoelAbrahams @brettferdosi @ctstone @yifanwu
-/types/documentdb-server/ @lith-light-g
-/types/documentdb-session/ @DanielRosenwasser
-/types/dojo/ @vansimke
-/types/dom-inputevent/ @diagramatics
-/types/dom-to-image/ @JipSterk
-/types/dom4/ @adidahiya @giladgray
-/types/domo/ @Steve-Fenton
-/types/dompurify/ @bazuzi
-/types/domready/ @dotnetnerd
-/types/donna/ @vvakame
-/types/dookie/ @swanest
-/types/dot/ @ZombieHunter
-/types/dot-object/ @nkovacic
-/types/dot-prop/v2/ @samverschueren
-/types/dot-prop/ @samverschueren @BendingBender
-/types/dotdir-regex/ @mrmlnc
-/types/dotdotdot/ @milanjaros
-/types/dotenv/v2/ @jussikinnula @borekb @enaeseth
-/types/dotenv/ @jussikinnula @borekb @enaeseth
-/types/dotenv-safe/ @krenor
-/types/dotenv-webpack/ @karol-majewski
-/types/dotfile-regex/ @mrmlnc
-/types/dottie/ @domarmstrong
-/types/double-ended-queue/ @dsagal
-/types/doublearray/ @mzsm
-/types/doubleclick-gpt/ @johngeorgewright @steven-joyce
-/types/download/ @nicojs
-/types/downloadjs/ @cwmoo740
-/types/draft-js/ @dmitryrogozhny @eelco @ghotiphud @schwers @michael-yx-wu @willisplummer @smvilar @sulf
-/types/drag-timetable/ @chinkan
-/types/draggabilly/ @jaydubu
-/types/dragster/ @zskovacs
-/types/dragula/ @pwelter34 @abruzzihraig
-/types/dropboxjs/ @Steve-Fenton @xperiments
-/types/dropkickjs/ @VorobeY1326
-/types/dropzone/v4/ @nvivo @outring @renuo @Hikariii
-/types/dropzone/ @nvivo @outring @renuo @Hikariii @tedbcsgpro @dwaxweiler
-/types/dts-generator/ @mtraynham
-/types/duplexer2/ @Goldsmith42
-/types/duplexer3/ @BendingBender
-/types/duplexify/ @strax
-/types/duplicate-package-checker-webpack-plugin/ @mtraynham
-/types/durandal/ @BlueSpire
-/types/dustjs-linkedin/ @mdezem
-/types/dvtng-jss/ @Ptival
-/types/dw-bxslider-4/ @namerci
-/types/dwt/v12/ @yushulx
-/types/dwt/ @yushulx @jbh @lincoln2018 @Tom-Dynamsoft
-/types/dygraphs/ @danvk
-/types/dymo-label-framework/ @thijskuipers
-/types/dynatable/ @francoismassart
-/types/dynogels/ @SpartanLabs @ramondeklein @stephentuso
-/types/each/ @misak113
-/types/earcut/ @NaridaL
-/types/easeljs/ @evilangelist
-/types/eases/ @MathiasPaumgarten
-/types/easy-api-request/ @DeadAlready
-/types/easy-jsend/ @DeadAlready
-/types/easy-session/ @DeadAlready
-/types/easy-table/ @nikeee
-/types/easy-xapi/ @DeadAlready
-/types/easy-xapi-utils/ @DeadAlready
-/types/ebongarde-root/ @Ebongarde
-/types/echarts/ @xieisabug @AntiMoron @liveangela
-/types/ecma-proposal-math-extensions/ @ksm2
-/types/ecurve/ @mhegazy
-/types/ed25519/ @erikma
-/types/ed2curve/ @ffflorian
-/types/egg-mock/ @sheperdwind
-/types/egg.js/ @ToastHawaii
-/types/egjs__axes/ @naver
-/types/egjs__component/ @naver
-/types/ej.web.all/ @syncfusion
-/types/ejs/ @benliddicott
-/types/ejs-locals/ @jt000
-/types/ejson/ @shantanubhadoria
-/types/elasticsearch/ @CasperSkydt @bfsmith @ddunkin @pushplay @mlamp @ahmadferdous @SimonSchick @brabster @deerawan
-/types/electron-config/ @mrfunkycold @unindented
-/types/electron-debug/ @unindented
-/types/electron-devtools-installer/ @gamesmaxed @mfatihmar
-/types/electron-is-dev/ @trodi
-/types/electron-json-storage/ @stpettersens @nrlquaker @jbw91
-/types/electron-notifications/ @djpereira
-/types/electron-notify/ @djpereira
-/types/electron-packager/ @SomaticIT @cortopy @jkleinsc @shiftkey
-/types/electron-settings/v2/ @leonard-thieu
-/types/electron-settings/ @icopp @nrlquaker
-/types/electron-spellchecker/ @unindented
-/types/electron-store/ @unindented @jsynowiec
-/types/electron-util/ @kputh
-/types/electron-window-state/ @rhysd
-/types/electron-winstaller/ @shiftkey @unindented
-/types/element-ready/ @BendingBender
-/types/element-resize-detector/ @saranshkataria
-/types/element-resize-event/ @rogierschouten @plgregoire
-/types/elm/ @thSoft
-/types/email-templates/ @cyrilschumacher @gurisko @blankstar85
-/types/ember/v1/ @jedmao
-/types/ember/ @jedmao @bttf @dwickern @chriskrycho @theroncross @mfeckie @alexlafroscia @mike-north
-/types/ember-data/ @dwickern @mike-north @chriskrycho
-/types/ember-feature-flags/ @tansongyang
-/types/ember-mocha/ @dwickern
-/types/ember-modal-dialog/ @tansongyang
-/types/ember-qunit/v2/ @dwickern
-/types/ember-qunit/ @dwickern
-/types/ember-resolver/ @dfreeman
-/types/ember-test-helpers/ @dwickern
-/types/ember-testing-helpers/ @chriskrycho
-/types/ember__test-helpers/ @dfreeman @jamescdavis
-/types/emissary/ @vvakame
-/types/emoji-mart/ @Kovensky
-/types/emoji-regex/ @iKBAHT
-/types/emojione/ @dbrgn
-/types/empower/ @vvakame
-/types/emscripten/ @zakki @periklis
-/types/end-of-stream/ @strax
-/types/engine.io/ @KentarouTakeda
-/types/engine.io-client/ @KentarouTakeda
-/types/enhanced-resolve/ @e-cloud @onigoetz @johnnyreilly
-/types/enigma.js/ @konne
-/types/enquire.js/ @screendriver
-/types/ent/ @rogierschouten
-/types/entities/ @aliceklipper
-/types/env-to-object/ @MugeSo
-/types/envify/ @tkQubo
-/types/enzyme/ @MarianPalkus @NoHomey @jwbay @huhuanming @MartynasZilinskas @thovden @hotell
-/types/enzyme-adapter-react-15/ @tkrotoff
-/types/enzyme-adapter-react-15.4/ @nali
-/types/enzyme-adapter-react-16/ @tkrotoff
-/types/enzyme-redux/ @knegusen
-/types/enzyme-to-json/ @joscha
-/types/eonasdan-bootstrap-datetimepicker/ @ToastHawaii
-/types/epiceditor/ @borisyankov
-/types/epilogue/ @micksatana
-/types/epub/ @julien-c
-/types/eq.js/ @stephenlautier
-/types/errorhandler/ @santialbo
-/types/es6-collections/ @rbuckton
-/types/es6-promisify/ @harryshipton @bschlenk
-/types/es6-shim/ @rbuckton
-/types/es6-weak-map/ @pine
-/types/escape-html/ @elisee
-/types/escape-latex/ @olsio
-/types/escape-regexp/ @jewbre
-/types/escape-string-regexp/ @kruncher @faergeek
-/types/escodegen/ @simondel
-/types/eslint/ @pmdartus @j-f1 @saadq
-/types/eslint-plugin-prettier/ @ikatyang
-/types/eslint-scope/ @mysticatea
-/types/eslint-visitor-keys/ @mysticatea
-/types/esprima/v2/ @teppeis @RReverser
-/types/esprima/ @teppeis @RReverser @peter-scott
-/types/esprima-walk/ @tswaters
-/types/espruino/ @stasberkov
-/types/esri-leaflet/ @strajuser
-/types/esri-leaflet-geocoder/ @BendingBender
-/types/estraverse/ @sanex3339
-/types/estree/ @RReverser
-/types/etag/ @BendingBender
-/types/ethereum-protocol/ @LogvinovLeon
-/types/ethereumjs-abi/ @LogvinovLeon
-/types/ethereumjs-tx/ @LogvinovLeon
-/types/ethereumjs-util/ @cortopy
-/types/ethjs-signer/ @doppio
-/types/eureka-js-client/ @Schnillz
-/types/evaporate/ @kookster @chrisrhoden @ailrun
-/types/event-emitter/ @LKay
-/types/event-emitter-es6/ @ahstro
-/types/event-hooks-webpack-plugin/ @pine
-/types/event-kit/ @GlenCFL
-/types/event-loop-lag/ @rogierschouten
-/types/event-stream/ @flcdrg
-/types/event-to-promise/ @flying-sheep
-/types/events/ @yasupeke
-/types/eventsource/ @scottleedavis @afroozeh
-/types/evernote/ @corps
-/types/ex-react-native-i18n/ @maplerichie
-/types/excel-style-dataformatter/ @SanderDeWaal1992
-/types/exceljs/ @rogierschouten @alitaheri
-/types/execa/ @douglasduteil @BendingBender @borekb @mickdekkers
-/types/exenv/ @christianchown
-/types/exit/ @Bartvds
-/types/exit-hook/ @BendingBender
-/types/exorcist/ @TeamworkGuy2
-/types/expect/ @jmreidy @merrywhether
-/types/expect-puppeteer/ @JoshuaKGoldberg @tkrotoff
-/types/expect.js/ @teppeis
-/types/expectations/ @vvakame
-/types/expo/v23/ @KonstantinKai
-/types/expo/v24/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger
-/types/expo/v25/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov
-/types/expo/v26/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @tinaroh
-/types/expo/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki
-/types/expo__status-bar-height/ @dawnmist
-/types/expo__vector-icons/ @incleaf
-/types/express/ @borisyankov
-/types/express-brute/ @cyrilschumacher
-/types/express-brute-memcached/ @cyrilschumacher
-/types/express-brute-mongo/ @cyrilschumacher
-/types/express-brute-redis/ @scottharwell
-/types/express-bunyan-logger/ @shreyjain1994
-/types/express-busboy/ @pinguet62
-/types/express-cluster/ @nenadalm
-/types/express-correlation-id/ @natemara
-/types/express-debug/ @federicobond
-/types/express-domain-middleware/ @hookclaw
-/types/express-ejs-layouts/ @erikma
-/types/express-enforces-ssl/ @kevinstubbs
-/types/express-fileupload/ @Naktibalda
-/types/express-flash/ @iMobs
-/types/express-flash-2/ @mathsalmi
-/types/express-flash-notification/ @Mister4Eyes
-/types/express-formidable/ @tdolsen @evanshortiss
-/types/express-graphql/ @isman-usoh @nitintutlani @hubel @zya @mlamp @firede
-/types/express-handlebars/ @stpettersens @yhaskell
-/types/express-jsonschema/ @atd-schubert
-/types/express-jwt/ @wokim @kacepe @Sl1MBoy @milan-mimra
-/types/express-less/ @xieyubo
-/types/express-minify/ @borislavjivkov
-/types/express-mongo-sanitize/ @ericbyers
-/types/express-mung/ @cyrilschumacher
-/types/express-myconnection/ @Cellule
-/types/express-mysql-session/ @Akim95
-/types/express-oauth-server/ @atd-schubert
-/types/express-openapi/ @mugeso
-/types/express-paginate/ @AmirTugi
-/types/express-partials/ @jt000
-/types/express-promise-router/ @wanganjun
-/types/express-rate-limit/ @cyrilschumacher @makepost
-/types/express-redis-cache/ @ajliv
-/types/express-route-fs/ @kripod
-/types/express-routemap/ @icopp
-/types/express-sanitized/ @cjbarth
-/types/express-serve-static-core/ @borisyankov @19majkel94 @kacepe @micksatana @samijaber
-/types/express-session/ @horiuchi @jacobbogers @builtinnya @ry7n
-/types/express-socket.io-session/ @AylaJK
-/types/express-to-koa/ @xiaohanzhang
-/types/express-unless/ @wokim
-/types/express-winston/ @bricka
-/types/express-ws/ @ajliv
-/types/express-xml-bodyparser/ @noticeMaker @macedigital
-/types/extend/ @reppners
-/types/extjs/ @brian428
-/types/extract-files/ @Slessi
-/types/extract-stack/ @BendingBender
-/types/extract-text-webpack-plugin/ @flying-sheep @katyo
-/types/extract-zip/ @mizunashi-mana
-/types/eyes/ @brynbellomy
-/types/ez-plus/ @AndersonFriaca
-/types/f1/ @neolwc
-/types/fabric/ @oklemencic @joewashear007 @mrand01 @NotWoods @bmartinson @RogerioTeixeira
-/types/facebook-instant-games/ @menushka @oyvindjam
-/types/facebook-js-sdk/ @amritk @mahmoudzohdi
-/types/facebook-pixel/ @noctishsu
-/types/faker/v3/ @Kuniwak
-/types/faker/ @bensw @basp @Kuniwak @mattbishop
-/types/falcor/ @Quramy
-/types/falcor-express/ @Quramy
-/types/falcor-http-datasource/ @Quramy
-/types/falcor-json-graph/ @Quramy
-/types/falcor-router/ @Quramy @cdhgee
-/types/famous/ @borisvasilenko
-/types/fancy-log/ @pine
-/types/fancybox/ @borisyankov
-/types/farbtastic/ @EnableSoftware
-/types/fast-diff/ @djrenren
-/types/fast-levenshtein/ @mizunashi-mana
-/types/fast-list/ @BendingBender
-/types/fast-stats/ @rogierschouten
-/types/fastclick/ @shinnn
-/types/favico.js/ @drowse314-dev-ymat
-/types/favicons/ @mohsen1
-/types/fb/ @JoshStrobl
-/types/fb-watchman/ @whtsky
-/types/fbemitter/ @kmxz
-/types/feather-icons/ @jineshshah36
-/types/featherlight/ @xStrom
-/types/feathersjs__authentication/ @AbraaoAlves @j2L4e
-/types/feathersjs__authentication-client/ @AbraaoAlves @j2L4e
-/types/feathersjs__authentication-jwt/ @j2L4e
-/types/feathersjs__authentication-local/ @j2L4e
-/types/feathersjs__authentication-oauth1/ @j2L4e
-/types/feathersjs__authentication-oauth2/ @j2L4e
-/types/feathersjs__configuration/ @j2L4e
-/types/feathersjs__errors/ @j2L4e
-/types/feathersjs__express/ @j2L4e @DadUndead
-/types/feathersjs__feathers/ @j2L4e @AbraaoAlves
-/types/feathersjs__primus/ @j2L4e
-/types/feathersjs__primus-client/ @j2L4e
-/types/feathersjs__rest-client/ @j2L4e
-/types/feathersjs__socket-commons/ @j2L4e
-/types/feathersjs__socketio/ @j2L4e
-/types/feathersjs__socketio-client/ @j2L4e
-/types/feedme/ @codeanimal
-/types/feedparser/ @cortopy
-/types/fetch-jsonp/ @tkrotoff
-/types/fetch-mock/ @asvetliakov @tamird @merrywhether @chrissinclair @matttennison @quentinbouygues
-/types/fetch.io/ @newraina
-/types/ffi/ @loyd @waitingsong
-/types/ffmpeg-static/ @iamstevetran
-/types/ffprobe-static/ @iamstevetran
-/types/fhir-js-client/ @rmchndrng
-/types/fibers/ @soywiz
-/types/fibjs/ @richardo2016
-/types/figures/ @BendingBender
-/types/file-exists/ @BendingBender
-/types/file-saver/ @cyrilschumacher @DaIgeb @chrismbarr
-/types/file-type/ @tcaesvk @BendingBender
-/types/file-url/ @coderslagoon
-/types/filenamify/ @rokt33r
-/types/filesize/ @GiedriusGrabauskas @renchap
-/types/fill-pdf/ @westy92
-/types/filter-invalid-dom-props/ @icopp
-/types/finalhandler/ @chrootsu
-/types/finch/ @DavidSichau
-/types/find/ @andypyrope
-/types/find-root/ @Alorel
-/types/find-up/ @BendingBender
-/types/find-versions/ @LogvinovLeon
-/types/findup-sync/ @Bartvds @ngbrown
-/types/fingerprintjs/ @zaneli
-/types/fingerprintjs2/ @curtstate
-/types/firebase-client/ @fpsscarecrow
-/types/firebase-token-generator/ @dotdotcommadot
-/types/firebird/ @karak
-/types/firefox/ @vvakame
-/types/firefox-webext-browser/ @bomjacob
-/types/firmata/ @troywweber7
-/types/first-mate/ @GlenCFL
-/types/fixed-data-table/ @pepaar @stephenjelfs
-/types/fixed-data-table-2/ @ilivit
-/types/flat/ @chrootsu
-/types/flexslider/ @diullei
-/types/flickity/ @clmcgrath @wagich
-/types/flight/ @jonathanhedren
-/types/flightplan/ @borislavjivkov
-/types/flipsnap/ @kubosho @gsino @mayuki
-/types/float-regex/ @wanganjun
-/types/flot/ @burlandm @Anticom @admiralsmaster
-/types/flowjs/ @ryan10132
-/types/fluent-ffmpeg/ @tcaesvk @DingWeizhe
-/types/flux/ @stkb @GiedriusGrabauskas
-/types/fluxible/ @xbim
-/types/fluxible-router/ @xbim
-/types/fluxxor/ @mrk21
-/types/fm-websync/ @markusmauch
-/types/fnv-lite/ @marcind
-/types/focus-within/ @eramdam
-/types/fontfaceobserver/ @RandScullard
-/types/fontoxml/ @rolandzwaga
-/types/forever-agent/ @yavanosta
-/types/forever-monitor/ @shuntksh @wrboyce
-/types/forge-di/ @adamcarr
-/types/fork-ts-checker-webpack-plugin/ @JounQin
-/types/form-data/ @soywiz @leonyu @BendingBender
-/types/form-serializer/ @flqw
-/types/form-urlencoded/ @alepee
-/types/format-duration/ @Roaders
-/types/format-io/ @amitbeck
-/types/format-unicorn/ @kruncher
-/types/formidable/ @Nemo157
-/types/forms/ @suXinjke
-/types/forwarded/ @BendingBender
-/types/fossil-delta/ @endel
-/types/foundation/ @borisyankov
-/types/fpsmeter/ @alampros
-/types/framebus/ @kbukum
-/types/freedom/ @jpevarnek
-/types/freeport/ @atd-schubert
-/types/fresh/ @BendingBender
-/types/freshy/ @qlonik
-/types/friendly-errors-webpack-plugin/ @bahlo
-/types/frisby/v0/ @johnny4753
-/types/frisby/ @cwoodland @johnny4753
-/types/from/ @Bartvds
-/types/from2/ @BendingBender
-/types/fromjs/ @glenndierckx
-/types/fromnow/ @marinewater
-/types/fs-cson/ @dex4er
-/types/fs-ext/ @OguzhanE
-/types/fs-extra/v4/ @alan-agius4 @midknight41 @shiftkey @mees-
-/types/fs-extra/ @alan-agius4 @midknight41 @shiftkey @mees- @jrockwood
-/types/fs-extra-promise/ @midknight41 @jasonswearingen @HiromiShikata
-/types/fs-extra-promise-es6/ @midknight41 @jasonswearingen @geoffreak @HiromiShikata
-/types/fs-finder/ @misak113
-/types/fs-mock/ @rogierschouten
-/types/fs-plus/ @unindented
-/types/fs-promise/ @tarruda
-/types/fs-readdir-recursive/ @pscanf
-/types/fs-readfile-promise/ @mtsg
-/types/fscreen/ @joscha
-/types/fsevents/ @BendingBender
-/types/ftdomdelegate/ @dotnetnerd
-/types/ftp/ @rogierschouten
-/types/ftpd/ @rogierschouten
-/types/fullname/ @kayahr
-/types/fullpage.js/ @jodiwarren
-/types/fusioncharts/ @rohitkr @shivarajkv
-/types/fuzzaldrin/ @mhegazy
-/types/fuzzaldrin-plus/ @jeancroy @jkillian
-/types/fuzzyset/ @lgrignon @narainsagar
-/types/fuzzyset.js/ @lgrignon @narainsagar
-/types/fxn/ @charrondev
-/types/gae.channel.api/ @vvakame
-/types/gamequery/ @Laubi
-/types/gandi-livedns/ @xstoudi
-/types/gapi/ @sgtfrankieboy
-/types/gapi.analytics/ @gatsbimantico
-/types/gapi.auth2/ @flawless2011
-/types/gapi.calendar/ @tkrotoff
-/types/gapi.client/ @Bolisov
-/types/gapi.client.acceleratedmobilepageurl/ @Bolisov
-/types/gapi.client.adexchangebuyer/ @Bolisov
-/types/gapi.client.adexchangebuyer2/ @Bolisov
-/types/gapi.client.adexchangeseller/ @Bolisov
-/types/gapi.client.adexperiencereport/ @Bolisov
-/types/gapi.client.admin/ @Bolisov
-/types/gapi.client.adsense/ @Bolisov
-/types/gapi.client.adsensehost/ @Bolisov
-/types/gapi.client.analytics/ @Bolisov
-/types/gapi.client.analyticsreporting/ @Bolisov
-/types/gapi.client.androiddeviceprovisioning/ @Bolisov
-/types/gapi.client.androidenterprise/ @Bolisov
-/types/gapi.client.androidmanagement/ @Bolisov
-/types/gapi.client.androidpublisher/ @Bolisov
-/types/gapi.client.appengine/ @Bolisov
-/types/gapi.client.appsactivity/ @Bolisov
-/types/gapi.client.appstate/ @Bolisov
-/types/gapi.client.bigquery/ @Bolisov
-/types/gapi.client.bigquerydatatransfer/ @Bolisov
-/types/gapi.client.blogger/ @Bolisov
-/types/gapi.client.books/ @Bolisov
-/types/gapi.client.calendar/ @Bolisov
-/types/gapi.client.civicinfo/ @Bolisov
-/types/gapi.client.classroom/ @Bolisov
-/types/gapi.client.cloudbilling/ @Bolisov
-/types/gapi.client.cloudbuild/ @Bolisov
-/types/gapi.client.clouddebugger/ @Bolisov
-/types/gapi.client.clouderrorreporting/ @Bolisov
-/types/gapi.client.cloudfunctions/ @Bolisov
-/types/gapi.client.cloudiot/ @Bolisov
-/types/gapi.client.cloudkms/ @Bolisov
-/types/gapi.client.cloudmonitoring/ @Bolisov
-/types/gapi.client.cloudresourcemanager/ @Bolisov
-/types/gapi.client.cloudtasks/ @Bolisov
-/types/gapi.client.cloudtrace/ @Bolisov
-/types/gapi.client.clouduseraccounts/ @Bolisov
-/types/gapi.client.compute/ @Bolisov
-/types/gapi.client.consumersurveys/ @Bolisov
-/types/gapi.client.container/ @Bolisov
-/types/gapi.client.content/ @Bolisov
-/types/gapi.client.customsearch/ @Bolisov
-/types/gapi.client.dataflow/ @Bolisov
-/types/gapi.client.dataproc/ @Bolisov
-/types/gapi.client.datastore/ @Bolisov
-/types/gapi.client.deploymentmanager/ @Bolisov
-/types/gapi.client.dfareporting/ @Bolisov
-/types/gapi.client.discovery/ @Bolisov
-/types/gapi.client.dlp/ @Bolisov
-/types/gapi.client.dns/ @Bolisov
-/types/gapi.client.doubleclickbidmanager/ @Bolisov
-/types/gapi.client.doubleclicksearch/ @Bolisov
-/types/gapi.client.drive/ @Bolisov
-/types/gapi.client.firebasedynamiclinks/ @Bolisov
-/types/gapi.client.firebaseremoteconfig/ @Bolisov
-/types/gapi.client.firebaserules/ @Bolisov
-/types/gapi.client.firestore/ @Bolisov
-/types/gapi.client.fitness/ @Bolisov
-/types/gapi.client.fusiontables/ @Bolisov
-/types/gapi.client.games/ @Bolisov
-/types/gapi.client.gamesconfiguration/ @Bolisov
-/types/gapi.client.gamesmanagement/ @Bolisov
-/types/gapi.client.genomics/ @Bolisov
-/types/gapi.client.gmail/ @Bolisov
-/types/gapi.client.groupsmigration/ @Bolisov
-/types/gapi.client.groupssettings/ @Bolisov
-/types/gapi.client.iam/ @Bolisov
-/types/gapi.client.identitytoolkit/ @Bolisov
-/types/gapi.client.kgsearch/ @Bolisov
-/types/gapi.client.language/ @Bolisov
-/types/gapi.client.licensing/ @Bolisov
-/types/gapi.client.logging/ @Bolisov
-/types/gapi.client.manufacturers/ @Bolisov
-/types/gapi.client.mirror/ @Bolisov
-/types/gapi.client.ml/ @Bolisov
-/types/gapi.client.monitoring/ @Bolisov
-/types/gapi.client.oauth2/ @Bolisov
-/types/gapi.client.oslogin/ @Bolisov
-/types/gapi.client.pagespeedonline/ @Bolisov
-/types/gapi.client.partners/ @Bolisov
-/types/gapi.client.people/ @Bolisov
-/types/gapi.client.playcustomapp/ @Bolisov
-/types/gapi.client.playmoviespartner/ @Bolisov
-/types/gapi.client.plus/ @Bolisov
-/types/gapi.client.plusdomains/ @Bolisov
-/types/gapi.client.prediction/ @Bolisov
-/types/gapi.client.proximitybeacon/ @Bolisov
-/types/gapi.client.pubsub/ @Bolisov
-/types/gapi.client.qpxexpress/ @Bolisov
-/types/gapi.client.reseller/ @Bolisov
-/types/gapi.client.resourceviews/ @Bolisov
-/types/gapi.client.runtimeconfig/ @Bolisov
-/types/gapi.client.safebrowsing/ @Bolisov
-/types/gapi.client.script/ @Bolisov
-/types/gapi.client.searchconsole/ @Bolisov
-/types/gapi.client.servicecontrol/ @Bolisov
-/types/gapi.client.servicemanagement/ @Bolisov
-/types/gapi.client.serviceuser/ @Bolisov
-/types/gapi.client.sheets/ @Bolisov
-/types/gapi.client.siteverification/ @Bolisov
-/types/gapi.client.slides/ @Bolisov
-/types/gapi.client.sourcerepo/ @Bolisov
-/types/gapi.client.spanner/ @Bolisov
-/types/gapi.client.spectrum/ @Bolisov
-/types/gapi.client.speech/ @Bolisov
-/types/gapi.client.sqladmin/ @Bolisov
-/types/gapi.client.storage/ @Bolisov
-/types/gapi.client.storagetransfer/ @Bolisov
-/types/gapi.client.streetviewpublish/ @Bolisov
-/types/gapi.client.surveys/ @Bolisov
-/types/gapi.client.tagmanager/ @Bolisov
-/types/gapi.client.taskqueue/ @Bolisov
-/types/gapi.client.tasks/ @Bolisov
-/types/gapi.client.testing/ @Bolisov
-/types/gapi.client.toolresults/ @Bolisov
-/types/gapi.client.translate/ @Bolisov
-/types/gapi.client.urlshortener/ @Bolisov
-/types/gapi.client.vault/ @Bolisov
-/types/gapi.client.videointelligence/ @Bolisov
-/types/gapi.client.vision/ @Bolisov
-/types/gapi.client.webfonts/ @Bolisov
-/types/gapi.client.webmasters/ @Bolisov
-/types/gapi.client.youtube/ @Bolisov
-/types/gapi.client.youtubeanalytics/ @Bolisov
-/types/gapi.client.youtubereporting/ @Bolisov
-/types/gapi.drive/ @baxtersa
-/types/gapi.pagespeedonline/ @sgtfrankieboy
-/types/gapi.people/ @tkrotoff
-/types/gapi.plus/ @tkrotoff
-/types/gapi.translate/ @sgtfrankieboy
-/types/gapi.urlshortener/ @sgtfrankieboy
-/types/gapi.youtube/ @sgtfrankieboy
-/types/gapi.youtubeanalytics/ @sgtfrankieboy
-/types/gaussian/ @scttcper
-/types/geetest/ @plantain-00
-/types/gen-readlines/ @CodeAnimal
-/types/generate-changelog/ @ffflorian
-/types/generate-json-webpack-plugin/ @rynclark
-/types/generic-functions/ @stpettersens
-/types/generic-pool/ @jerray @wrboyce
-/types/gently/ @bonnici
-/types/geodesy/ @DenisCarriere @HandyG52 @excelulous
-/types/geojson/ @cobster @atd-schubert @JeffJacobson @icholy
-/types/geojson2osm/ @DenisCarriere
-/types/geokdbush/ @DenisCarriere
-/types/geometry-dom/ @nakakura
-/types/geopattern/ @Gaelan
-/types/get-caller-file/ @ajafff
-/types/get-folder-size/ @mszczepanczyk
-/types/get-node-dimensions/ @vincekovacs
-/types/get-stdin/ @DanielRosenwasser
-/types/get-stream/ @douglasduteil @BendingBender
-/types/get-value/ @DanielRosenwasser
-/types/getopts/ @azasypkin
-/types/getos/ @BendingBender
-/types/gettext.js/ @jucrouzet
-/types/gifffer/ @gatimus
-/types/gijgo/ @atatanasov
-/types/giraffe/ @darthapo
-/types/git/ @vvakame
-/types/git-branch/ @rynclark
-/types/git-config/ @stpettersens
-/types/git-remote-origin-url/ @janslow
-/types/github-username-regex/ @BehindTheMath
-/types/gitlab/ @yanqing6628780 @Arylo
-/types/gl-matrix/ @mattijskneppers @tatchx @nbabanov @auzmartist @surtr-isaz
-/types/gl-shader/ @MathiasPaumgarten
-/types/gl-texture2d/ @MathiasPaumgarten
-/types/gldatepicker/ @qcz
-/types/glidejs/ @milanjaros
-/types/glob/ @vvakame @voy
-/types/glob-base/ @alan-agius4
-/types/glob-expand/ @vvakame
-/types/glob-parent/ @mrmlnc
-/types/glob-stream/ @Bartvds @mrmlnc
-/types/glob-to-regexp/ @whatasoda
-/types/global-tunnel-ng/ @BendingBender
-/types/globalize/ @gcastre @afromogli
-/types/globalize-compiler/ @iclanton
-/types/globby/ @douglasduteil @ikatyang
-/types/globule/ @durad
-/types/glue/ @garfty
-/types/gm/ @ChaosinaCan @maartenvanvliet
-/types/go/ @NorthwoodsSoftware
-/types/google-adwords-scripts/ @jafaircl
-/types/google-apps-script/ @motemen @grant
-/types/google-apps-script-oauth2/ @dhayab
-/types/google-cloud__datastore/ @beaulac
-/types/google-cloud__pubsub/ @pheromonez @LunaPg
-/types/google-cloud__storage/ @blove @nbperry @welkie
-/types/google-earth/ @icholy
-/types/google-images/ @dolanmiu
-/types/google-libphonenumber/ @leonyu @winfinit
-/types/google-map-react/ @honzabrecka
-/types/google-maps/ @DeividasBakanas @GiedriusGrabauskas
-/types/google-protobuf/ @marcuslongmuir
-/types/google.analytics/ @tyler-murphy
-/types/google.feeds/ @RodneyJT
-/types/google.fonts/ @danmarshall
-/types/google.geolocation/ @vbortone
-/types/google.picker/ @grapswiz
-/types/google.visualization/ @danludwig @gmoore-sjcorg @danmana @mlcheng @IvanBisultanov @glebm
-/types/googlemaps/ @cgwrench @nertzy @xaolas @mrmcnerd @martincostello @svenkreiss @bolatovumar
-/types/googlemaps.infobubble/ @Dashue
-/types/googlepay/ @Fluccioni
-/types/got/ @BendingBender @LinusU @ikokostya
-/types/graceful-fs/v2/ @Bartvds
-/types/graceful-fs/ @Bartvds @BendingBender
-/types/graham_scan/ @hberntsen
-/types/gramps__rest-helpers/ @claude
-/types/graphite-udp/ @EricByers
-/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz @bradzacher @clayne11
-/types/graphql-date/ @enaeseth
-/types/graphql-deduplicator/ @lfades
-/types/graphql-depth-limit/ @eritikass
-/types/graphql-iso-date/ @jwaldrip
-/types/graphql-list-fields/ @filipows
-/types/graphql-relay/ @arvitaly @nitintutlani @Grelinfo
-/types/graphql-resolve-batch/ @nayni
-/types/graphql-type-json/ @schfkt
-/types/graphviz/ @mhfrantz
-/types/grasp/ @agnoster
-/types/gravatar/ @denis-sokolov
-/types/gravatar-url/ @ivangabriele
-/types/greasemonkey/ @kotas
-/types/grecaptcha/v0/ @brentj73
-/types/grecaptcha/ @DethAriel @rafaeltavares
-/types/gregorian-calendar/ @cwalv
-/types/grid-styled/ @antonvasin @vittorio @lhache
-/types/gridfs-stream/ @liorm
-/types/gridstack/ @PascalSenn @ZoolWay @Sl1MBoy
-/types/grunt/ @jeffmay @basarat
-/types/gsap/ @codebelt @ProbablePrime @philipbulley
-/types/gtin/ @RafaelKr
-/types/guid/ @maroy1986
-/types/gulp/ @GiedriusGrabauskas
-/types/gulp-angular-templatecache/ @amanmahajan7
-/types/gulp-babel/ @AyaMorisawa
-/types/gulp-batch/ @alvarollmenezes @vizeke
-/types/gulp-bump/ @silkentrance
-/types/gulp-cache/ @aravindarun
-/types/gulp-cached/ @tomc974
-/types/gulp-change/ @Aankhen
-/types/gulp-changed/ @tomc974
-/types/gulp-cheerio/ @tkQubo
-/types/gulp-clean-dest/ @andypyrope
-/types/gulp-coffeeify/ @tkQubo
-/types/gulp-coffeelint/ @tkQubo
-/types/gulp-concat/ @k-kagurazaka
-/types/gulp-connect/ @andrewiggins
-/types/gulp-copy/ @aravindarun
-/types/gulp-csso/ @tkrotoff
-/types/gulp-debug/ @tkrotoff
-/types/gulp-diff/ @ikatyang
-/types/gulp-dtsm/ @AyaMorisawa
-/types/gulp-espower/ @tkQubo
-/types/gulp-file-include/ @DanielRosenwasser
-/types/gulp-filter/ @tkrotoff
-/types/gulp-flatten/ @k-kagurazaka
-/types/gulp-gzip/ @tkQubo
-/types/gulp-help/ @tkQubo
-/types/gulp-help-doc/ @Mikhus
-/types/gulp-html-replace/ @peterjuras
-/types/gulp-htmlmin/ @tkrotoff
-/types/gulp-if/ @joeskeen
-/types/gulp-image/ @Aankhen
-/types/gulp-image-resize/ @Aankhen
-/types/gulp-inject/ @k-kagurazaka
-/types/gulp-insert/ @shantmarouti
-/types/gulp-install/ @peterjuras
-/types/gulp-jade/ @berwyn
-/types/gulp-jasmine/ @andypyrope
-/types/gulp-jasmine-browser/ @tkrotoff
-/types/gulp-json-editor/ @peterjuras
-/types/gulp-jsonminify/ @pine
-/types/gulp-jspm/ @peterjuras
-/types/gulp-less/ @k-kagurazaka
-/types/gulp-load-plugins/ @joeskeen
-/types/gulp-minify-css/ @k-kagurazaka
-/types/gulp-minify-html/ @tkrotoff
-/types/gulp-modernizr/ @remisery
-/types/gulp-newer/ @tomc974
-/types/gulp-ng-annotate/ @tkQubo
-/types/gulp-nodemon/ @tkQubo
-/types/gulp-plumber/ @joeskeen
-/types/gulp-protractor/ @tkrotoff
-/types/gulp-pug/ @remisery
-/types/gulp-remember/ @tomc974
-/types/gulp-responsive-images/ @aankhen
-/types/gulp-rev/ @tkrotoff
-/types/gulp-rev-replace/ @tkrotoff
-/types/gulp-ruby-sass/ @agnislav
-/types/gulp-shell/ @tkqubo
-/types/gulp-size/ @tkrotoff @remisery
-/types/gulp-sort/ @joeskeen
-/types/gulp-strip-comments/ @Aqours
-/types/gulp-strip-debug/ @peterjuras
-/types/gulp-svg-sprite/ @tkqubo
-/types/gulp-svgmin/ @Aankhen
-/types/gulp-task-listing/ @joeskeen
-/types/gulp-tsd/ @k-kagurazaka
-/types/gulp-uglify/ @ChristopherHaws @leonard-thieu
-/types/gulp-useref/ @tkrotoff
-/types/gulp-util/ @jedmao
-/types/gulp-watch/ @tkrotoff
-/types/gulp-zip/ @dudeofawesome
-/types/gzip-js/ @rhysd
-/types/gzip-size/v3/ @plantain-00
-/types/gzip-size/ @plantain-00 @jimivdw @andrewiggins
-/types/h2o2/ @jasonswearingen @AJamesPhillips
-/types/halfred/ @dherges
-/types/halogen/ @steller
-/types/hammerjs/ @milkisevil @codler
-/types/handlebars/ @borisyankov @evil-shrike
-/types/hapi/v8/ @jasonswearingen
-/types/hapi/v12/ @jasonswearingen
-/types/hapi/v15/ @jasonswearingen
-/types/hapi/v16/ @jasonswearingen @AJamesPhillips
-/types/hapi/ @rafaelsouzaf @jhsimms @SimonSchick
-/types/hapi-auth-basic/ @AJamesPhillips @saboya
-/types/hapi-auth-jwt2/v7/ @warrenseymour
-/types/hapi-auth-jwt2/ @warrenseymour @SimonSchick
-/types/hapi-decorators/ @kenhowardpdx
-/types/har-format/ @micmro
-/types/hard-rejection/ @BendingBender
-/types/hard-source-webpack-plugin/ @woitechen
-/types/harmony-proxy/ @remojansen
-/types/has-ansi/ @BendingBender
-/types/hash-file/ @HiromiShikata
-/types/hash-stream/ @BendingBender
-/types/hasha/ @BendgingBender
-/types/hasher/ @flyfishMT
-/types/hashids/ @pocesar
-/types/hashmap/ @outring
-/types/haversine/ @screendriver
-/types/hbs/ @davidm77
-/types/hdkey/ @LogvinovLeon
-/types/he/ @sedwards2009 @lokidokicoki
-/types/headroom/ @hakubo
-/types/heap/ @ryan10132
-/types/heapdump/ @weekens
-/types/heatmap.js/ @lookuptable @rhys-vdw
-/types/hedron/ @dborysov
-/types/hellojs/ @PavelPZ @vuorinem @baywet
-/types/hellosign-embedded/ @xt0rted
-/types/helmet/ @cyrilschumacher @EvanHahn @bluehatbrit
-/types/heredatalens/ @denyo
-/types/heremaps/ @Josh-ES @denyo @fx88
-/types/heroku-logger/ @kylevogt
-/types/hex-rgba/ @r3nya
-/types/hexo-bunyan/ @segayuu
-/types/hexo-fs/ @segayuu
-/types/hexo-log/ @segayuu
-/types/hexo-util/ @segayuu
-/types/highcharts/ @damianog @baltie @AlbertOzimek @hanssens
-/types/highcharts-ng/ @scatcher
-/types/highland/ @Bartvds @hgwood @iwllyu @alvis @notbobthebuilder
-/types/highlight.js/ @nikeee @sourrust @joshuakgoldberg
-/types/hiredis/ @titan
-/types/history/v2/ @sergey-buturlakin @ngbrown
-/types/history/v3/ @sergey-buturlakin @ngbrown @LKay
-/types/history/ @sergey-buturlakin @ngbrown @rokoroku
-/types/history.js/ @borisyankov @gjunge
-/types/historykana/ @h-shiratsuki
-/types/hjson/ @crunchie84
-/types/hls.js/ @jgainfort
-/types/hoek/ @prashaantt
-/types/holderjs/ @renjfk
-/types/hooker/ @misak113
-/types/hopscotch/ @pimterry @Aurimas1
-/types/howler/ @xperiments @tdukart @alien35 @nicholashza
-/types/hpp/ @kryops
-/types/html-entities/ @xstoudi
-/types/html-minifier/v1/ @tkrotoff
-/types/html-minifier/ @tkrotoff @rikuayanokozy
-/types/html-pdf/ @westy92
-/types/html-tag-names/ @sandersn
-/types/html-to-text/ @erykwarren
-/types/html-void-elements/ @rhysd
-/types/html-webpack-plugin/ @deevus @bumbleblym @tlaziuk
-/types/html-webpack-template/ @bumbleblym
-/types/html2canvas/ @rwhepburn @tan9 @sschocke
-/types/htmlbars-inline-precompile/ @chriskrycho
-/types/htmlparser2/ @staticfunction @LinusU
-/types/htmltojsx/ @basarat
-/types/http-assert/ @jkeylu
-/types/http-aws-es/ @marcogrcr
-/types/http-codes/ @mhegazy
-/types/http-context/ @mtraynham
-/types/http-errors/ @tkrotoff @BendingBender
-/types/http-graceful-shutdown/ @dlee-nvisia
-/types/http-link-header/ @screendriver
-/types/http-proxy/ @SomaticIT @Raigen @DanielMSchmidt
-/types/http-proxy-agent/ @mrmlnc
-/types/http-proxy-middleware/ @zebMcCorkle @BendingBender
-/types/http-rx/ @L2jLiga
-/types/http-server/ @plantain-00
-/types/http-status/ @misak113
-/types/http-string-parser/ @pine613
-/types/httperr/ @yortus
-/types/hubot/ @dirk @KeesCBakker
-/types/hubspot-pace/ @borislavjivkov
-/types/humane/ @jmvrbanac
-/types/humanize-plus/ @DenisCarriere
-/types/humanize-string/ @ragnarok56
-/types/humanparser/ @MichalPodeszwa
-/types/humps/ @nikeee
-/types/hyco-ws/ @mrcabellom
-/types/hyperscript/ @spacejack @jmfirth
-/types/hypertext-application-language/ @maks3w
-/types/hystrixjs/ @igorsechyn
-/types/i18n/ @SomaticIT @FindQ
-/types/i18n-js/ @ypresto
-/types/i18next/v2/ @mxl @deerawan @GiedriusGrabauskas
-/types/i18next/ @mxl @deerawan @GiedriusGrabauskas
-/types/i18next-browser-languagedetector/v0/ @cyrilschumacher @GiedriusGrabauskas
-/types/i18next-browser-languagedetector/ @cyrilschumacher @GiedriusGrabauskas
-/types/i18next-express-middleware/ @cyrilschumacher
-/types/i18next-ko/ @dwaxweiler
-/types/i18next-node-fs-backend/ @cyrilschumacher
-/types/i18next-sprintf-postprocessor/ @cyrilschumacher
-/types/i18next-xhr-backend/ @jamuhl @GiedriusGrabauskas
-/types/i2c-bus/ @101100
-/types/iban/ @cyrilschumacher
-/types/ibm-mobilefirst/ @nacho4d
-/types/ibm_db/ @agov
-/types/icepick/ @ngbrown @tobico
-/types/icheck/ @qcz
-/types/iconv/ @delphinus35
-/types/idyll/ @iocat
-/types/idyll-ast/ @iocat
-/types/idyll-compiler/ @iocat
-/types/idyll-document/ @iocat
-/types/iferr/ @segayuu
-/types/iframe-resizer/ @arminbaljic
-/types/ignite-ui/ @IgniteUI
-/types/ignore-styles/ @tai2
-/types/iltorb/ @Alorel
-/types/image-size/ @elisee
-/types/imagemagick/ @soywiz
-/types/imagemagick-native/ @horiuchi
-/types/imagemapster/ @delphinus35
-/types/images/ @DingWeizhe
-/types/imagesloaded/ @coldacid @apexskier
-/types/imap/ @psnider
-/types/imap-simple/ @pushplay
-/types/imgur-rest-api/ @lukewestby
-/types/imperium/ @gaetansenn
-/types/impress/ @borisyankov
-/types/in-app-purchase/ @l-jonas
-/types/in-range/ @DanielRosenwasser
-/types/inboxsdk/ @rdoursenaud @amiram
-/types/incremental-dom/ @basarat @lanthaler @vvakame
-/types/indent-string/ @mhegazy
-/types/inert/v4/ @nycdotnet @AJamesPhillips
-/types/inert/ @nycdotnet @AJamesPhillips @lenovouser
-/types/inflected/ @dsci
-/types/inflection/ @shiwano
-/types/inherits/ @chrootsu
-/types/ini/ @marcinporebski
-/types/iniparser/ @chrootsu
-/types/inline-css/ @philipisapain
-/types/inline-style-prefixer/ @ahz @dpetrezselyova
-/types/inquirer/ @tkQubo @ppathan @jouderianjr @bang88 @bitjson @synarque @jrockwood @kwkelly
-/types/insert-module-globals/ @leonard-thieu
-/types/insight/ @vvakame
-/types/integer/ @Morfent
-/types/interact.js/ @dduugg @adidahiya @thasner
-/types/intercom-client/ @jineshshah36 @peping
-/types/intercom-web/ @fongandrew @salbahra @onatm
-/types/intercomjs/ @spencerwi
-/types/internal-ip/ @BendingBender
-/types/intl/ @RagibHasin
-/types/intl-locales-supported/ @Slessi
-/types/intl-messageformat/ @mhegazy
-/types/intl-tel-input/ @fdnhkj @leonard-thieu
-/types/into-stream/ @BendingBender
-/types/intro.js/ @anahkiasen
-/types/invariant/ @bennett000
-/types/inversify-devtools/ @inversify
-/types/ion-rangeslider/v1/ @dduugg @Karel-van-de-Plassche
-/types/ion-rangeslider/ @Karel-van-de-Plassche
-/types/ioredis/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615
-/types/iota.lib.js/ @fogsh
-/types/ip/ @codeanimal
-/types/ip-regex/ @unindented
-/types/ipcheck/ @bengry
-/types/irc/ @phillips1012
-/types/iron/ @simonschick @rafaelsouzaf
-/types/is/ @cabralRodrigo
-/types/is-absolute-url/ @mhegazy
-/types/is-alphanumerical/ @vutran
-/types/is-archive/ @mhegazy
-/types/is-array/ @pine
-/types/is-binary-path/ @DanielRosenwasser
-/types/is-ci/ @atd-schubert
-/types/is-color/ @VitorLuizC
-/types/is-compressed/ @mhegazy
-/types/is-empty/ @termosa
-/types/is-finite/ @mhegazy
-/types/is-glob/ @mrmlnc
-/types/is-hotkey/ @petester42
-/types/is-ip/ @coderslagoon
-/types/is-mobile/ @LogvinovLeon
-/types/is-my-json-valid/ @kruncher
-/types/is-negated-glob/ @ajafff
-/types/is-number/ @harryshipton
-/types/is-object/ @wbhob
-/types/is-path-cwd/ @DanielRosenwasser
-/types/is-path-in-cwd/ @mhegazy
-/types/is-promise/ @DanielRosenwasser
-/types/is-relative-url/ @mhegazy
-/types/is-root/ @mhegazy
-/types/is-root-path/ @mhegazy
-/types/is-scoped/ @postcrafter
-/types/is-stream/ @me
-/types/is-svg/ @BendingBender
-/types/is-text-path/ @mhegazy
-/types/is-touch-device/ @screendriver
-/types/is-url/ @RyotaMurohoshi
-/types/is-url-superb/ @kryops
-/types/is-windows/ @mizunashi-mana
-/types/isbn-utils/ @elhaard
-/types/iscroll/ @csrakowski @devlato
-/types/ismobilejs/ @Ty3uK
-/types/iso-3166-2/ @sicilica
-/types/iso8601-localizer/ @avielfedida
-/types/isomorphic-fetch/ @toddlucas
-/types/isotope-layout/ @avidenic @malinushj
-/types/istanbul/ @tkrotoff
-/types/istanbul-lib-coverage/ @jason0x43
-/types/istanbul-lib-hook/ @jason0x43
-/types/istanbul-lib-instrument/ @jason0x43
-/types/istanbul-lib-report/ @jason0x43
-/types/istanbul-lib-source-maps/ @jason0x43
-/types/istanbul-middleware/ @hookclaw
-/types/istanbul-reports/ @jason0x43
-/types/ityped/ @DanielRosenwasser
-/types/ix.js/ @Igorbek
-/types/jackrabbit/ @elvisvoer
-/types/jade/ @panuhorsmalahti
-/types/jalaali-js/ @alitaheri
-/types/japanese-holidays/ @syamatoo
-/types/jasmine/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B
-/types/jasmine-ajax/ @lgrignon
-/types/jasmine-data_driven_tests/ @AnthonyMacKinnon
-/types/jasmine-enzyme/ @bolatovumar
-/types/jasmine-es6-promise-matchers/ @stephenlautier
-/types/jasmine-fixture/ @craigbrett17
-/types/jasmine-given/ @shairez
-/types/jasmine-jquery/ @gstamac
-/types/jasmine-matchers/ @Bartvds
-/types/jasmine-node/ @svi3c
-/types/jasmine-promise-matchers/ @matthewjh
-/types/jasmine_dom_matchers/ @devoto13
-/types/jasminewd2/ @sjelin
-/types/java/ @jimlloyd @hrl7
-/types/java-applet/ @cyrilschumacher
-/types/javascript-astar/ @ptlis
-/types/javascript-bignum/ @sandersn
-/types/javascript-obfuscator/ @sanex3339
-/types/javascript-state-machine/ @borisyankov @mdocter @MrBigDog2U @samael65535 @taoqf
-/types/jbinary/ @tbureck
-/types/jcanvas/ @rogierschouten
-/types/jdataview/ @RReverser
-/types/jdenticon/ @mtr
-/types/jest/v16/ @NoHomey @jwbay
-/types/jest/ @NoHomey @jwbay @asvetliakov @alexjoverm @epicallan @ikatyang @wsmd @JamieMason @douglasduteil @ahnpnl @joshuakgoldberg @UselessPickles @r3nya @hotell
-/types/jest-axe/ @JoshuaKGoldberg
-/types/jest-diff/ @myabc
-/types/jest-docblock/ @ikatyang
-/types/jest-each/ @theutz @nickmccurdy
-/types/jest-environment-puppeteer/ @joshuakgoldberg
-/types/jest-get-type/ @myabc
-/types/jest-image-snapshot/ @dawnmist
-/types/jest-in-case/ @geovanisouza92
-/types/jest-json-schema/ @deadNightTiger
-/types/jest-matcher-utils/ @myabc
-/types/jest-matchers/ @joscha
-/types/jest-specific-snapshot/ @dawnmist
-/types/jest-validate/ @ikatyang
-/types/jfs/ @tlaziuk
-/types/jjv/ @Nemo157
-/types/jjve/ @Nemo157
-/types/jmespath/ @pushplay
-/types/johnny-five/ @nakakura @ujvzolee @workshop2
-/types/joi/v6/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW
-/types/joi/v10/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @aconanlai
-/types/joi/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai @zaphoyd
-/types/joigoose/ @boothwhack
-/types/josa/ @vichyssoise
-/types/jotform-css.js/ @pandawood
-/types/jpeg-js/ @DanielRosenwasser
-/types/jpegtran-bin/ @hikoma
-/types/jpm/ @github-account-because-they-want-it
-/types/jqgrid/ @lokeshpeta
-/types/jqrangeslider/ @qcz
-/types/jquery/v1/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
-/types/jquery/v2/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
-/types/jquery/ @leonard-thieu @borisyankov @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @johnnyreilly @DickvdBrink @King2500
-/types/jquery-ajax-chain/ @humana-fragilitas
-/types/jquery-alertable/ @stever
-/types/jquery-animate-scroll/ @AndersonFriaca
-/types/jquery-awesome-cursor/ @zskovacs
-/types/jquery-backstretch/ @dkulyk
-/types/jquery-countdown/ @AndersonFriaca
-/types/jquery-countto/ @AndersonFriaca
-/types/jquery-cropbox/ @PerKastman
-/types/jquery-deparam/ @patsissons
-/types/jquery-drawer/ @pine
-/types/jquery-easy-loading/ @delphinus35
-/types/jquery-editable-select/ @baywet
-/types/jquery-focus-exit/ @AndersonFriaca
-/types/jquery-focusable/ @AndersonFriaca
-/types/jquery-fullscreen/ @bgrieder
-/types/jquery-galleria/ @rimig
-/types/jquery-gray/ @AndersonFriaca
-/types/jquery-handsontable/ @intelorca
-/types/jquery-jcrop/ @joeskeen
-/types/jquery-jsonrpcclient/ @Ty3uK
-/types/jquery-knob/ @iain8
-/types/jquery-lazyload/ @AndersonFriaca
-/types/jquery-loading-overlay/ @AndersonFriaca
-/types/jquery-mask-plugin/ @avidenic @AndersonFriaca
-/types/jquery-maskmoney/ @AndersonFriaca
-/types/jquery-match-height/ @kbytesys
-/types/jquery-mockjax/ @laszlojakab @vladeck @hasaki
-/types/jquery-mouse-exit/ @AndersonFriaca
-/types/jquery-mousewheel/ @xt0rted
-/types/jquery-next-id/ @AndersonFriaca
-/types/jquery-notifier/ @allipierre
-/types/jquery-param/ @patsissons
-/types/jquery-slugify/ @AndersonFriaca
-/types/jquery-sortable/ @Seltzer
-/types/jquery-steps/ @jblank @nickwph
-/types/jquery-sticky/ @maixiu
-/types/jquery-tags-input/ @AndersonFriaca
-/types/jquery-timeentry/ @marknadig
-/types/jquery-toast-plugin/ @viqashussain
-/types/jquery-toastmessage-plugin/ @joeskeen
-/types/jquery-truncate-html/ @abraaoalves
-/types/jquery-urlparam/ @stpettersens
-/types/jquery-validation-unobtrusive/ @EnableSoftware
-/types/jquery.address/ @martinduparc @mardaneus86
-/types/jquery.appear/ @AndersonFriaca
-/types/jquery.are-you-sure/ @jonegerton
-/types/jquery.autosize/ @kingdango
-/types/jquery.bbq/ @sunetos
-/types/jquery.bootstrap.wizard/ @niemyjski @dennisahlin
-/types/jquery.browser/ @AndersonFriaca
-/types/jquery.cleditor/ @pushplay
-/types/jquery.clientsidelogging/ @diullei
-/types/jquery.color/ @derekcicerone
-/types/jquery.colorbox/ @gjunge
-/types/jquery.colorpicker/ @pushplay
-/types/jquery.contextmenu/ @nvivo
-/types/jquery.cookie/ @RoyGoode @BenLorantfy
-/types/jquery.customselect/ @adamcoulombe
-/types/jquery.cycle2/ @dnadolny
-/types/jquery.dropotron/ @cyrilschumacher
-/types/jquery.dynatree/ @fdecampredon
-/types/jquery.elang/ @sumegizoltan
-/types/jquery.fancytree/ @alphaleonis @abedi-ir @niikoo @Nitecube
-/types/jquery.filtertable/ @totpero
-/types/jquery.finger/ @maxackley
-/types/jquery.flagstrap/ @felipedgarcia
-/types/jquery.fullscreen/ @piraveen
-/types/jquery.gridster/ @jbaldwin
-/types/jquery.growl/ @yeganemehr
-/types/jquery.highlight-bartaz/ @Pro
-/types/jquery.jnotify/ @jamescurran
-/types/jquery.joyride/ @vbortone
-/types/jquery.jsignature/ @pjmagee
-/types/jquery.leanmodal/ @FinelySliced
-/types/jquery.livestampjs/ @vbortone
-/types/jquery.nicescroll/ @Wkalmar
-/types/jquery.notify/ @evil-shrike
-/types/jquery.notifybar/ @zaneli
-/types/jquery.noty/ @kingdango @thelfensdrfer
-/types/jquery.payment/ @ejsmith @johnrutherford
-/types/jquery.pin/ @AndersonFriaca
-/types/jquery.pjax/ @lijunle
-/types/jquery.placeholder/ @majorsilence @EnableSoftware
-/types/jquery.pnotify/ @DavidSichau @FUNExtreme
-/types/jquery.postmessage/ @lijunle
-/types/jquery.prettyphoto/ @pgaske
-/types/jquery.qrcode/ @danmana
-/types/jquery.rateit/ @gjunge
-/types/jquery.rowgrid/ @vinayak-garg
-/types/jquery.scrollto/ @nestalk
-/types/jquery.simplemodal/ @ForNeVeR
-/types/jquery.simplepagination/ @nvivo
-/types/jquery.simulate/ @derekcicerone
-/types/jquery.slimscroll/ @Promact
-/types/jquery.soap/ @tigerxy
-/types/jquery.sortelements/ @tbureck
-/types/jquery.stickem/ @davidmpaz
-/types/jquery.superlink/ @niemyjski
-/types/jquery.tagsmanager/ @vbortone
-/types/jquery.tile/ @zaneli
-/types/jquery.timepicker/ @anwarjaved
-/types/jquery.timer/ @JoshStrobl
-/types/jquery.tinycarousel/ @csrakowski
-/types/jquery.tinyscrollbar/ @csrakowski
-/types/jquery.tipsy/ @bdukes
-/types/jquery.tools/ @joeskeen
-/types/jquery.total-storage/ @JeremyCBrooks
-/types/jquery.transit/ @MrBigDog2U
-/types/jquery.ui.datetimepicker/ @dougajmcdonald
-/types/jquery.ui.layout/ @Steve-Fenton @drarmstr
-/types/jquery.uniform/ @flyfishMT
-/types/jquery.validation/ @fdecampredon @johnnyreilly @avidenic
-/types/jquery.watermark/ @anwarjaved
-/types/jquerymobile/ @borisyankov
-/types/jqueryui/ @borisyankov @johnnyreilly
-/types/js-base64/ @DenisCarriere @tlent
-/types/js-beautify/ @JoshuaKGoldberg @hansrwindhoff
-/types/js-clipper/ @omni360
-/types/js-combinatorics/ @outring
-/types/js-cookie/ @theodorejb @BendingBender
-/types/js-data-angular/ @reppners
-/types/js-fixtures/ @kazimanzurrashid
-/types/js-git/ @Bartvds
-/types/js-md5/ @mwmccarthy
-/types/js-money/ @kanatkubash
-/types/js-nacl/ @ethanfrey
-/types/js-quantities/ @wrummler
-/types/js-schema/ @marcinporebski @roblabat
-/types/js-search/ @guoyunhe
-/types/js-sha512/ @nicojs
-/types/js-string-escape/ @viralpickaxe
-/types/js-to-java/ @skyitachi
-/types/js-url/ @pine613
-/types/js-yaml/ @Bartvds @sclausen
-/types/js.spec/ @mattbishop
-/types/jsbn/ @Evgenus @al2xed
-/types/jschannel/ @yitzchok
-/types/jscrollpane/ @qcz
-/types/jsdeferred/ @minodisk
-/types/jsdom/ @leonard-thieu
-/types/jsen/ @vladeck
-/types/jsend/ @CaselIT
-/types/jsesc/ @Bartvds
-/types/jsfl/ @soywiz
-/types/jsforce/ @dolanmiu @netes @amphro @tnoonan-salesforce @whiteabelincoln
-/types/jshamcrest/ @dharkness
-/types/jsmockito/ @shiver-me-timbers
-/types/jsnox/ @stkb @DovydasNavickas
-/types/json-js/ @NN---
-/types/json-merge-patch/ @senyaarseniy
-/types/json-parse-better-errors/ @DanielRosenwasser
-/types/json-patch/ @vvakame
-/types/json-patch-gen/ @RohdeK
-/types/json-pointer/ @Bartvds
-/types/json-query/ @mtraynham
-/types/json-rpc-ws/ @npenin @mlamp
-/types/json-schema/ @bcherny @cyrilletuzi @lucianbuzzo
-/types/json-socket/ @svi3c
-/types/json-stable-stringify/ @mhfrantz
-/types/json-stringify-safe/ @BendingBender
-/types/json2csv/ @juanjoDiaz
-/types/json2md/ @MartynasZilinskas
-/types/json3/ @NN---
-/types/jsonata/ @nick121212
-/types/jsoneditor/ @alejo90
-/types/jsoneditor-for-react/ @joshuakgoldberg
-/types/jsoneditoronline/ @vbortone
-/types/jsonfile/ @dbowring
-/types/jsonic/ @jacobbubu
-/types/jsonminify/ @no23reason
-/types/jsonnet/ @hookclaw
-/types/jsonp/ @surenkov
-/types/jsonpath/ @horiuchi @ikatyang
-/types/jsonrpc-serializer/ @Akim95 @many20
-/types/jsonstream/ @Bartvds
-/types/jsontoxml/ @benstevens48
-/types/jsonwebtoken/ @SomaticIT @danielheim @brikou @vpk
-/types/jsonwebtoken-promisified/ @SomaticIT @danielheim @brikou @aneilbaboo
-/types/jspdf/ @amberjs
-/types/jsqrcode/ @lordazzi
-/types/jsrender/ @zakki
-/types/jsreport-core/ @taoqf
-/types/jsreport-html-to-xlsx/v1/ @me
-/types/jsreport-html-to-xlsx/ @me
-/types/jsreport-jsrender/ @taoqf
-/types/jsreport-phantom-pdf/ @taoqf
-/types/jsreport-xlsx/ @taoqf
-/types/jsrp/ @harryshipton
-/types/jss/ @appsforartists @kof @pelotom
-/types/jssha/ @randombk @SrTobi
-/types/jstimezonedetect/ @olamothe
-/types/jstorage/ @dflor003
-/types/jstree/ @adaskothebeast
-/types/jsts/ @StephaneAlie @jrocha
-/types/jsuite/ @darrenhillconsulting
-/types/jsuri/ @coldacid @flqw
-/types/jsurl/ @agorshkov23
-/types/jsx-chai/ @nupplaphil
-/types/jszip/ @mzeiher @forabi
-/types/jug/ @yevt
-/types/jui/ @easylogic
-/types/jui-core/ @easylogic
-/types/jui-grid/ @easylogic
-/types/just-extend/ @pe8ter
-/types/jweixin/ @taoqf @gomydodo
-/types/jwplayer/ @martinduparc @kutomer @philippguertler @danielmcgraw @bpdsw
-/types/jws/ @JustinBeckwith
-/types/jwt-client/ @timoteoponce
-/types/jwt-decode/v1/ @QuatroDevOfficial
-/types/jwt-decode/ @GiedriusGrabauskas @madsmadsen
-/types/jwt-express/ @nickp10
-/types/jwt-simple/ @kenfdev @GaelMagnan
-/types/kafka-node/ @dansitu @bkim54 @sfrooster @amiram
-/types/karma/ @tkrotoff @43081j
-/types/karma-chai/ @JayAndCatchFire
-/types/karma-chai-sinon/ @vasek17
-/types/karma-coverage/ @tkrotoff
-/types/karma-fixture/ @evictor @afshawnlotfi
-/types/karma-jasmine/ @michelsalib
-/types/karma-viewport/ @karak
-/types/karma-webpack/ @mtraynham
-/types/katex/ @mrand01
-/types/kcors/ @Xstoudi @izayoiko
-/types/kdbush/ @DenisCarriere
-/types/keen-tracking/ @rui-ferreira
-/types/kefir/ @AyaMorisawa @HitoriSensei
-/types/kendo-ui/ @telerik
-/types/keyboardjs/ @vbortone @piranha771
-/types/keygrip/ @jkeylu
-/types/keymaster/ @nitram509
-/types/keymirror/ @jfahrenkrug
-/types/keypress.js/ @rcchen
-/types/keysym/ @harryshipton
-/types/keytar/ @miniak @shiftkey @juturu
-/types/keyv/ @Arylo
-/types/kik-browser/ @joelday
-/types/klaw/v1/ @mceachen
-/types/klaw/ @mceachen
-/types/klaw-sync/ @shiftkey
-/types/kms-json/ @sunnyone
-/types/knex/ @tkQubo @baronfel @MeLlamoPablo @mastermatt @micksatana @shreyjain1994
-/types/knex-postgis/ @vesse
-/types/knockback/ @borisyankov
-/types/knockout/ @borisyankov @Igorbek @moonpyk @EnableSoftware @BenjaminEckardt @ffMathy
-/types/knockout-amd-helpers/ @DavidSichau
-/types/knockout-secure-binding/ @pine613
-/types/knockout-transformations/ @johnnyreilly @Nemo157
-/types/knockout.deferred.updates/ @sgaliano
-/types/knockout.editables/ @borisyankov
-/types/knockout.es5/ @sgaliano
-/types/knockout.kogrid/ @huer12
-/types/knockout.mapper/ @BMeyerKC
-/types/knockout.mapping/ @borisyankov @ffMathy
-/types/knockout.projections/ @johnnyreilly
-/types/knockout.punches/ @johnnyreilly
-/types/knockout.rx/ @Igorbek
-/types/knockout.validation/ @danludwig
-/types/knockout.viewmodel/ @oising
-/types/knockstrap/ @adaskothebeast
-/types/knuddels-userapps-api/ @Knuddels
-/types/ko.plus/ @conficient
-/types/koa/ @DavidCai1993 @jkeylu @brikou
-/types/koa-basic-auth/ @Tobias4872
-/types/koa-bodyparser/ @hellopao @anup-2s
-/types/koa-cache-control/ @pe8ter
-/types/koa-compose/ @jkeylu
-/types/koa-compress/ @hellopao
-/types/koa-conditional-get/ @wingsbob
-/types/koa-csrf/ @haskaalo
-/types/koa-etag/ @wingsbob
-/types/koa-favicon/ @hellopao
-/types/koa-generic-session/ @nsimmons @Ragg-
-/types/koa-hbs/ @jcbmln @mudkipme
-/types/koa-helmet/ @me
-/types/koa-joi-router/ @wingsbob
-/types/koa-json/ @brooklyndev
-/types/koa-json-error/ @mudkipme
-/types/koa-logger/ @geoffreak @tlaziuk
-/types/koa-logger-winston/ @stevehipwell
-/types/koa-morgan/ @vesse
-/types/koa-mount/ @amirsaber @tlaziuk
-/types/koa-multer/ @benstevens48
-/types/koa-passport/ @horiuchi @tlaziuk @brendtumi
-/types/koa-pino-logger/ @khell
-/types/koa-pug/ @Xstoudi
-/types/koa-range/ @strax
-/types/koa-redis/ @nsimmons
-/types/koa-response-time/ @thorsedeke
-/types/koa-route/ @migstopheles @jacogr
-/types/koa-router/ @hellopao @schfkt @JounQin
-/types/koa-send/ @pe8ter @tlaziuk
-/types/koa-session/ @kerol2r20 @tlaziuk
-/types/koa-session-minimal/ @longztian
-/types/koa-sslify/ @wingsbob
-/types/koa-static/ @hellopao @tlaziuk
-/types/koa-static-cache/ @JounQin
-/types/koa-views/ @brooklyndev
-/types/koa-webpack/ @malj @leebenson @miZyind @tlaziuk
-/types/koa-websocket/ @moimael @jacogr
-/types/koa-xml-body/ @uwinkelvos
-/types/koa2-cors/ @xialeistudio
-/types/koa__cors/ @Xstoudi @izayoiko @stevehipwell
-/types/kolite/ @borisyankov
-/types/konami.js/ @mareek
-/types/kraken-js/ @darkwebdev @micksatana
-/types/kramed/ @tonicblue
-/types/kss/ @giladgray
-/types/kue/ @drudge @amiram @pc-jedi @deerawan
-/types/kurento-utils/ @nenadalm @riggs
-/types/kuromoji/ @mzsm @kgtkr
-/types/lab/ @prashaantt
-/types/ladda/ @dflor003 @leemicw
-/types/lasso/ @darkwebdev
-/types/later/ @jasond-s
-/types/latinize/ @GiedriusGrabauskas
-/types/latlon-geohash/ @rimig
-/types/launchpad/ @rictic
-/types/lazy-value/ @ikatyang
-/types/lazy.js/ @Bartvds
-/types/lazypipe/ @tomc974
-/types/ldapjs/ @cvillemure @peterkooijmans
-/types/leadfoot/ @theintern
-/types/leaflet/v0/ @rgripper
-/types/leaflet/ @alejo90 @atd-schubert @mcauer
-/types/leaflet-areaselect/ @awallat
-/types/leaflet-curve/ @onikiienko
-/types/leaflet-draw/ @matt-guest @reblace @YunS-Stacy @beschoenen
-/types/leaflet-editable/ @dalie
-/types/leaflet-fullscreen/ @DenisCarriere
-/types/leaflet-geocoder-mapzen/ @leezu
-/types/leaflet-gpx/ @soucekv @molnarm
-/types/leaflet-imageoverlay-rotated/ @tkleinke
-/types/leaflet-label/ @Nemo157
-/types/leaflet-mouse-position/ @Hanyon
-/types/leaflet-polylinedecorator/ @soucekv
-/types/leaflet-providers/ @BendingBender
-/types/leaflet-rotatedmarker/ @robert-prib-polestar
-/types/leaflet-routing-machine/ @chanakadrathnayaka
-/types/leaflet.awesome-markers/v0/ @Odrin @sebek64
-/types/leaflet.awesome-markers/ @sebek64
-/types/leaflet.fullscreen/ @wcomartin
-/types/leaflet.gridlayer.googlemutant/ @ernest-rhinozeros
-/types/leaflet.heat/ @onderceylan
-/types/leaflet.locatecontrol/ @DenisCarriere
-/types/leaflet.markercluster/ @rimig
-/types/leaflet.markercluster.layersupport/ @AsamK
-/types/leaflet.pancontrol/ @Brictarus
-/types/leaflet.pm/ @tkleinke
-/types/leaflet.polylinemeasure/ @RiON69
-/types/leapmotionts/ @logotype
-/types/legal-eagle/ @j-f1
-/types/lerna-get-packages/ @LogvinovLeon
-/types/less/ @thasner @pranaygp @dwaxweiler
-/types/less-middleware/ @federicobond
-/types/less2sass/ @gatimus
-/types/lestate/ @thelambdaparty
-/types/level-sublevel/ @basp
-/types/leveldown/ @tarruda
-/types/levelup/ @blittle @tarruda
-/types/leven/ @jmalonzo
-/types/levenshtein/ @geoffreak
-/types/libpq/ @Lodin
-/types/libxmljs/ @fdecampredon @ComFreek
-/types/libxslt/ @alejo90
-/types/license-checker/ @rogierschouten @unindented
-/types/lil-uuid/ @Pr1st0n
-/types/lime-js/ @arthur-xavier
-/types/line-by-line/ @etomsen
-/types/line-reader/ @stpettersens
-/types/lingui__core/ @huan086
-/types/lingui__react/ @huan086
-/types/linkify-it/ @praxxis
-/types/listr/ @durad
-/types/lls/ @borislavjivkov
-/types/load-json-file/ @SamVerschueren
-/types/loader-runner/ @e-cloud
-/types/loader-utils/ @Perlmint @TotooriaHyperion
-/types/loadjs/ @screendriver
-/types/loadware/ @ALyman
-/types/lobibox/ @itboy87
-/types/local-dynamo/ @Sicilica
-/types/localized-countries/ @coderslagoon
-/types/localizejs-library/ @salbahra
-/types/locate-path/ @me
-/types/lockfile/v0/ @Bartvds
-/types/lockfile/ @Bartvds @BendingBender
-/types/lockr/ @droritos
-/types/locutus/ @hookclaw
-/types/lodash/v3/ @bczengel @chrootsu
-/types/lodash/ @bczengel @chrootsu @stepancar @aj-r @ailrun @e-cloud @thorn0 @jtmthf @DomiR
-/types/lodash-es/ @stephenlautier @e-cloud
-/types/lodash-webpack-plugin/ @bumbleblym
-/types/lodash.add/ @bczengel @chrootsu @stepancar
-/types/lodash.after/ @bczengel @chrootsu @stepancar
-/types/lodash.ary/ @bczengel @chrootsu @stepancar
-/types/lodash.assign/ @bczengel @chrootsu @stepancar
-/types/lodash.assignin/ @bczengel @chrootsu @stepancar
-/types/lodash.assigninwith/ @bczengel @chrootsu @stepancar
-/types/lodash.assignwith/ @bczengel @chrootsu @stepancar
-/types/lodash.at/ @bczengel @chrootsu @stepancar
-/types/lodash.attempt/ @bczengel @chrootsu @stepancar
-/types/lodash.before/ @bczengel @chrootsu @stepancar
-/types/lodash.bind/ @bczengel @chrootsu @stepancar
-/types/lodash.bindall/ @bczengel @chrootsu @stepancar
-/types/lodash.bindkey/ @bczengel @chrootsu @stepancar
-/types/lodash.camelcase/ @bczengel @chrootsu @stepancar
-/types/lodash.capitalize/ @bczengel @chrootsu @stepancar
-/types/lodash.castarray/ @bczengel @chrootsu @stepancar
-/types/lodash.ceil/ @bczengel @chrootsu @stepancar
-/types/lodash.chunk/ @bczengel @chrootsu @stepancar
-/types/lodash.clamp/ @bczengel @chrootsu @stepancar
-/types/lodash.clone/ @bczengel @chrootsu @stepancar
-/types/lodash.clonedeep/ @bczengel @chrootsu @stepancar
-/types/lodash.clonedeepwith/ @bczengel @chrootsu @stepancar
-/types/lodash.clonewith/ @bczengel @chrootsu @stepancar
-/types/lodash.compact/ @bczengel @chrootsu @stepancar
-/types/lodash.concat/ @bczengel @chrootsu @stepancar
-/types/lodash.cond/ @bczengel @chrootsu @stepancar
-/types/lodash.constant/ @bczengel @chrootsu @stepancar
-/types/lodash.countby/ @bczengel @chrootsu @stepancar
-/types/lodash.create/ @bczengel @chrootsu @stepancar
-/types/lodash.curry/ @bczengel @chrootsu @stepancar
-/types/lodash.curryright/ @bczengel @chrootsu @stepancar
-/types/lodash.debounce/ @bczengel @chrootsu @stepancar
-/types/lodash.deburr/ @bczengel @chrootsu @stepancar
-/types/lodash.defaults/ @bczengel @chrootsu @stepancar
-/types/lodash.defaultsdeep/ @bczengel @chrootsu @stepancar
-/types/lodash.defer/ @bczengel @chrootsu @stepancar
-/types/lodash.delay/ @bczengel @chrootsu @stepancar
-/types/lodash.difference/ @bczengel @chrootsu @stepancar
-/types/lodash.differenceby/ @bczengel @chrootsu @stepancar
-/types/lodash.differencewith/ @bczengel @chrootsu @stepancar
-/types/lodash.divide/ @bczengel @chrootsu @stepancar
-/types/lodash.drop/ @bczengel @chrootsu @stepancar
-/types/lodash.dropright/ @bczengel @chrootsu @stepancar
-/types/lodash.droprightwhile/ @bczengel @chrootsu @stepancar
-/types/lodash.dropwhile/ @bczengel @chrootsu @stepancar
-/types/lodash.endswith/ @bczengel @chrootsu @stepancar
-/types/lodash.eq/ @bczengel @chrootsu @stepancar
-/types/lodash.escape/ @bczengel @chrootsu @stepancar
-/types/lodash.escaperegexp/ @bczengel @chrootsu @stepancar
-/types/lodash.every/ @bczengel @chrootsu @stepancar
-/types/lodash.fill/ @bczengel @chrootsu @stepancar
-/types/lodash.filter/ @bczengel @chrootsu @stepancar
-/types/lodash.find/ @bczengel @chrootsu @stepancar
-/types/lodash.findindex/ @bczengel @chrootsu @stepancar
-/types/lodash.findkey/ @bczengel @chrootsu @stepancar
-/types/lodash.findlast/ @bczengel @chrootsu @stepancar
-/types/lodash.findlastindex/ @bczengel @chrootsu @stepancar
-/types/lodash.findlastkey/ @bczengel @chrootsu @stepancar
-/types/lodash.first/ @bczengel @chrootsu @stepancar
-/types/lodash.flatmap/ @bczengel @chrootsu @stepancar
-/types/lodash.flatmapdeep/ @bczengel @chrootsu @stepancar
-/types/lodash.flatmapdepth/ @bczengel @chrootsu @stepancar
-/types/lodash.flatten/ @bczengel @chrootsu @stepancar
-/types/lodash.flattendeep/ @bczengel @chrootsu @stepancar
-/types/lodash.flattendepth/ @bczengel @chrootsu @stepancar
-/types/lodash.flip/ @bczengel @chrootsu @stepancar
-/types/lodash.floor/ @bczengel @chrootsu @stepancar
-/types/lodash.flow/ @bczengel @chrootsu @stepancar
-/types/lodash.flowright/ @bczengel @chrootsu @stepancar
-/types/lodash.foreach/ @bczengel @chrootsu @stepancar
-/types/lodash.foreachright/ @bczengel @chrootsu @stepancar
-/types/lodash.forin/ @bczengel @chrootsu @stepancar
-/types/lodash.forinright/ @bczengel @chrootsu @stepancar
-/types/lodash.forown/ @bczengel @chrootsu @stepancar
-/types/lodash.forownright/ @bczengel @chrootsu @stepancar
-/types/lodash.frompairs/ @bczengel @chrootsu @stepancar
-/types/lodash.functions/ @bczengel @chrootsu @stepancar
-/types/lodash.functionsin/ @bczengel @chrootsu @stepancar
-/types/lodash.get/ @bczengel @chrootsu @stepancar
-/types/lodash.groupby/ @bczengel @chrootsu @stepancar
-/types/lodash.gt/ @bczengel @chrootsu @stepancar
-/types/lodash.gte/ @bczengel @chrootsu @stepancar
-/types/lodash.has/ @bczengel @chrootsu @stepancar
-/types/lodash.hasin/ @bczengel @chrootsu @stepancar
-/types/lodash.head/ @bczengel @chrootsu @stepancar
-/types/lodash.identity/ @bczengel @chrootsu @stepancar
-/types/lodash.includes/ @bczengel @chrootsu @stepancar
-/types/lodash.indexof/ @bczengel @chrootsu @stepancar
-/types/lodash.initial/ @bczengel @chrootsu @stepancar
-/types/lodash.inrange/ @bczengel @chrootsu @stepancar
-/types/lodash.intersection/ @bczengel @chrootsu @stepancar
-/types/lodash.intersectionby/ @bczengel @chrootsu @stepancar
-/types/lodash.intersectionwith/ @bczengel @chrootsu @stepancar
-/types/lodash.invert/ @bczengel @chrootsu @stepancar
-/types/lodash.invertby/ @bczengel @chrootsu @stepancar
-/types/lodash.invoke/ @bczengel @chrootsu @stepancar
-/types/lodash.invokemap/ @bczengel @chrootsu @stepancar
-/types/lodash.isarguments/ @bczengel @chrootsu @stepancar
-/types/lodash.isarray/ @bczengel @chrootsu @stepancar
-/types/lodash.isarraybuffer/ @bczengel @chrootsu @stepancar
-/types/lodash.isarraylike/ @bczengel @chrootsu @stepancar
-/types/lodash.isarraylikeobject/ @bczengel @chrootsu @stepancar
-/types/lodash.isboolean/ @bczengel @chrootsu @stepancar
-/types/lodash.isbuffer/ @bczengel @chrootsu @stepancar
-/types/lodash.isdate/ @bczengel @chrootsu @stepancar
-/types/lodash.iselement/ @bczengel @chrootsu @stepancar
-/types/lodash.isempty/ @bczengel @chrootsu @stepancar
-/types/lodash.isequal/ @bczengel @chrootsu @stepancar
-/types/lodash.isequalwith/ @bczengel @chrootsu @stepancar
-/types/lodash.iserror/ @bczengel @chrootsu @stepancar
-/types/lodash.isfinite/ @bczengel @chrootsu @stepancar
-/types/lodash.isfunction/ @bczengel @chrootsu @stepancar
-/types/lodash.isinteger/ @bczengel @chrootsu @stepancar
-/types/lodash.islength/ @bczengel @chrootsu @stepancar
-/types/lodash.ismap/ @bczengel @chrootsu @stepancar
-/types/lodash.ismatch/ @bczengel @chrootsu @stepancar
-/types/lodash.ismatchwith/ @bczengel @chrootsu @stepancar
-/types/lodash.isnan/ @bczengel @chrootsu @stepancar
-/types/lodash.isnative/ @bczengel @chrootsu @stepancar
-/types/lodash.isnil/ @bczengel @chrootsu @stepancar
-/types/lodash.isnull/ @bczengel @chrootsu @stepancar
-/types/lodash.isnumber/ @bczengel @chrootsu @stepancar
-/types/lodash.isobject/ @bczengel @chrootsu @stepancar
-/types/lodash.isobjectlike/ @bczengel @chrootsu @stepancar
-/types/lodash.isplainobject/ @bczengel @chrootsu @stepancar
-/types/lodash.isregexp/ @bczengel @chrootsu @stepancar
-/types/lodash.issafeinteger/ @bczengel @chrootsu @stepancar
-/types/lodash.isset/ @bczengel @chrootsu @stepancar
-/types/lodash.isstring/ @bczengel @chrootsu @stepancar
-/types/lodash.issymbol/ @bczengel @chrootsu @stepancar
-/types/lodash.istypedarray/ @bczengel @chrootsu @stepancar
-/types/lodash.isundefined/ @bczengel @chrootsu @stepancar
-/types/lodash.isweakmap/ @bczengel @chrootsu @stepancar
-/types/lodash.isweakset/ @bczengel @chrootsu @stepancar
-/types/lodash.iteratee/ @bczengel @chrootsu @stepancar
-/types/lodash.join/ @bczengel @chrootsu @stepancar
-/types/lodash.kebabcase/ @bczengel @chrootsu @stepancar
-/types/lodash.keyby/ @bczengel @chrootsu @stepancar
-/types/lodash.keys/ @bczengel @chrootsu @stepancar
-/types/lodash.keysin/ @bczengel @chrootsu @stepancar
-/types/lodash.last/ @bczengel @chrootsu @stepancar
-/types/lodash.lastindexof/ @bczengel @chrootsu @stepancar
-/types/lodash.lowercase/ @bczengel @chrootsu @stepancar
-/types/lodash.lowerfirst/ @bczengel @chrootsu @stepancar
-/types/lodash.lt/ @bczengel @chrootsu @stepancar
-/types/lodash.lte/ @bczengel @chrootsu @stepancar
-/types/lodash.mapkeys/ @bczengel @chrootsu @stepancar
-/types/lodash.mapvalues/ @bczengel @chrootsu @stepancar
-/types/lodash.matches/ @bczengel @chrootsu @stepancar
-/types/lodash.matchesproperty/ @bczengel @chrootsu @stepancar
-/types/lodash.max/ @bczengel @chrootsu @stepancar
-/types/lodash.maxby/ @bczengel @chrootsu @stepancar
-/types/lodash.mean/ @bczengel @chrootsu @stepancar
-/types/lodash.meanby/ @bczengel @chrootsu @stepancar
-/types/lodash.memoize/ @bczengel @chrootsu @stepancar
-/types/lodash.merge/ @bczengel @chrootsu @stepancar
-/types/lodash.mergewith/ @bczengel @chrootsu @stepancar
-/types/lodash.method/ @bczengel @chrootsu @stepancar
-/types/lodash.methodof/ @bczengel @chrootsu @stepancar
-/types/lodash.min/ @bczengel @chrootsu @stepancar
-/types/lodash.minby/ @bczengel @chrootsu @stepancar
-/types/lodash.mixin/ @bczengel @chrootsu @stepancar
-/types/lodash.negate/ @bczengel @chrootsu @stepancar
-/types/lodash.noop/ @bczengel @chrootsu @stepancar
-/types/lodash.now/ @bczengel @chrootsu @stepancar
-/types/lodash.nth/ @bczengel @chrootsu @stepancar
-/types/lodash.ntharg/ @bczengel @chrootsu @stepancar
-/types/lodash.omit/ @bczengel @chrootsu @stepancar
-/types/lodash.omitby/ @bczengel @chrootsu @stepancar
-/types/lodash.once/ @bczengel @chrootsu @stepancar
-/types/lodash.orderby/ @bczengel @chrootsu @stepancar
-/types/lodash.over/ @bczengel @chrootsu @stepancar
-/types/lodash.overargs/ @bczengel @chrootsu @stepancar
-/types/lodash.overevery/ @bczengel @chrootsu @stepancar
-/types/lodash.oversome/ @bczengel @chrootsu @stepancar
-/types/lodash.pad/ @bczengel @chrootsu @stepancar
-/types/lodash.padend/ @bczengel @chrootsu @stepancar
-/types/lodash.padstart/ @bczengel @chrootsu @stepancar
-/types/lodash.parseint/ @bczengel @chrootsu @stepancar
-/types/lodash.partial/ @bczengel @chrootsu @stepancar
-/types/lodash.partialright/ @bczengel @chrootsu @stepancar
-/types/lodash.partition/ @bczengel @chrootsu @stepancar
-/types/lodash.pick/ @bczengel @chrootsu @stepancar
-/types/lodash.pickby/ @bczengel @chrootsu @stepancar
-/types/lodash.property/ @bczengel @chrootsu @stepancar
-/types/lodash.propertyof/ @bczengel @chrootsu @stepancar
-/types/lodash.pull/ @bczengel @chrootsu @stepancar
-/types/lodash.pullall/ @bczengel @chrootsu @stepancar
-/types/lodash.pullallby/ @bczengel @chrootsu @stepancar
-/types/lodash.pullallwith/ @bczengel @chrootsu @stepancar
-/types/lodash.pullat/ @bczengel @chrootsu @stepancar
-/types/lodash.random/ @bczengel @chrootsu @stepancar
-/types/lodash.range/ @bczengel @chrootsu @stepancar
-/types/lodash.rangeright/ @bczengel @chrootsu @stepancar
-/types/lodash.rearg/ @bczengel @chrootsu @stepancar
-/types/lodash.reduce/ @bczengel @chrootsu @stepancar
-/types/lodash.reduceright/ @bczengel @chrootsu @stepancar
-/types/lodash.reject/ @bczengel @chrootsu @stepancar
-/types/lodash.remove/ @bczengel @chrootsu @stepancar
-/types/lodash.repeat/ @bczengel @chrootsu @stepancar
-/types/lodash.replace/ @bczengel @chrootsu @stepancar
-/types/lodash.rest/ @bczengel @chrootsu @stepancar
-/types/lodash.result/ @bczengel @chrootsu @stepancar
-/types/lodash.reverse/ @bczengel @chrootsu @stepancar
-/types/lodash.round/ @bczengel @chrootsu @stepancar
-/types/lodash.sample/ @bczengel @chrootsu @stepancar
-/types/lodash.samplesize/ @bczengel @chrootsu @stepancar
-/types/lodash.set/ @bczengel @chrootsu @stepancar
-/types/lodash.setwith/ @bczengel @chrootsu @stepancar
-/types/lodash.shuffle/ @bczengel @chrootsu @stepancar
-/types/lodash.size/ @bczengel @chrootsu @stepancar
-/types/lodash.slice/ @bczengel @chrootsu @stepancar
-/types/lodash.snakecase/ @bczengel @chrootsu @stepancar
-/types/lodash.some/ @bczengel @chrootsu @stepancar
-/types/lodash.sortby/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedindex/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedindexby/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedindexof/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedlastindex/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedlastindexby/ @bczengel @chrootsu @stepancar
-/types/lodash.sortedlastindexof/ @bczengel @chrootsu @stepancar
-/types/lodash.sorteduniq/ @bczengel @chrootsu @stepancar
-/types/lodash.sorteduniqby/ @bczengel @chrootsu @stepancar
-/types/lodash.split/ @bczengel @chrootsu @stepancar
-/types/lodash.spread/ @bczengel @chrootsu @stepancar
-/types/lodash.startcase/ @bczengel @chrootsu @stepancar
-/types/lodash.startswith/ @bczengel @chrootsu @stepancar
-/types/lodash.subtract/ @bczengel @chrootsu @stepancar
-/types/lodash.sum/ @bczengel @chrootsu @stepancar
-/types/lodash.sumby/ @bczengel @chrootsu @stepancar
-/types/lodash.tail/ @bczengel @chrootsu @stepancar
-/types/lodash.take/ @bczengel @chrootsu @stepancar
-/types/lodash.takeright/ @bczengel @chrootsu @stepancar
-/types/lodash.takerightwhile/ @bczengel @chrootsu @stepancar
-/types/lodash.takewhile/ @bczengel @chrootsu @stepancar
-/types/lodash.template/ @bczengel @chrootsu @stepancar
-/types/lodash.throttle/ @bczengel @chrootsu @stepancar
-/types/lodash.times/ @bczengel @chrootsu @stepancar
-/types/lodash.toarray/ @bczengel @chrootsu @stepancar
-/types/lodash.tofinite/ @bczengel @chrootsu @stepancar
-/types/lodash.tointeger/ @bczengel @chrootsu @stepancar
-/types/lodash.tolength/ @bczengel @chrootsu @stepancar
-/types/lodash.tolower/ @bczengel @chrootsu @stepancar
-/types/lodash.tonumber/ @bczengel @chrootsu @stepancar
-/types/lodash.topairs/ @bczengel @chrootsu @stepancar
-/types/lodash.topairsin/ @bczengel @chrootsu @stepancar
-/types/lodash.topath/ @bczengel @chrootsu @stepancar
-/types/lodash.toplainobject/ @bczengel @chrootsu @stepancar
-/types/lodash.tosafeinteger/ @bczengel @chrootsu @stepancar
-/types/lodash.tostring/ @bczengel @chrootsu @stepancar
-/types/lodash.toupper/ @bczengel @chrootsu @stepancar
-/types/lodash.transform/ @bczengel @chrootsu @stepancar
-/types/lodash.trim/ @bczengel @chrootsu @stepancar
-/types/lodash.trimend/ @bczengel @chrootsu @stepancar
-/types/lodash.trimstart/ @bczengel @chrootsu @stepancar
-/types/lodash.truncate/ @bczengel @chrootsu @stepancar
-/types/lodash.unary/ @bczengel @chrootsu @stepancar
-/types/lodash.unescape/ @bczengel @chrootsu @stepancar
-/types/lodash.union/ @bczengel @chrootsu @stepancar
-/types/lodash.unionby/ @bczengel @chrootsu @stepancar
-/types/lodash.unionwith/ @bczengel @chrootsu @stepancar
-/types/lodash.uniq/ @bczengel @chrootsu @stepancar
-/types/lodash.uniqby/ @bczengel @chrootsu @stepancar
-/types/lodash.uniqueid/ @bczengel @chrootsu @stepancar
-/types/lodash.uniqwith/ @bczengel @chrootsu @stepancar
-/types/lodash.unset/ @bczengel @chrootsu @stepancar
-/types/lodash.unzip/ @bczengel @chrootsu @stepancar
-/types/lodash.unzipwith/ @bczengel @chrootsu @stepancar
-/types/lodash.update/ @bczengel @chrootsu @stepancar
-/types/lodash.updatewith/ @bczengel @chrootsu @stepancar
-/types/lodash.uppercase/ @bczengel @chrootsu @stepancar
-/types/lodash.upperfirst/ @bczengel @chrootsu @stepancar
-/types/lodash.values/ @bczengel @chrootsu @stepancar
-/types/lodash.valuesin/ @bczengel @chrootsu @stepancar
-/types/lodash.without/ @bczengel @chrootsu @stepancar
-/types/lodash.words/ @bczengel @chrootsu @stepancar
-/types/lodash.wrap/ @bczengel @chrootsu @stepancar
-/types/lodash.xor/ @bczengel @chrootsu @stepancar
-/types/lodash.xorby/ @bczengel @chrootsu @stepancar
-/types/lodash.xorwith/ @bczengel @chrootsu @stepancar
-/types/lodash.zip/ @bczengel @chrootsu @stepancar
-/types/lodash.zipobject/ @bczengel @chrootsu @stepancar
-/types/lodash.zipobjectdeep/ @bczengel @chrootsu @stepancar
-/types/lodash.zipwith/ @bczengel @chrootsu @stepancar
-/types/log-symbols/ @BendingBender
-/types/log-update/ @BendingBender
-/types/logat/ @krvikash35
-/types/logform/ @DABH
-/types/logg/ @blittle
-/types/loggly/ @rmartone @geoffreak
-/types/loglevel/ @Pro @szmeti @screendriver
-/types/logrotate-stream/ @rogierschouten
-/types/lokijs/ @TeamworkGuy2 @thomasconner
-/types/lolex/ @Nemo157 @joshuakgoldberg @rogierschouten
-/types/long/ @peterkooijmans
-/types/loopback/ @kattsushi @enko @sequoia @drmikecrowe @karimsa
-/types/loopback-boot/ @kattsushi
-/types/lorem-ipsum/ @durad
-/types/lory.js/ @kubosho @milkisevil
-/types/loud-rejection/ @BendingBender
-/types/lovefield/ @freshp86
-/types/lowdb/ @typicode @niieani
-/types/lowlight/ @NoHomey
-/types/lozad/ @plantain-00
-/types/lru-cache/ @Bartvds @BendingBender
-/types/lscache/ @Chris-Martinezz
-/types/ltx/ @PJakcson
-/types/luaparse/ @stpettersens
-/types/lunr/v0/ @sebastian-lenz
-/types/lunr/ @seantanly
-/types/lusca/ @crutchcorn
-/types/luxon/ @colbydehart @FourwingsY @jsiebern
-/types/lwip/ @AyaMorisawa
-/types/lz-string/ @M0ns1gn0r
-/types/magic-number/ @stpettersens
-/types/magicsuggest/ @leonardochaia
-/types/magnet-uri/ @tlaziuk
-/types/mailcheck/ @pocesar
-/types/maildev/ @cyrilschumacher @zbarbuto
-/types/mailgen/ @vothanhkiet @jordanfarrer
-/types/mailgun-js/ @sampsonjoliver
-/types/mailparser/ @psnider
-/types/main-bower-files/ @k-kagurazaka
-/types/make-dir/ @ikatyang @BendingBender
-/types/maker.js/ @danmarshall
-/types/mandrill-api/ @pocesar
-/types/map-obj/ @BendingBender
-/types/mapbox/ @anahkiasen
-/types/mapbox-gl/ @dobrud @patrickr
-/types/mapbox-gl-leaflet/ @agorshkov23
-/types/mapbox__geojson-area/ @n0nick
-/types/mapbox__shelf-pack/ @Perlmint
-/types/mapnik/ @ipv4sec
-/types/mapsjs/ @davismj
-/types/mariasql/ @bennett000
-/types/mark.js/ @renjfk @RomanGotsiy
-/types/markdown-it/ @rapropos
-/types/markdown-it-anchor/ @seryl
-/types/markdown-it-container/ @hronex
-/types/markdownlint/ @ark120202
-/types/marked/ @worr @BendingBender @CrossR
-/types/marker-animate-unobtrusive/ @viskin
-/types/markerclustererplus/ @enanox @mxl
-/types/markitup/ @drillbits
-/types/marko/ @darkwebdev
-/types/maskedinput/ @lokeshpeta
-/types/masonry-layout/ @m-a-wilson @warriorrocker
-/types/massive/v3/ @swissspidy @clarenceh
-/types/massive/ @swissspidy @clarenceh @AmazingTurtle
-/types/match-media-mock/ @asvetliakov
-/types/match-sorter/ @claasahl
-/types/material-components-web/ @BrentDouglas @ckosti
-/types/material-design-lite/ @bradzacher
-/types/material-ui/ @ngbrown @theigor @alitaheri @herrmanno @DaIgeb @allienna @schlesingermatthias @InsidersByte @artyomsv @dan-j @minodisk @samwalshnz @reggino
-/types/material-ui-datatables/ @coding2012
-/types/material__animation/ @BrentDouglas @ckosti
-/types/material__auto-init/ @BrentDouglas @ckosti
-/types/material__base/ @BrentDouglas @ckosti
-/types/material__checkbox/ @BrentDouglas @ckosti
-/types/material__chips/ @BrentDouglas @ckosti
-/types/material__dialog/ @BrentDouglas @ckosti
-/types/material__drawer/ @BrentDouglas @ckosti
-/types/material__floating-label/ @BrentDouglas @ckosti
-/types/material__form-field/ @BrentDouglas @ckosti
-/types/material__grid-list/ @BrentDouglas @ckosti
-/types/material__icon-toggle/ @BrentDouglas @ckosti
-/types/material__line-ripple/ @BrentDouglas @ckosti
-/types/material__linear-progress/ @BrentDouglas @ckosti
-/types/material__menu/ @BrentDouglas @ckosti
-/types/material__notched-outline/ @BrentDouglas @ckosti
-/types/material__radio/ @BrentDouglas @ckosti
-/types/material__ripple/ @BrentDouglas @ckosti
-/types/material__select/ @BrentDouglas @ckosti
-/types/material__selection-control/ @BrentDouglas @ckosti
-/types/material__slider/ @BrentDouglas @ckosti
-/types/material__snackbar/ @BrentDouglas @ckosti
-/types/material__tab/ @BrentDouglas @ckosti
-/types/material__tabs/ @BrentDouglas @ckosti
-/types/material__textfield/ @BrentDouglas @ckosti
-/types/material__toolbar/ @BrentDouglas @ckosti
-/types/material__top-app-bar/ @BrentDouglas @ckosti
-/types/materialize-css/v0/ @eriklieben @leonyu @SinghSukhdeep @jfcere @scote @LiadIdan
-/types/materialize-css/ @huww98 @MaximBalaganskiy @MonizDave @broccoliarchy
-/types/math3d/ @laszlojakab @jimsmart
-/types/mathjax/ @rolandzwaga
-/types/mathjs/ @siavol @andnp @bradbesserman
-/types/matter-js/ @piranha771 @hasparus
-/types/maxmind/ @geoffreak
-/types/mcustomscrollbar/ @flurg
-/types/md5/ @arcdev1 @jprogrammer
-/types/mdns/ @reppners
-/types/mdurl/ @rokt33r
-/types/media-typer/ @BendingBender
-/types/medium-editor/ @keika299 @pascaliske
-/types/mem/ @SamVerschueren
-/types/mem-fs/ @MyFoodBag
-/types/mem-fs-editor/ @MyFoodBag
-/types/memcached/ @KentarouTakeda
-/types/memoize-one/ @karol-majewski @franklixuefei
-/types/memoizee/ @juanpicado
-/types/memory-cache/ @jedigo @thieman
-/types/memory-fs/ @e-cloud
-/types/memwatch-next/ @cyrilschumacher
-/types/meow/ @KnisterPeter @praxxis @bitjson
-/types/merge-descriptors/ @danny8002
-/types/merge-stream/ @k-kagurazaka @daniel-zazula
-/types/merge2/ @tkrotoff @smac89
-/types/merkle/ @kerol2r20
-/types/mermaid/ @ggilmore
-/types/mersenne-twister/ @KentarouTakeda
-/types/meshblu/ @fnipo
-/types/mess/ @Nemo157
-/types/messenger/ @derekcicerone
-/types/meteor/ @barbatus @fullflavedave @orefalo @dagatsoin @birkskyum @ardatan @stefanholzapfel @andrei-markeev
-/types/meteor-accounts-phone/ @DAB0mB
-/types/meteor-collection-hooks/ @twastvedt
-/types/meteor-jboulhous-dev/ @vangorra
-/types/meteor-persistent-session/ @vangorra
-/types/meteor-prime8consulting-oauth2/ @vangorra
-/types/meteor-publish-composite/ @vangorra
-/types/meteor-roles/ @vangorra @mattmm3d
-/types/meteor-univserse-i18n/ @mathewmeconry
-/types/method-override/ @santialbo
-/types/methods/ @cprecioso
-/types/metric-suffix/ @davidm77
-/types/mfiles/ @avonwyss
-/types/micro/ @kaoDev
-/types/micro-cors/ @CallumDenby
-/types/micromatch/v2/ @glen-84
-/types/micromatch/ @glen-84 @vemoo
-/types/microrouter/ @mathieudutour
-/types/microsoft-ajax/ @pjmagee
-/types/microsoft-live-connect/ @jvilk
-/types/microsoft-sdk-soap/ @markusmauch
-/types/microsoftteams/ @WrathOfZombies @jayongg @ydogandjiev
-/types/microtime/ @vincekovacs
-/types/milkcocoa/ @odangosan
-/types/millisecond/ @xeoneux
-/types/mime/ @jedigo @dhritzkiv
-/types/mime-db/ @AJamesPhillips
-/types/mime-types/ @Perlmint
-/types/mimos/ @AJamesPhillips
-/types/mina/ @lhk @mattanja @kant2002
-/types/mini-css-extract-plugin/ @JounQin
-/types/minimatch/ @vvakame @shantmarouti
-/types/minimist/ @Bartvds @Necroskillz @kamranayub
-/types/minimist-options/ @ikatyang
-/types/minio/ @barinbritva @castorw @loremaps
-/types/minipass/ @BendingBender
-/types/mirrorx/ @aaronphy
-/types/mithril/ @spacejack @andraaspar @isiahmeadows
-/types/mithril-global/ @spacejack @isiahmeadows
-/types/mitm/ @alejo90
-/types/mixpanel/ @hjellek @Manduro
-/types/mixto/ @vvakame
-/types/mjml/ @aahoughton
-/types/mkdirp/ @Bartvds @mrmlnc
-/types/mkdirp-promise/ @pluma
-/types/mkpath/ @optical
-/types/mobx-apollo/ @pselden
-/types/mobx-devtools-mst/ @pluma
-/types/mocha/ @kazimanzurrashid @otiai10 @jt000 @enlight @cspotcode @1999
-/types/mocha-each/ @magnostherobot
-/types/mocha-phantomjs/ @ErikSchierboom
-/types/mocha-steps/ @Arylo
-/types/mochaccino/ @thomas-p
-/types/mock-aws-s3/ @bluehatbrit
-/types/mock-fs/ @Nemo157 @tkqubo
-/types/mock-knex/ @jessezhang91
-/types/mock-raf/ @djpereira
-/types/mock-require/ @gDelgado14
-/types/mockdate/ @brunolm
-/types/mockery/ @jt000
-/types/modernizr/ @borisyankov @theodorejb @leonyu @lucax88x @nhardy
-/types/modesl/ @neeschit
-/types/module-alias/ @KevinRamharak
-/types/moji/ @yasupeke
-/types/moment-business/ @wonbyte
-/types/moment-business-time/ @swist
-/types/moment-duration-format/ @SwintDC @TwoStone @leonard-thieu @bendykowski
-/types/moment-holiday/ @rwdalpe
-/types/moment-jalaali/ @alitaheri
-/types/moment-range/ @Burgov @wilgert @franjuan @MartynasZilinskas
-/types/moment-round/ @jacobbaskin
-/types/moment-shortformat/ @whatasoda
-/types/moment-strftime2/ @dex4er
-/types/moment-timezone/ @michelsalib @alanblins
-/types/mongo-sanitize/ @CedricCazin
-/types/mongodb/v2/ @CaselIT @alanmarcell @kikar @bitjson @dante-101 @mcortesi
-/types/mongodb/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian @denys-bushulyak @BastienAr @sindbach
-/types/mongodb-memory-server/ @dmitryrogozhny
-/types/mongodb-uri/ @mernxl
-/types/mongoose/v4/ @simonxca @horiuchi @sindrenm @lukasz-zak
-/types/mongoose/ @horiuchi @sindrenm @lukasz-zak @Alorel @jendrikw @ethanresnick @vologab @jussikinnula
-/types/mongoose-auto-increment/ @AyaMorisawa
-/types/mongoose-deep-populate/ @AyaMorisawa
-/types/mongoose-geojson-schema/ @bondz
-/types/mongoose-mock/ @jt000
-/types/mongoose-paginate/ @linusbrolin @simonxca
-/types/mongoose-promise/ @simonxca
-/types/mongoose-seeder/ @Crevil
-/types/mongoose-sequence/ @linusbrolin
-/types/mongoose-simple-random/ @rsxdalv
-/types/mongoose-unique-validator/ @stevehipwell
-/types/mongorito/ @pinguet62
-/types/moo/ @deltaidea @MofX
-/types/moonjs/ @DanielRosenwasser
-/types/morgan/ @staticfunction @pscanf
-/types/morphdom/ @arvitaly
-/types/morris.js/ @mareek @sindilevich
-/types/mosca/ @GabrielGouv
-/types/motor-hat/ @muntyan
-/types/mousetrap/ @qcz
-/types/move-concurrently/ @mgroenhoff
-/types/moviedb/ @basarat @0x6368656174
-/types/moxios/ @itoasuka
-/types/mozilla-readability/ @charlesvdv
-/types/mozjpeg/ @hikoma
-/types/mpromise/ @sgkim126
-/types/mri/ @shiftkey @j-f1
-/types/ms/ @danny8002
-/types/msgpack-lite/ @endel @efokschaner
-/types/msgpack5/ @wokim @heycalmdown
-/types/msnodesql/ @borisyankov @SomaticIT
-/types/msportalfx-test/ @julioct
-/types/mssql/ @jaminfarr @buzinas @mrrichar @elhaard @pkeuter @mcdado
-/types/mu2/ @jedigo
-/types/muicss/ @samuelneff
-/types/multer/ @jt000 @DavidBR-SW @mxl @hyunseob
-/types/multer-gridfs-storage/v1/ @devconcept
-/types/multer-gridfs-storage/ @devconcept
-/types/multer-s3/ @tcaesvk @galtalmor @terski
-/types/multi-typeof/ @mhegazy
-/types/multimatch/ @stephenlautier
-/types/multiparty/ @kenfdev
-/types/multiplexjs/ @KamyarNazeri
-/types/multisort/ @CzBuCHi
-/types/multistream/ @mrmlnc @kenzierocks
-/types/muri/ @jloveridge
-/types/murmurhash/ @atd-schubert
-/types/murmurhash-js/ @cvle
-/types/murmurhash3js/ @dlee-nvisia
-/types/musicmetadata/ @Xstoudi
-/types/mustache/ @markashleybell @manuth
-/types/mv/ @nenadalm
-/types/mysql/ @wjohnsto @kacepe @kpping @jdmunro
-/types/mz/ @ThomasHickman
-/types/n3/ @phreed
-/types/named-regexp-groups/ @jewbre
-/types/named-routes/ @qqilihq
-/types/nano/ @timjacobi @vincekovacs
-/types/nanoajax/ @nathancahill
-/types/nanographql/ @cdaringe
-/types/nanoid/ @bash
-/types/nanomsg/ @titan
-/types/nanoscroller/ @zihark17
-/types/nanp/ @karn
-/types/nats-hemera/ @vforv
-/types/natsort/ @mgroenhoff
-/types/natural/ @dmoonfire
-/types/natural-sort/ @a-morales @fluggo
-/types/navermaps/ @ckboyjiy
-/types/navigation/ @grahammendick
-/types/navigation-react/ @grahammendick
-/types/navigo/ @aersamkull @dancespiele @deini
-/types/nblas/ @erikgerrits
-/types/nconf/ @jedigo @jmthibault
-/types/ncp/ @bartvds
-/types/ndarray/ @pawsong @taoqf
-/types/nearley/ @deltaidea @BendingBender
-/types/nedb/ @reppners @anthonynichols
-/types/nedb-logger/ @thisboyiscrazy
-/types/needle/v0/ @bigsan
-/types/needle/v1/ @bigsan @nikeee
-/types/needle/ @bigsan @nikeee @sindilevich
-/types/negotiator/ @BendingBender
-/types/neo4j/ @cyrilschumacher
-/types/nes/ @NoHomey @saboya
-/types/net-keepalive/ @hertzg
-/types/netmask/ @mhfrantz
-/types/network-interfaces/ @anderswestberg
-/types/new-relic-browser/ @renehamburger @piotrkubisa
-/types/newline-remove/ @OpenByteDev
-/types/newman/ @LogvinovLeon
-/types/newrelic/ @mastermatt
-/types/nexpect/ @vvakame
-/types/next/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira
-/types/next-redux-wrapper/ @stevegeek
-/types/ng-command/ @stephenlautier
-/types/ng-cordova/ @ksachdeva
-/types/ng-dialog/ @stephenlautier
-/types/ng-facebook/ @Crevil
-/types/ng-file-upload/ @johnnyreilly @thewarpaint
-/types/ng-flow/ @ryan10132
-/types/ng-grid/ @smithkl42 @rolandzwaga @kentcooper
-/types/ng-i18next/ @cyrilschumacher
-/types/ng-notify/ @nzamosenchuk
-/types/ng-stomp/ @lpotapczuk
-/types/ng-tags-input/ @GiorgosPap
-/types/ngbootbox/ @stpettersens
-/types/ngeohash/ @erkie
-/types/ngkookies/ @martinmcwhorter
-/types/ngmap/ @nkovacic
-/types/ngprogress/ @martinmcwhorter
-/types/ngprogress-lite/ @LukeForder
-/types/ngreact/ @velveret
-/types/ngsijs/ @guillermofr
-/types/ngstorage/ @kubiq
-/types/ngtoaster/ @btesser
-/types/ngwysiwyg/ @patrick-mackay
-/types/nightmare/ @horiuchi @samyang-au @Bleser92
-/types/nightwatch/ @rkavalap @schlesiger
-/types/nivo-slider/ @AndersonFriaca
-/types/noble/ @swook @shantanubhadoria @lukel99 @bioball @keton @thegecko
-/types/nock/ @bonnici @horiuchi @afharo @mastermatt @damour @paambaati
-/types/nodal/ @charrondev
-/types/node/v4/ @eps1lon @Archcry
-/types/node/v6/ @WilcoBakker @inlined @eps1lon @Alorel @KSXGitHub @Archcry
-/types/node/v7/ @parambirs @tellnes @WilcoBakker @eps1lon @KSXGitHub @Archcry
-/types/node/v8/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e @brunoscheufler @KSXGitHub @islishude @r3nya
-/types/node/v9/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya
-/types/node/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya @ZaneHannanAU
-/types/node-7z/ @erkie
-/types/node-array-ext/ @Beng89
-/types/node-cache/ @chrootsu @dthunell @useltmann
-/types/node-calendar/ @luzianz
-/types/node-cleanup/ @agadar
-/types/node-cron/ @maximelkin
-/types/node-dijkstra/ @nokutu
-/types/node-dir/ @panuhorsmalahti
-/types/node-dogstatsd/ @chrisbobo
-/types/node-emoji/ @jonestristand @styu
-/types/node-fetch/ @torstenwerner @nikcorg
-/types/node-fibers/ @caryhaynie
-/types/node-forge/ @westy92 @flynetworks @a-k-g @rafal2228
-/types/node-gcm/ @horiuchi
-/types/node-geocoder/ @rosek86
-/types/node-getopt/ @kcauchy
-/types/node-hid/ @mhegazy @ert78gb @thegecko
-/types/node-horseman/ @apratheek
-/types/node-hue-api/ @fjmorel
-/types/node-int64/ @x3cion @kevin-greene-ck
-/types/node-ipc/ @arvitaly @gjurgens
-/types/node-jsfl-runner/ @mrand01
-/types/node-json-db/ @kuzn-ilya
-/types/node-memwatch/ @Kroisse
-/types/node-mysql-wrapper/ @kataras
-/types/node-notifier/ @tkQubo
-/types/node-polyglot/ @timjk
-/types/node-powershell/ @rodrigoff
-/types/node-pushnotifications/ @menushka
-/types/node-ral/ @ssddi456
-/types/node-red/ @andersea @tbowmo
-/types/node-rsa/ @alitaheri @xm
-/types/node-schedule/ @cyrilschumacher @flowpl
-/types/node-slack/ @tkQubo
-/types/node-snap7/ @heilingbrunner
-/types/node-sprite-generator/ @Perlmint
-/types/node-ssdp/ @OrionNebula
-/types/node-static/ @Morfent
-/types/node-statsd/ @alexturek @convoyinc
-/types/node-telegram-bot-api/ @ammuench @agadar @Dabolus @Kallu609 @XC-Zhang
-/types/node-uuid/ @jeffmay
-/types/node-validator/ @kengorab
-/types/node-vault/ @YuJianrong
-/types/node-wit/ @julienduf
-/types/node-xmpp-client/ @PJakcson
-/types/node-xmpp-core/ @PJakcson
-/types/node-zookeeper-client/ @plantain-00 @jessezhang91
-/types/node-zopfli/ @Alorel
-/types/node_redis/ @borisyankov
-/types/nodecredstash/ @migstopheles
-/types/nodegit/ @dolanmiu @tniessen
-/types/nodemailer/v3/ @rogierschouten
-/types/nodemailer/ @rogierschouten @dex4er @bioball
-/types/nodemailer-direct-transport/ @rogierschouten
-/types/nodemailer-mailgun-transport/ @otociulis
-/types/nodemailer-pickup-transport/ @psnider
-/types/nodemailer-ses-transport/ @westy92
-/types/nodemailer-smtp-pool/ @rogierschouten
-/types/nodemailer-smtp-transport/ @rogierschouten
-/types/nodemailer-stub-transport/ @cyrilschumacher
-/types/nodeunit/ @jedigo
-/types/noisejs/ @izmhr
-/types/nomnom/ @panopticoncentral
-/types/nopt/ @jbondc
-/types/normalize-package-data/ @jdxcode
-/types/normalize-url/ @odin3 @BendingBender
-/types/notie/ @mateusdemboski
-/types/notify/ @hellochar
-/types/notifyjs/ @soundTricker @NateScarlet
-/types/notifyjs-browser/ @bahman616
-/types/notyf/ @gurov
-/types/nouislider/v7/ @acoreyj
-/types/nouislider/v8/ @bleuarg
-/types/nouislider/ @bleuarg @lagaffe
-/types/novnc-core/ @smithkl42 @BendingBender
-/types/npm/ @SomaticIT
-/types/npm-package-arg/ @mgroenhoff
-/types/npm-packlist/ @ajafff
-/types/npmlog/ @DanielMSchmidt
-/types/ns-api/ @Archcry
-/types/nslog/ @unindented
-/types/nsqjs/ @cezaryrk
-/types/nuka-carousel/ @Romic
-/types/number-is-nan/ @mhegazy
-/types/number-to-words/ @frederickfogerty
-/types/numeral/ @vbortone
-/types/numjs/ @taoqf
-/types/nunjucks/ @RubenSlabbert
-/types/nunjucks-date/ @kruncher
-/types/nvd3/ @PjMitchell
-/types/nw.gui/ @xperiments
-/types/nw.js/ @alirdn
-/types/o.js/ @IceOnFire @bradzacher @janhommes @jcchalte
-/types/oauth/ @nonAlgebraic
-/types/oauth.js/ @nobuoka
-/types/oauth2-server/ @vangorra @cirick
-/types/oauth2orize/ @wokim @heycalmdown @stevehipwell
-/types/obelisk.js/ @bdrupieski
-/types/obj-file-parser/ @benc-uk
-/types/object-assign/ @chbrown
-/types/object-diff/ @rogierschouten
-/types/object-hash/ @misak113
-/types/object-inspect/ @demurgos
-/types/object-map/ @wolfgang42
-/types/object-merge/ @OpenByteDev
-/types/object-path/ @pocesar
-/types/object-refs/ @3fd
-/types/oblo-util/ @Oblosys
-/types/oboe/ @optical
-/types/observe-js/ @herrmanno
-/types/oclazyload/ @rolandzwaga
-/types/odata/ @janhommes @jcchalte
-/types/ofe/ @Morfent
-/types/office-js/ @OfficeDev @LanceEA @Zlatkovsky @kbrandl @Rick-Kirkham @AlexJerabek @ElizabethSamuel-MSFT
-/types/offline-js/ @cgwrench
-/types/oibackoff/ @geoffreak
-/types/oidc-token-manager/ @rosieks
-/types/okta__okta-vue/ @innovation-team
-/types/ol/ @yairtawil
-/types/on-finished/ @czechboy0 @BendingBender
-/types/on-headers/ @jjeffery @BendingBender
-/types/once/ @denis-sokolov @BendingBender
-/types/onesignal-cordova-plugin/ @broder
-/types/onetime/ @BendingBender
-/types/oniguruma/ @smhxx
-/types/onoff/ @marcel-ernst
-/types/open/ @Bartvds
-/types/opener/ @tikurahul
-/types/openfin/v17/ @chrisbarker
-/types/openfin/ @chrisbarker @rdepena
-/types/openjscad/ @danmarshall
-/types/openlayers/v2/ @bolhovsky
-/types/openlayers/v3/ @osechet @matthiasdailey-ccri
-/types/openlayers/ @osechet @wb14123 @ailrun @mylen @iamthechad @danmana @yairtawil @pierremarc @hauke96
-/types/openpgp/ @errietta
-/types/openstack-wrapper/ @sanjaymadane
-/types/opentok/ @westy92 @CatGuardian
-/types/opentype.js/ @danmarshall @edzis
-/types/opn/ @shinnn @SomaticIT @tlent
-/types/optics-agent/ @crevil
-/types/optimist/ @soywiz @chbrown
-/types/optimize-css-assets-webpack-plugin/ @odnamrataizem
-/types/ora/v0/ @screendriver
-/types/ora/ @basarat @screendriver @BendingBender @azasypkin
-/types/oracledb/ @Bigous
-/types/orchestrator/ @tkQubo @TeamworkGuy2
-/types/orderedmap/ @bradleyayers
-/types/orientjs/ @saeedtabrizi
-/types/os-homedir/ @mhegazy
-/types/os-locale/v1/ @AyaMorisawa @BendingBender
-/types/os-locale/ @AyaMorisawa @BendingBender
-/types/os-name/ @BendingBender
-/types/os-tmpdir/ @mhegazy
-/types/osmosis/ @jurajkocan @evanshortiss
-/types/osmtogeojson/ @tkqubo
-/types/osrm/ @DenisCarriere
-/types/otplib/ @renjfk
-/types/overwatch-api/ @JoshuaHall
-/types/owasp-password-strength-test/ @stephtr
-/types/owl.carousel/ @igorissen @KennethanCeyer
-/types/owlcarousel/ @dpiatkowski
-/types/p-all/ @BendingBender
-/types/p-any/ @BendingBender
-/types/p-cancelable/ @BendingBender
-/types/p-catch-if/ @LinusU
-/types/p-debounce/ @BendingBender
-/types/p-defer/ @SamVerschueren
-/types/p-do-whilst/ @BendingBender
-/types/p-each-series/ @BendingBender
-/types/p-event/ @BendingBender
-/types/p-every/ @BendingBender
-/types/p-lazy/ @BendingBender
-/types/p-limit/ @BendingBender @LinusU
-/types/p-loading/ @renjfk
-/types/p-locate/ @BendingBender
-/types/p-log/ @BendingBender
-/types/p-map/ @BendingBender
-/types/p-map-series/ @BendingBender
-/types/p-memoize/ @forabi
-/types/p-one/ @BendingBender
-/types/p-props/ @BendingBender
-/types/p-queue/ @BendingBender @evanshortiss
-/types/p-reduce/ @BendingBender
-/types/p-reflect/ @BendingBender
-/types/p-retry/ @BendingBender
-/types/p-series/ @BendingBender
-/types/p-settle/ @natesilva
-/types/p-some/ @BendingBender
-/types/p-tap/ @BendingBender
-/types/p-throttle/ @BendingBender
-/types/p-timeout/ @BendingBender
-/types/p-try/ @BendingBender @LinusU
-/types/p-wait-for/ @BendingBender
-/types/p-whilst/ @BendingBender
-/types/p2/ @clark-stevenson
-/types/package-json/ @jinwoo
-/types/packery/ @piraveen @hanssens
-/types/pad/ @mhegazy
-/types/paho-mqtt/ @amikhalev
-/types/pako/ @cappellin @calebegg
-/types/pangu/ @plantain-00
-/types/papaparse/ @torpedro @rainshen49 @jfloff @johnnyreilly @albertorestifo
-/types/paper/ @clark-stevenson @Xakaloz @sebaswebdev
-/types/paralleljs/ @jbaldwin
-/types/parcel-env/ @fathyb
-/types/parent-package-json/ @sgmccli
-/types/parity-pmd/ @leovujanic @jewbre
-/types/parity-pmr/ @leovujanic
-/types/parity-poe/ @leovujanic
-/types/parse/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas
-/types/parse-git-config/ @leonard-thieu @deltaidea
-/types/parse-glob/ @glen-84
-/types/parse-json/ @mrmlnc
-/types/parse-link-header/ @zelein
-/types/parse-mockdb/ @dpoetzsch
-/types/parse-ms/ @Roaders
-/types/parse-torrent/ @niieani @tlaziuk
-/types/parse-torrent-file/ @tlaziuk
-/types/parse-unit/ @Jack-Works
-/types/parse5/v4/ @inikulin @andnp
-/types/parse5/ @inikulin
-/types/parse5-htmlparser2-tree-adapter/ @inikulin
-/types/parse5-parser-stream/ @inikulin
-/types/parse5-plain-text-conversion-stream/ @inikulin
-/types/parse5-sax-parser/ @inikulin
-/types/parse5-serializer-stream/ @inikulin
-/types/parseurl/ @bomret
-/types/parsimmon/ @Bartvds @mizunashi-mana @bcherny @bvanreeven @leonard-thieu @MrJohz
-/types/passport/ @horiuchi @enaeseth @theigor @tlaziuk @danielpa9708
-/types/passport-anonymous/ @0x6368656174
-/types/passport-beam/ @AtlasDev
-/types/passport-discord/ @kzay
-/types/passport-facebook/ @staticfunction @lucasmacosta
-/types/passport-facebook-token/ @rmartone @mrand01
-/types/passport-github/ @yasupeke
-/types/passport-github2/ @yasupeke @mthmulders @codepunkt
-/types/passport-google-oauth/ @staticfunction
-/types/passport-google-oauth2/ @bluehatbrit
-/types/passport-http/ @krizalys @tlaziuk @cjbarth
-/types/passport-http-bearer/ @isman-usoh
-/types/passport-jwt/ @jindev
-/types/passport-kakao/ @Park9eon
-/types/passport-local/ @SomaticIT
-/types/passport-local-mongoose/ @linusbrolin
-/types/passport-naver/ @Park9eon
-/types/passport-oauth2/ @pasieronen @WangZishi
-/types/passport-oauth2-client-password/ @akaNightmare
-/types/passport-remember-me-extended/ @AylaJK
-/types/passport-saml/ @cjbarth
-/types/passport-steam/ @kzay
-/types/passport-strategy/ @liorm
-/types/passport-twitter/ @staticfunction
-/types/passport-unique-token/ @briman0094 @SomaticIT
-/types/password-hash/ @mugeso
-/types/password-hash-and-salt/ @alitaheri
-/types/path-exists/v1/ @shiwano
-/types/path-exists/ @shiwano @BendingBender
-/types/path-is-absolute/ @mhegazy
-/types/path-is-inside/ @aomarks
-/types/pathfinding/ @BNedry
-/types/pathjs/ @lokeshpeta
-/types/pathwatcher/ @GlenCFL
-/types/pause/ @BendingBender
-/types/payment/ @apare
-/types/paypal-cordova-plugin/ @Justin-Credible
-/types/paypal-rest-sdk/ @trainerbill
-/types/pbf/ @cschwarz
-/types/pdfjs-dist/ @jbaldwin
-/types/pdfkit/ @erichillah
-/types/pdfmake/ @m1llen1um @radziksh
-/types/pdfobject/ @nielsboogaard
-/types/pebblekitjs/ @makotokw
-/types/peer-dial/ @RealTYPICAL
-/types/peerjs/ @nakakura
-/types/pegjs/ @vvakame @SrTobi @siegebell
-/types/pem/ @tony19 @DethAriel
-/types/pem-jwk/ @alessiopcc
-/types/persona/ @Nycto
-/types/pet-finder-api/ @me
-/types/pg/v6/ @pspeter3
-/types/pg/ @pspeter3
-/types/pg-ears/ @bradleyayers
-/types/pg-escape/ @khell
-/types/pg-format/ @zopf
-/types/pg-pool/ @aleung
-/types/pg-query-stream/ @asmarques
-/types/pg-types/ @waratuman
-/types/pgwmodal/ @pine613
-/types/phantom/ @horiuchi @llRandom
-/types/phantomcss/ @abauzac
-/types/phantomjs/ @jedhunsaker @keesey
-/types/phoenix/ @mciastek
-/types/phone/ @DxCx
-/types/phone-formatter/ @westy92
-/types/phonegap/ @borisyankov @DickvdBrink
-/types/phonegap-facebook-plugin/ @Justin-Credible
-/types/phonegap-nfc/ @michaeldesigaud
-/types/phonon/ @kserin
-/types/photonui/ @florentpoujol
-/types/photoswipe/ @hellochar
-/types/physijs/ @gyohk
-/types/pi-spi/ @marcel-ernst
-/types/pick-weight/ @rsxdalv
-/types/pickadate/ @theodorejb @leonard-thieu
-/types/picturefill/ @alaz
-/types/pidusage/ @cyrilschumacher
-/types/pify/ @samverschueren @mad-mike @c7hm4r
-/types/pigpio/ @manerfan
-/types/pikaday/ @MidnightDesign @wake42
-/types/pikaday-time/ @Sayan751
-/types/pinkyswear/ @chances
-/types/pino/v3/ @psnider
-/types/pino/ @psnider @BendingBender @screendriver
-/types/pino-multi-stream/ @JakeGinnivan
-/types/pinterest-sdk/ @adamburmister
-/types/pinyin/ @wanganjun
-/types/piwik-tracker/ @lbguilherme
-/types/pixelmatch/ @iamolegga
-/types/pixi.js/ @clark-stevenson
-/types/pkg-dir/ @NK-WEB-Git
-/types/pkijs/ @microshine
-/types/platform/ @JakeH
-/types/playcanvas/ @Neoflash1979
-/types/playerframework/ @ricardosabino
-/types/playmusic/ @nickp10
-/types/pleasejs/ @nakakura
-/types/plotly.js/ @chrisgervang @martinduparc @frederikaalund @taoqf @Dadstart @szechyjs @MercifulCode @soorajpudiyadath
-/types/plugapi/ @BNedry
-/types/plugin-error/ @rogierschouten
-/types/plupload/ @patrickbussmann
-/types/pluralize/ @ukyo @karol-majewski
-/types/png-async/ @kanreisa
-/types/pngjs/ @jason0x43
-/types/pngquant-bin/ @hikoma
-/types/podcast/ @nikeee
-/types/podium/ @AJamesPhillips
-/types/point-in-polygon/ @dyst5422 @kogai
-/types/polyfill-service/ @Alorel
-/types/polylabel/ @DenisCarriere
-/types/polyline/ @Kern0
-/types/polymer/ @lgrignon @laco0416
-/types/polymer-ts/ @lgrignon
-/types/popcorn/ @grapswiz
-/types/portscanner/ @douglasduteil
-/types/postal/ @lokeshpeta @myitcv
-/types/postman-collection/ @kbuzby
-/types/postmark/ @benbayard
-/types/pouch-redux-middleware/ @charrondev
-/types/pouchdb/ @AGBrown @geppy @fredgalvao
-/types/pouchdb-adapter-fruitdown/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-http/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-idb/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-leveldb/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-localstorage/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-memory/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-node-websql/ @spaulg @geppy @fredgalvao
-/types/pouchdb-adapter-websql/ @spaulg @geppy @fredgalvao
-/types/pouchdb-browser/ @spaulg @geppy @fredgalvao
-/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales @tiangolo
-/types/pouchdb-find/ @trubit @tiangolo
-/types/pouchdb-http/ @spaulg @geppy @fredgalvao
-/types/pouchdb-mapreduce/ @spaulg @geppy @fredgalvao
-/types/pouchdb-node/ @spaulg @geppy @fredgalvao
-/types/pouchdb-replication/ @trubit @tiangolo
-/types/pouchdb-upsert/ @keithdmoore @hotforfeature @apolkingg8
-/types/power-assert/ @vvakame
-/types/power-assert-formatter/ @vvakame
-/types/powerbi-visuals-tools/ @zBritva @Microsoft
-/types/precise/ @codeanimal
-/types/precond/ @olsio
-/types/preloadjs/ @endel
-/types/prelude-ls/ @AyaMorisawa
-/types/prettier/ @ikatyang
-/types/pretty-bytes/v4/ @plantain-00
-/types/pretty-bytes/ @plantain-00 @danielasy
-/types/pretty-format/ @ikatyang
-/types/pretty-ms/ @BendingBender
-/types/printf/ @AluisioASG
-/types/priorityqueuejs/ @geoffreak
-/types/prismic-dom/ @nickw444 @sbilstein
-/types/prismjs/ @eriklieben @andrewiggins @mmiszy
-/types/private-ip/ @coderslagoon
-/types/procfs-stats/ @cyrilschumacher
-/types/progress/ @sebastian-lenz
-/types/progressbar/ @atd-schubert
-/types/progressjs/ @zaneli
-/types/proj4/ @DenisCarriere
-/types/proj4leaflet/ @BendingBender
-/types/project-oxford/ @scsouthw
-/types/promise-dag/ @OSjoerdWie
-/types/promise-ftp/ @coolreader18
-/types/promise-ftp-common/ @coolreader18
-/types/promise-map-limit/ @kohlmannj
-/types/promise-pg/ @coldacid
-/types/promise-polyfill/ @skysteve
-/types/promise-pool/ @vilic
-/types/promise-queue/ @LachlanStuart
-/types/promise-retry/ @shirakaba
-/types/promise-sftp/ @coolreader18
-/types/promise-timeout/ @Aankhen
-/types/promise.prototype.finally/ @slavik57 @BendingBender
-/types/promised-temp/ @rokadias
-/types/promisify-node/ @borekb
-/types/promisify-supertest/ @aleung
-/types/prompt-sync/ @MugeSo
-/types/prompt-sync-history/ @MugeSo
-/types/promptly/ @danrspencer
-/types/prop-types/ @DovydasNavickas
-/types/proper-lockfile/ @qlonik
-/types/properties-reader/ @Goldsmith42
-/types/prosemirror-collab/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-commands/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-gapcursor/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-history/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-inputrules/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-keymap/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-markdown/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-menu/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-model/ @bradleyayers @davidka @timjb @neknalb @patsimm
-/types/prosemirror-schema-basic/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-schema-list/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-state/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-tables/ @superchu @eshvedai @patsimm
-/types/prosemirror-transform/ @bradleyayers @davidka @timjb @patsimm
-/types/prosemirror-view/ @bradleyayers @davidka @timjb @patsimm
-/types/proton-native/ @khanhas
-/types/protractor-browser-logs/ @rokadias
-/types/protractor-helpers/ @johncant
-/types/protractor-http-mock/ @Crevil
-/types/provinces/ @gatimus
-/types/proxy-addr/ @BendingBender
-/types/proxy-lists/ @BehindTheMath
-/types/proxy-verifier/ @BehindTheMath
-/types/proxyquire/ @jt000
-/types/ps-tree/ @alessiopcc
-/types/ptomasroos__react-native-multi-slider/ @Slessi
-/types/pty.js/ @enlight
-/types/public-ip/ @BendingBender
-/types/pubnub/ @bitbankinc @rollymaduk @vitosamson
-/types/pubsub-js/ @borisyankov
-/types/pug/ @TonyPythoneer @19majkel94
-/types/pulltorefreshjs/ @DanielRosenwasser @humpedli
-/types/pump/ @tlaziuk
-/types/pumpify/ @JustinBeckwith @aoberoi
-/types/pupa/ @nju33
-/types/puppeteer/v0/ @marvinhagemeister @cdeutsch
-/types/puppeteer/ @marvinhagemeister @cdeutsch @ksm2
-/types/pure-render-decorator/ @seansfkelley
-/types/purl/ @danfma
-/types/pusher-js/ @tkqubo @cainlevy
-/types/pvutils/ @microshine
-/types/python-shell/ @dolanmiu @WORMSS
-/types/q/v0/ @bnemetchek @johnnyreilly
-/types/q/ @bnemetchek @AndrewGaspar @johnnyreilly @mboudreau @TeamworkGuy2
-/types/q-io/ @Bartvds
-/types/q-retry/ @vilic
-/types/qhistory/ @Kovensky
-/types/qlik/ @RubenSlabbert @AginicX
-/types/qlik-engineapi/ @konne
-/types/qlik-visualizationextensions/ @konne
-/types/qr-image/ @taoqf
-/types/qrcode/ @plantain-00
-/types/qrcode.react/ @mleko
-/types/qs/ @RWander @leonyu @tehbelinda @zyml @artursvonda @CarlosBonetti
-/types/qtip2/ @Seltzer @leonard-thieu
-/types/query-string/ @SamVerschueren @tkrotoff @huhuanming @MadaraUchiha @shssoichiro
-/types/querystringify/ @ilich
-/types/quick-lru/ @BendingBender
-/types/quill/ @sumitkm @guillaume-ro-fr @43081j @AnielloFalcone
-/types/quixote/ @greybax
-/types/qunit/v1/ @diullei
-/types/qunit/ @waratuman
-/types/qunit-dom/ @happycollision
-/types/quoted-printable/ @pushplay
-/types/qwest/ @lindsayevans
-/types/r-script/ @NaridaL
-/types/rabbit.js/ @wokim
-/types/radium/ @alexgorbatchev @nupplaphil @asvetliakov @mihe
-/types/radius/ @codeanimal
-/types/ramda/ @donnut @tycho01 @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @charlespwd @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman @CaptJakk @deftomat @deptno @blimusiek @biern @rayhaneh
-/types/random-js/ @pistacchio
-/types/random-number/ @OpenByteDev
-/types/random-seed/ @endel
-/types/random-string/ @stpettersens
-/types/randomcolor/ @feitzi @BradyLiles
-/types/range-parser/ @tlaziuk
-/types/rangyinputs/ @ersimont
-/types/raphael/ @CheCoxshall
-/types/rappid/ @DenEwout
-/types/raspi/ @nebrius
-/types/raspi-board/ @nebrius
-/types/raspi-gpio/ @nebrius
-/types/raspi-i2c/ @nebrius
-/types/raspi-led/ @nebrius
-/types/raspi-onewire/ @nebrius
-/types/raspi-peripheral/ @nebrius
-/types/raspi-pwm/ @nebrius
-/types/raspi-serial/ @nebrius
-/types/raspi-soft-pwm/ @nebrius
-/types/ratelimiter/ @AyaMorisawa
-/types/raty/ @terrawheat
-/types/raven/ @scttcper @1999 @shreyjain1994
-/types/raven-for-redux/ @chiubaka
-/types/raygun4js/ @xt0rted @BenjaminHarding
-/types/rbac-a/ @tlaziuk
-/types/rc/ @DanielRosenwasser
-/types/rc-select/ @DenisTirilis
-/types/rc-slider/ @mantasmarcinkus @mattoni @paustint @j-fro
-/types/rc-tree/ @johnnyreilly @Methuselah96
-/types/rcloader/ @panuhorsmalahti
-/types/rdf-data-model/ @rubensworks
-/types/rdf-js/ @rubensworks
-/types/re-base/ @jordandrako
-/types/reach__router/ @kingdaro
-/types/react/v15/ @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz
-/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @ferdaber @jrakotoharisoa @pascaloliv @hotell
-/types/react-alert/ @ssyrell
-/types/react-alice-carousel/ @endigo
-/types/react-amplitude/ @rayzor65
-/types/react-animate-on-scroll/ @ralbuque
-/types/react-app/ @prakarshpandey
-/types/react-aria-menubutton/ @forabi @crohlfs
-/types/react-autocomplete/ @lstanden
-/types/react-autosuggest/ @nicolas-schmitt @pjo256 @robessog @tbayne @cdeutsch @rosskevin
-/types/react-avatar-editor/ @diogocorrea @gabsprates
-/types/react-beautiful-dnd/ @varHarrie @bradleyayers @paustint @marknelissen
-/types/react-big-calendar/ @piotrwitek @paustint @pikpok @eps1lon
-/types/react-body-classname/ @mhegazy
-/types/react-bootstrap/ @walkerburgin @vsiao @danilojrr @Batbold-Gansukh @octatone @chengsieuly @mretolaza @katbusch @vitosamson @LKay @aaronbeall @jrakotoharisoa @r3nya
-/types/react-bootstrap-date-picker/ @LKay @ssi-hu-antal-bodnar
-/types/react-bootstrap-daterangepicker/ @ianks
-/types/react-bootstrap-table/v2/ @flaub @alelode @UJosue10
-/types/react-bootstrap-table/ @flaub @alelode @UJosue10 @dawnmist @Ogglas
-/types/react-bootstrap-typeahead/ @Guymestef @radziksh @PaitoAnderson
-/types/react-breadcrumbs/ @KostyaEsmukov
-/types/react-breadcrumbs-dynamic/ @mitsuruog
-/types/react-broadcast/ @kandros
-/types/react-burger-menu/ @radziksh
-/types/react-calendar-heatmap/ @9renpoto
-/types/react-calendar-timeline/ @radziksh @acemac
-/types/react-cartographer/ @trevonmckay
-/types/react-circular-progressbar/ @lstanden
-/types/react-click-outside/ @screendriver
-/types/react-codemirror/ @velveret @rudi-c
-/types/react-coinhive/ @sktbcbbs
-/types/react-collapse/ @Kimahriman
-/types/react-collapsible/ @knegusen
-/types/react-color/ @LKay @markspolakovs @mntdn
-/types/react-confirm/ @santiagodoldan
-/types/react-content-loader/ @alaatm @samwalshnz
-/types/react-copy-to-clipboard/ @mabels @BernabeFelix
-/types/react-copy-write/ @samhh @davej
-/types/react-credit-cards/ @vstrimaitis
-/types/react-cropper/ @stepancar
-/types/react-css-modules/ @KostyaEsmukov @skirsdeda
-/types/react-css-transition-replace/ @LKay
-/types/react-custom-scrollbars/v3/ @David-LeBlanc-git
-/types/react-custom-scrollbars/ @David-LeBlanc-git @kittimiyo
-/types/react-data-grid/v1/ @SupernaviX
-/types/react-data-grid/ @SupernaviX @KieranPeat @martinnov92
-/types/react-datagrid/ @stephenjelfs
-/types/react-date-range/ @Junbong
-/types/react-datepicker/ @radziksh @andrewBalekha @smrq @Rogach @royxue @KoalaHuman @seansfkelley
-/types/react-daterange-picker/ @uncovertruth @MartynasZilinskas
-/types/react-dates/ @ArturAmpilogov @NathanNZ
-/types/react-daum-postcode/ @Sa-ryong
-/types/react-dnd-html5-backend/ @oizie
-/types/react-dnd-multi-backend/ @dawnmist
-/types/react-dnd-test-backend/ @gustavohenke
-/types/react-dnd-touch-backend/ @mleko @dawnmist
-/types/react-document-title/ @cleverguy25
-/types/react-dom/v15/ @MartynasZilinskas
-/types/react-dom/ @MartynasZilinskas @theruther4d
-/types/react-dom-factories/ @jgoz
-/types/react-dropzone/v2/ @matdube @LynxEyes @goblindegook @benbayard
-/types/react-dropzone/v3/ @matdube @LynxEyes @goblindegook @benbayard @LKay
-/types/react-dropzone/ @matdube @LynxEyes @goblindegook @benbayard @LKay @codeaid @jurosh
-/types/react-dynamic-number/ @eugrdn
-/types/react-easy-chart/ @danzel
-/types/react-event-listener/ @asvetliakov
-/types/react-fa/ @flaub @patsissons @LKay
-/types/react-facebook-login/ @apare @jankarres
-/types/react-faux-dom/ @alitaheri @cleverguy25 @deviousm @hanai
-/types/react-file-input/ @dmitryrogozhny
-/types/react-file-reader-input/ @dmitryrogozhny @alitaheri
-/types/react-flags-select/ @senukartur
-/types/react-flatpickr/ @begincalendar
-/types/react-flex/ @pushplay
-/types/react-flexr/ @pushplay
-/types/react-fontawesome/ @timurrustamov @dublicator @vincaslt @gavingregory
-/types/react-form/v1/ @cameron-mcateer
-/types/react-form/ @cameron-mcateer @TiuSh
-/types/react-foundation/ @danielearwicker
-/types/react-gateway/ @jsonunger
-/types/react-geosuggest/ @brmenchl
-/types/react-google-maps-loader/ @vasilysn
-/types/react-google-places-suggest/ @vasilysn
-/types/react-google-recaptcha/ @KoalaHuman
-/types/react-gravatar/ @invliD
-/types/react-grid-layout/ @abirkholz @alitaheri @ZheyangSong @andrewhathaway
-/types/react-hamburger-menu/ @grzesie2k
-/types/react-hammerjs/ @jsonunger
-/types/react-helmet/v4/ @evanbb @isman-usoh
-/types/react-helmet/ @evanbb @isman-usoh @lith-light-g @sammkj @yuit
-/types/react-helmet-async/ @forabi
-/types/react-highlight-words/ @mhegazy @diogodca
-/types/react-highlighter/ @oizie
-/types/react-holder/ @isman-usoh
-/types/react-hot-loader/ @jacekjagiello @MartynasZilinskas @DovydasNavickas
-/types/react-hyperscript/ @tock203
-/types/react-i18next/v1/ @KostyaEsmukov
-/types/react-i18next/v4/ @GiedriusGrabauskas
-/types/react-i18next/ @GiedriusGrabauskas @chnoch @beheh
-/types/react-icon-base/ @apare @LKay
-/types/react-icons/ @apare @johnnyreilly @LKay
-/types/react-image-crop/ @danielasy
-/types/react-image-gallery/ @adamwpc
-/types/react-imageloader/ @stephenjelfs
-/types/react-infinite/ @rhysd
-/types/react-infinite-calendar/ @christianchown
-/types/react-infinite-scroll-component/ @sroy3
-/types/react-infinite-scroller/ @Lapanti @psrebniak
-/types/react-input-calendar/ @stepancar
-/types/react-input-mask/ @apare
-/types/react-intl/v1/ @bgrieder
-/types/react-intl/ @bgrieder @cdroulers @gyzerok @tillwolff @LKay @bhouser @kristerkari @formatlos
-/types/react-intl-redux/ @LKay
-/types/react-is/ @AviVahl
-/types/react-is-deprecated/ @seansfkelley
-/types/react-joyride/ @DanielRosenwasser @bendxn
-/types/react-js-pagination/ @netoisc
-/types/react-json/ @spielc
-/types/react-json-pretty/ @LKay
-/types/react-json-tree/ @gnestor
-/types/react-jsonschema-form/ @iamdanfox @sirreal @iplus26 @KurtPreston @phbou72 @LucianBuzzo
-/types/react-lazyload/ @m0a
-/types/react-lazylog/ @benjaminRomano
-/types/react-leaflet/ @danzel @davschne @yuit
-/types/react-list/ @buptyyf @tomshen
-/types/react-loadable/ @Kovensky @odensc @ianks @tlaziuk @iMobs
-/types/react-loader/ @artfuldev
-/types/react-mailchimp-subscribe/ @osdiab
-/types/react-map-gl/ @rimig
-/types/react-maskedinput/ @LKay @lavoaster @CarlosBonetti
-/types/react-mce/ @morphologue
-/types/react-mdl/ @bradzacher
-/types/react-measure/ @asvetliakov @marcfallows
-/types/react-mixin/ @tkqubo
-/types/react-modal/ @radziksh @drewnoakes @homburg @ttamminen @hallowatcher @peterblazejewicz
-/types/react-motion/ @stepancar @asvetliakov @dimitarnestorov
-/types/react-motion-slider/ @asvetliakov
-/types/react-motion-ui-pack/ @jsonunger
-/types/react-native/ @alloy @huhuanming @iRoachie @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk
-/types/react-native-android-taskdescription/ @christianchown
-/types/react-native-auth0/ @ascariandrea
-/types/react-native-autocomplete-input/ @ifiokjr
-/types/react-native-background-timer/ @chillkroeteTTS
-/types/react-native-bluetooth-serial/ @RodrigoAWeber
-/types/react-native-communications/ @huhuanming @PaitoAnderson
-/types/react-native-custom-tabs/ @philnova
-/types/react-native-datepicker/ @jacobbaskin
-/types/react-native-dialog/ @MrLuje
-/types/react-native-doc-viewer/ @iRoachie
-/types/react-native-document-picker/ @plantain-00
-/types/react-native-drawer/ @jnbt @suniahk
-/types/react-native-drawer-layout/ @jmfirth
-/types/react-native-elevated-view/ @fhelwanger
-/types/react-native-fabric/ @josephroque
-/types/react-native-fbsdk/ @ifiokjr
-/types/react-native-fetch-blob/ @MNBuyskih
-/types/react-native-fs/ @pocesar @josephroque
-/types/react-native-google-signin/ @j-fro
-/types/react-native-htmlview/ @ifiokjr
-/types/react-native-i18n/ @VincentLanglet
-/types/react-native-indicators/ @ifiokjr
-/types/react-native-keep-awake/ @huhuanming
-/types/react-native-keyboard-spacer/ @VincentLanglet
-/types/react-native-keychain/ @DavidFarinha
-/types/react-native-loading-spinner-overlay/ @fhelwanger
-/types/react-native-material-design-searchbar/ @iRoachie
-/types/react-native-material-kit/ @iRoachie @timwangdev
-/types/react-native-material-textfield/ @mindhivefi @iRoachie
-/types/react-native-material-ui/ @iRoachie
-/types/react-native-mixpanel/ @r3nya
-/types/react-native-modalbox/ @iRoachie
-/types/react-native-multi-slider/ @Slessi
-/types/react-native-orientation/ @MoLow
-/types/react-native-permissions/ @vincentlanglet
-/types/react-native-photo-view/ @christianchown
-/types/react-native-popup-dialog/ @PaitoAnderson @connectdotz @bm-software
-/types/react-native-push-notification/ @PaitoAnderson @tomSawkins
-/types/react-native-qrcode/ @plantain-00
-/types/react-native-safari-view/ @mrand01
-/types/react-native-scrollable-tab-view/ @CaiHuan @egorshulga
-/types/react-native-sensor-manager/ @SahinVardar
-/types/react-native-settings-list/ @MrLuje
-/types/react-native-share/ @marknelissen
-/types/react-native-snap-carousel/ @jnbt @j-fro @gazaret
-/types/react-native-sortable-grid/ @j-fro
-/types/react-native-sortable-list/ @sivolobov @RookY2K
-/types/react-native-sqlite-storage/ @dryganets @cavarzan
-/types/react-native-star-rating/ @iRoachie
-/types/react-native-svg-charts/ @krzysztof-miemiec
-/types/react-native-svg-uri/ @iRoachie
-/types/react-native-swiper/ @CaiHuan @huhuanming @mhcgrq
-/types/react-native-tab-navigator/ @iRoachie
-/types/react-native-tab-view/ @kaoDev @iRoachie @timwangdev
-/types/react-native-text-input-mask/ @RodrigoAWeber
-/types/react-native-toast-native/ @bm-software
-/types/react-native-touch-id/ @huhuanming @gazaret @jinshin1013
-/types/react-native-vector-icons/ @iRoachie @timwangdev
-/types/react-native-version-number/ @VincentLanglet
-/types/react-native-video/ @huhuanming
-/types/react-navigation/v1/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi
-/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi @magrinj @TizioFittizio @stigi
-/types/react-notification-system/ @GiedriusGrabauskas @DeividasBakanas @LKay @sztobar
-/types/react-notification-system-redux/ @LKay
-/types/react-notify-toast/ @klaascuvelier
-/types/react-numeric-input/ @heatherbooker
-/types/react-onclickoutside/v5/ @LKay
-/types/react-onclickoutside/ @LKay
-/types/react-onsenui/ @salim7 @jemmyw
-/types/react-overlays/ @aaronbeall @vitosamson
-/types/react-owl-carousel/ @tbounsiar @igorissen @KennethanCeyer
-/types/react-paginate/ @deevus @wouterhardeman @pegel03 @archy-bold
-/types/react-places-autocomplete/ @guilhermehubner @r3nya
-/types/react-pointable/ @istefo @mdibyo
-/types/react-popover/ @jacoporicare
-/types/react-portal/ @shuntksh
-/types/react-primitives/ @aghoneim92
-/types/react-props-decorators/ @tkqubo
-/types/react-radio-group/ @jsonunger
-/types/react-recaptcha/ @mhegazy @zzanol
-/types/react-redux/v5/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva
-/types/react-redux/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva @kallikrein @val1984 @jrakotoharisoa
-/types/react-redux-epic/ @forabi
-/types/react-redux-i18n/ @clementdevos
-/types/react-redux-toastr/ @Smiche @artyomsv @kulmajaba
-/types/react-relay/ @graphcool @voxmatt @alloy @npirotte @ckknight
-/types/react-resize-detector/ @matthew-matvei @aMoniker
-/types/react-resolver/ @forabi
-/types/react-responsive/v1/ @asvetliakov
-/types/react-responsive/ @asvetliakov @alechill @xaviergonz
-/types/react-rnd/ @Ragg- @fsubal
-/types/react-router/v2/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov
-/types/react-router/v3/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @ssorallen
-/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina @pret-a-porter @t49tran
-/types/react-router-bootstrap/ @vlesierse @LKay @olmobrutall
-/types/react-router-config/ @lith-light-g
-/types/react-router-dom/ @tkrotoff @huy-nguyen @p-jackson
-/types/react-router-native/ @ezintz @fhelwanger
-/types/react-router-navigation/ @kaoDev
-/types/react-router-navigation-core/ @kaoDev
-/types/react-router-param-link/ @mtsg
-/types/react-router-redux/v3/ @isman-usoh @noah79 @rosendi
-/types/react-router-redux/v4/ @isman-usoh @noah79 @rosendi @LKay @DovydasNavickas
-/types/react-router-redux/ @huy-nguyen @8398a7 @mykolas
-/types/react-s-alert/ @mitsuruog
-/types/react-scroll/ @sudoplz @GiedriusGrabauskas
-/types/react-scrollbar/ @stephenjelfs
-/types/react-select/ @Hesquibet @giladgray @iebaker @skirsdeda @vujevits @devrelm @MartynasZilinskas @onatm @ninjaferret @tehbi4 @misantronic @darkartur
-/types/react-share/ @icopp
-/types/react-show-more/ @naortor
-/types/react-side-effect/ @remojansen
-/types/react-sidebar/ @jeroenvervaeke
-/types/react-sketchapp/ @ricokahler @DomiR
-/types/react-slick/ @andrewBalekha @GiedriusGrabauskas @r3nya
-/types/react-slider/ @jsonunger
-/types/react-smooth-scrollbar/ @asvetliakov
-/types/react-sortable-hoc/ @NoHomey @charlesrey
-/types/react-sortable-pane/ @rhysd
-/types/react-sortable-tree/ @wouterhardeman @jzoric @kevinsperrine
-/types/react-spinkit/v1/ @tkqubo @mleko @pelotom
-/types/react-spinkit/ @tkqubo @mleko @pelotom @zzanol
-/types/react-sticky/ @curtisw0
-/types/react-sticky-el/ @jbraithwaite
-/types/react-stickynode/ @tstirrat
-/types/react-stripe-elements/ @dan-j @santiagodoldan @sonnysangha @9y5 @thchia
-/types/react-svg/ @viccrubs @chrisgarber
-/types/react-svg-inline/ @kiyopikko
-/types/react-svg-pan-zoom/ @huy-nguyen
-/types/react-swf/ @stepancar
-/types/react-swipe/ @DeividasBakanas
-/types/react-swipeable/ @GiedriusGrabauskas @mctep @horiuchi
-/types/react-swipeable-views/ @mxl @DeividasBakanas
-/types/react-syntax-highlighter/ @NoHomey
-/types/react-table/ @royxue @psakalo @Havret
-/types/react-tabs/ @danez
-/types/react-tag-input/ @Ogglas @jankarres @matthewberryman
-/types/react-tagcloud/ @wassname
-/types/react-tagsinput/ @mykter
-/types/react-tap-event-plugin/ @mxl
-/types/react-test-renderer/v15/ @arvitaly @lochbrunner @lochbrunner @johnnyreilly
-/types/react-test-renderer/ @arvitaly @lochbrunner @johnnyreilly @jgoz
-/types/react-tether/ @ryprice
-/types/react-text-mask/ @guilhermehubner @cavarzan
-/types/react-textarea-autosize/ @asvetliakov @zry656565
-/types/react-timeout/ @kerwynrg
-/types/react-toastify/ @icopp
-/types/react-toastr/ @shssoichiro @DanRegazzi
-/types/react-toggle/v2/ @LKay
-/types/react-toggle/ @LKay
-/types/react-tooltip/ @DeividasBakanas
-/types/react-touch/ @grzesie2k
-/types/react-tracking/ @alloy
-/types/react-transition-group/v1/ @LKay
-/types/react-transition-group/ @LKay @Epskampie
-/types/react-treeview/ @janslow
-/types/react-truncate/ @mattvperry
-/types/react-twitter-auth/ @paulfasola
-/types/react-user-tour/ @ccancellieri
-/types/react-virtual-keyboard/ @bsurai
-/types/react-virtualized/ @kaoDev @guntherjh @wasd171 @szabolcsx @kraenhansen @Stevearzh @mgoszcz2
-/types/react-virtualized-select/ @seansfkelley
-/types/react-webcam/ @squat
-/types/react-weui/ @tairan
-/types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya @MBillemaz
-/types/react-widgets-moment/ @dawnmist
-/types/react-youtube/ @kgtkr
-/types/react-youtube-embed/ @charles-salmon
-/types/reactable/ @spielc
-/types/reactcss/ @chrisgervang @LKay
-/types/reactstrap/v4/ @alihammad @mfal @danilobjr @fabiopaiva
-/types/reactstrap/ @alihammad @mfal @danilobjr @FaithForHumans @KurtPreston @timc13 @patrickrgaffney
-/types/read/ @timjk
-/types/read-chunk/ @crispybee
-/types/read-package-tree/ @mgroenhoff
-/types/read-pkg/ @jdxcode
-/types/read-pkg-up/ @dudeofawesome @jdxcode
-/types/readdir-enhanced/ @mrmlnc
-/types/readdir-stream/ @Bartvds
-/types/readline-sync/ @jonestristand
-/types/readline-transform/ @dex4er
-/types/reapop/ @Barrokgl
-/types/recaptcha2/ @l-jonas
-/types/recase/ @18steps
-/types/recharts/ @mthmulders @rapmue @royxue @ZheyangSong @richbai90 @caspeco-dan @pkeuter @jrsaunde @paulmelnikow
-/types/recluster/ @dex4er
-/types/recompose/ @iskandersierra @mrapogee @clayne11 @Pajn @lucasterra
-/types/reconnectingwebsocket/ @nguarracino
-/types/recursive-readdir/v1/ @elisee
-/types/recursive-readdir/ @elisee @MicahZoltu
-/types/redis/ @soywiz @CodeAnimal @MugeSo @UppaJung @Rokt33r @43081j @barnski
-/types/redis-errors/ @43081j
-/types/redis-mock/ @BendingBender
-/types/redis-rate-limiter/ @westy92
-/types/redis-scripto/ @westy92
-/types/redlock/v2/ @chrootsu
-/types/redlock/ @chrootsu @BendingBender
-/types/redom/ @RauliL
-/types/reduce-reducers/ @huy-nguyen
-/types/redux-action/ @newraina
-/types/redux-action-utils/ @tkqubo
-/types/redux-actions/ @jaysoo @alexgorbatchev @alechill @alexey-pelykh
-/types/redux-auth-wrapper/v1/ @LKay
-/types/redux-auth-wrapper/ @LKay
-/types/redux-batched-subscribe/ @mDibyo
-/types/redux-debounced/ @seansfkelley
-/types/redux-devtools/ @mc-petry
-/types/redux-devtools-dock-monitor/ @mc-petry
-/types/redux-devtools-log-monitor/ @mc-petry
-/types/redux-doghouse/ @BendingBender
-/types/redux-first-router/ @Valbrand @viggyfresh @janb87 @corydeppen @jscinoz
-/types/redux-first-router-link/ @janb87
-/types/redux-first-router-restore-scroll/ @icopp
-/types/redux-first-routing/ @tlaziuk
-/types/redux-form/v4/ @aikoven
-/types/redux-form/v6/ @carsonf @aikoven @LKay @bancek
-/types/redux-form/ @carsonf @aikoven @LKay @bancek @alsiola @tehbi4 @huwmartin @reggino @maddijoyce
-/types/redux-immutable/ @oizie @sebald @gavingregory
-/types/redux-immutable-state-invariant/ @remojansen @highflying
-/types/redux-infinite-scroll/ @silkyfray
-/types/redux-injectable-store/ @unindented
-/types/redux-little-router/ @priecint
-/types/redux-localstorage/ @LKay
-/types/redux-localstorage-debounce/ @LKay
-/types/redux-localstorage-filter/ @LKay
-/types/redux-logger/ @arusakov @kgroat
-/types/redux-mock-store/v0/ @MarianPalkus
-/types/redux-mock-store/ @MarianPalkus
-/types/redux-optimistic-ui/ @asvetliakov
-/types/redux-orm/ @keenondrums
-/types/redux-pack/ @tansongyang @quicksnap @no-stack-dub-sack
-/types/redux-persist-transform-encrypt/ @LKay @dante-101
-/types/redux-persist-transform-filter/ @LKay
-/types/redux-promise/ @molekilla @xStrom
-/types/redux-promise-middleware/ @ianks
-/types/redux-recycle/ @LKay
-/types/redux-router/ @stepancar
-/types/redux-shortcuts/ @tstirrat
-/types/redux-socket.io/ @snakeego
-/types/redux-storage/ @asvetliakov
-/types/redux-storage-engine-jsurl/ @screendriver
-/types/redux-storage-engine-localstorage/ @screendriver
-/types/redux-test-utils/ @huwmartin
-/types/redux-testkit/ @Bookler96
-/types/redux-ui/ @andyshuxin
-/types/ref/ @loyd
-/types/ref-array/ @loyd
-/types/ref-struct/ @loyd
-/types/ref-union/ @loyd
-/types/reflux/v0/ @mauricedb
-/types/reflux/ @mauricedb @LiangZugeng
-/types/relateurl/ @tkrotoff
-/types/relaxed-json/ @18steps
-/types/relay-runtime/ @voxmatt @alloy
-/types/remarkable/ @makepost
-/types/remote-redux-devtools/ @ColinEberhardt @unindented @mamodom @colindekker
-/types/remove-markdown/ @RagibHasin
-/types/rename/ @Aankhen
-/types/replace-ext/ @DeividasBakanas
-/types/request/ @soywiz @bonnici @Bartvds @joeskeen @ccurrens @lookfirst @mastermatt @josecolella
-/types/request-as-curl/ @atd-schubert
-/types/request-ip/ @mrhen
-/types/request-promise/ @cglantschnig @joeskeen @AyaMorisawa @mastermatt
-/types/request-promise-native/ @gustavohenke @mastermatt
-/types/requestretry/ @EricByers @trainerbill
-/types/require-dir/ @weekens
-/types/require-directory/ @Igmat
-/types/require-from-string/ @ikatyang
-/types/require-relative/ @MattiasBuelens
-/types/requirejs/ @jbaldwin
-/types/requirejs-domready/ @lefb766
-/types/resemblejs/ @pimterry
-/types/reservoir/ @danvk
-/types/resolve/ @marionebl @ajafff
-/types/resolve-from/ @unional
-/types/resourcejs/ @shaunluttin
-/types/response-time/ @urossmolnik @TonyPythoneer
-/types/rest/ @Nemo157
-/types/restangular/ @borisyankov
-/types/restful.js/ @tkqubo
-/types/restify/v4/ @blittle @stevehipwell
-/types/restify/v5/ @blittle @stevehipwell @leanazulyoro
-/types/restify/ @blittle @stevehipwell @leanazulyoro @mgebundy
-/types/restify-cookies/ @weekens
-/types/restify-cors-middleware/ @dthunell
-/types/restify-errors/ @stevehipwell
-/types/restify-plugins/ @KostyaTretyak
-/types/restler/ @cyrilschumacher
-/types/restling/ @loghorn
-/types/resumablejs/ @DanielMcAssey
-/types/rethinkdb/ @alexgorbatchev @AdrianFarmadin @kondi @hoishin
-/types/retry/ @krenor
-/types/retry-as-promised/ @Raigen
-/types/rev-hash/ @ikatyang
-/types/revalidate/ @alex3165
-/types/revalidator/ @brewsoftware
-/types/reveal/ @robertop87 @Nava2
-/types/rewire/ @borislavjivkov @CaselIT
-/types/rfc2047/ @mugifly
-/types/rgrove__parse-xml/ @petejohanson
-/types/rheostat/ @SashaBayan @kourge
-/types/rickshaw/ @niemyjski
-/types/rimraf/ @soywiz @e-cloud @bash
-/types/riot/ @Stubb0rn
-/types/riot-api-nodejs/ @zafixlrp
-/types/riot-games-api/ @xstoudi
-/types/riot-route/ @karak
-/types/riotcontrol/ @chrootsu
-/types/riotjs/ @vvakame
-/types/rison/ @impworks
-/types/rivets/ @TrevorDev @matjanos
-/types/rmfr/ @pluma
-/types/roads/ @dancespiele
-/types/roads-server/ @dancespiele
-/types/roll/ @icopp
-/types/rolling-rate-limiter/ @l-jonas
-/types/rollup-plugin-json/ @asmockler
-/types/ronomon__crypto-async/ @BendingBender
-/types/rosie/ @abner @subvertallchris @abukurov
-/types/roslib/ @Pro @skycoop @dgorobopec
-/types/rot-js/ @atiaxi
-/types/route-parser/ @ianks @bobbuehler
-/types/routie/ @Adilson
-/types/royalslider/ @csrakowski
-/types/rpio/ @DominikPalo @Pencl
-/types/rrc/ @DeividasBakanas
-/types/rsmq/ @MugeSo
-/types/rsmq-worker/ @MugeSo
-/types/rss/ @secondwtq
-/types/rsvp/ @chriskrycho
-/types/rsync/ @philippstucki
-/types/rtree/ @oefirouz
-/types/run-parallel/ @mrmlnc
-/types/run-parallel-limit/ @mrmlnc
-/types/run-sequence/ @k-kagurazaka
-/types/runes/ @viralpickaxe
-/types/rword/ @icopp
-/types/rx/ @Igorbek
-/types/rx-angular/ @mickdelaney
-/types/rx-core/ @Igorbek @mizunashi-mana
-/types/rx-core-binding/ @Igorbek
-/types/rx-dom/ @oliverw
-/types/rx-jquery/ @Igorbek
-/types/rx-lite/ @Igorbek
-/types/rx-lite-aggregates/ @Igorbek
-/types/rx-lite-async/ @zoetrope @Igorbek
-/types/rx-lite-backpressure/ @Igorbek
-/types/rx-lite-coincidence/ @Igorbek
-/types/rx-lite-experimental/ @Igorbek
-/types/rx-lite-joinpatterns/ @Igorbek
-/types/rx-lite-testing/ @Igorbek
-/types/rx-lite-time/ @Igorbek
-/types/rx-lite-virtualtime/ @Igorbek
-/types/rx.wamp/ @darkl
-/types/s3-download-stream/ @everettcaleb
-/types/s3-upload-stream/ @geoffreak
-/types/safari-extension/ @luukd
-/types/safari-extension-content/ @luukd
-/types/safe-compare/ @bevalorous
-/types/safe-json-stringify/ @ericbyers
-/types/safe-regex/ @mhegazy
-/types/sails.io.js/ @arvitaly
-/types/saml2-js/ @horiuchi
-/types/saml20/ @HackerUndKoch
-/types/samlp/ @horiuchi
-/types/sammy/ @borisyankov @oising
-/types/sanctuary/ @davidchambers @cortopy @piq9117
-/types/sandboxed-module/ @svi3c
-/types/sane/ @BendingBender
-/types/sanitize-filename/ @Nemo157
-/types/sanitize-html/ @rogierschouten @afshin @BehindTheMath
-/types/sap__xsenv/ @mad-mike
-/types/sass-graph/ @marvinhagemeister
-/types/sass-webpack-plugin/ @AepKill
-/types/sat/ @omni360
-/types/satnav/ @DotNetNerd
-/types/saywhen/ @SeanSobey
-/types/scalike/ @ryoppy
-/types/schema-registry/ @bonzzy
-/types/schwifty/ @ozum
-/types/scoped-http-client/ @mattvperry @rianadon
-/types/screenfull/ @icholy @lionelb @joelshepherd
-/types/screeps/ @MarkoSulamagi @NhanHo @bryanbecker @resir014 @Arcath @apemanzilla
-/types/screeps-profiler/ @ramblurr
-/types/scriptjs/ @ssttevee
-/types/scroll-into-view/ @zivni
-/types/scroller/ @haskellcamargo
-/types/scrollreveal/ @Davidblkx
-/types/scrolltofixed/ @bmdixon
-/types/scrypt-async/ @xStrom @stesix
-/types/scryptsy/ @micksatana
-/types/seamless/ @danmana
-/types/seamless-immutable/ @alex3165 @xsburg @geirsagberg
-/types/secp256k1/ @anler
-/types/seed-random/ @l-jonas
-/types/seededshuffle/ @urish
-/types/seedrandom/ @kernhanda
-/types/segment-analytics/ @fongandrew
-/types/select2/v3/ @borisyankov
-/types/select2/ @borisyankov @denisname
-/types/selectables/ @renjfk
-/types/selectize/ @adidahiya @naBausch
-/types/selenium-standalone/ @SanderDeWaal1992
-/types/selenium-webdriver/v2/ @BillArmstrong @Kuniwak @cnishina
-/types/selenium-webdriver/ @BillArmstrong @Kuniwak @cnishina @SupernaviX @bendxn
-/types/semantic-ui/ @leonard-thieu
-/types/semantic-ui-accordion/ @leonard-thieu
-/types/semantic-ui-api/ @leonard-thieu
-/types/semantic-ui-checkbox/ @leonard-thieu
-/types/semantic-ui-dimmer/ @leonard-thieu
-/types/semantic-ui-dropdown/ @leonard-thieu
-/types/semantic-ui-embed/ @leonard-thieu
-/types/semantic-ui-form/ @leonard-thieu
-/types/semantic-ui-modal/ @leonard-thieu
-/types/semantic-ui-nag/ @leonard-thieu
-/types/semantic-ui-popup/ @leonard-thieu
-/types/semantic-ui-progress/ @leonard-thieu
-/types/semantic-ui-rating/ @leonard-thieu
-/types/semantic-ui-search/ @leonard-thieu
-/types/semantic-ui-shape/ @leonard-thieu
-/types/semantic-ui-sidebar/ @leonard-thieu
-/types/semantic-ui-site/ @leonard-thieu
-/types/semantic-ui-sticky/ @leonard-thieu
-/types/semantic-ui-tab/ @leonard-thieu
-/types/semantic-ui-transition/ @leonard-thieu
-/types/semantic-ui-visibility/ @leonard-thieu
-/types/semaphore/ @mhfrantz @Alorel
-/types/semver/ @Bartvds @BendingBender @LucianBuzzo
-/types/semver-compare/ @vincekovacs
-/types/semver-diff/ @chrismbarr
-/types/semver-sort/ @LogvinovLeon
-/types/sencha_touch/ @brian428
-/types/send/ @MikeJerred
-/types/seneca/ @psnider @kevynb
-/types/sequelize/v3/ @samuelneff @codeanimal @drinchev @morpheusxaut @torhal
-/types/sequelize/ @samuelneff @codeanimal @drinchev @babolivier @kukoo1 @oktapodia @morpheusxaut @TitaneBoy @zjy01 @nidzov @Raigen @todd @nrschultz @thomas-b
-/types/sequelize-fixtures/ @cschwarz
-/types/sequencify/ @npenin
-/types/sequester/ @Strate
-/types/serialize-error/ @thomasthiebaud
-/types/serialize-javascript/ @lith-light-g
-/types/serialport/v4/ @codefoster
-/types/serialport/ @codefoster @apearson
-/types/serve-favicon/ @urossmolnik
-/types/serve-index/ @tkrotoff
-/types/serve-static/ @urossmolnik @LinusU
-/types/server-destroy/ @gyszalai
-/types/servicenow/ @bryceg
-/types/session-file-store/ @blendsdk @rokt33r
-/types/set-cookie-parser/ @nickp10
-/types/set-value/ @DanielRosenwasser
-/types/settings/ @shreyjain1994
-/types/sha1/ @arcdev1
-/types/shallowequal/ @seansfkelley
-/types/shapefile/ @DenisCarriere
-/types/sharedworker/ @nakakura
-/types/sharepoint/ @gandjustas @andrei-markeev @baywet @teroarvola @dennispg
-/types/sharp/ @lith-light-g @wooseopkim
-/types/sheetify/ @toddself
-/types/shell-escape/ @nenadalm
-/types/shell-quote/ @jason0x43
-/types/shelljs/ @nikeee @voy @gkalpak @pheromonez
-/types/shelljs-exec-proxy/ @qlonik
-/types/shimmer/ @kjin
-/types/shipit/ @cyrilschumacher
-/types/shipit-utils/ @cyrilschumacher
-/types/shopify-buy/ @openminder @straiforos
-/types/shortid/ @stpettersens @despairblue
-/types/shot/ @AJamesPhillips
-/types/should-sinon/ @Arylo
-/types/showdown/ @cbowdon @tan9 @arielsaldana
-/types/shrink-ray/ @forabi
-/types/siema/ @Irmiz @0x6368656174 @samnau
-/types/siesta/ @bquarmby
-/types/sigmajs/ @qinfchen
-/types/sigmund/ @BendingBender
-/types/signale/ @resir014 @kingdaro @rjoydip
-/types/signalr/ @borisyankov @keesey @GiedriusGrabauskas
-/types/signalr-no-jquery/ @gjoshevski
-/types/signals/ @diullei
-/types/signature_pad/ @AbubakerB @jrmihalick @leejaedus
-/types/simple-assign/ @NoHomey
-/types/simple-cw-node/ @vvakame
-/types/simple-lru/ @NN---
-/types/simple-mock/ @leonyu
-/types/simple-oauth2/ @mad-mike @troy-lamerton
-/types/simple-peer/ @tlaziuk
-/types/simple-url-cache/ @a-lucas
-/types/simple-websocket/ @dex4er
-/types/simple-xml/ @notVitaliy
-/types/simplebar/v1/ @gregonnet @leonard-thieu
-/types/simplebar/ @gregonnet @leonard-thieu
-/types/simplemde/ @Scalesoft
-/types/simplesmtp/ @rogierschouten
-/types/simplestorage.js/ @axelcostaspena @mxl
-/types/single-line-log/ @ffflorian
-/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j @joshuakgoldberg
-/types/sinon-as-promised/ @igrayson
-/types/sinon-chai/v2/ @kazimanzurrashid @jedmao
-/types/sinon-chai/ @kazimanzurrashid @jedmao @elpdpt
-/types/sinon-chrome/ @pimterry @crimx @kobanyan
-/types/sinon-express-mock/ @jpchip @tlaziuk
-/types/sinon-mongoose/ @stevehipwell
-/types/sinon-stub-promise/ @vintem @tstackhouse
-/types/sinon-test/ @mummybot
-/types/sip.js/ @decyrus
-/types/sipml/ @chookies
-/types/sitemap2/ @shundy
-/types/six-runtime/ @493636333
-/types/sizzle/ @leonard-thieu
-/types/sjcl/ @Evgenus
-/types/skatejs/ @Hotell
-/types/ski/ @AyaMorisawa
-/types/skyway/ @nakakura
-/types/slack-node/ @geoffreak
-/types/slack-winston/ @BlueHatbRit
-/types/slackdown/ @nju33
-/types/slackify-html/ @hypexr
-/types/slate/ @andykent @majelbstoat @JanLoebel @YangusKhan
-/types/slate-base64-serializer/ @YangusKhan
-/types/slate-html-serializer/ @YangusKhan
-/types/slate-irc/ @elisee
-/types/slate-plain-serializer/ @YangusKhan
-/types/slate-react/ @andykent @majelbstoat @JanLoebel @PatrickSachs @YangusKhan
-/types/sleep/ @rajarz
-/types/slickgrid/ @jbaldwin
-/types/slideout/ @ToastHawaii
-/types/slimerjs/ @alexwall
-/types/slocket/ @BendingBender
-/types/slug/ @mhegazy
-/types/smart-fox-server/ @ChanceM
-/types/smoothscroll-polyfill/ @kryops
-/types/smtp-server/v1/ @markisme @Taisiias
-/types/smtp-server/ @markisme @Taisiias @dex4er
-/types/smtpapi/ @a-morales
-/types/snapsvg/ @lhk @mattanja @kant2002
-/types/snazzy-info-window/ @milosd92
-/types/snekfetch/ @ANekoIsFineToo @ShayBox @Dev-Yukine
-/types/snoowrap/ @vitosamson @TheAppleFreak
-/types/snowboy/ @dolanmiu
-/types/socket.io/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi @BrainMaestro
-/types/socket.io-client/ @progre @divillysausages @florentpoujol
-/types/socket.io-parser/ @plantain-00
-/types/socket.io-redis/ @nupplaphil @seeLuck
-/types/socket.io.users/ @kataras
-/types/socketio-jwt/ @ehallander9591
-/types/socketio-jwt-auth/ @codeanimal
-/types/socketio-wildcard/ @BendingBender
-/types/socketty/ @Nax
-/types/sockjs/ @pmccloghrylaing
-/types/sockjs-client/ @vladev @arusakov @BendingBender @renjfk
-/types/solidity-parser-antlr/ @LogvinovLeon @albrow
-/types/solr-client/ @liul85
-/types/solution-center-communicator/ @dami-gg
-/types/sort-array/ @mrmlnc
-/types/sortablejs/ @Maw-Fox
-/types/soundmanager2/ @elton2048
-/types/soupbintcp/ @jewbre
-/types/source-list-map/ @e-cloud
-/types/source-map-support/ @Bartvds @jason0x43
-/types/space-pen/ @vvakame
-/types/spark-md5/ @bastienmoulia
-/types/sparkly/ @BendingBender
-/types/sparkpost/v1/ @geoffreak
-/types/sparkpost/ @geoffreak @bondz @vvu
-/types/sparqljs/ @AlexeyMz
-/types/spatialite/ @atd-schubert
-/types/spdx-correct/ @jinwoo
-/types/spdx-satisfies/ @jinwoo
-/types/spdy/ @tony19
-/types/speakeasy/ @legendecas @mrOlorin @xeoneux
-/types/speakingurl/ @Goldsmith42
-/types/spectacle/ @zmaybury
-/types/spectrum/ @M-Zuber
-/types/split/ @marcinporebski
-/types/split.js/ @icholy
-/types/split2/ @mugeso
-/types/splunk-bunyan-logger/ @bricka
-/types/splunk-logging/ @bricka
-/types/spotify-api/ @skovmand
-/types/spotify-web-playback-sdk/ @Festify @mraerino @NeoLegends
-/types/sprintf/ @soywiz @BendingBender
-/types/sprintf-js/ @jasonswearingen @BendingBender
-/types/sql-bricks/ @adn05 @paleo
-/types/sql.js/ @Hozuki
-/types/sqlite3/ @nmalaguti @dpyro @BehindTheMath
-/types/sqlstring/ @marvinhagemeister
-/types/squirejs/ @bradleyayers
-/types/srp/ @Patman64
-/types/ssh-key-decrypt/ @BendingBender
-/types/ssh2/ @tkQubo @rbuckton
-/types/ssh2-sftp-client/ @igrayson @ascariandrea
-/types/ssh2-streams/ @rbuckton
-/types/sshpk/ @mabels
-/types/stack-mapper/ @rogierschouten
-/types/stack-trace/ @exceptionless
-/types/stack-utils/ @BendingBender
-/types/stacktrace-js/ @exceptionless @pilagod
-/types/stale-lru-cache/ @cxcorp
-/types/stampit/v2/ @koresar
-/types/stampit/ @koresar @lummish
-/types/stamplay-js-sdk/ @ridermansb
-/types/starwars-names/ @claasahl
-/types/stat-mode/ @BendingBender
-/types/stats.js/ @gregolai @hberntsen @danvk
-/types/statsd-client/ @peterkooijmans @chrisleck
-/types/statuses/ @tkrotoff @BendingBender
-/types/std-mocks/ @jdxcode
-/types/steam/ @kant2002
-/types/steam-client/ @Slessi
-/types/steam-totp/ @phenomax
-/types/steamid/ @Slessi
-/types/steed/ @Paul-Isache
-/types/stellar-sdk/ @carl-foster @tristonj @pselden
-/types/stemmer/ @will-ockmore
-/types/sticky-cluster/ @paustint
-/types/stompjs/ @jimic @Dr4k4n
-/types/stoppable/ @EricByers
-/types/storejs/ @vbortone @harry0000
-/types/storybook__addon-a11y/ @hyunseob
-/types/storybook__addon-actions/ @joscha
-/types/storybook__addon-backgrounds/ @hyunseob
-/types/storybook__addon-info/ @mkornblum @fyrkant
-/types/storybook__addon-knobs/ @joscha @martynaskadisa
-/types/storybook__addon-links/ @joscha @jessepinho
-/types/storybook__addon-notes/ @joscha @amacleay
-/types/storybook__addon-options/ @joscha @simonhn @amacleay
-/types/storybook__addon-storyshots/ @bradleyayers
-/types/storybook__react/ @joscha @wapgear
-/types/storybook__react-native/ @joscha @wapgear @alechill
-/types/storybook__vue/ @pntgupta
-/types/stream-buffers/ @Jason3S
-/types/stream-chain/ @uhop
-/types/stream-csv-as-json/ @uhop
-/types/stream-json/ @uhop
-/types/stream-meter/ @mugeso
-/types/stream-series/ @k-kagurazaka
-/types/stream-to-array/v0/ @Bartvds
-/types/stream-to-array/ @Bartvds @BendingBender
-/types/stream-to-promise/ @Alorel
-/types/streaming-json-stringify/ @BendingBender
-/types/streamjs/ @erosb
-/types/streamtest/ @lummish
-/types/strftime/ @cyrilschumacher
-/types/strict-uri-encode/ @hoishin
-/types/string/ @basp
-/types/string-hash/ @ethanrubio
-/types/string-similarity/ @ragtime
-/types/string-template/ @TonyPythoneer
-/types/string-width/ @jacobbubu
-/types/string_score/ @marcinporebski
-/types/stringify-object/ @khoomeister
-/types/strip-ansi/ @mhegazy
-/types/strip-bom/ @mhegazy
-/types/strip-json-comments/ @dmoonfire
-/types/stripe/ @wjohnsto @codeanimal @sampsonjoliver @LinusU @brannon @kkamperschroer @starhoshi @bruun @galtalmor @htunnicliff @squirly
-/types/stripe-checkout/ @cgwrench
-/types/stripe-v2/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
-/types/stripe-v3/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
-/types/strong-cluster-control/ @shuntksh
-/types/strong-error-handler/ @blankstar85
-/types/strong-log-transformer/ @azasypkin
-/types/strophe/ @DavidKDeutsch
-/types/structured-source/ @azu
-/types/styled-jsx/ @R1ZZU
-/types/styled-system/ @maxdeviant @phobon @zephraph @damassi @alloy @maoueh
-/types/stylelint/ @alan-agius4
-/types/stylelint-webpack-plugin/ @bahlo
-/types/stylus/ @SomaticIT
-/types/subscribe-ui-event/ @wangcheng678
-/types/subsume/ @BendingBender
-/types/succinct/ @EnableSoftware
-/types/sudo-block/ @BendingBender
-/types/suitescript/ @darrenhillconsulting
-/types/summernote/ @wstaelens @nusantara-cloud
-/types/sumo-logger/ @forabi @clementallen
-/types/suncalc/ @horiuchi
-/types/superagent/v2/ @varju @NicoZelaya @mxl
-/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 @zopf
-/types/superagent-no-cache/ @mxl
-/types/superagent-prefix/ @mxl
-/types/supercluster/ @DenisCarriere
-/types/supertest/ @varju
-/types/supertest-as-promised/ @tkrotoff
-/types/supports-color/v3/ @mgroenhoff
-/types/supports-color/ @mgroenhoff @mtraynham
-/types/svg-injector/ @poke
-/types/svg-parser/ @mrmlnc
-/types/svg-path-bounding-box/ @NotWoods
-/types/svg-sprite/ @tkqubo
-/types/svg-sprite-loader/ @rynclark
-/types/svg2png/ @hansrwindhoff @sccgithub
-/types/svg4everybody/ @BendingBender
-/types/svgjs.draggable/ @LiFeleSs
-/types/svgjs.resize/ @jkevingutierrez
-/types/svgo/ @bradleyayers @giladgray @Aankhen
-/types/sw-precache/ @JounQin
-/types/sw-precache-webpack-plugin/ @JounQin
-/types/swag/ @shiwano
-/types/swagger-express-middleware/ @alexandreroba
-/types/swagger-express-mw/ @micmro
-/types/swagger-express-validator/ @pinguet62
-/types/swagger-hapi/ @micmro
-/types/swagger-jsdoc/ @drGrove
-/types/swagger-node-runner/ @micmro
-/types/swagger-parser/ @Tobias4872 @EricHenry
-/types/swagger-restify-mw/ @micmro
-/types/swagger-sails-hook/ @micmro
-/types/swagger-schema-official/ @mohsen1 @bsouthga @nimerritt
-/types/swagger-tools/ @bricka
-/types/swagger-ui-dist/ @haowen737
-/types/swagger-ui-express/ @dmitryrogozhny
-/types/swaggerize-express/ @mugeso @nickmorton
-/types/swe-validation/ @hjalmers
-/types/swfobject/ @rou
-/types/swiftclick/ @Laurence-C
-/types/swig/ @CodeAnimal @soywiz
-/types/swig-email-templates/ @mrhen @micksatana
-/types/swipe/ @kant2002
-/types/swiper/v3/ @sgaliano @lucax88x
-/types/swiper/ @sgaliano @lucax88x @ematseruk
-/types/swipeview/ @borisyankov
-/types/switchery/ @bgrieder @claylaut
-/types/swiz/ @jedigo
-/types/sylvester/ @StephaneAlie
-/types/synaptic/ @ToastHawaii @austincummings
-/types/systeminformation/ @PixelcrabAT
-/types/systemjs/ @ludohenin @NathanWalker @GiedriusGrabauskas @aluanhaddad
-/types/table/ @evanshortiss @mrmlnc
-/types/tableau/ @protip
-/types/tabris-plugin-firebase/ @eclipsesource
-/types/tabtab/ @vojtechhabarta
-/types/tabulator/ @euginio
-/types/tail/ @spacejack
-/types/tapable/v0/ @e-cloud
-/types/tapable/ @e-cloud @johnnyreilly
-/types/tape/ @Bartvds @sodatea @DennisSchwartz @mikehenrty
-/types/tar/ @SomaticIT @connor4312
-/types/tar-fs/ @Umoxfo
-/types/tar-stream/ @glicht
-/types/tcp-ping/ @stegano
-/types/tedious/ @rogierschouten @cjthompson @v-suhame
-/types/tedious-connection-pool/ @sandorfr
-/types/telebot/ @mariotsi
-/types/temp/ @DanielRosenwasser
-/types/temp-write/ @BendingBender
-/types/tempfile/ @SamVerschueren @BendingBender
-/types/tempy/ @douglasduteil
-/types/terminal-menu/ @aravindarun
-/types/test-listen/ @stephenmathieson
-/types/testingbot-api/ @timbru31
-/types/tether/ @adidahiya
-/types/tether-drop/ @adidahiya
-/types/tether-shepherd/ @mtgibbs
-/types/text-buffer/ @GlenCFL
-/types/text-encoding/ @pine613 @mohsen1
-/types/text-encoding-utf-8/ @trxcllnt
-/types/text-table/ @saadq
-/types/textarea-caret/ @shiftkey
-/types/textversionjs/ @aaronosher
-/types/tgfancy/ @Dabolus
-/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas @NotWoods @sethk
-/types/thrift/ @kamek-pf @kevin-greene-ck @jessezhang91
-/types/throng/ @cyrilschumacher @tatethurston
-/types/throttle/ @BendingBender
-/types/throttle-debounce/ @czbuchi @franklixuefei
-/types/through/ @AndrewGaspar
-/types/through2/v0/ @Bartvds @jedmao
-/types/through2/ @Bartvds @jedmao @valotas @TeamworkGuy2
-/types/through2-map/ @LucasHill
-/types/tile-reduce/ @DenisCarriere
-/types/tilebelt/ @DenisCarriere
-/types/time-span/ @BendingBender @mdvorscak
-/types/timelinejs/ @rolandzwaga
-/types/timelinejs3/ @MikeMatusz
-/types/timer-machine/ @dolanmiu
-/types/timezone-js/ @bonnici
-/types/tinajs__tina/ @Jimexist
-/types/tinajs__tina-redux/ @Jimexist
-/types/tinder/ @pingec
-/types/tiny-slider-react/ @screendriver
-/types/tinycolor2/ @M-Zuber @geertjansen @nvh
-/types/tinycon/ @dwaxweiler
-/types/tinycopy/ @vvatanabe
-/types/tinymce/ @martinduparc @ipoul @nicohartto
-/types/titanium/ @appcelerator @janvennemann
-/types/title/ @fa7ad
-/types/tldjs/ @geoffreak
-/types/tlds/ @ajshres
-/types/tmp/ @optical @Perlmint
-/types/to-absolute-glob/ @ajafff
-/types/to-camel-case/ @j-f1
-/types/to-markdown/ @SuperPaintman
-/types/to-snake-case/ @LogvinovLeon
-/types/to-title-case-gouch/ @stpettersens
-/types/toastr/ @borisyankov
-/types/tocktimer/ @evanshortiss
-/types/tokgen/ @l-jonas
-/types/toobusy-js/ @atd-schubert
-/types/tooltipster/ @stephenlautier @pjmagee @VorobeY1326 @leonard-thieu @janhi @joeskeen
-/types/topojson/ @ricardo-mello @chenzhutian @denisname
-/types/topojson-client/ @denisname @ricardo-mello
-/types/topojson-simplify/ @denisname @ricardo-mello
-/types/topojson-specification/ @denisname
-/types/torrent-stream/ @xstoudi
-/types/touch/ @mizunashi-mana @BendingBender
-/types/touch-events/ @kevinb7
-/types/tough-cookie/ @leonard-thieu @LiJinyao @no2chem
-/types/traceback/ @misak113
-/types/tracking/ @pimterry
-/types/transducers-js/ @colinkahn @dphilipson @NaridaL
-/types/transducers.js/ @dphilipson
-/types/transliteration/ @tony19
-/types/trash/ @matthew-matvei @hoishin
-/types/traverse/ @newclear
-/types/traverson/ @marcinporebski
-/types/travis-fold/ @andy-ms
-/types/trayballoon/ @korve
-/types/tress/ @sindilevich
-/types/trim/ @skysteve
-/types/triplesec/ @threesquared
-/types/trunk8/ @niemyjski
-/types/tryer/ @bengry
-/types/tspromise/ @soywiz
-/types/tunnel/ @BendingBender
-/types/tus-js-client/ @kevhiggins
-/types/tv4/ @Bartvds @psnider
-/types/tween.js/ @Amos47 @sunetos @jzarnikov @alexburner
-/types/tweenjs/ @evilangelist @jcyuan
-/types/tweezer.js/ @praxxis
-/types/twig/ @soywiz @enko
-/types/twilio/ @nickiannone @ashleybrener
-/types/twit/ @Volox @lostfictions @sapphiredev @abraham
-/types/twitter/ @chitoku-k
-/types/twitter-stream-channels/ @adrianbardan
-/types/twitter-text/ @rhysd
-/types/twix/ @j3ko
-/types/type-check/ @hansrwindhoff
-/types/type-detect/v0/ @Bartvds
-/types/type-detect/ @Bartvds
-/types/type-is/ @BendingBender
-/types/type-name/ @armorik83
-/types/typeahead/ @igochkov @gjunge
-/types/typed.js/ @Dona278
-/types/typedarray-pool/ @pawsong
-/types/typeof/ @OpenByteDev
-/types/typescript-deferred/ @DirtyHairy
-/types/tz-format/ @samverschueren
-/types/ua-parser-js/ @superduper @legendecas @MeLlamoPablo
-/types/uglify-js/v2/ @tkrotoff
-/types/uglify-js/ @alan-agius4 @tkrotoff @johnnyreilly
-/types/uglifycss/ @blendsdk
-/types/uglifyjs-webpack-plugin/ @vajkayrene
-/types/ui-grid/ @btesser @joeskeen @pbojanczyk
-/types/ui-router-extras/ @mputters @marcel-k @LaserUnicorns
-/types/ui-select/ @nkovacic
-/types/uid-safe/ @geoffreak
-/types/uikit/ @giovannicandido @s0x
-/types/uinput/ @Fidge123
-/types/ultra-strftime/ @dex4er
-/types/umbraco/ @DeCareSystemsIreland
-/types/umd/ @TeamworkGuy2
-/types/umzug/ @drinchev @mlamp @trodi
-/types/underscore/ @borisyankov @jbaldwin @ccurrens @clottman
-/types/underscore-ko/ @MagicMau
-/types/underscore.string/ @rygine
-/types/undertaker/ @tkqubo @GiedriusGrabauskas
-/types/undertaker-registry/ @GiedriusGrabauskas
-/types/uniq/ @hansrwindhoff
-/types/uniqid/ @idchlife
-/types/unique-hash-stream/ @BendingBender
-/types/unique-random/ @Kuniwak
-/types/unist/ @bizen241
-/types/unity-webapi/ @jmvrbanac
-/types/universal-analytics/ @Bartvds @DarkerTV
-/types/universal-router/ @jtmthf @tlaziuk @Lodin
-/types/unorm/ @chbrown
-/types/untildify/ @BendingBender
-/types/unused-filename/ @BendingBender
-/types/unzip/ @coding2012
-/types/unzipper/ @s73obrien @natemara @bartje321
-/types/update-notifier/v1/ @vvakame @nchen63
-/types/update-notifier/ @vvakame @nchen63 @bitjson
-/types/upng-js/ @plantain-00
-/types/uppercamelcase/ @plantain-00
-/types/urbanairship-cordova/ @Justin-Credible
-/types/uri-templates/ @Bartvds
-/types/urijs/ @RodneyJT @xt0rted @petejohanson
-/types/uritemplate/ @teyc @rubensworks
-/types/url-assembler/ @wolfgang42
-/types/url-join/ @rogierschouten @devrelm
-/types/url-metadata/ @mrkmg
-/types/url-params/ @danielsogl
-/types/url-parse/ @ChernenkoPaul @harisiva
-/types/url-regex/ @unindented
-/types/url-safe-base64/ @johngeorgewright
-/types/url-search-params/ @nick121212 @nrathi
-/types/url-template/ @marcinporebski
-/types/urllib/ @sorayama
-/types/urlparser/ @OpenByteDev
-/types/urlrouter/ @soywiz
-/types/urlsafe-base64/ @tkrotoff
-/types/usage/ @pvomhoff
-/types/usb/ @underscorebrody @thegecko
-/types/user-home/ @mhegazy
-/types/useragent/ @geoffreak
-/types/username/ @kayahr @krivachy
-/types/utf8/ @zelein
-/types/util-deprecate/ @BendingBender
-/types/util.promisify/ @adamvoss
-/types/utils-merge/ @chrootsu
-/types/uuid/ @iamolivinius @felipeochoa @cjbarth
-/types/uuid-1345/ @mugeso
-/types/uuid-js/ @mhegazy
-/types/uuid-parse/ @screendriver
-/types/uuid-validate/ @HiromiShikata
-/types/uws/ @plantain-00 @orblazer
-/types/valdr/ @ilbertz
-/types/valdr-message/ @ilbertz
-/types/valerie/ @conficient
-/types/vali-date/ @SamVerschueren
-/types/valid-url/ @stevehipwell
-/types/validator/ @tgfjt @chrootsu @IOAyman @louy @kacepe @deptno @builtinnya @qqilihq
-/types/validatorjs/ @LKay @danmana
-/types/vanilla-modal/ @samnau
-/types/vanilla-tilt/ @BrunnerLivio
-/types/vary/ @BendingBender
-/types/vast-client/ @jgainfort
-/types/vec3/ @xstoudi
-/types/vectorious/ @erikgerrits
-/types/vega/ @pelotom
-/types/velocity-animate/ @smrq
-/types/verror/ @svi3c @max4t
-/types/vertx3-eventbus-client/ @oddeirik
-/types/vex-js/ @gdcohan
-/types/vexdb/ @MayorMonty
-/types/vexflow/ @rquiring @sebastianhaas @bohoffi
-/types/vfile/ @bizen241 @rokt33r
-/types/vfile-location/ @ikatyang
-/types/victory/ @asvetliakov @snerks @Havret @alredyExist
-/types/video.js/ @vbortone @scleriot @SWBennett06 @IgelCampus @giofreitas @gjanblaszczyk @sroucheray
-/types/viewability-helper/ @lironzluf
-/types/viewerjs/ @lrh3321
-/types/viewporter/ @borisyankov
-/types/vimeo/ @DazWilkin
-/types/vimeo__player/ @denisyilmaz @timc13
-/types/vinyl/v0/ @jedmao
-/types/vinyl/ @vvakame @jedmao @thorn0
-/types/vinyl-buffer/ @tkQubo
-/types/vinyl-fs/ @vvakame @remisery
-/types/vinyl-paths/ @tkQubo
-/types/virtual-dom/ @chbrown
-/types/virtual-keyboard/ @bsurai
-/types/vis/ @MichaelBitard @macleodbroad-wf @adripanico @seveves @kaktus40 @mmaitre314 @supercargo @takato1314 @alex-kachura
-/types/vision/v4/ @jasonswearingen @AJamesPhillips
-/types/vision/ @jasonswearingen @AJamesPhillips @lenovouser
-/types/vitalsigns/ @cyrilschumacher
-/types/vivus/ @DanielRosenwasser @lekhmanrus
-/types/vkbeautify/ @sch3lp
-/types/vnu-jar/ @Umoxfo
-/types/voca/ @pine
-/types/void-elements/ @ajafff
-/types/voronoi-diagram/ @michaelneu
-/types/vortex-web-client/ @Pro
-/types/voximplant-websdk/ @aylarov
-/types/vue-color/ @me
-/types/vue-markdown/ @neodon
-/types/vue-resource/ @kaorun343
-/types/vue-scrollto/ @vincekovacs
-/types/vue2-datepicker/ @ChristianStornowski
-/types/vuex-i18n/ @jaeggerr @noamkfir
-/types/w2ui/ @Ptival
-/types/w3c-generic-sensor/ @kenchris
-/types/w3c-image-capture/ @cosium
-/types/w3c-permissions/ @jberube
-/types/w3c-screen-orientation/ @kenchris
-/types/w3c-web-usb/ @larsgk
-/types/waitme/ @totpero
-/types/wake_on_lan/ @SrTobi
-/types/wallabyjs/ @andrewconnell
-/types/wallpaper/ @BendingBender
-/types/wampy/ @KSDaemon
-/types/warning/ @cvle
-/types/watch/ @soywiz @Perlmint
-/types/watchify/ @TeamworkGuy2
-/types/watchpack/ @e-cloud
-/types/waterline/ @arvitaly
-/types/watson-developer-cloud/ @waldo000000 @Naktibalda
-/types/waypoints/ @dominikbulaj @Koloto @evil-shrike
-/types/wcwidth/ @rokt33r
-/types/weak/ @int0h
-/types/weapp-api/ @vargeek
-/types/web-animations-js/ @kritollm
-/types/web-bluetooth/ @urish
-/types/web3/ @simon-jentzsch @nitzantomer @zurbo @yxliang01 @phra @naddison36 @icaroharry @linusnorton @jpeletier @anneau @matrushka @andrevmatos @levino
-/types/web3-eth-abi/ @LogvinovLeon
-/types/webappsec-credential-management/ @iainmcgin
-/types/webassembly-js-api/ @periklis
-/types/webcl/ @NCARalph
-/types/webcomponents.js/ @adidahiya
-/types/webcrypto/ @iislucas
-/types/webdriverio/ @nmalaguti @timbru31 @fsmedberg-tc @tanvirislam06 @phil-lgr
-/types/webfontloader/ @doskallemaskin
-/types/webgl-ext/ @zenmumbler
-/types/webgl2/ @nkemnitz @karhu
-/types/webidl2/ @saschanaz
-/types/webmidi/ @lostfictions
-/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 @christophehurpeau
-/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 @dennispg @christophehurpeau @ZSkycat @johnnyreilly
-/types/webpack-bundle-analyzer/ @kryops
-/types/webpack-chain/ @eirikurn @psachs21
-/types/webpack-chunk-hash/ @mtraynham
-/types/webpack-cleanup-plugin/ @malj
-/types/webpack-config-utils/ @hotell
-/types/webpack-dev-middleware/v1/ @bumbleblym @reduckted
-/types/webpack-dev-middleware/ @bumbleblym @reduckted @chrisabrams
-/types/webpack-dev-server/ @maestroh @daveparslow @ZheyangSong @alan-agius4 @arturovt
-/types/webpack-dotenv-plugin/ @kryops
-/types/webpack-env/ @use-strict @rhonsby
-/types/webpack-fail-plugin/ @deevus
-/types/webpack-hot-client/ @rynclark @ZSkycat
-/types/webpack-hot-middleware/ @bumbleblym @icylace @chrisabrams
-/types/webpack-manifest-plugin/ @r3nya
-/types/webpack-merge/v0/ @deevus
-/types/webpack-merge/ @deevus @mtraynham
-/types/webpack-node-externals/ @mtraynham
-/types/webpack-notifier/ @bumbleblym
-/types/webpack-serve/v1/ @rynclark @Jokcy @ZSkycat
-/types/webpack-serve/ @rynclark @Jokcy @ZSkycat
-/types/webpack-sources/ @e-cloud @chriseppstein
-/types/webpack-stream/ @iclanton @bumbleblym
-/types/webpack-validator/ @deevus
-/types/webpackbar/ @rynclark
-/types/webrtc/ @nakakura
-/types/website-scraper/ @screendriver
-/types/websocket/ @loyd @flynetworks @zhaoleimxd @jdneo
-/types/webspeechapi/ @saschanaz
-/types/websql/ @TeamworkGuy2
-/types/webtorrent/ @niieani @tlaziuk
-/types/webvr-api/ @efokschaner
-/types/week/ @sindrenm
-/types/weighted/ @ccitro
-/types/weixin-app/ @taoqf @AlexStacker @Jimexist
-/types/wellknown/ @yairtawil
-/types/wepy/ @Jimexist
-/types/wepy-redux/ @Jimexist
-/types/whatwg-mimetype/ @petejohanson
-/types/whatwg-streams/ @saschanaz @ksm2 @MattiasBuelens
-/types/whatwg-url/ @aomarks
-/types/wheel/ @BTOdell
-/types/when/ @derekcicerone @Nemo157
-/types/which/ @vvakame @cspotcode
-/types/wicg-mediasession/ @jucrouzet
-/types/wiiu/ @mzsm
-/types/window-or-global/ @vvakame
-/types/window-size/ @pmkary
-/types/windows-1251/ @RomanGolovanov
-/types/windows-script-host/ @zspitz
-/types/windows-service/ @rogierschouten
-/types/winjs/v1/ @adamhewitt627 @craigktreasure @xirzec
-/types/winjs/v2/ @adamhewitt627 @craigktreasure @xirzec
-/types/winjs/ @adamhewitt627 @craigktreasure @xirzec
-/types/winreg/ @RX14 @BobBuehler
-/types/winrt-uwp/ @saschanaz @taylor224
-/types/winston-dynamodb/ @nickiannone
-/types/winston-mail/ @idono87
-/types/winston-syslog/ @cjbarth
-/types/wiring-pi/ @NoHomey
-/types/wnumb/ @acoreyj
-/types/wonder.js/ @yyc-git
-/types/word-list-json/ @dovidm
-/types/wordcloud/ @joeskeen
-/types/words-to-numbers/ @James-Frowen
-/types/workbox-sw/ @wessberg
-/types/workerpool/ @Alorel
-/types/wpapi/ @guoyunhe
-/types/wrap-ansi/v2/ @kayahr
-/types/wrap-ansi/ @kayahr
-/types/wreck/v7/ @marcinporebski
-/types/wreck/ @marcinporebski @saboya
-/types/wrench/ @soywiz
-/types/write-file-atomic/ @BendingBender
-/types/write-file-atomically/ @Aankhen
-/types/write-json-file/ @DenisCarriere
-/types/write-pkg/ @azasypkin
-/types/ws/ @loyd @elithrar @mlamp @TitaneBoy @orblazer
-/types/wtfnode/ @dex4er
-/types/wu/ @phiresky
-/types/wx-js-sdk-dt/ @agasbzj
-/types/x-editable/ @sirkirby
-/types/x-ray/ @mtraynham
-/types/x-ray-crawler/ @mtraynham
-/types/xdate/ @yamada28go
-/types/xdg-basedir/ @tlaziuk
-/types/xml/ @YuJianrong
-/types/xml-parser/ @mhfrantz
-/types/xml2js/ @michelsalib @jasonrm @ccurrens @edwardhinkle @BehindTheMath @claasahl
-/types/xml2json/ @dolanmiu
-/types/xmlbuilder/ @wallymathieu
-/types/xmldoc/ @Xstoudi @ajsheehan @notlaforge
-/types/xmldom/ @tkqubo
-/types/xmlpoke/ @garthk
-/types/xmltojson/ @traviscrowe
-/types/xmpp__jid/ @PJakcson
-/types/xregexp/ @Bartvds @jfahrenkrug @sigo
-/types/xrm/v7/ @daryllabar
-/types/xrm/v8/ @6ix4our @mattngan @markusmauch @daryllabar @clownwilleatme @mariusagur
-/types/xrm/ @6ix4our @mattngan @markusmauch @daryllabar @clownwilleatme @scottdurow
-/types/xsd-schema-validator/ @Goldsmith42
-/types/xsockets/ @pushplay
-/types/xxhashjs/ @mDibyo
-/types/yallist/ @BendingBender
-/types/yandex-maps/ @Delagen
-/types/yandex-money-sdk/ @chrootsu
-/types/yar/ @SimonSchick
-/types/yargs/v8/ @poelstra @mizunashi-mana @pushplay @jeffkenney
-/types/yargs/v10/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
-/types/yargs/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
-/types/yargs-interactive/ @szeck87
-/types/yauzl/ @ffflorian
-/types/yauzl-promise/ @dlee-nvisia
-/types/yayson/ @Codesleuth
-/types/yazl/ @taoqf
-/types/ydn-db/ @yathit @gabrielmaldi
-/types/yeoman-generator/ @armorik83 @janslow @ikatyang
-/types/yeoman-test/ @ikatyang
-/types/yesql/ @Sumolari
-/types/yog-bigpipe/ @ssddi456
-/types/yog-log/ @ssddi456
-/types/yog2-kernel/ @ssddi456
-/types/yosay/ @armorik83
-/types/youtube/ @DazWilkin @JoshuaKGoldberg @eliotfallon213
-/types/youtube-dl/ @bsurai
-/types/yui/ @giabao
-/types/yup/ @dhardtke @vtserman @MoretonBayRC @sseppola
-/types/z-schema/ @pgonzal
-/types/zapier-platform-core/ @bradleyayers
-/types/zeit__next-typescript/ @icopp
-/types/zen-observable/ @aicest @JounQin @itomtom
-/types/zen-push/ @daprahamian
-/types/zenscroll/ @HamedFathi
-/types/zepto/ @jbaldwin
-/types/zeroclipboard/v1/ @ejsmith @niemyjski @balassy @leonyu
-/types/zeroclipboard/ @ejsmith @niemyjski @balassy @leonyu
-/types/zeromq/ @davemckeown @erikma @TitaneBoy
-/types/zip-webpack-plugin/ @blaise-io
-/types/zip.js/ @lgrignon
-/types/zipcodes/ @headdetect
-/types/zipkin-context-cls/ @plantain-00
-/types/zipkin-instrumentation-express/ @plantain-00
-/types/zipkin-instrumentation-fetch/ @plantain-00
-/types/zipkin-transport-http/ @plantain-00
-/types/zmq/ @davemckeown
-/types/zookeeper/ @xialeistudio
-/types/zopflipng-bin/ @hikoma
-/types/zui/ @yuanxu
-/types/zxcvbn/ @mtraynham
+/types/a-big-triangle/ @MathiasPaumgarten
+/types/a11y-dialog/ @Goyatuzo
+/types/abbrev/ @BendingBender
+/types/abs/ @AyaMorisawa
+/types/absolute/ @AyaMorisawa
+/types/abstract-leveldown/ @MeirionHughes @danwbyrne
+/types/acc-wizard/ @cyrilschumacher
+/types/accept/ @feinoujc
+/types/accept-language-parser/ @kampfgnom
+/types/accepts/ @bomret @brikou
+/types/accounting/ @gerich-home @chrisleck
+/types/ace/ @Diullei
+/types/ace-diff/ @innovation-team
+/types/acl/ @tkQubo
+/types/acorn/ @RReverser @e-cloud
+/types/actioncable/ @zhu1230 @szechyjs
+/types/actions-on-google/ @joelhegg
+/types/activedirectory2/ @pasthelod
+/types/activex-access/ @zspitz
+/types/activex-adodb/ @zspitz
+/types/activex-adox/ @zspitz
+/types/activex-dao/ @zspitz
+/types/activex-diskquota/ @zspitz
+/types/activex-excel/ @zspitz
+/types/activex-faxcomexlib/ @zspitz
+/types/activex-infopath/ @zspitz
+/types/activex-interop/ @zspitz
+/types/activex-iwshruntimelibrary/ @zspitz
+/types/activex-libreoffice/ @zspitz
+/types/activex-msforms/ @zspitz
+/types/activex-mshtml/ @zspitz
+/types/activex-msxml2/ @zspitz
+/types/activex-office/ @zspitz
+/types/activex-outlook/ @zspitz
+/types/activex-powerpoint/ @zspitz
+/types/activex-scripting/ @zspitz
+/types/activex-shdocvw/ @zspitz
+/types/activex-shell/ @zspitz
+/types/activex-stdole/ @zspitz
+/types/activex-vbide/ @zspitz
+/types/activex-wia/ @zspitz
+/types/activex-word/ @zspitz
+/types/adal-angular/ @unindented @aciccarello
+/types/add-zero/ @Roaders
+/types/adm-zip/ @jvilk @abner
+/types/adone/ @s0m3on3 @maxveres
+/types/aframe/ @devpaul @bertoritger @twastvedt
+/types/agenda/ @meirgottlieb @princjef
+/types/agent-base/ @Shinigami92
+/types/aggregate-error/ @BendingBender
+/types/agora-rtc-sdk/ @menthays
+/types/ajv-errors/ @afshawnlotfi
+/types/ale-url-parser/ @msn0
+/types/alertify/ @jjeffery
+/types/alexa-sdk/ @petebeegle @hoo29 @pascalwhoop @blforce @rk-7 @alexmalcoci
+/types/alexa-voice-service/ @dolanmiu
+/types/algebra.js/ @CaselIT
+/types/algoliasearch/ @cbaptiste @haroenv @aherve @samouss @keichinger
+/types/ali-app/ @taoqf
+/types/ali-oss/ @ptrdu
+/types/allure-js-commons/ @zaqqaz
+/types/almost-equal/ @cmaddalozzo
+/types/alt/ @Shearerbeard
+/types/amazon-cognito-auth-js/ @scottescue
+/types/amazon-product-api/ @MattiLehtinen @alien35
+/types/amcharts/ @ldrick
+/types/amp/ @jewbre
+/types/amp-message/ @jewbre
+/types/amphtml-validator/ @kevincharm
+/types/amplify/ @joeriks
+/types/amplify-deferred/ @joeriks @laurentiustamate94
+/types/amplitude-js/ @Asido @danmana
+/types/amqp/ @seikho @jonnysparkplugs
+/types/amqp-connection-manager/ @rogierschouten
+/types/amqp-rpc/ @wokim
+/types/amqplib/ @mnahkies @abreits @nfantone @zelein
+/types/analytics-node/ @fongandrew @thomasthiebaud
+/types/anchor-js/ @xt0rted
+/types/angular/ @diegovilar @thorn0 @calebstdenis @leonard-thieu @scipper
+/types/angular-agility/ @rolandzwaga
+/types/angular-animate/ @michelsalib @adidahiya @rasch @codyschaaf
+/types/angular-block-ui/ @lassebn @sclassen @renjfk
+/types/angular-bootstrap-calendar/ @Odrin
+/types/angular-bootstrap-lightbox/ @rolandzwaga
+/types/angular-breadcrumb/ @marctalary
+/types/angular-clipboard/ @bradfordwagner
+/types/angular-cookie/ @borislavjivkov
+/types/angular-cookies/ @diegovilar @aciccarello
+/types/angular-deferred-bootstrap/ @Ritzlgrmft
+/types/angular-desktop-notification/ @Dona278
+/types/angular-dialog-service/ @wcomartin
+/types/angular-dynamic-locale/ @stephenlautier
+/types/angular-environment/ @terrawheat
+/types/angular-es/ @mbutsykin
+/types/angular-feature-flags/ @borislavjivkov
+/types/angular-file-saver/ @deenairn
+/types/angular-file-upload/ @cyrilgandon
+/types/angular-formly/ @scatcher
+/types/angular-fullscreen/ @julienpa
+/types/angular-gettext/ @AkosLukacs
+/types/angular-google-analytics/ @cyrilschumacher @Toxantron
+/types/angular-gridster/ @jpmnteiro
+/types/angular-growl-v2/ @mkp05
+/types/angular-hotkeys/ @jlz27 @reppners @cyrilgandon
+/types/angular-http-auth/ @vvakame
+/types/angular-httpi/ @Kukks
+/types/angular-idle/ @mthamil
+/types/angular-jwt/ @rerezz
+/types/angular-load/ @david-gang
+/types/angular-loading-bar/ @stephenlautier @tyronedougherty
+/types/angular-local-storage/ @kenfdev @dona278
+/types/angular-localforage/ @reppners
+/types/angular-locker/ @nkovacic
+/types/angular-material/ @blbigelow @PeterHajdu @Dona278 @geertjansen @eknowles
+/types/angular-media-queries/ @jpmnteiro
+/types/angular-meteor/ @pgrm
+/types/angular-mocks/ @diegovilar @daltin @thorn0
+/types/angular-modal/ @paullessing
+/types/angular-oauth2/ @anteriovieira
+/types/angular-pdfjs-viewer/ @bastienmoulia
+/types/angular-permission/ @vmishevski
+/types/angular-promise-tracker/ @rufusl
+/types/angular-q-extras/ @mistic100
+/types/angular-q-spread/ @rafw87
+/types/angular-resource/ @diegovilar @miffels
+/types/angular-route/ @park9140 @gkalpak
+/types/angular-sanitize/ @diegovilar
+/types/angular-scenario/ @RomanoLindano
+/types/angular-scroll/ @samherrmann
+/types/angular-signalr-hub/ @AdamSantaniello
+/types/angular-spinner/ @Biegal
+/types/angular-storage/ @mdekrey
+/types/angular-strap/ @samherrmann @mkannwischer
+/types/angular-toastr/ @nkovacic @trodi
+/types/angular-toasty/ @muenchdo
+/types/angular-tooltips/ @leonard-thieu
+/types/angular-translate/ @michelsalib @GabrielGil
+/types/angular-ui-bootstrap/ @xt0rted @ry8806 @alfiej
+/types/angular-ui-router/ @michelsalib @matiishyn @mikehaas763
+/types/angular-ui-scroll/ @marknadig
+/types/angular-ui-sortable/ @thgreasi
+/types/angular-ui-tree/ @CalvinFernandez
+/types/angular-websocket/ @nickveys
+/types/angular-wizard/ @mjurisic @rwwilden
+/types/angular-xeditable/ @jpmnteiro
+/types/angular.throttle/ @reppners
+/types/angularfire/ @thSoft
+/types/angularlocalstorage/ @horiuchi
+/types/angulartics/ @bateast2
+/types/animation-frame/ @qinfchen
+/types/animejs/ @A-Babin
+/types/annyang/ @hisham @theluk
+/types/ansi/ @Gustavo6046
+/types/ansi-colors/ @rogierschouten
+/types/ansi-escape-sequences/ @aomarks
+/types/ansi-escapes/ @jacobbubu
+/types/ansi-regex/ @mvachhar
+/types/ansi-styles/ @brynbellomy @plylrnsdy
+/types/ansicolors/ @balupton
+/types/antlr4/ @mcchatman8009
+/types/antlr4-autosuggest/ @jonfreedman
+/types/any-db/ @rogierschouten
+/types/any-db-transaction/ @rogierschouten
+/types/anybar/ @khoomeister
+/types/anymatch/ @BendingBender
+/types/aos/ @shermendev
+/types/apex.js/ @y13i
+/types/aphrodite/ @asvetliakov
+/types/api-error-handler/ @tkrotoff
+/types/apicache/ @danielsogl
+/types/apigee-access/ @CasperSkydt
+/types/apollo-codegen/ @bradleyayers @kostspielig
+/types/apollo-upload-client/ @Slessi
+/types/apostrophe/ @afholderman
+/types/app-module-path/ @darkwebdev
+/types/app-root-dir/ @chenyang-biu
+/types/app-root-path/ @shantmarouti
+/types/appdmg/ @unindented
+/types/appframework/ @kyo-ago
+/types/applepayjs/ @martincostello
+/types/appletvjs/ @brainded
+/types/applicationinsights-js/ @markwolff @jpiyali @barustum
+/types/aqb/ @Athenkosi-Mase
+/types/arangodb/ @pluma
+/types/arbiter/ @arash16
+/types/arcgis-js-api/v3/ @Esri @bsvensson
+/types/arcgis-js-api/ @Esri @bsvensson
+/types/arcgis-rest-api/ @JeffJacobson
+/types/arcgis-to-geojson-utils/ @JeffJacobson
+/types/archiver/ @dolanmiu @crevil
+/types/archy/ @vvakame
+/types/are-we-there-yet/ @brianloveswords
+/types/argon2-browser/ @ivangabriele
+/types/argparse/ @arcticwaters @tlaziuk @eps1lon
+/types/args/ @Slessi
+/types/argv/ @hookclaw
+/types/arr-union/ @mrmlnc
+/types/array-find-index/ @samverschueren
+/types/array-foreach/ @skysteve
+/types/array-sort/ @DanielMSchmidt
+/types/array-uniq/ @DanielRosenwasser
+/types/array-unique/ @CSLTech
+/types/array.prototype.flatmap/ @hallettj
+/types/arrify/ @wanganjun
+/types/artillery/ @kmccoan-allocadia
+/types/asana/ @tkqubo
+/types/asap/ @fpascutti
+/types/ascii-art/ @lukaselmer
+/types/ascii2mathml/ @RagibHasin
+/types/asenv/ @remisery
+/types/asn1js/ @microshine
+/types/aspnet-identity-pw/ @jt000
+/types/assert/ @nicoabie @LinusU
+/types/assert-equal-jsx/ @seryl
+/types/assert-plus/ @KostyaTretyak
+/types/assertsharp/ @brunolm
+/types/assets-webpack-plugin/ @kryops
+/types/astring/ @nkappler
+/types/async/ @borisyankov @kern0 @Penryn @fenying @pascalmartin
+/types/async-cache/ @BendingBender
+/types/async-lock/ @elisee @afharo @rhymmor
+/types/async-polling/ @Goldsmith42
+/types/async-retry/ @albertywu @MeLlamoPablo
+/types/async.nexttick/ @pyrho
+/types/asynciterator/ @rubensworks
+/types/athenajs/ @warpdesign
+/types/atlaskit__button/ @dijimsta
+/types/atlaskit__calendar/ @lstanden
+/types/atlaskit__inline-edit/ @lstanden
+/types/atlaskit__layer/ @lstanden
+/types/atlaskit__single-select/ @lstanden
+/types/atlaskit__tree/ @benhjames
+/types/atlassian-crowd-client/ @mtgto
+/types/atmosphere.js/ @toedter @Mory1879 @Scipion
+/types/atob/ @johngeorgewright
+/types/atom/ @GlenCFL @smhxx @lierdakil
+/types/atom-keymap/ @GlenCFL
+/types/atom-mocha-test-runner/ @GlenCFL
+/types/atpl/ @soywiz
+/types/audiosprite/ @Perlmint
+/types/auth-header/ @ForbesLindesay
+/types/auth0/ @westy92
+/types/auth0-angular/ @homesar
+/types/auth0-js/v7/ @advancedrei
+/types/auth0-js/ @adrianchia @mdurrant @peterblazejewicz
+/types/auth0-lock/ @carusology @goldcaddy77 @lfaudreejr @willcaul
+/types/auth0.widget/ @advancedrei
+/types/auto-bind/ @sseppola
+/types/auto-launch/ @rhysd @unindented
+/types/auto-sni/ @janwo
+/types/autobahn/ @darkl @valepu
+/types/autolinker/ @leonyu
+/types/autoprefixer/ @odnamrataizem @murt
+/types/autosize/ @kingdango @keika299 @NeekSandhu
+/types/autosuggest-highlight/ @senukartur
+/types/await-timeout/ @szhu
+/types/awesomplete/ @webbiesdk @bmdixon @tbekolay @chrislopresto
+/types/aws-iot-device-sdk/ @niik @mlamp
+/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris @aneilbaboo @jeznag @louislarry @dpapukchiev @ohookins @trevor-leach @jagregory
+/types/aws-serverless-express/ @threesquared @jcaffey @mattmeye @albertovasquez
+/types/aws4/ @ajcrites
+/types/axe-webdriverjs/ @JoshuaKGoldberg
+/types/axel/ @ruslan-molodyko
+/types/axios-token-interceptor/ @innovation-team
+/types/axon/ @jewbre
+/types/azure/ @AndrewGaspar @antiveeranna @SomaticIT
+/types/azure-mobile-services-client/ @dmorosinotto
+/types/azure-sb/ @Azure
+/types/b_/ @outring
+/types/babel-code-frame/ @mohsen1
+/types/babel-core/ @yortus @marvinhagemeister
+/types/babel-generator/ @yortus @johnnyestilles
+/types/babel-plugin-react-pug/ @jpap
+/types/babel-plugin-syntax-jsx/ @marvinhagemeister
+/types/babel-template/ @yortus @marvinhagemeister
+/types/babel-traverse/ @yortus @marvinhagemeister @rpetrich
+/types/babel-types/ @yortus @baxtersa @marvinhagemeister @bcherny
+/types/babel-webpack-plugin/ @j-f1
+/types/babel__code-frame/ @mohsen1 @ForbesLindesay
+/types/babel__core/ @yortus @marvinhagemeister @mgroenhoff
+/types/babel__generator/ @yortus @johnnyestilles @mgroenhoff
+/types/babel__template/ @yortus @marvinhagemeister @mgroenhoff
+/types/babel__traverse/ @yortus @marvinhagemeister @rpetrich @mgroenhoff
+/types/babelify/ @TeamworkGuy2 @marvinhagemeister
+/types/babylon/ @yortus @marvinhagemeister
+/types/babylon-walk/ @czbuchi
+/types/babyparse/ @cdiddy77
+/types/backbone/ @borisyankov @nvivo @kenjiru @jjoekoullas
+/types/backbone-associations/ @craigbrett17
+/types/backbone-fetch-cache/ @delphinus35
+/types/backbone-relational/ @eirikhm
+/types/backbone.layoutmanager/ @hejiang2000
+/types/backbone.localstorage/ @lgrignon
+/types/backbone.marionette/ @zhamid @nvivo @sventschui @razorness @confususs @jjoekoullas
+/types/backbone.paginator/ @Nyamazing
+/types/backbone.radio/ @alphaleonis
+/types/backgrid/ @jlujan
+/types/backlog-js/ @vvatanabe
+/types/backo2/ @Retsam
+/types/backoff/ @BendingBender
+/types/baconjs/ @alexander-matsievsky @gekkio
+/types/bagpipes/ @micmro
+/types/baidu-app/ @taoqf
+/types/barbellweights/ @evelijn
+/types/barcode/ @pvomhoff
+/types/bardjs/ @TepigMC
+/types/base-64/ @dolanmiu
+/types/base-x/ @chrootsu
+/types/base16/ @alechill
+/types/base64-arraybuffer/ @jbencook
+/types/base64-js/ @pe8ter
+/types/base64-url/ @urish
+/types/base64topdf/ @lucasriondel
+/types/bases/ @harikv
+/types/bash-glob/ @mrmlnc
+/types/basic-auth/ @moonpyk @vesse
+/types/basicauth-middleware/ @nchaulet
+/types/batch-stream/ @drudge
+/types/bazinga-translator/ @alexndlm
+/types/bcrypt/ @codeanimal @IOAyman @dstapleton92
+/types/bcryptjs/ @RafaelKr @branoholy
+/types/bdfjs/ @jeremejevs
+/types/beats/ @urish
+/types/bech32/ @micksatana
+/types/behavior3/ @carrrywu
+/types/bell/ @SimonSchick
+/types/bem-cn/ @selkinvitaly
+/types/bencode/ @tobenna
+/types/better-curry/ @pocesar
+/types/better-queue/ @maozedong
+/types/better-scroll/ @stoneChen @cnjack
+/types/better-sqlite3/ @Morfent @matrumz @sant123
+/types/bezier-easing/ @ptlis
+/types/bezier-js/ @danmarshall @Epskampie
+/types/bgiframe/ @sumegizoltan
+/types/bidirectional-map/ @helenanderson
+/types/big.js/ @nycdotnet @googol
+/types/bigi/ @mhegazy
+/types/bigint/ @Evgenus
+/types/bignum/ @Patman64
+/types/bigscreen/ @dduugg
+/types/bin-pack/ @orentrutner
+/types/binary-parser/ @riggs @dolanmiu @yuhr
+/types/bind-ponyfill/ @skysteve
+/types/bindings/ @unindented
+/types/bintrees/ @CjS77
+/types/bip21/ @stefanhuber
+/types/bip32/ @me
+/types/bip38/ @micksatana
+/types/bip39/ @micksatana
+/types/bit-array/ @mudkipme
+/types/bitcoinjs-lib/ @mhegazy @dlebrecht @rbuckton @micksatana @youssefgh @kento1218
+/types/bitcore-lib/ @lautarodragan
+/types/bittorrent-protocol/ @feross @tlaziuk
+/types/bitwise-xor/ @rogierschouten @BendingBender
+/types/bl/ @Bartvds @reconbot
+/types/blacklist/ @mhegazy
+/types/blazy/ @julienpa
+/types/blessed/ @brynbellomy @skellock
+/types/blissfuljs/ @fskorzec
+/types/blob-stream/ @erichillah
+/types/blob-to-buffer/ @nrlquaker
+/types/blob-util/ @WorldMaker
+/types/blocked/ @l-jonas
+/types/blockies/ @LogvinovLeon
+/types/blocks/ @ksmigiel
+/types/bloem/ @danwbyrne
+/types/bloom-filter/ @danwbyrne
+/types/bloomfilter/ @slawiko
+/types/blue-tape/ @sodatea
+/types/bluebird/v1/ @Bartvds
+/types/bluebird/v2/ @Bartvds @falsandtru
+/types/bluebird/ @lhecker
+/types/bluebird-global/ @d-ph
+/types/bluebird-retry/ @pvomhoff
+/types/blueimp-md5/ @rmartone @mkohlmyr
+/types/bn.js/ @LogvinovLeon @HenryNguyen5
+/types/body-parser/ @santialbo @vilic @dreampulse @blendsdk @tlaziuk @jwalton
+/types/body-parser-xml/ @tbounsiar
+/types/bonjour/ @quentin-ol @octo-sniffle
+/types/bookshelf/ @arcticwaters @vesse
+/types/boom/v3/ @rogatty
+/types/boom/v4/ @rogatty @AJamesPhillips @jineshshah36 @danielmachado
+/types/boom/ @rogatty @AJamesPhillips @jineshshah36 @TimonVS @danielmachado
+/types/bootbox/ @vbortone @konpikwastaken @kanup @icereed @trodi @stannynuytkens @renjfk
+/types/bootpag/ @rdeneau
+/types/bootstrap/v3/ @borisyankov @denisname
+/types/bootstrap/ @denisname
+/types/bootstrap-3-typeahead/ @AndersonFriaca
+/types/bootstrap-datepicker/ @borisyankov
+/types/bootstrap-fileinput/ @CheCoxshall
+/types/bootstrap-growl-ifightcrime/ @AndersonFriaca
+/types/bootstrap-maxlength/ @danmana
+/types/bootstrap-notify/ @niemyjski @mouse0270 @robert-voica
+/types/bootstrap-select/ @LKay
+/types/bootstrap-slider/ @dbeckwith @leonard-thieu
+/types/bootstrap-switch/ @johnmbaughman
+/types/bootstrap-table/ @talatbaig
+/types/bootstrap-toggle/ @gricey432
+/types/bootstrap-touchspin/ @albinsunnanbo
+/types/bootstrap-treeview/ @jbtronics
+/types/bootstrap-validator/ @BradyLiles
+/types/bootstrap.paginator/ @derikwhittaker
+/types/bootstrap.timepicker/ @derikwhittaker @heatherbooker
+/types/bootstrap.v3.datetimepicker/v3/ @bayitajesi
+/types/bootstrap.v3.datetimepicker/ @katonap
+/types/bootstrap3-dialog/ @nakupanda @cnboland
+/types/bounce.js/ @cherrry
+/types/box2d/ @jbaldwin
+/types/bpmn-moddle/ @haydos89
+/types/brace-expansion/ @BendingBender
+/types/braces/ @vemoo
+/types/braft-editor/ @me
+/types/braintree-web/ @chlela
+/types/breeze/ @borisyankov
+/types/bricks.js/ @kondi
+/types/bro-fs/ @ffflorian
+/types/broccoli-plugin/ @dfreeman
+/types/brorand/ @chrootsu
+/types/browser-bunyan/ @PaulLockwood @kryops
+/types/browser-fingerprint/ @LKay
+/types/browser-harness/ @scriby
+/types/browser-pack/ @TeamworkGuy2
+/types/browser-report/ @JTOne123
+/types/browser-resolve/ @marionebl
+/types/browser-sync/ @joeskeen @aznnomness
+/types/browserify/ @AndrewGaspar @jvilk @leonard-thieu @LinusU
+/types/browserslist/ @davecardwell
+/types/bs58/ @chrootsu
+/types/bson/ @horiuchi @CaselIT
+/types/btoa/ @johngeorgewright
+/types/bucks/ @zaneli
+/types/buffer-compare/ @chrootsu
+/types/buffer-equal/ @Bartvds
+/types/buffer-from/ @burnnat
+/types/buffer-reader/ @nrlquaker
+/types/buffer-xor/ @danwbyrne
+/types/buffers/ @rhencke
+/types/bufferstream/ @Bartvds
+/types/builtin-modules/ @ajafff
+/types/bull/v2/ @bgrieder @JProgrammer
+/types/bull/ @bgrieder @JProgrammer @marshall007 @weeco @blaugold @iamolegga @koblas @bondz @wuha-team @aleccool213 @danmana @kjellmorten @pc-jedi
+/types/bump-regex/ @silkentrance
+/types/bunnymq/ @cyrilschumacher
+/types/bunyan/ @amikhalev
+/types/bunyan-blackhole/ @olivr70
+/types/bunyan-bugsnag/ @pasieronen
+/types/bunyan-config/ @cyrilschumacher
+/types/bunyan-format/ @dex4er
+/types/bunyan-prettystream/ @jasonswearingen @enlight
+/types/bunyan-winston-adapter/ @stevehipwell
+/types/busboy/ @jacobbaskin
+/types/business-rules-engine/ @rsamec
+/types/bwip-js/ @MugeSo
+/types/byline/ @reppners
+/types/bytebuffer/ @cappellin
+/types/bytes/ @danny8002 @believer
+/types/bytewise/ @danwbyrne
+/types/c3/ @mcliment @gerinjacob @denyo @dmitryshindin @timn
+/types/cache-manager/ @GausSim
+/types/cached-path-relative/ @TeamworkGuy2
+/types/cal-heatmap/ @RetroChrisB
+/types/caller/ @ignocide
+/types/callsite/ @newclear
+/types/callsites/ @BendingBender
+/types/calq/ @eirikhm
+/types/camaro/ @tuananh
+/types/camelcase/ @samverschueren
+/types/camelcase-keys/ @mhegazy
+/types/camo/ @lucasmciruzzi
+/types/cancan/ @Vincent-Pang
+/types/caniuse-api/ @davecardwell
+/types/caniuse-lite/ @mutech
+/types/cannon/ @clark-stevenson @Gelio
+/types/canvas-confetti/ @matracey
+/types/canvas-gauges/ @Mikhus
+/types/canvasjs/ @brutalimp
+/types/capitalize/ @frederickfogerty
+/types/capture-console/ @AustonZ
+/types/card-validator/ @ChanceM
+/types/case-sensitive-paths-webpack-plugin/ @r3nya
+/types/caseless/ @downace @mastermatt
+/types/cash/ @akvlko
+/types/casperjs/ @jedmao @urielch
+/types/cassandra-driver/ @Svjard @pc-jedi
+/types/catbox/v7/ @jasonswearingen @AJamesPhillips
+/types/catbox/ @jasonswearingen @AJamesPhillips @saboya
+/types/catbox-memory/ @SimonSchick
+/types/catbox-redis/ @SimonSchick
+/types/cbor/ @pushplay
+/types/ccap/ @taoqf
+/types/cesium/ @Zuzon @hnipps @szechyjs @golyalpha
+/types/cfn-response/ @ivoisbelongtous
+/types/chai/v2/ @Bartvds @AGBrown
+/types/chai/ @jedmao @Bartvds @AGBrown @olivr70 @mwistrand @joshuakgoldberg @shaunluttin @Naktibalda @micksatana @ErikSchierboom
+/types/chai-arrays/ @clementprevot
+/types/chai-as-promised/ @jt000 @Kuniwak @leonard-thieu @lazerwalker @mattbishop
+/types/chai-datetime/ @cliffburger @mattbishop
+/types/chai-dom/ @mattlewis92
+/types/chai-enzyme/ @asvetliakov
+/types/chai-fs/ @dimitardanailov
+/types/chai-fuzzy/ @Bartvds
+/types/chai-http/ @Nemo157 @G1itcher @CaselIT @bas-l
+/types/chai-jest-snapshot/ @mattvperry
+/types/chai-jquery/ @kazimanzurrashid
+/types/chai-json-schema/ @ulrichheiniger
+/types/chai-oequal/ @mizunashi-mana
+/types/chai-roughly/ @swist
+/types/chai-spies/ @kuzn-ilya @harm-less @jounisuo
+/types/chai-string/ @nmalaguti
+/types/chai-subset/ @delta62 @AGBrown
+/types/chai-uuid/ @harm-less
+/types/chai-webdriverio/ @sherlock1982
+/types/chai-xml/ @jedigo
+/types/chance/ @cbowdon @brikou @cafesanu
+/types/change-emitter/ @iskandersierra
+/types/chardet/ @Gebatzens
+/types/charm/ @Xananax
+/types/charset/ @cspotcode
+/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @archy-bold @braincore @frabnt @alexdor @mahnuh @Conrad777
+/types/chartist/ @mtgibbs @psimonski @clottman @affilnost @sunnyrjuneja
+/types/chartmogul-node/ @chartmogul
+/types/chayns/ @HenningKuehl
+/types/check-sum/ @BendingBender
+/types/check-types/ @idchlife
+/types/checkstyle-formatter/ @mhegazy
+/types/checksum/ @rogierschouten
+/types/cheerio/ @blittle @wmaurer @umarniz @LiJinyao @chennakrishna8 @AzSiAz
+/types/chess.js/ @JacobFischer
+/types/chessboardjs/ @sliverb @davidmpaz
+/types/chmodr/ @BendingBender
+/types/chokidar/ @reppners @felixfbecker @bayssmekanique
+/types/chordsheetjs/ @adamsbloom
+/types/chosen-js/ @borisyankov @denisname
+/types/chownr/ @BendingBender
+/types/chroma-js/v0/ @invliD
+/types/chroma-js/ @invliD @mpacholec
+/types/chrome/ @matthewkimber @otiai10 @couven92 @rreverser @sreimer15
+/types/chrome-apps/ @niikoo @AdamLay @pine613 @mzsm @RReverser @pyle @matthewkimber @otiai10 @couven92 @rreverser @sreimer15
+/types/chromecast-caf-receiver/ @craigrbruce
+/types/chromecast-caf-sender/ @samuelmaddock
+/types/chromedriver/ @pe8ter
+/types/circuit-breaker-js/ @DeTeam
+/types/circular-json/ @jpevarnek
+/types/ckeditor/v2/ @wittwert
+/types/ckeditor/ @wittwert @stuartlong @viktorpegy
+/types/ckeditor__ckeditor5-utils/ @denisname
+/types/clamp-js/ @Hikariii
+/types/clamp-js-main/ @sinziananicolae
+/types/classnames/ @adidahiya @JKillian @seansfkelley @mradamczyk @marvinhagemeister
+/types/cldrjs/ @RamanBut-Husaim @gcastre
+/types/clean-css/ @tkrotoff
+/types/clean-stack/ @BendingBender
+/types/clean-webpack-plugin/ @j-f1
+/types/clear-require/ @dan-j
+/types/clearbladejs-client/ @ClearBlade
+/types/clearbladejs-node/ @ClearBlade
+/types/clearbladejs-server/ @ClearBlade
+/types/cleave.js/ @clentfort @jasongi-at-sportsbet @sashashakun
+/types/cli/ @kayahr
+/types/cli-box/ @athasach
+/types/cli-color/ @ChaosinaCan
+/types/cli-interact/ @ffflorian
+/types/cli-progress/ @mhegazy
+/types/cli-spinner/ @janslow
+/types/cli-table/ @arylo
+/types/cli-table2/ @mgroenhoff
+/types/cli-truncate/ @danwbyrne
+/types/client-sessions/ @netroy
+/types/clientjs/ @icopp
+/types/cliff/ @brynbellomy
+/types/clipboard/ @impworks
+/types/clipboard-js/ @markwongsk
+/types/clipboardy/ @BendingBender
+/types/clmtrackr/ @hellochar
+/types/clndr/ @jasperjn
+/types/clockpicker/ @jfcere
+/types/cloneable-readable/ @qlonik
+/types/cloner/ @matrumz
+/types/closure-compiler/ @mprobst
+/types/cloud-env/ @Morfent
+/types/cloudflare-apps/ @MartynasZilinskas
+/types/cls-hooked/ @aleung
+/types/clusterize.js/ @Pr1st0n
+/types/cmd-shim/ @cspotcode
+/types/co-body/ @geoffreak
+/types/co-views/ @devlee @geoffreak
+/types/code/ @prashaantt
+/types/codemirror/ @mihailik @nrbernard @Pr1st0n @rileymiller @toddself
+/types/codependency/ @morphatic
+/types/coffeeify/ @tkQubo
+/types/coinbase/ @rogierschouten
+/types/coinstring/ @mhegazy
+/types/collections/ @scarabedore
+/types/color/v0/ @LKay
+/types/color/v1/ @LKay
+/types/color/v2/ @Airlun
+/types/color/ @Airlun @jameswlane
+/types/color-convert/ @Airlun
+/types/color-name/ @Ailrun
+/types/color-namer/ @in19farkt
+/types/color-string/ @BendingBender @danmarshall
+/types/colorbrewer/ @mtraynham
+/types/colresizable/ @gilleswaeber
+/types/com.darktalker.cordova.screenshot/ @akarienta
+/types/com.wikitude.phonegap.wikitudeplugin/ @zbarbuto
+/types/combine-source-map/ @TeamworkGuy2
+/types/combined-stream/ @felixge @tlaziuk @konpikwastaken
+/types/combokeys/ @iclanton
+/types/cometd/ @derekcicerone @unindented @alxHenry
+/types/command-exists/ @BendingBender
+/types/command-line-args/v4/ @CzBuCHi @75lb
+/types/command-line-args/ @75lb
+/types/command-line-commands/ @CzBuCHi
+/types/command-line-usage/ @matrumz @Dvorsky
+/types/commangular/ @hiraash
+/types/comment-json/ @Jason3S
+/types/commercetools__enzyme-extensions/ @screendriver
+/types/common-errors/ @icopp
+/types/common-prefix/ @seangenabe
+/types/common-tags/ @zuzusik @tzupengwang @BendingBender
+/types/commondir/ @leonard-thieu
+/types/commonmark/ @nicojs @leonard-thieu
+/types/compare-func/ @fennibay
+/types/compare-version/ @jpevarnek
+/types/compare-versions/ @LogvinovLeon
+/types/complex/ @AyaMorisawa @pavasich
+/types/component-emitter/ @psnider
+/types/compose-function/ @denis-sokolov
+/types/compressible/ @BendingBender
+/types/compression/ @santialbo @rburgt
+/types/compression-webpack-plugin/ @dublicator
+/types/compute-quantile/ @mrmlnc
+/types/compute-stdev/ @mrmlnc
+/types/concat-stream/ @jmarianer
+/types/concaveman/ @DenisCarriere
+/types/conf/v0/ @SamVerschueren
+/types/conf/ @SamVerschueren @BendingBender
+/types/confidence/ @jppellerin
+/types/config/ @RWander @forrestbice @jndonald3 @albertovasquez
+/types/config-yaml/ @me
+/types/configstore/ @ArcticLight
+/types/configurable/ @jewbre
+/types/confit/ @ethanresnick
+/types/connect/ @SomaticIT @EvanHahn
+/types/connect-busboy/ @pinguet62
+/types/connect-datadog/ @moshegood
+/types/connect-ensure-login/ @0x6368656174
+/types/connect-flash/ @AndreasGassmann
+/types/connect-history-api-fallback/ @douglasduteil
+/types/connect-livereload/ @SomaticIT
+/types/connect-modrewrite/ @tinganho
+/types/connect-mongo/ @Syati
+/types/connect-mongodb-session/ @NattapongSiri
+/types/connect-pg-simple/ @pasieronen
+/types/connect-redis/ @xstoudi
+/types/connect-slashes/ @samherrmann
+/types/connect-timeout/ @cyrilschumacher
+/types/consola/ @Jungwoo-An
+/types/console-log-level/ @ofrobots
+/types/console-stamp/ @ericbyers @guusdegraeve
+/types/console-ui/ @dfreeman
+/types/consolidate/ @soywiz @theosherry @nicolashenry
+/types/consul/ @chrootsu
+/types/content-disposition/ @bomret
+/types/content-type/ @horiuchi @BendingBender
+/types/contentful-resolve-response/ @antonkarsten
+/types/contextjs/ @kernhanda
+/types/continuation-local-storage/ @rath @heycalmdown @aboveyou00
+/types/convert-hrtime/ @BendingBender
+/types/convert-layout/ @xeningem
+/types/convert-source-map/ @AndrewGaspar @mgroenhoff @TeamworkGuy2
+/types/convict/ @Nemo157 @vesse @elyscape @vanthiyathevan
+/types/cookie/ @pine
+/types/cookie-parser/ @santialbo @BendingBender
+/types/cookie-session/ @borislavjivkov
+/types/cookie-signature/ @lith-light-g
+/types/cookie_js/ @slawiko
+/types/cookiejar/ @paroxp
+/types/cookies/ @WangZishi @jkeylu @BendingBender
+/types/copy-paste/ @SrTobi
+/types/copy-text-to-clipboard/ @BendingBender
+/types/copy-webpack-plugin/ @flying-sheep
+/types/cordova-ionic/ @hendrikmaus
+/types/cordova-plugin-app-version/ @Ritzlgrmft
+/types/cordova-plugin-background-mode/ @Lordnoname
+/types/cordova-plugin-badge/ @timbru31
+/types/cordova-plugin-ble-central/ @gjunge
+/types/cordova-plugin-bluetoothclassic-serial/ @tuvokki
+/types/cordova-plugin-canvascamera/ @lordazzi
+/types/cordova-plugin-device-name/ @larrybahr
+/types/cordova-plugin-file-opener2/ @cyrilgandon
+/types/cordova-plugin-ibeacon/ @Ritzlgrmft
+/types/cordova-plugin-insomnia/ @Ritzlgrmft
+/types/cordova-plugin-keyboard/ @danmana @jkfb
+/types/cordova-plugin-mapsforge/ @rafw87
+/types/cordova-plugin-ms-adal/ @KaiWalter
+/types/cordova-plugin-native-keyboard/ @lobo87
+/types/cordova-plugin-ouralabs/ @Justin-Credible
+/types/cordova-plugin-qrscanner/ @bitjson @jab
+/types/cordova-plugin-spinner/ @Justin-Credible
+/types/cordova-plugin-x-socialsharing/ @Ritzlgrmft @larrybahr
+/types/cordova-sqlite-storage/ @rafw87
+/types/cordova-universal-links-plugin/ @broder
+/types/cordova_app_version_plugin/ @larrybahr
+/types/cordovarduino/ @hendrikmaus
+/types/core-js/ @rbuckton @mfdeveloper
+/types/core-object/ @dfreeman
+/types/correlation-id/ @natemara
+/types/cors/ @pluma
+/types/cosmiconfig/v4/ @ozum
+/types/cosmiconfig/ @ozum @szeck87 @saadq @jinwoo
+/types/cote/ @makepost @roblabat
+/types/couchbase/ @maouida @fluggo
+/types/countdown/ @gjuchault
+/types/counterpart/ @santiagodoldan
+/types/countries-and-timezones/ @zero51
+/types/country-list/v1/ @iRoachie
+/types/country-list/ @iRoachie @Kimahriman
+/types/country-select-js/ @humrochagf
+/types/countup.js/ @shermendev
+/types/coverup/ @bevalorous
+/types/cp-file/ @BendingBender
+/types/cpx/ @alan-agius4
+/types/cpy/ @mhegazy @BendingBender
+/types/cqrs-domain/ @blissi
+/types/cradle/ @panuhorsmalahti
+/types/crc/ @YuJianrong
+/types/create-error/ @tkrotoff
+/types/create-hash/ @BendingBender
+/types/create-hmac/ @BendingBender
+/types/create-react-class/ @jgoz
+/types/create-subscription/ @Asana @vsiao
+/types/createjs/ @evilangelist @gyohk
+/types/createjs-lib/ @evilangelist @gyohk
+/types/credential/ @phuvo
+/types/credit-card-type/ @LKay
+/types/critters-webpack-plugin/ @JuanJoseGonGi
+/types/cron/ @horiuchi @winup
+/types/cropperjs/ @stepancar
+/types/croppie/ @connor4312 @dklmuc @sarunint @knuthelgesen
+/types/cross-spawn/ @Alorel
+/types/crossfilter/ @schmuli @iebaker @nordfjord
+/types/crossroads/ @diullei
+/types/crpc/ @0xdeafcafe
+/types/crumb/ @lenovouser @SimonSchick
+/types/cryptiles/ @awendland
+/types/crypto-js/ @misak113
+/types/crypto-random-string/ @MrManny
+/types/cryptojs/ @giabao
+/types/cryptr/ @rrogowski
+/types/cson/ @stpettersens
+/types/cson-parser/ @lenovouser
+/types/csprng/ @winksaville
+/types/csrf/ @markis
+/types/css/ @ilich
+/types/css-font-loading-module/ @slikts
+/types/css-modules/ @NeekSandhu
+/types/css-to-style/ @bengry
+/types/css-tree/ @erik-kallen
+/types/cssbeautify/ @rictic
+/types/cssnano/ @odnamrataizem
+/types/csso/ @screendriver @erik-kallen
+/types/csurf/ @horiuchi
+/types/csv-parse/ @davidm77 @obi-jan-kenobi
+/types/csv-stringify/ @rogierschouten @arjenvanderende
+/types/csv2json/ @dex4er
+/types/csvrow/ @codeanimal
+/types/csvtojson/ @EricByers @wcarson
+/types/cucumber/v1/ @abraaoalves @jan-molak @isoung @BendingBender
+/types/cucumber/v3/ @abraaoalves @jan-molak @isoung @BendingBender @ErikSchierboom
+/types/cucumber/ @abraaoalves @jan-molak @isoung @BendingBender @ErikSchierboom
+/types/currency-formatter/ @mhegazy @davidmpaz
+/types/custom-error-generator/ @thmiceli
+/types/custom-functions-runtime/ @OfficeDev @Zlatkovsky @mscharlock
+/types/cwise/ @taoqf
+/types/cwise-compiler/ @taoqf
+/types/cwise-parser/ @taoqf
+/types/cybozulabs-md5/ @pine613
+/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas @cerberuser
+/types/d3/v3/ @gustavderdrache @borisyankov @MatthiasJobst
+/types/d3/v4/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-array/ @gustavderdrache @borisyankov @tomwanzek @denisname
+/types/d3-axis/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-box/ @lk-chen
+/types/d3-brush/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-chord/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-cloud/ @hansrwindhoff
+/types/d3-collection/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-color/ @tomwanzek @gustavderdrache @borisyankov @denisname @ledragon
+/types/d3-contour/ @tomwanzek @Ledragon
+/types/d3-delaunay/ @BTOdell
+/types/d3-dispatch/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-drag/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-dsv/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-ease/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-fetch/ @ledragon
+/types/d3-force/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-format/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-geo/ @ledragon @tomwanzek @gustavderdrache @borisyankov
+/types/d3-graphviz/ @DomParfitt
+/types/d3-hexbin/ @uncovertruth @tomwanzek @denisname
+/types/d3-hierarchy/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-hsv/ @arrayjam @denisname
+/types/d3-interpolate/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-path/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-polygon/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-quadtree/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-queue/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-random/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-request/ @Ledragon @gustavderdrache @borisyankov @tomwanzek @denisname
+/types/d3-sankey/ @tomwanzek @gustavderdrache
+/types/d3-scale/v1/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-scale/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-scale-chromatic/ @Ledragon @gustavderdrache @borisyankov @henriquefm
+/types/d3-selection/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-selection-multi/ @gustavderdrache @borisyankov
+/types/d3-shape/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-time/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-time-format/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-timer/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-tip/ @brspnnggrt
+/types/d3-transition/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-voronoi/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-zoom/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3.slider/ @lk-chen
+/types/d3kit/ @morphatic
+/types/d3pie/ @mc-petry
+/types/dagre/ @qinfchen @Frankrike @vilterp @rustedgrail
+/types/dagre-d3/ @markwongsk
+/types/dagre-layout/ @qinfchen @Frankrike @vilterp
+/types/dargs/ @BendingBender
+/types/dashify/ @rokt33r
+/types/dat.gui/ @gyohk @sonic3d @rroylance @singuerinc
+/types/data-driven/ @mrhen
+/types/datadog-metrics/ @pushplay
+/types/datadog-tracer/ @dineshsaravanan
+/types/datatables.net/ @Silver-Connection @omidkrad @pragmatrix @CNBoland
+/types/datatables.net-autofill/ @andy-maca
+/types/datatables.net-buttons/ @Silver-Connection @SammyG4Free @jimhartford
+/types/datatables.net-colreorder/ @andy-maca
+/types/datatables.net-fixedheader/ @szechyjs @Silver-Connection
+/types/datatables.net-rowgroup/ @maixiu
+/types/datatables.net-rowreorder/ @baywet
+/types/datatables.net-scroller/ @RohdeK
+/types/datatables.net-select/ @szechyjs
+/types/date-arithmetic/ @HeeL
+/types/date.format.js/ @balrob
+/types/dateformat/ @aicest
+/types/datejs/ @rupertavery
+/types/daterangepicker/ @SirMartin @smasala @nertzy
+/types/dav/ @ToastHawaii
+/types/dayzed/ @samhh
+/types/db-migrate-base/ @nickiannone
+/types/db-migrate-pg/ @nickiannone
+/types/db.js/ @cgwrench
+/types/dc/ @hansrwindhoff @mtraynham @MatthiasJobst
+/types/dd-trace/ @ColinBradley @alloy
+/types/deasync/ @Sicilica
+/types/debessmann/ @vkorehov
+/types/debounce/ @denis-sokolov @joshuakgoldberg @wcarson
+/types/debounce-promise/ @whtsky
+/types/debug/ @swook @galtalmor @zamb3zi @brasten
+/types/decamelize/ @samverschueren
+/types/decay/ @enaeseth
+/types/decompress/ @plantain-00 @jbethke
+/types/decompress-response/ @DanielRosenwasser
+/types/decorum/ @dflor003
+/types/dedent/ @douglasduteil
+/types/deep-assign/ @souldreamer
+/types/deep-diff/ @ZauberNerd
+/types/deep-equal/ @remojansen @janslow
+/types/deep-extend/ @rhysd
+/types/deep-freeze/ @Bartvds @aluanhaddad
+/types/deep-freeze-es6/ @mattbishop
+/types/deep-freeze-strict/ @mhegazy
+/types/defaults/ @IbtihelCHNAB
+/types/defer-promise/ @niklasf
+/types/define-lazy-prop/ @BendingBender
+/types/defined/ @BendingBender
+/types/deglob/ @saadq
+/types/deku/ @pocka
+/types/del/v2/ @AyaMorisawa
+/types/del/ @AyaMorisawa @BendingBender @bitjson
+/types/delaunator/ @DenisCarriere @BTOdell
+/types/delete-empty/ @Alorel
+/types/deline/ @iarroyo5
+/types/deluge/ @Diasiare
+/types/denodeify/ @joaomoreno
+/types/deoxxa-content-type/ @pine613
+/types/depcheck/ @ark120202
+/types/depd/ @danny8002 @BendingBender
+/types/dependency-tree/ @joscha
+/types/deployjava/ @cyrilschumacher
+/types/deprecate/ @Toilal
+/types/deps-sort/ @TeamworkGuy2
+/types/derhuerst__cli-on-key/ @jacobbubu
+/types/destroy/ @BendingBender
+/types/destroy-on-hwm/ @BendingBender
+/types/detect-browser/ @rogierschouten @carusology
+/types/detect-character-encoding/ @BendingBender
+/types/detect-hover/ @thomastilkema
+/types/detect-indent/v0/ @Bartvds
+/types/detect-indent/ @Bartvds @BendingBender
+/types/detect-it/ @thomastilkema
+/types/detect-newline/ @BendingBender
+/types/detect-node/ @LogvinovLeon
+/types/detect-passive-events/ @thomastilkema
+/types/detect-pointer/ @thomastilkema
+/types/detect-port/ @lith-light-g
+/types/detect-touch-events/ @thomastilkema
+/types/detective/ @TeamworkGuy2
+/types/detox/ @TareqElMasri @stevechun
+/types/dev-ip/ @mike-engel
+/types/devexpress-aspnetcore-bootstrap/ @devexpress @skubarenko
+/types/df-visible/ @Litee
+/types/dhtmlxgantt/ @mkozhukh @chriscamicas
+/types/dhtmlxscheduler/ @mkozhukh
+/types/di/ @johnjbarton
+/types/di-lite/ @dcrusader
+/types/diacritics/ @otociulis
+/types/dialogflow/ @dyladan
+/types/dicer/ @GoupilRobin @BendingBender
+/types/diff/ @vvakame @szdc @moc-yuto
+/types/diff2html/ @rtfpessoa
+/types/diffie-hellman/ @BendingBender
+/types/digibyte/ @lautarodragan @werewolfe
+/types/dinero.js/ @BendingBender
+/types/dir-resolve/ @andy-ms
+/types/discontinuous-range/ @OiCMudkips
+/types/discord-rpc/ @jasonhaxstuff
+/types/discourse-sso/ @championswimmer
+/types/dispatchr/ @Ragg-
+/types/disposable-email-domains/ @geoffreak
+/types/dnssd/ @angelmerino @Maxr1998
+/types/doccookies/ @jonegerton
+/types/dockerode/ @seikho @nlaplante @isac322 @lazarusx @meisenzahl @thegecko @CameronDiver
+/types/docopt/ @giggio
+/types/doctrine/ @rictic
+/types/document-promises/ @NotWoods
+/types/document-ready/ @Jack-Works
+/types/documentdb/ @NoelAbrahams @brettferdosi @ctstone @yifanwu
+/types/documentdb-server/ @lith-light-g
+/types/documentdb-session/ @DanielRosenwasser
+/types/dojo/ @vansimke
+/types/dom-clipboard-api/ @43081j
+/types/dom-inputevent/ @diagramatics
+/types/dom-loaded/ @ltetzlaff
+/types/dom-mediacapture-record/ @eliasmeire
+/types/dom-to-image/ @JipSterk
+/types/dom4/ @adidahiya @giladgray
+/types/domo/ @Steve-Fenton
+/types/dompurify/ @bazuzi @FlowCrypt
+/types/domready/ @dotnetnerd
+/types/donna/ @vvakame
+/types/dookie/ @swanest
+/types/dot/ @ZombieHunter
+/types/dot-object/ @nkovacic
+/types/dot-prop/v2/ @samverschueren
+/types/dot-prop/ @samverschueren @BendingBender
+/types/dotdir-regex/ @mrmlnc
+/types/dotdotdot/ @milanjaros
+/types/dotenv/v2/ @jussikinnula @borekb @enaeseth
+/types/dotenv/ @jussikinnula @borekb @enaeseth @maxbeatty
+/types/dotenv-safe/ @krenor
+/types/dotenv-webpack/ @karol-majewski
+/types/dotfile-regex/ @mrmlnc
+/types/dottie/ @domarmstrong
+/types/double-ended-queue/ @dsagal
+/types/doublearray/ @mzsm
+/types/doubleclick-gpt/ @johngeorgewright @steven-joyce
+/types/download/ @nicojs
+/types/downloadjs/ @cwmoo740
+/types/dplayer/ @Guanyunhan
+/types/draft-js/ @dmitryrogozhny @eelco @ghotiphud @schwers @michael-yx-wu @willisplummer @smvilar @sulf @pablopunk
+/types/drag-timetable/ @chinkan
+/types/draggabilly/ @jaydubu
+/types/dragster/ @zskovacs
+/types/dragula/ @pwelter34 @abruzzihraig
+/types/dropbox-chooser/ @quas94
+/types/dropboxjs/ @Steve-Fenton @xperiments
+/types/dropkickjs/ @VorobeY1326
+/types/dropzone/v4/ @nvivo @outring @renuo @Hikariii
+/types/dropzone/ @nvivo @outring @renuo @Hikariii @tedbcsgpro @dwaxweiler
+/types/dts-generator/ @mtraynham
+/types/duplexer2/ @Goldsmith42
+/types/duplexer3/ @BendingBender
+/types/duplexify/ @strax @kinwa91
+/types/duplicate-package-checker-webpack-plugin/ @mtraynham
+/types/durandal/ @BlueSpire
+/types/dustjs-linkedin/ @mdezem
+/types/dvtng-jss/ @Ptival
+/types/dw-bxslider-4/ @namerci
+/types/dwt/v12/ @yushulx
+/types/dwt/ @yushulx @jbh @lincoln2018 @Tom-Dynamsoft
+/types/dygraphs/ @danvk
+/types/dymo-label-framework/ @thijskuipers
+/types/dynatable/ @francoismassart
+/types/dynogels/ @SpartanLabs @ramondeklein @stephentuso
+/types/each/ @misak113
+/types/earcut/ @NaridaL
+/types/easeljs/ @evilangelist
+/types/eases/ @MathiasPaumgarten
+/types/easy-api-request/ @DeadAlready
+/types/easy-jsend/ @DeadAlready
+/types/easy-session/ @DeadAlready
+/types/easy-table/ @nikeee
+/types/easy-xapi/ @DeadAlready
+/types/easy-xapi-utils/ @DeadAlready
+/types/ebongarde-root/ @Ebongarde
+/types/echarts/ @xieisabug @AntiMoron @liveangela @Ovilia @iRON5
+/types/ecma-proposal-math-extensions/ @ksm2
+/types/ecurve/ @mhegazy
+/types/ed25519/ @erikma
+/types/ed2curve/ @ffflorian
+/types/egg-mock/ @sheperdwind
+/types/egg.js/ @ToastHawaii
+/types/egjs__axes/ @naver
+/types/egjs__component/ @naver
+/types/ej.web.all/ @syncfusion
+/types/ejs/ @benliddicott
+/types/ejs-locals/ @jt000
+/types/ejson/ @shantanubhadoria
+/types/elastic-apm-node/ @shahaed
+/types/elasticsearch/ @CasperSkydt @bfsmith @ddunkin @pushplay @mlamp @ahmadferdous @SimonSchick @brabster @deerawan
+/types/electron-config/ @mrfunkycold @unindented
+/types/electron-debug/ @unindented
+/types/electron-devtools-installer/ @gamesmaxed @mfatihmar
+/types/electron-is-dev/ @trodi
+/types/electron-json-storage/ @stpettersens @nrlquaker @jbw91
+/types/electron-load-devtool/ @prince0203
+/types/electron-notifications/ @djpereira
+/types/electron-notify/ @djpereira
+/types/electron-packager/ @SomaticIT @cortopy @jkleinsc @shiftkey
+/types/electron-settings/v2/ @leonard-thieu
+/types/electron-settings/ @icopp @nrlquaker
+/types/electron-spellchecker/ @unindented
+/types/electron-store/ @unindented @jsynowiec
+/types/electron-unhandled/ @jeremejevs
+/types/electron-util/ @kputh
+/types/electron-window-state/ @rhysd
+/types/electron-winstaller/ @shiftkey @unindented
+/types/elegant-spinner/ @danwbyrne
+/types/element-ready/ @BendingBender
+/types/element-resize-detector/ @saranshkataria @franklixuefei
+/types/element-resize-event/ @rogierschouten @plgregoire
+/types/elementtree/ @dwieeb
+/types/elliptic/ @danwbyrne
+/types/elm/ @thSoft
+/types/email-templates/ @cyrilschumacher @gurisko @blankstar85
+/types/ember/v1/ @jedmao
+/types/ember/v2/ @jedmao @bttf @dwickern @chriskrycho @theroncross @mfeckie @alexlafroscia @mike-north
+/types/ember/ @jedmao @bttf @dwickern @chriskrycho @theroncross @mfeckie @alexlafroscia @mike-north @BryanCrotaz
+/types/ember-data/v2/ @dwickern @mike-north @chriskrycho
+/types/ember-data/ @dwickern @mike-north @chriskrycho
+/types/ember-feature-flags/v3/ @tansongyang @mike-north
+/types/ember-feature-flags/ @tansongyang @mike-north
+/types/ember-mocha/ @dwickern @simonihmig @mike-north
+/types/ember-modal-dialog/v2/ @tansongyang @mike-north
+/types/ember-modal-dialog/ @tansongyang @mike-north
+/types/ember-qunit/v2/ @dwickern @mike-north
+/types/ember-qunit/ @dwickern @mike-north
+/types/ember-resolver/v4/ @dfreeman @mike-north
+/types/ember-resolver/ @dfreeman @mike-north
+/types/ember-test-helpers/v0/ @dwickern @mike-north
+/types/ember-test-helpers/ @dwickern @mike-north
+/types/ember-testing-helpers/ @chriskrycho
+/types/ember__application/ @mike-north
+/types/ember__array/ @mike-north
+/types/ember__component/ @mike-north
+/types/ember__controller/ @mike-north
+/types/ember__debug/ @mike-north
+/types/ember__engine/ @mike-north
+/types/ember__error/ @mike-north
+/types/ember__object/ @mike-north
+/types/ember__polyfills/ @mike-north
+/types/ember__routing/ @mike-north
+/types/ember__runloop/ @mike-north
+/types/ember__service/ @mike-north
+/types/ember__string/ @mike-north
+/types/ember__test/ @mike-north
+/types/ember__test-helpers/ @dfreeman @jamescdavis @mike-north
+/types/ember__utils/ @mike-north
+/types/emissary/ @vvakame
+/types/emoji-mart/ @Kovensky @Nicell
+/types/emoji-regex/ @iKBAHT
+/types/emojione/ @dbrgn
+/types/empower/ @vvakame
+/types/empty-dir/ @BendingBender
+/types/emscripten/ @zakki @periklis
+/types/encoding-down/ @MeirionHughes @danwbyrne
+/types/end-of-stream/ @strax
+/types/engine.io/ @KentarouTakeda
+/types/engine.io-client/ @KentarouTakeda
+/types/enhanced-resolve/ @e-cloud @onigoetz @johnnyreilly
+/types/enigma.js/ @konne
+/types/enquire.js/ @screendriver
+/types/ent/ @rogierschouten
+/types/entities/ @aliceklipper
+/types/env-paths/ @danwbyrne
+/types/env-to-object/ @MugeSo
+/types/envify/ @tkQubo
+/types/enzyme/ @MarianPalkus @NoHomey @jwbay @huhuanming @MartynasZilinskas @thovden @hotell
+/types/enzyme-adapter-react-15/ @tkrotoff
+/types/enzyme-adapter-react-15.4/ @nali
+/types/enzyme-adapter-react-16/ @tkrotoff
+/types/enzyme-async-helpers/ @kimehrenpohl
+/types/enzyme-redux/ @knegusen
+/types/enzyme-to-json/ @joscha
+/types/eonasdan-bootstrap-datetimepicker/ @ToastHawaii
+/types/epiceditor/ @borisyankov
+/types/epilogue/ @micksatana
+/types/epub/ @julien-c
+/types/eq.js/ @stephenlautier
+/types/error-subclass/ @fitbit
+/types/errorhandler/ @santialbo
+/types/es-feature-detection/ @Jack-Works
+/types/es6-collections/ @rbuckton
+/types/es6-promisify/ @harryshipton @bschlenk
+/types/es6-shim/ @rbuckton
+/types/es6-weak-map/ @pine
+/types/escape-html/ @elisee
+/types/escape-latex/ @olsio
+/types/escape-regexp/ @jewbre
+/types/escape-string-regexp/ @kruncher @faergeek
+/types/escodegen/ @simondel
+/types/eslint/ @pmdartus @j-f1 @saadq
+/types/eslint-plugin-prettier/ @ikatyang
+/types/eslint-scope/ @mysticatea
+/types/eslint-visitor-keys/ @mysticatea
+/types/esprima/v2/ @teppeis @RReverser
+/types/esprima/ @teppeis @RReverser @peter-scott
+/types/esprima-walk/ @tswaters
+/types/espruino/ @stasberkov @createdbyjurand
+/types/esri-leaflet/ @strajuser
+/types/esri-leaflet-geocoder/ @BendingBender
+/types/estraverse/ @sanex3339
+/types/estree/ @RReverser
+/types/etag/ @BendingBender
+/types/eth-lightwallet/ @LogvinovLeon
+/types/ethereum-protocol/ @LogvinovLeon
+/types/ethereumjs-abi/ @LogvinovLeon
+/types/ethereumjs-tx/ @LogvinovLeon
+/types/ethereumjs-util/ @cortopy
+/types/ethjs-signer/ @doppio
+/types/eureka-js-client/ @Schnillz
+/types/evaporate/ @kookster @chrisrhoden @ailrun
+/types/event-emitter/ @LKay
+/types/event-emitter-es6/ @ahstro
+/types/event-hooks-webpack-plugin/ @pine
+/types/event-kit/ @GlenCFL
+/types/event-loop-lag/ @rogierschouten
+/types/event-stream/ @flcdrg
+/types/event-to-promise/ @flying-sheep
+/types/events/ @yasupeke
+/types/eventsource/ @scottleedavis @afroozeh
+/types/evernote/ @corps
+/types/ex-react-native-i18n/ @maplerichie
+/types/excel-style-dataformatter/ @SanderDeWaal1992
+/types/exceljs/ @rogierschouten @alitaheri
+/types/execa/ @douglasduteil @BendingBender @borekb @mickdekkers
+/types/exenv/ @christianchown
+/types/exit/ @Bartvds
+/types/exit-hook/ @BendingBender
+/types/exorcist/ @TeamworkGuy2
+/types/expand-tilde/ @carnesen
+/types/expect/ @jmreidy @merrywhether
+/types/expect-puppeteer/ @JoshuaKGoldberg @tkrotoff
+/types/expect.js/ @teppeis
+/types/expectations/ @vvakame
+/types/expired-storage/ @intolerance
+/types/expirymanager/ @DanielRose
+/types/expo/v23/ @KonstantinKai
+/types/expo/v24/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger
+/types/expo/v25/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov
+/types/expo/v26/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @tinaroh
+/types/expo/v27/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo
+/types/expo/v30/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo
+/types/expo/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo @levansuper @ihmpavel
+/types/expo-localization/ @burtek
+/types/expo__status-bar-height/ @dawnmist
+/types/expo__vector-icons/ @incleaf
+/types/express/ @borisyankov
+/types/express-brute/ @cyrilschumacher
+/types/express-brute-memcached/ @cyrilschumacher
+/types/express-brute-mongo/ @cyrilschumacher
+/types/express-brute-redis/ @scottharwell
+/types/express-bunyan-logger/ @shreyjain1994
+/types/express-busboy/ @pinguet62
+/types/express-cluster/ @nenadalm
+/types/express-correlation-id/ @natemara
+/types/express-debug/ @federicobond
+/types/express-domain-middleware/ @hookclaw
+/types/express-ejs-layouts/ @erikma
+/types/express-enforces-ssl/ @kevinstubbs
+/types/express-fileupload/ @Naktibalda @silkimen
+/types/express-flash/ @iMobs
+/types/express-flash-2/ @mathsalmi
+/types/express-flash-notification/ @Mister4Eyes
+/types/express-formidable/ @tdolsen @evanshortiss
+/types/express-graphql/ @isman-usoh @nitintutlani @hubel @zya @mlamp @firede
+/types/express-handlebars/ @stpettersens @yhaskell
+/types/express-jsonschema/ @atd-schubert
+/types/express-jwt/ @wokim @kacepe @Sl1MBoy @milan-mimra
+/types/express-less/ @xieyubo
+/types/express-minify/ @borislavjivkov
+/types/express-mongo-sanitize/ @ericbyers
+/types/express-mung/ @cyrilschumacher
+/types/express-myconnection/ @Cellule
+/types/express-mysql-session/ @Akim95
+/types/express-ntlm/ @forivall
+/types/express-oauth-server/ @atd-schubert
+/types/express-openapi/ @mugeso
+/types/express-paginate/ @AmirTugi
+/types/express-partials/ @jt000
+/types/express-promise-router/ @wanganjun
+/types/express-rate-limit/ @cyrilschumacher @makepost
+/types/express-redis-cache/ @ajliv
+/types/express-route-fs/ @kripod
+/types/express-routemap/ @icopp
+/types/express-routes-versioning/ @weffe
+/types/express-sanitized/ @cjbarth
+/types/express-serve-static-core/ @borisyankov @19majkel94 @kacepe @micksatana @samijaber
+/types/express-session/ @horiuchi @jacobbogers @builtinnya @ry7n
+/types/express-sitemap-xml/ @ffflorian
+/types/express-socket.io-session/ @AylaJK
+/types/express-to-koa/ @xiaohanzhang
+/types/express-unless/ @wokim
+/types/express-version-request/ @weffe
+/types/express-version-route/ @weffe
+/types/express-wechat-access/ @simmons8616
+/types/express-winston/ @bricka
+/types/express-ws/ @ajliv
+/types/express-ws-routes/ @gstamac
+/types/express-xml-bodyparser/ @noticeMaker @macedigital
+/types/extend/ @reppners
+/types/extjs/ @brian428
+/types/extract-files/ @Slessi
+/types/extract-stack/ @BendingBender
+/types/extract-text-webpack-plugin/ @flying-sheep @katyo
+/types/extract-zip/ @mizunashi-mana
+/types/extsprintf/ @AlexHankins
+/types/eyes/ @brynbellomy
+/types/ez-plus/ @AndersonFriaca
+/types/f1/ @neolwc
+/types/fabric/ @oklemencic @joewashear007 @mrand01 @NotWoods @bmartinson @RogerioTeixeira @BradleyHill
+/types/facebook-instant-games/ @menushka @oyvindjam
+/types/facebook-js-sdk/ @amritk @mahmoudzohdi @fluidsonic
+/types/facebook-pixel/ @noctishsu
+/types/factory-girl/ @stackbuilders @sestrella @elcuy
+/types/faker/v3/ @Kuniwak
+/types/faker/ @bensw @basp @Kuniwak @mattbishop
+/types/falcor/ @Quramy
+/types/falcor-express/ @Quramy
+/types/falcor-http-datasource/ @Quramy
+/types/falcor-json-graph/ @Quramy
+/types/falcor-router/ @Quramy @cdhgee
+/types/famous/ @borisvasilenko
+/types/fancy-log/ @pine
+/types/fancybox/ @borisyankov
+/types/farbtastic/ @EnableSoftware
+/types/fast-levenshtein/ @mizunashi-mana
+/types/fast-list/ @BendingBender
+/types/fast-stats/ @rogierschouten
+/types/fastclick/ @shinnn
+/types/fastify-accepts/ @leomelzer
+/types/fastify-cors/ @jannikkeye
+/types/fastify-jwt/ @jannikkeye
+/types/fastify-multipart/ @jannikkeye
+/types/fastify-static/ @leomelzer
+/types/favico.js/ @drowse314-dev-ymat
+/types/favicons/ @mohsen1
+/types/fb/ @JoshStrobl
+/types/fb-watchman/ @whtsky
+/types/fbemitter/ @kmxz
+/types/feather-icons/ @jineshshah36
+/types/featherlight/ @xStrom
+/types/feathersjs__authentication/ @AbraaoAlves @j2L4e
+/types/feathersjs__authentication-client/ @AbraaoAlves @j2L4e
+/types/feathersjs__authentication-jwt/ @j2L4e
+/types/feathersjs__authentication-local/ @j2L4e
+/types/feathersjs__authentication-oauth1/ @j2L4e
+/types/feathersjs__authentication-oauth2/ @j2L4e
+/types/feathersjs__configuration/ @j2L4e
+/types/feathersjs__errors/ @j2L4e
+/types/feathersjs__express/ @j2L4e @DadUndead
+/types/feathersjs__feathers/ @j2L4e @AbraaoAlves @TimMensch
+/types/feathersjs__primus/ @j2L4e
+/types/feathersjs__primus-client/ @j2L4e
+/types/feathersjs__rest-client/ @j2L4e
+/types/feathersjs__socket-commons/ @j2L4e
+/types/feathersjs__socketio/ @j2L4e
+/types/feathersjs__socketio-client/ @j2L4e
+/types/feedme/ @codeanimal
+/types/feedparser/ @cortopy
+/types/fetch-jsonp/ @tkrotoff
+/types/fetch-mock/ @asvetliakov @tamird @merrywhether @chrissinclair @matttennison @quentinbouygues @mtsmfm
+/types/fetch.io/ @newraina
+/types/ffi/ @loyd @waitingsong
+/types/ffi-napi/ @keerthi16 @KiranNiranjan
+/types/ffmpeg-static/ @iamstevetran
+/types/ffprobe-static/ @iamstevetran
+/types/fhir-js-client/ @rmchndrng
+/types/fibers/ @soywiz
+/types/fibjs/ @richardo2016
+/types/figlet/ @Ailrun
+/types/figures/ @BendingBender
+/types/file-exists/ @BendingBender
+/types/file-saver/ @cyrilschumacher @DaIgeb @chrismbarr
+/types/file-type/ @tcaesvk @BendingBender
+/types/file-url/ @coderslagoon
+/types/filenamify/ @rokt33r
+/types/filesize/ @GiedriusGrabauskas @renchap
+/types/fill-pdf/ @westy92
+/types/filter-invalid-dom-props/ @icopp
+/types/finalhandler/ @chrootsu
+/types/finch/ @DavidSichau
+/types/find/ @andypyrope
+/types/find-package-json/ @BendingBender
+/types/find-parent-dir/ @ikatyang
+/types/find-process/ @buaban
+/types/find-project-root/ @ikatyang
+/types/find-root/ @Alorel
+/types/find-up/ @BendingBender
+/types/find-versions/ @LogvinovLeon @carnesen
+/types/findup-sync/ @Bartvds @ngbrown
+/types/fined/ @BendingBender
+/types/fingerprintjs/ @zaneli
+/types/fingerprintjs2/ @curtstate
+/types/firebase-client/ @fpsscarecrow
+/types/firebase-token-generator/ @dotdotcommadot
+/types/firebird/ @karak
+/types/firefox/ @vvakame
+/types/firefox-webext-browser/ @jsmnbom
+/types/firmata/ @troywweber7
+/types/first-mate/ @GlenCFL
+/types/fixed-data-table/ @pepaar @stephenjelfs
+/types/fixed-data-table-2/ @ilivit
+/types/flagged-respawn/ @BendingBender
+/types/flat/ @chrootsu
+/types/fleximap/ @DanielRose
+/types/flexslider/ @diullei
+/types/flickity/ @clmcgrath @wagich
+/types/flight/ @jonathanhedren
+/types/flightplan/ @borislavjivkov
+/types/flipsnap/ @kubosho @gsino @mayuki
+/types/float-regex/ @wanganjun
+/types/flot/ @burlandm @Anticom @admiralsmaster
+/types/flowdoc/ @animify
+/types/flowjs/ @ryan10132
+/types/fluent-ffmpeg/ @tcaesvk @DingWeizhe @mabidina
+/types/flush-write-stream/ @djcsdy
+/types/flux/ @stkb @GiedriusGrabauskas
+/types/fluxible/ @xbim
+/types/fluxible-addons-react/ @xbim
+/types/fluxible-router/ @xbim
+/types/fluxxor/ @mrk21
+/types/fm-websync/ @markusmauch
+/types/fnv-lite/ @marcind
+/types/focus-within/ @eramdam
+/types/fontfaceobserver/ @RandScullard
+/types/fontoxml/ @rolandzwaga
+/types/forever-agent/ @yavanosta
+/types/forever-monitor/ @shuntksh @wrboyce
+/types/forge-di/ @adamcarr
+/types/form-data/ @soywiz @leonyu @BendingBender
+/types/form-serialize/ @tyler-johnson
+/types/form-serializer/ @flqw
+/types/form-urlencoded/ @alepee
+/types/format-duration/ @Roaders
+/types/format-io/ @amitbeck
+/types/format-unicorn/ @kruncher
+/types/formidable/ @Nemo157
+/types/forms/ @suXinjke
+/types/forwarded/ @BendingBender
+/types/fossil-delta/ @endel
+/types/foundation/ @borisyankov
+/types/fpsmeter/ @alampros
+/types/framebus/ @kbukum
+/types/franc/ @wlegate
+/types/frctl__fractal/ @pmccloghrylaing
+/types/freedom/ @jpevarnek
+/types/freeport/ @atd-schubert
+/types/fresh/ @BendingBender
+/types/freshy/ @qlonik
+/types/friendly-errors-webpack-plugin/ @bahlo
+/types/frisby/v0/ @johnny4753
+/types/frisby/ @cwoodland @johnny4753
+/types/from/ @Bartvds
+/types/from2/ @BendingBender
+/types/fromjs/ @glenndierckx
+/types/fromnow/ @marinewater
+/types/fs-cson/ @dex4er
+/types/fs-ext/ @OguzhanE
+/types/fs-extra/v4/ @alan-agius4 @midknight41 @shiftkey @mees-
+/types/fs-extra/ @alan-agius4 @midknight41 @shiftkey @mees- @jrockwood
+/types/fs-extra-promise/ @midknight41 @jasonswearingen @HiromiShikata
+/types/fs-extra-promise-es6/ @midknight41 @jasonswearingen @geoffreak @HiromiShikata
+/types/fs-finder/ @misak113
+/types/fs-mock/ @rogierschouten
+/types/fs-plus/ @unindented
+/types/fs-promise/ @tarruda
+/types/fs-readdir-recursive/ @pscanf
+/types/fs-readfile-promise/ @mtsg
+/types/fscreen/ @joscha @terrymun
+/types/fsevents/ @BendingBender
+/types/ftdomdelegate/ @dotnetnerd
+/types/ftp/ @rogierschouten
+/types/ftpd/ @rogierschouten
+/types/fullname/ @kayahr
+/types/fullpage.js/ @jodiwarren
+/types/fusioncharts/ @rohitkr @shivarajkv
+/types/fuzzaldrin/ @mhegazy
+/types/fuzzaldrin-plus/ @jeancroy @jkillian @reyronald
+/types/fuzzy-search/ @alex-deas @BendingBender
+/types/fuzzyset/ @lgrignon @narainsagar
+/types/fuzzyset.js/ @lgrignon @narainsagar
+/types/fxn/ @charrondev
+/types/gae.channel.api/ @vvakame
+/types/gamedig/ @ivansieder
+/types/gamepad/ @Lange
+/types/gamequery/ @Laubi
+/types/ganache-core/ @LogvinovLeon
+/types/gandi-livedns/ @xstoudi
+/types/gapi/ @sgtfrankieboy
+/types/gapi.analytics/ @gatsbimantico
+/types/gapi.auth2/ @flawless2011
+/types/gapi.calendar/ @tkrotoff
+/types/gapi.client/ @Bolisov
+/types/gapi.client.acceleratedmobilepageurl/ @Bolisov
+/types/gapi.client.adexchangebuyer/ @Bolisov
+/types/gapi.client.adexchangebuyer2/ @Bolisov
+/types/gapi.client.adexchangeseller/ @Bolisov
+/types/gapi.client.adexperiencereport/ @Bolisov
+/types/gapi.client.admin/ @Bolisov
+/types/gapi.client.adsense/ @Bolisov
+/types/gapi.client.adsensehost/ @Bolisov
+/types/gapi.client.analytics/ @Bolisov
+/types/gapi.client.analyticsreporting/ @Bolisov
+/types/gapi.client.androiddeviceprovisioning/ @Bolisov
+/types/gapi.client.androidenterprise/ @Bolisov
+/types/gapi.client.androidmanagement/ @Bolisov
+/types/gapi.client.androidpublisher/ @Bolisov
+/types/gapi.client.appengine/ @Bolisov
+/types/gapi.client.appsactivity/ @Bolisov
+/types/gapi.client.appstate/ @Bolisov
+/types/gapi.client.bigquery/ @Bolisov
+/types/gapi.client.bigquerydatatransfer/ @Bolisov
+/types/gapi.client.blogger/ @Bolisov
+/types/gapi.client.books/ @Bolisov
+/types/gapi.client.calendar/ @Bolisov
+/types/gapi.client.civicinfo/ @Bolisov
+/types/gapi.client.classroom/ @Bolisov
+/types/gapi.client.cloudbilling/ @Bolisov
+/types/gapi.client.cloudbuild/ @Bolisov
+/types/gapi.client.clouddebugger/ @Bolisov
+/types/gapi.client.clouderrorreporting/ @Bolisov
+/types/gapi.client.cloudfunctions/ @Bolisov
+/types/gapi.client.cloudiot/ @Bolisov
+/types/gapi.client.cloudkms/ @Bolisov
+/types/gapi.client.cloudmonitoring/ @Bolisov
+/types/gapi.client.cloudresourcemanager/ @Bolisov
+/types/gapi.client.cloudtasks/ @Bolisov
+/types/gapi.client.cloudtrace/ @Bolisov
+/types/gapi.client.clouduseraccounts/ @Bolisov
+/types/gapi.client.compute/ @Bolisov
+/types/gapi.client.consumersurveys/ @Bolisov
+/types/gapi.client.container/ @Bolisov
+/types/gapi.client.content/ @Bolisov
+/types/gapi.client.customsearch/ @Bolisov
+/types/gapi.client.dataflow/ @Bolisov
+/types/gapi.client.dataproc/ @Bolisov
+/types/gapi.client.datastore/ @Bolisov
+/types/gapi.client.deploymentmanager/ @Bolisov
+/types/gapi.client.dfareporting/ @Bolisov
+/types/gapi.client.discovery/ @Bolisov
+/types/gapi.client.dlp/ @Bolisov
+/types/gapi.client.dns/ @Bolisov
+/types/gapi.client.doubleclickbidmanager/ @Bolisov
+/types/gapi.client.doubleclicksearch/ @Bolisov
+/types/gapi.client.drive/ @Bolisov
+/types/gapi.client.firebasedynamiclinks/ @Bolisov
+/types/gapi.client.firebaseremoteconfig/ @Bolisov
+/types/gapi.client.firebaserules/ @Bolisov
+/types/gapi.client.firestore/ @Bolisov
+/types/gapi.client.fitness/ @Bolisov
+/types/gapi.client.fusiontables/ @Bolisov
+/types/gapi.client.games/ @Bolisov
+/types/gapi.client.gamesconfiguration/ @Bolisov
+/types/gapi.client.gamesmanagement/ @Bolisov
+/types/gapi.client.genomics/ @Bolisov
+/types/gapi.client.gmail/ @Bolisov
+/types/gapi.client.groupsmigration/ @Bolisov
+/types/gapi.client.groupssettings/ @Bolisov
+/types/gapi.client.iam/ @Bolisov
+/types/gapi.client.identitytoolkit/ @Bolisov
+/types/gapi.client.kgsearch/ @Bolisov
+/types/gapi.client.language/ @Bolisov
+/types/gapi.client.licensing/ @Bolisov
+/types/gapi.client.logging/ @Bolisov
+/types/gapi.client.manufacturers/ @Bolisov
+/types/gapi.client.mirror/ @Bolisov
+/types/gapi.client.ml/ @Bolisov
+/types/gapi.client.monitoring/ @Bolisov
+/types/gapi.client.oauth2/ @Bolisov
+/types/gapi.client.oslogin/ @Bolisov
+/types/gapi.client.pagespeedonline/ @Bolisov
+/types/gapi.client.partners/ @Bolisov
+/types/gapi.client.people/ @Bolisov
+/types/gapi.client.playcustomapp/ @Bolisov
+/types/gapi.client.playmoviespartner/ @Bolisov
+/types/gapi.client.plus/ @Bolisov
+/types/gapi.client.plusdomains/ @Bolisov
+/types/gapi.client.prediction/ @Bolisov
+/types/gapi.client.proximitybeacon/ @Bolisov
+/types/gapi.client.pubsub/ @Bolisov
+/types/gapi.client.qpxexpress/ @Bolisov
+/types/gapi.client.reseller/ @Bolisov
+/types/gapi.client.resourceviews/ @Bolisov
+/types/gapi.client.runtimeconfig/ @Bolisov
+/types/gapi.client.safebrowsing/ @Bolisov
+/types/gapi.client.script/ @Bolisov
+/types/gapi.client.searchconsole/ @Bolisov
+/types/gapi.client.servicecontrol/ @Bolisov
+/types/gapi.client.servicemanagement/ @Bolisov
+/types/gapi.client.serviceuser/ @Bolisov
+/types/gapi.client.sheets/ @Bolisov
+/types/gapi.client.siteverification/ @Bolisov
+/types/gapi.client.slides/ @Bolisov
+/types/gapi.client.sourcerepo/ @Bolisov
+/types/gapi.client.spanner/ @Bolisov
+/types/gapi.client.spectrum/ @Bolisov
+/types/gapi.client.speech/ @Bolisov
+/types/gapi.client.sqladmin/ @Bolisov
+/types/gapi.client.storage/ @Bolisov
+/types/gapi.client.storagetransfer/ @Bolisov
+/types/gapi.client.streetviewpublish/ @Bolisov
+/types/gapi.client.surveys/ @Bolisov
+/types/gapi.client.tagmanager/ @Bolisov
+/types/gapi.client.taskqueue/ @Bolisov
+/types/gapi.client.tasks/ @Bolisov
+/types/gapi.client.testing/ @Bolisov
+/types/gapi.client.toolresults/ @Bolisov
+/types/gapi.client.translate/ @Bolisov
+/types/gapi.client.urlshortener/ @Bolisov
+/types/gapi.client.vault/ @Bolisov
+/types/gapi.client.videointelligence/ @Bolisov
+/types/gapi.client.vision/ @Bolisov
+/types/gapi.client.webfonts/ @Bolisov
+/types/gapi.client.webmasters/ @Bolisov
+/types/gapi.client.youtube/ @Bolisov
+/types/gapi.client.youtubeanalytics/ @Bolisov
+/types/gapi.client.youtubereporting/ @Bolisov
+/types/gapi.drive/ @baxtersa
+/types/gapi.pagespeedonline/ @sgtfrankieboy
+/types/gapi.people/ @tkrotoff
+/types/gapi.plus/ @tkrotoff
+/types/gapi.translate/ @sgtfrankieboy
+/types/gapi.urlshortener/ @sgtfrankieboy
+/types/gapi.youtube/ @sgtfrankieboy
+/types/gapi.youtubeanalytics/ @sgtfrankieboy
+/types/gaussian/ @scttcper
+/types/gc-stats/ @vfernandestoptal
+/types/geetest/ @plantain-00
+/types/gen-readlines/ @CodeAnimal
+/types/generate-changelog/ @ffflorian
+/types/generate-json-webpack-plugin/ @rynclark
+/types/generic-functions/ @stpettersens
+/types/generic-pool/ @jerray @wrboyce
+/types/gently/ @bonnici
+/types/geodesy/ @DenisCarriere @HandyG52 @excelulous
+/types/geojson/ @cobster @atd-schubert @JeffJacobson @icholy
+/types/geojson2osm/ @DenisCarriere
+/types/geokdbush/ @DenisCarriere
+/types/geometry-dom/ @nakakura
+/types/geopattern/ @Gaelan
+/types/gestalt/ @serranoarevalo
+/types/get-caller-file/ @ajafff
+/types/get-folder-size/ @mszczepanczyk
+/types/get-node-dimensions/ @vincekovacs
+/types/get-stdin/ @DanielRosenwasser
+/types/get-stream/ @douglasduteil @BendingBender
+/types/get-value/ @DanielRosenwasser
+/types/getenv/ @impankratov
+/types/getopts/ @azasypkin
+/types/getos/ @BendingBender
+/types/gettext.js/ @jucrouzet
+/types/gh-pages/ @DanielRosenwasser
+/types/ghauth/ @Leko
+/types/gifffer/ @gatimus
+/types/gijgo/ @atatanasov
+/types/giraffe/ @darthapo
+/types/git/ @vvakame
+/types/git-branch/ @rynclark
+/types/git-config/ @stpettersens
+/types/git-remote-origin-url/ @janslow
+/types/git-rev-sync/ @khoi-fish
+/types/git-root-dir/ @ffflorian
+/types/git-url-parse/ @ajafff
+/types/gitconfiglocal/ @ffflorian
+/types/github-url-to-object/ @ajafff
+/types/github-username-regex/ @BehindTheMath
+/types/gl-matrix/ @mattijskneppers @tatchx @nbabanov @auzmartist @surtr-isaz
+/types/gl-react/ @jussikinnula
+/types/gl-react-dom/ @jussikinnula
+/types/gl-react-expo/ @jussikinnula
+/types/gl-react-headless/ @jussikinnula
+/types/gl-react-native/ @jussikinnula
+/types/gl-shader/ @MathiasPaumgarten
+/types/gl-texture2d/ @MathiasPaumgarten
+/types/gldatepicker/ @qcz
+/types/glidejs/ @milanjaros
+/types/glob/v5/ @vvakame @voy
+/types/glob/ @vvakame @voy @ajafff
+/types/glob-base/ @alan-agius4
+/types/glob-expand/ @vvakame
+/types/glob-parent/ @mrmlnc
+/types/glob-stream/ @Bartvds @mrmlnc
+/types/glob-to-regexp/ @whatasoda
+/types/global-tunnel-ng/ @BendingBender
+/types/globalize/ @gcastre @afromogli @bryanforbes
+/types/globalize-compiler/ @iclanton
+/types/globby/ @douglasduteil @ikatyang
+/types/globule/ @durad
+/types/glue/v4/ @gjednaszewski
+/types/glue/ @garfty
+/types/gm/ @ChaosinaCan @maartenvanvliet @mlejva
+/types/go/ @NorthwoodsSoftware
+/types/google-adwords-scripts/ @jafaircl
+/types/google-apps-script/ @motemen @grant
+/types/google-apps-script-oauth2/ @dhayab
+/types/google-cloud__datastore/ @beaulac @ogawa0071 @ThomasdenH
+/types/google-cloud__pubsub/ @pheromonez @LunaPg @msiviero
+/types/google-earth/ @icholy
+/types/google-images/ @dolanmiu
+/types/google-libphonenumber/ @leonyu @winfinit
+/types/google-map-react/ @honzabrecka
+/types/google-maps/ @DeividasBakanas @GiedriusGrabauskas
+/types/google-maps-react/ @gburgett @jpowell
+/types/google-protobuf/ @marcuslongmuir
+/types/google-translate-api/ @maple3142
+/types/google.analytics/ @tyler-murphy
+/types/google.feeds/ @RodneyJT
+/types/google.fonts/ @danmarshall
+/types/google.geolocation/ @vbortone
+/types/google.picker/ @grapswiz
+/types/google.visualization/ @danludwig @gmoore-sjcorg @danmana @mlcheng @IvanBisultanov @glebm @shrujalshah28
+/types/google__maps/ @indrimuska
+/types/googlemaps/ @cgwrench @nertzy @xaolas @mrmcnerd @martincostello @svenkreiss @bolatovumar @gauthierm
+/types/googlemaps.infobubble/ @Dashue
+/types/googlepay/ @Fluccioni @Radu-Raicea @fstanis
+/types/got/v8/ @BendingBender @LinusU @ikokostya
+/types/got/ @BendingBender @LinusU @ikokostya @stijnvn
+/types/graceful-fs/v2/ @Bartvds
+/types/graceful-fs/ @Bartvds @BendingBender
+/types/gradient-string/ @Ailrun
+/types/graham_scan/ @hberntsen
+/types/gramps__rest-helpers/ @claude
+/types/graphite-udp/ @EricByers
+/types/graphlib-dot/ @DomParfitt
+/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz @bradzacher @clayne11 @JCMais
+/types/graphql-date/ @enaeseth
+/types/graphql-deduplicator/ @lfades
+/types/graphql-depth-limit/ @eritikass
+/types/graphql-fields/ @feinoujc
+/types/graphql-iso-date/ @jwaldrip
+/types/graphql-list-fields/ @filipows
+/types/graphql-query-complexity/ @abhikmitra
+/types/graphql-relay/ @arvitaly @nitintutlani @Grelinfo
+/types/graphql-resolve-batch/ @nayni
+/types/graphql-resolvers/ @mike-engel
+/types/graphql-type-json/ @schfkt
+/types/graphviz/ @mhfrantz
+/types/grasp/ @agnoster
+/types/gravatar/ @denis-sokolov
+/types/gravatar-url/ @ivangabriele
+/types/greasemonkey/ @kotas
+/types/grecaptcha/v0/ @brentj73
+/types/grecaptcha/ @DethAriel @rafaeltavares
+/types/gregorian-calendar/ @cwalv
+/types/gridfs-stream/ @liorm
+/types/gridstack/ @PascalSenn @ZoolWay @Sl1MBoy
+/types/grpc-error/ @danwbyrne
+/types/grunt/ @jeffmay @basarat
+/types/gsap/ @codebelt @ProbablePrime @philipbulley @leomeloxp
+/types/gtin/ @RafaelKr
+/types/guid/ @maroy1986
+/types/gulp/ @GiedriusGrabauskas
+/types/gulp-angular-templatecache/ @amanmahajan7
+/types/gulp-babel/ @AyaMorisawa
+/types/gulp-batch/ @alvarollmenezes @vizeke
+/types/gulp-bump/ @silkentrance
+/types/gulp-cache/ @aravindarun
+/types/gulp-cached/ @tomc974
+/types/gulp-change/ @Aankhen
+/types/gulp-changed/ @tomc974
+/types/gulp-cheerio/ @tkQubo
+/types/gulp-clean-dest/ @andypyrope
+/types/gulp-coffeeify/ @tkQubo
+/types/gulp-coffeelint/ @tkQubo
+/types/gulp-concat/ @k-kagurazaka
+/types/gulp-connect/ @andrewiggins
+/types/gulp-copy/ @aravindarun
+/types/gulp-csso/ @tkrotoff
+/types/gulp-debug/ @tkrotoff
+/types/gulp-diff/ @ikatyang
+/types/gulp-dtsm/ @AyaMorisawa
+/types/gulp-espower/ @tkQubo
+/types/gulp-file-include/ @DanielRosenwasser
+/types/gulp-filter/ @tkrotoff
+/types/gulp-flatten/ @k-kagurazaka
+/types/gulp-gzip/ @tkQubo
+/types/gulp-help/ @tkQubo
+/types/gulp-help-doc/ @Mikhus
+/types/gulp-html-replace/ @peterjuras
+/types/gulp-htmlmin/ @tkrotoff
+/types/gulp-if/ @joeskeen
+/types/gulp-image/ @Aankhen
+/types/gulp-image-resize/ @Aankhen
+/types/gulp-imagemin/ @romain-faust
+/types/gulp-inject/ @k-kagurazaka
+/types/gulp-insert/ @shantmarouti
+/types/gulp-install/ @peterjuras
+/types/gulp-jade/ @berwyn
+/types/gulp-jasmine/ @andypyrope
+/types/gulp-jasmine-browser/ @tkrotoff
+/types/gulp-json-editor/ @peterjuras
+/types/gulp-json-validator/ @pe8ter
+/types/gulp-jsonmin/ @romain-faust
+/types/gulp-jsonminify/ @pine
+/types/gulp-jspm/ @peterjuras
+/types/gulp-less/ @k-kagurazaka
+/types/gulp-load-plugins/ @joeskeen
+/types/gulp-minify-css/ @k-kagurazaka
+/types/gulp-minify-html/ @tkrotoff
+/types/gulp-modernizr/ @remisery
+/types/gulp-newer/ @tomc974
+/types/gulp-ng-annotate/ @tkQubo
+/types/gulp-nodemon/ @tkQubo
+/types/gulp-plumber/ @joeskeen
+/types/gulp-protractor/ @tkrotoff
+/types/gulp-pug/ @remisery
+/types/gulp-pug-i18n/ @romain-faust
+/types/gulp-remember/ @tomc974
+/types/gulp-responsive-images/ @aankhen
+/types/gulp-rev/ @tkrotoff
+/types/gulp-rev-replace/ @tkrotoff
+/types/gulp-ruby-sass/ @agnislav
+/types/gulp-sequence/ @Alorel
+/types/gulp-shell/ @tkqubo
+/types/gulp-size/ @tkrotoff @remisery
+/types/gulp-sort/ @joeskeen
+/types/gulp-strip-comments/ @Aqours
+/types/gulp-strip-debug/ @peterjuras
+/types/gulp-svg-sprite/ @tkqubo
+/types/gulp-svgmin/ @Aankhen
+/types/gulp-task-listing/ @joeskeen
+/types/gulp-template/ @pe8ter
+/types/gulp-tsd/ @k-kagurazaka
+/types/gulp-uglify/ @ChristopherHaws @leonard-thieu
+/types/gulp-useref/ @tkrotoff
+/types/gulp-util/ @jedmao
+/types/gulp-watch/ @tkrotoff
+/types/gulp-zip/ @dudeofawesome
+/types/gzip-js/ @rhysd
+/types/gzip-size/v3/ @plantain-00
+/types/gzip-size/ @plantain-00 @jimivdw @andrewiggins
+/types/h2o2/ @jasonswearingen @AJamesPhillips
+/types/halfred/ @dherges
+/types/halogen/ @steller
+/types/hammerjs/ @milkisevil @codler
+/types/handlebars/ @borisyankov @evil-shrike
+/types/handlebars-helpers/ @Toilal
+/types/hapi/v8/ @jasonswearingen
+/types/hapi/v12/ @jasonswearingen
+/types/hapi/v15/ @jasonswearingen
+/types/hapi/v16/ @jasonswearingen @AJamesPhillips
+/types/hapi/ @rafaelsouzaf @jhsimms @SimonSchick
+/types/hapi-auth-basic/ @AJamesPhillips @saboya
+/types/hapi-auth-cookie/ @lenovouser @SimonSchick @Mutmatt
+/types/hapi-auth-jwt2/v7/ @warrenseymour
+/types/hapi-auth-jwt2/ @warrenseymour @SimonSchick
+/types/hapi-decorators/ @kenhowardpdx
+/types/har-format/ @micmro
+/types/hard-rejection/ @BendingBender
+/types/hard-source-webpack-plugin/ @woitechen
+/types/harmony-proxy/ @remojansen
+/types/has-ansi/ @BendingBender
+/types/hash-file/ @HiromiShikata
+/types/hash-stream/ @BendingBender
+/types/hash-sum/ @DanielRosenwasser
+/types/hasha/ @BendgingBender
+/types/hasher/ @flyfishMT
+/types/hashids/ @pocesar
+/types/hashmap/ @outring
+/types/hat/ @tup1tsa
+/types/haversine/ @screendriver
+/types/hbs/ @davidm77
+/types/hdkey/ @LogvinovLeon
+/types/he/ @sedwards2009 @lokidokicoki
+/types/headroom/ @hakubo
+/types/heap/ @ryan10132
+/types/heapdump/ @weekens
+/types/heatmap.js/ @lookuptable @rhys-vdw
+/types/hedron/ @dborysov
+/types/hellojs/ @PavelPZ @vuorinem @baywet
+/types/hellosign-embedded/ @xt0rted
+/types/helmet/ @cyrilschumacher @EvanHahn @bluehatbrit
+/types/heredatalens/ @denyo
+/types/heremaps/ @Josh-ES @denyo @fx88
+/types/heroku-logger/ @kylevogt
+/types/hex-rgba/ @r3nya
+/types/hexo-bunyan/ @segayuu
+/types/hexo-fs/ @segayuu
+/types/hexo-log/ @segayuu
+/types/hexo-util/ @segayuu
+/types/hibp/ @lenovouser
+/types/highcharts/ @damianog @baltie @AlbertOzimek @hanssens
+/types/highcharts-ng/ @scatcher
+/types/highland/ @Bartvds @hgwood @iwllyu @alvis @notbobthebuilder
+/types/highlight.js/ @nikeee @sourrust @joshuakgoldberg
+/types/hiredis/ @titan
+/types/history/v2/ @sergey-buturlakin @ngbrown
+/types/history/v3/ @sergey-buturlakin @ngbrown @LKay
+/types/history/ @sergey-buturlakin @ngbrown @rokoroku
+/types/history.js/ @borisyankov @gjunge
+/types/historykana/ @h-shiratsuki
+/types/hjson/ @crunchie84
+/types/hls.js/ @jgainfort
+/types/hoek/ @prashaantt
+/types/hoist-non-react-statics/ @JounQin
+/types/holderjs/ @renjfk
+/types/hooker/ @misak113
+/types/hopscotch/ @pimterry @Aurimas1
+/types/host-validation/ @dintopple
+/types/hosted-git-info/ @OiyouYeahYou
+/types/howler/ @xperiments @tdukart @alien35 @nicholashza
+/types/hpp/ @kryops
+/types/html-entities/ @xstoudi
+/types/html-minifier/v1/ @tkrotoff
+/types/html-minifier/ @tkrotoff @rikuayanokozy
+/types/html-pdf/ @westy92
+/types/html-tag-names/ @sandersn
+/types/html-to-text/ @erykwarren
+/types/html-void-elements/ @rhysd
+/types/html-webpack-plugin/ @deevus @bumbleblym @tlaziuk
+/types/html-webpack-template/ @bumbleblym
+/types/html2canvas/ @rwhepburn @tan9 @sschocke @Ristaaf
+/types/htmlbars-inline-precompile/ @chriskrycho
+/types/htmlparser2/ @staticfunction @LinusU
+/types/htmltojsx/ @basarat
+/types/http-assert/ @jkeylu
+/types/http-aws-es/ @marcogrcr
+/types/http-codes/ @mhegazy
+/types/http-context/ @mtraynham
+/types/http-errors/ @tkrotoff @BendingBender
+/types/http-graceful-shutdown/ @dlee-nvisia
+/types/http-link-header/ @screendriver
+/types/http-proxy/ @SomaticIT @Raigen @DanielMSchmidt
+/types/http-proxy-agent/ @mrmlnc @steprescott
+/types/http-proxy-middleware/ @zebMcCorkle @BendingBender
+/types/http-rx/ @L2jLiga
+/types/http-server/ @plantain-00
+/types/http-status/ @misak113
+/types/http-string-parser/ @pine613
+/types/httperr/ @yortus
+/types/hubot/ @dirk @KeesCBakker
+/types/hubspot-pace/ @borislavjivkov
+/types/humane/ @jmvrbanac
+/types/humanize-plus/ @DenisCarriere
+/types/humanize-string/ @ragnarok56
+/types/humanparser/ @MichalPodeszwa
+/types/humps/ @nikeee
+/types/hyco-ws/ @mrcabellom
+/types/hyper-aws4/ @bambutz
+/types/hyperscript/ @spacejack @jmfirth
+/types/hypertext-application-language/ @maks3w
+/types/hystrixjs/ @igorsechyn
+/types/i18n/ @SomaticIT @FindQ
+/types/i18n-abide/ @smbell
+/types/i18n-js/ @ypresto
+/types/i18next/v2/ @mxl @deerawan @GiedriusGrabauskas
+/types/i18next/v8/ @mxl @deerawan @GiedriusGrabauskas
+/types/i18next/ @mxl @deerawan @GiedriusGrabauskas @lenovouser @qqilihq @butchyyyy
+/types/i18next-browser-languagedetector/v0/ @cyrilschumacher @GiedriusGrabauskas
+/types/i18next-browser-languagedetector/ @cyrilschumacher @GiedriusGrabauskas
+/types/i18next-express-middleware/ @cyrilschumacher
+/types/i18next-ko/ @dwaxweiler
+/types/i18next-node-fs-backend/ @cyrilschumacher @lenovouser
+/types/i18next-sprintf-postprocessor/ @cyrilschumacher
+/types/i18next-xhr-backend/ @jamuhl @GiedriusGrabauskas
+/types/i2c-bus/ @101100
+/types/iarna__toml/ @ajafff
+/types/iban/ @cyrilschumacher
+/types/ibm-mobilefirst/ @nacho4d
+/types/ibm_db/ @agov
+/types/icepick/ @ngbrown @tobico
+/types/icheck/ @qcz
+/types/iconv/ @delphinus35
+/types/idyll/ @iocat
+/types/idyll-ast/ @iocat
+/types/idyll-compiler/ @iocat
+/types/idyll-document/ @iocat
+/types/iferr/ @segayuu
+/types/iframe-resizer/ @arminbaljic
+/types/ignite-ui/ @IgniteUI
+/types/ignore-styles/ @tai2
+/types/iltorb/ @Alorel @reconbot
+/types/image-size/ @elisee
+/types/image-type/ @ffflorian
+/types/imagemagick/ @soywiz
+/types/imagemagick-native/ @horiuchi
+/types/imagemapster/ @delphinus35
+/types/imagemin/ @romain-faust
+/types/imagemin-gifsicle/ @romain-faust
+/types/imagemin-jpegtran/ @romain-faust
+/types/imagemin-optipng/ @romain-faust
+/types/imagemin-svgo/ @romain-faust
+/types/images/ @DingWeizhe
+/types/imagesloaded/ @coldacid @apexskier
+/types/imap/ @psnider
+/types/imap-simple/ @pushplay @iaarnio
+/types/imgur-rest-api/ @lukewestby
+/types/imperium/ @gaetansenn
+/types/impress/ @borisyankov
+/types/in-app-purchase/ @l-jonas @IchordeDionysos
+/types/in-range/ @DanielRosenwasser
+/types/inboxsdk/ @rdoursenaud @amiram
+/types/incremental-dom/ @basarat @lanthaler @vvakame
+/types/indent-string/ @mhegazy
+/types/inert/v4/ @nycdotnet @AJamesPhillips
+/types/inert/ @nycdotnet @AJamesPhillips @lenovouser
+/types/inflected/ @dsci
+/types/inflection/ @shiwano
+/types/inherits/ @chrootsu
+/types/ini/ @marcinporebski @carnesen
+/types/iniparser/ @chrootsu
+/types/init-package-json/ @kfarnung
+/types/inline-css/ @philipisapain
+/types/inline-style-prefixer/ @ahz @dpetrezselyova @franklixuefei
+/types/inquirer/ @tkQubo @ppathan @jouderianjr @bang88 @bitjson @synarque @jrockwood @kwkelly @Ailrun
+/types/inquirer-npm-name/ @manuth
+/types/insert-module-globals/ @leonard-thieu
+/types/insight/ @vvakame
+/types/instabug-reactnative/ @pengcao1
+/types/integer/ @Morfent
+/types/intercom-client/ @jineshshah36 @peping
+/types/intercom-web/ @fongandrew @salbahra @onatm
+/types/intercomjs/ @spencerwi
+/types/internal-ip/ @BendingBender
+/types/interpret/ @BendingBender
+/types/intl/ @RagibHasin
+/types/intl-locales-supported/ @Slessi
+/types/intl-messageformat/ @mhegazy
+/types/intl-relativeformat/ @mohsen1
+/types/intl-tel-input/v13/ @fdnhkj @leonard-thieu
+/types/intl-tel-input/ @fdnhkj @leonard-thieu @molnarm
+/types/into-stream/ @BendingBender
+/types/intrinsic-scale/ @shalomdotnet
+/types/intro.js/ @anahkiasen
+/types/invariant/ @bennett000
+/types/inversify-devtools/ @inversify
+/types/iobroker/ @AlCalzone
+/types/ion-rangeslider/v1/ @dduugg @Karel-van-de-Plassche
+/types/ion-rangeslider/ @Karel-van-de-Plassche
+/types/ioredis/v3/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615 @reconbot
+/types/ioredis/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615 @reconbot @funthing @iamolegga @tingwai-to
+/types/iota.lib.js/ @fogsh
+/types/ip/ @codeanimal
+/types/ip-address/ @icopp @danwbyrne
+/types/ip-regex/ @unindented
+/types/ipcheck/ @bengry
+/types/irc/ @phillips1012
+/types/iri/ @BendingBender
+/types/iron/ @simonschick @rafaelsouzaf
+/types/is/ @cabralRodrigo @gricey432
+/types/is-absolute-url/ @mhegazy
+/types/is-alphanumerical/ @vutran
+/types/is-archive/ @mhegazy
+/types/is-array/ @pine
+/types/is-binary-path/ @DanielRosenwasser
+/types/is-callable/ @nieltg
+/types/is-ci/ @atd-schubert
+/types/is-color/ @VitorLuizC
+/types/is-compressed/ @mhegazy
+/types/is-docker/ @YashdalfTheGray
+/types/is-empty/ @termosa
+/types/is-finite/ @mhegazy
+/types/is-glob/ @mrmlnc
+/types/is-hotkey/ @petester42 @kalley
+/types/is-ip/ @coderslagoon
+/types/is-mobile/ @LogvinovLeon
+/types/is-my-json-valid/ @kruncher
+/types/is-negated-glob/ @ajafff
+/types/is-number/ @harryshipton
+/types/is-obj/ @forivall
+/types/is-object/ @wbhob
+/types/is-path-cwd/ @DanielRosenwasser
+/types/is-path-in-cwd/ @mhegazy
+/types/is-promise/ @DanielRosenwasser
+/types/is-regexp/ @forivall
+/types/is-relative-url/ @mhegazy
+/types/is-root/ @mhegazy
+/types/is-root-path/ @mhegazy
+/types/is-running/ @danwbyrne
+/types/is-scoped/ @postcrafter
+/types/is-stream/ @me
+/types/is-svg/ @BendingBender
+/types/is-text-path/ @mhegazy
+/types/is-touch-device/ @screendriver
+/types/is-url/ @RyotaMurohoshi
+/types/is-url-superb/ @kryops
+/types/is-uuid/ @tedre191
+/types/is-windows/ @mizunashi-mana
+/types/isaac/ @mo
+/types/isbn-utils/ @elhaard
+/types/iscroll/ @csrakowski @devlato
+/types/ismobilejs/ @Ty3uK
+/types/iso-3166-2/ @sicilica
+/types/iso8601-localizer/ @avielfedida
+/types/isomorphic-fetch/ @toddlucas
+/types/isotope-layout/ @avidenic @malinushj
+/types/istanbul/ @tkrotoff
+/types/istanbul-lib-coverage/ @jason0x43
+/types/istanbul-lib-hook/ @jason0x43
+/types/istanbul-lib-instrument/ @jason0x43
+/types/istanbul-lib-report/ @jason0x43
+/types/istanbul-lib-source-maps/ @jason0x43
+/types/istanbul-middleware/ @hookclaw
+/types/istanbul-reports/ @jason0x43
+/types/ityped/ @DanielRosenwasser
+/types/ix.js/ @Igorbek
+/types/jackrabbit/ @elvisvoer
+/types/jade/ @panuhorsmalahti
+/types/jalaali-js/ @alitaheri
+/types/japanese-holidays/ @syamatoo
+/types/jasmine/v1/ @borisyankov
+/types/jasmine/v2/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B @cyungmann
+/types/jasmine/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B @cyungmann @Roaders
+/types/jasmine-ajax/ @lgrignon
+/types/jasmine-data-provider/ @tlaziuk
+/types/jasmine-data_driven_tests/ @AnthonyMacKinnon
+/types/jasmine-enzyme/ @bolatovumar
+/types/jasmine-es6-promise-matchers/ @stephenlautier
+/types/jasmine-fixture/ @craigbrett17
+/types/jasmine-given/ @shairez
+/types/jasmine-jquery/ @gstamac
+/types/jasmine-matchers/ @Bartvds
+/types/jasmine-node/ @svi3c
+/types/jasmine-promise-matchers/ @matthewjh
+/types/jasmine_dom_matchers/ @devoto13
+/types/jasminewd2/ @sjelin @gkalpak
+/types/java/ @jimlloyd @hrl7 @darti
+/types/java-applet/ @cyrilschumacher
+/types/javascript-astar/ @ptlis @lazerwalker
+/types/javascript-bignum/ @sandersn
+/types/javascript-obfuscator/ @sanex3339
+/types/javascript-state-machine/ @borisyankov @mdocter @MrBigDog2U @samael65535 @taoqf
+/types/jbinary/ @tbureck
+/types/jcanvas/ @rogierschouten
+/types/jdataview/ @RReverser
+/types/jdenticon/ @mtr
+/types/jest/v16/ @NoHomey @jwbay
+/types/jest/ @NoHomey @jwbay @asvetliakov @alexjoverm @epicallan @ikatyang @wsmd @JamieMason @douglasduteil @ahnpnl @joshuakgoldberg @UselessPickles @r3nya @hotell @sebald @andys8
+/types/jest-axe/ @JoshuaKGoldberg
+/types/jest-cli/ @lifeiscontent
+/types/jest-diff/ @myabc
+/types/jest-docblock/ @ikatyang
+/types/jest-each/ @theutz @nickmccurdy
+/types/jest-environment-puppeteer/ @joshuakgoldberg
+/types/jest-get-type/ @myabc
+/types/jest-image-snapshot/ @dawnmist
+/types/jest-in-case/ @geovanisouza92
+/types/jest-json-schema/ @deadNightTiger
+/types/jest-matcher-utils/ @myabc
+/types/jest-matchers/ @joscha
+/types/jest-plugin-context/ @jonasheinrich
+/types/jest-plugin-set/ @jonasheinrich
+/types/jest-specific-snapshot/ @dawnmist
+/types/jest-validate/ @ikatyang
+/types/jest-when/ @aldentaylor
+/types/jexl/ @m-tomczyk
+/types/jfs/ @tlaziuk
+/types/jira-client/ @KOPTE3 @orta
+/types/jju/ @ecraig12345 @rlidwka
+/types/jjv/ @Nemo157
+/types/jjve/ @Nemo157
+/types/jmespath/ @pushplay
+/types/johnny-five/ @nakakura @ujvzolee @workshop2 @xtrimsystems
+/types/joi/v6/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW
+/types/joi/v10/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @aconanlai
+/types/joi/v13/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai @zaphoyd @thewillg @SimonSchick
+/types/joi/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai @zaphoyd @thewillg @SimonSchick
+/types/joigoose/ @boothwhack
+/types/josa/ @vichyssoise
+/types/jotform-css.js/ @pandawood
+/types/jpeg-js/ @DanielRosenwasser
+/types/jpegtran-bin/ @hikoma
+/types/jpm/ @github-account-because-they-want-it
+/types/jqgrid/ @lokeshpeta
+/types/jqrangeslider/ @qcz
+/types/jquery/v1/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
+/types/jquery/v2/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
+/types/jquery/ @leonard-thieu @borisyankov @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @johnnyreilly @DickvdBrink @King2500 @terrymun
+/types/jquery-ajax-chain/ @humana-fragilitas
+/types/jquery-alertable/ @stever
+/types/jquery-animate-scroll/ @AndersonFriaca
+/types/jquery-awesome-cursor/ @zskovacs
+/types/jquery-backstretch/ @dkulyk
+/types/jquery-countdown/ @AndersonFriaca
+/types/jquery-countto/ @AndersonFriaca
+/types/jquery-cropbox/ @PerKastman
+/types/jquery-deparam/ @patsissons
+/types/jquery-drawer/ @pine
+/types/jquery-easy-loading/ @delphinus35
+/types/jquery-editable-select/ @baywet
+/types/jquery-focus-exit/ @AndersonFriaca
+/types/jquery-focusable/ @AndersonFriaca
+/types/jquery-formatdatetime/ @AndersonFriaca
+/types/jquery-fullscreen/ @bgrieder
+/types/jquery-galleria/ @rimig
+/types/jquery-gray/ @AndersonFriaca
+/types/jquery-handsontable/ @intelorca
+/types/jquery-jcrop/ @joeskeen
+/types/jquery-jsonrpcclient/ @Ty3uK
+/types/jquery-knob/ @iain8
+/types/jquery-lazyload/ @AndersonFriaca
+/types/jquery-loading-overlay/ @AndersonFriaca
+/types/jquery-mask-plugin/ @avidenic @AndersonFriaca
+/types/jquery-maskmoney/ @AndersonFriaca
+/types/jquery-match-height/ @kbytesys
+/types/jquery-mockjax/ @laszlojakab @vladeck @hasaki
+/types/jquery-mouse-exit/ @AndersonFriaca
+/types/jquery-mousewheel/ @xt0rted
+/types/jquery-next-id/ @AndersonFriaca
+/types/jquery-notifier/ @allipierre
+/types/jquery-param/ @patsissons
+/types/jquery-slugify/ @AndersonFriaca
+/types/jquery-sortable/ @Seltzer
+/types/jquery-steps/ @jblank @nickwph
+/types/jquery-sticky/ @maixiu
+/types/jquery-tags-input/ @AndersonFriaca
+/types/jquery-timeentry/ @marknadig
+/types/jquery-toast-plugin/ @viqashussain @astegmaier
+/types/jquery-toastmessage-plugin/ @joeskeen
+/types/jquery-truncate-html/ @abraaoalves
+/types/jquery-urlparam/ @stpettersens
+/types/jquery-validation-unobtrusive/ @EnableSoftware
+/types/jquery.address/ @martinduparc @mardaneus86
+/types/jquery.appear/ @AndersonFriaca
+/types/jquery.are-you-sure/ @jonegerton
+/types/jquery.autosize/ @kingdango
+/types/jquery.bbq/ @sunetos
+/types/jquery.bootstrap.wizard/ @niemyjski @dennisahlin
+/types/jquery.browser/ @AndersonFriaca
+/types/jquery.cleditor/ @pushplay
+/types/jquery.clientsidelogging/ @diullei
+/types/jquery.color/ @derekcicerone
+/types/jquery.colorbox/ @gjunge
+/types/jquery.colorpicker/ @pushplay
+/types/jquery.contextmenu/ @nvivo
+/types/jquery.cookie/ @RoyGoode @BenLorantfy
+/types/jquery.customselect/ @adamcoulombe
+/types/jquery.cycle2/ @dnadolny
+/types/jquery.dropotron/ @cyrilschumacher
+/types/jquery.dynatree/ @fdecampredon
+/types/jquery.elang/ @sumegizoltan
+/types/jquery.fancytree/ @alphaleonis @abedi-ir @niikoo @Nitecube
+/types/jquery.filtertable/ @totpero
+/types/jquery.finger/ @maxackley
+/types/jquery.flagstrap/ @felipedgarcia
+/types/jquery.fullscreen/ @piraveen
+/types/jquery.gridster/ @jbaldwin
+/types/jquery.growl/ @yeganemehr
+/types/jquery.highlight-bartaz/ @Pro
+/types/jquery.jnotify/ @jamescurran
+/types/jquery.joyride/ @vbortone
+/types/jquery.jsignature/ @pjmagee
+/types/jquery.leanmodal/ @FinelySliced
+/types/jquery.livestampjs/ @vbortone
+/types/jquery.nicescroll/ @Wkalmar
+/types/jquery.notify/ @evil-shrike
+/types/jquery.notifybar/ @zaneli
+/types/jquery.noty/ @kingdango @thelfensdrfer
+/types/jquery.payment/ @ejsmith @johnrutherford
+/types/jquery.pin/ @AndersonFriaca
+/types/jquery.pjax/ @lijunle
+/types/jquery.placeholder/ @majorsilence @EnableSoftware
+/types/jquery.pnotify/ @DavidSichau @FUNExtreme
+/types/jquery.postmessage/ @lijunle
+/types/jquery.prettyphoto/ @pgaske
+/types/jquery.qrcode/ @danmana
+/types/jquery.rateit/ @gjunge
+/types/jquery.rowgrid/ @vinayak-garg
+/types/jquery.scrollto/ @nestalk
+/types/jquery.simplemodal/ @ForNeVeR
+/types/jquery.simplepagination/ @nvivo
+/types/jquery.simulate/ @derekcicerone
+/types/jquery.slimscroll/ @Promact
+/types/jquery.soap/ @tigerxy
+/types/jquery.sortelements/ @tbureck
+/types/jquery.stickem/ @davidmpaz
+/types/jquery.superlink/ @niemyjski
+/types/jquery.tagsmanager/ @vbortone
+/types/jquery.tile/ @zaneli
+/types/jquery.timepicker/ @anwarjaved
+/types/jquery.timer/ @JoshStrobl
+/types/jquery.tinycarousel/ @csrakowski
+/types/jquery.tinyscrollbar/ @csrakowski
+/types/jquery.tipsy/ @bdukes
+/types/jquery.tools/ @joeskeen
+/types/jquery.total-storage/ @JeremyCBrooks
+/types/jquery.transit/ @MrBigDog2U
+/types/jquery.ui.datetimepicker/ @dougajmcdonald
+/types/jquery.ui.layout/ @Steve-Fenton @drarmstr
+/types/jquery.uniform/ @flyfishMT
+/types/jquery.validation/ @fdecampredon @johnnyreilly @avidenic
+/types/jquery.watermark/ @anwarjaved
+/types/jquerymobile/ @borisyankov
+/types/jqueryui/ @borisyankov @johnnyreilly
+/types/js-base64/ @DenisCarriere @tlent
+/types/js-beautify/ @JoshuaKGoldberg @hansrwindhoff
+/types/js-clipper/ @omni360
+/types/js-combinatorics/ @outring
+/types/js-cookie/ @theodorejb @BendingBender @alepee
+/types/js-data-angular/ @reppners
+/types/js-fixtures/ @kazimanzurrashid
+/types/js-git/ @Bartvds
+/types/js-md5/ @mwmccarthy
+/types/js-money/ @kanatkubash
+/types/js-nacl/ @ethanfrey
+/types/js-quantities/ @wrummler
+/types/js-schema/ @marcinporebski @roblabat
+/types/js-search/ @guoyunhe
+/types/js-sha512/ @nicojs
+/types/js-string-escape/ @viralpickaxe
+/types/js-to-java/ @skyitachi
+/types/js-url/ @pine
+/types/js-yaml/ @Bartvds @sclausen
+/types/js.spec/ @mattbishop
+/types/jsbn/ @Evgenus @al2xed
+/types/jschannel/ @yitzchok @McFlat
+/types/jscrollpane/ @qcz
+/types/jsdeferred/ @minodisk
+/types/jsdom/ @leonard-thieu @palmfjord
+/types/jsen/ @vladeck
+/types/jsend/ @CaselIT
+/types/jsesc/ @Bartvds
+/types/jsfl/ @soywiz
+/types/jsforce/ @dolanmiu @netes @amphro @tnoonan-salesforce @whiteabelincoln @borys-kupar
+/types/jsftp/ @xyleen
+/types/jsgraph/ @rosinbum
+/types/jshamcrest/ @dharkness
+/types/jsmockito/ @shiver-me-timbers
+/types/jsnox/ @stkb @DovydasNavickas
+/types/json-js/ @NN---
+/types/json-merge-patch/ @senyaarseniy
+/types/json-parse-better-errors/ @DanielRosenwasser
+/types/json-patch/ @vvakame
+/types/json-patch-gen/ @RohdeK
+/types/json-pointer/ @Bartvds
+/types/json-query/ @mtraynham
+/types/json-rpc-random-id/ @micahriggan
+/types/json-rpc-ws/ @npenin @mlamp
+/types/json-schema/ @bcherny @cyrilletuzi @lucianbuzzo @rolandjitsu
+/types/json-server/ @jeremyben
+/types/json-socket/ @svi3c
+/types/json-stable-stringify/ @mhfrantz
+/types/json-stringify-safe/ @BendingBender
+/types/json2csv/ @juanjoDiaz
+/types/json2md/ @MartynasZilinskas
+/types/json3/ @NN---
+/types/json5/ @Esemesek
+/types/json_ml/ @pluma
+/types/jsonata/ @nick121212
+/types/jsoneditor/ @alejo90 @errietta
+/types/jsoneditor-for-react/ @joshuakgoldberg
+/types/jsoneditoronline/ @vbortone
+/types/jsonfile/ @dbowring
+/types/jsonic/ @jacobbubu
+/types/jsonminify/ @no23reason
+/types/jsonnet/ @hookclaw
+/types/jsonp/ @surenkov
+/types/jsonpath/ @horiuchi @ikatyang
+/types/jsonquery/ @JimmyBoh
+/types/jsonrpc-serializer/ @Akim95 @many20
+/types/jsonstream/ @Bartvds
+/types/jsontoxml/ @benstevens48
+/types/jsonwebtoken/ @SomaticIT @danielheim @brikou @vpk @rlgod
+/types/jsonwebtoken-promisified/ @SomaticIT @danielheim @brikou @aneilbaboo
+/types/jspath/ @dex4er
+/types/jspdf/ @amberjs @lleios @jemerald
+/types/jsqrcode/ @lordazzi
+/types/jsrender/ @zakki
+/types/jsreport-core/ @taoqf
+/types/jsreport-html-embedded-in-docx/ @taoqf
+/types/jsreport-html-to-xlsx/v1/ @me
+/types/jsreport-html-to-xlsx/ @me
+/types/jsreport-jsrender/ @taoqf
+/types/jsreport-phantom-pdf/ @taoqf
+/types/jsreport-xlsx/ @taoqf
+/types/jsrp/ @harryshipton
+/types/jss/ @appsforartists @kof @pelotom @eps1lon
+/types/jssha/ @randombk @SrTobi
+/types/jstimezonedetect/ @olamothe
+/types/jstorage/ @dflor003
+/types/jstree/ @adaskothebeast
+/types/jsts/ @StephaneAlie @jrocha
+/types/jsuite/ @darrenhillconsulting
+/types/jsuri/ @coldacid @flqw
+/types/jsurl/ @agorshkov23
+/types/jsx-chai/ @nupplaphil
+/types/jszip/ @mzeiher @forabi
+/types/jug/ @yevt
+/types/jui/ @easylogic
+/types/jui-core/ @easylogic
+/types/jui-grid/ @easylogic
+/types/just-debounce-it/ @azizhk
+/types/just-extend/ @pe8ter
+/types/just-pick/ @pe8ter
+/types/jweixin/ @taoqf @gomydodo
+/types/jwplayer/ @martinduparc @kutomer @philippguertler @danielmcgraw @bpdsw
+/types/jws/ @JustinBeckwith
+/types/jwt-client/ @timoteoponce
+/types/jwt-decode/v1/ @QuatroDevOfficial
+/types/jwt-decode/ @GiedriusGrabauskas @madsmadsen
+/types/jwt-express/ @nickp10
+/types/jwt-simple/ @kenfdev @GaelMagnan
+/types/jwt-then/ @phenomax
+/types/k6/ @MajorBreakfast
+/types/kafka-node/ @dansitu @bkim54 @sfrooster @amiram
+/types/karma/v1/ @tkrotoff @43081j
+/types/karma/ @tkrotoff @43081j @devoto13
+/types/karma-chai/ @JayAndCatchFire
+/types/karma-chai-sinon/ @vasek17
+/types/karma-coverage/ @tkrotoff @devoto13
+/types/karma-fixture/ @evictor @afshawnlotfi
+/types/karma-jasmine/ @michelsalib
+/types/karma-viewport/ @karak
+/types/karma-webpack/ @mtraynham
+/types/katex/ @mrand01
+/types/kcors/ @Xstoudi @izayoiko
+/types/kdbush/ @DenisCarriere @chrfrasco
+/types/kdbxweb/ @Roang-zero1
+/types/keen-tracking/ @rui-ferreira
+/types/kefir/ @AyaMorisawa @HitoriSensei
+/types/kendo-ui/ @telerik
+/types/kerberos/ @velezsarain
+/types/keyboardjs/ @vbortone @piranha771 @teoxoy
+/types/keycloak-connect/ @gstamac
+/types/keygrip/ @jkeylu
+/types/keymaster/ @nitram509
+/types/keymirror/ @jfahrenkrug
+/types/keypress.js/ @rcchen
+/types/keysym/ @harryshipton
+/types/keytar/ @miniak @shiftkey @juturu
+/types/keyv/ @Arylo
+/types/kik-browser/ @joelday
+/types/klaw/v1/ @mceachen
+/types/klaw/ @mceachen
+/types/klaw-sync/ @shiftkey
+/types/kms-json/ @sunnyone
+/types/knex/ @tkQubo @MeLlamoPablo @mastermatt @micksatana @shreyjain1994 @joelshepherd
+/types/knex-postgis/ @vesse
+/types/knockback/ @borisyankov
+/types/knockout/ @borisyankov @Igorbek @moonpyk @EnableSoftware @BenjaminEckardt @ffMathy @ltlombardi @Retsam
+/types/knockout-amd-helpers/ @DavidSichau
+/types/knockout-secure-binding/ @pine613
+/types/knockout-transformations/ @johnnyreilly @Nemo157
+/types/knockout.deferred.updates/ @sgaliano
+/types/knockout.editables/ @borisyankov
+/types/knockout.es5/ @sgaliano
+/types/knockout.kogrid/ @huer12
+/types/knockout.mapper/ @BMeyerKC
+/types/knockout.mapping/ @borisyankov @ffMathy
+/types/knockout.projections/ @johnnyreilly
+/types/knockout.punches/ @johnnyreilly
+/types/knockout.rx/ @Igorbek
+/types/knockout.validation/ @danludwig
+/types/knockout.viewmodel/ @oising
+/types/knockstrap/ @adaskothebeast
+/types/knuddels-userapps-api/ @Knuddels
+/types/ko.plus/ @conficient
+/types/koa/ @DavidCai1993 @jkeylu @brikou
+/types/koa-basic-auth/ @Tobias4872
+/types/koa-better-body/ @danwbyrne
+/types/koa-bodyparser/ @hellopao @anup-2s @hirochachacha
+/types/koa-bouncer/ @maruware
+/types/koa-bunyan-logger/ @sjmcdowall
+/types/koa-cache-control/ @pe8ter
+/types/koa-compose/ @jkeylu
+/types/koa-compress/ @hellopao
+/types/koa-conditional-get/ @wingsbob
+/types/koa-convert/ @danwbyrne
+/types/koa-cors/ @romain-faust
+/types/koa-csrf/ @haskaalo
+/types/koa-etag/ @wingsbob
+/types/koa-favicon/ @hellopao
+/types/koa-generic-session/ @nsimmons @Ragg-
+/types/koa-hbs/ @jcbmln @mudkipme
+/types/koa-helmet/ @me
+/types/koa-html-minifier/ @romain-faust
+/types/koa-joi-router/ @wingsbob @move-zig @hirochachacha
+/types/koa-json/ @brooklyndev
+/types/koa-json-error/ @mudkipme
+/types/koa-log/ @havenchyk
+/types/koa-logger/ @geoffreak @tlaziuk
+/types/koa-logger-winston/ @stevehipwell
+/types/koa-morgan/ @vesse
+/types/koa-mount/ @amirsaber @tlaziuk
+/types/koa-multer/ @benstevens48
+/types/koa-passport/ @horiuchi @tlaziuk @brendtumi
+/types/koa-pino-logger/ @khell
+/types/koa-pug/ @Xstoudi
+/types/koa-qs/ @RemyJeancolas
+/types/koa-range/ @strax
+/types/koa-ratelimit/ @OutdatedVersion
+/types/koa-ratelimit-lru/ @danwbyrne
+/types/koa-redis/ @nsimmons
+/types/koa-redis-cache/ @dimamukhin
+/types/koa-requestid/ @sjmcdowall
+/types/koa-response-time/ @thorsedeke @sjmcdowall
+/types/koa-route/ @migstopheles @jacogr
+/types/koa-router/ @hellopao @schfkt @JounQin @romain-faust @Guillaume-Mayer @falinor
+/types/koa-send/ @pe8ter @tlaziuk
+/types/koa-session/ @kerol2r20 @tlaziuk
+/types/koa-session-minimal/ @longztian
+/types/koa-sslify/ @wingsbob
+/types/koa-static/ @hellopao @tlaziuk
+/types/koa-static-cache/ @JounQin
+/types/koa-static-server/ @wulunyi
+/types/koa-useragent/ @rvboris
+/types/koa-views/ @brooklyndev
+/types/koa-webpack/ @malj @leebenson @miZyind @tlaziuk
+/types/koa-websocket/ @moimael @jacogr @zdila @Kroisse
+/types/koa-xml-body/ @uwinkelvos
+/types/koa2-cors/ @xialeistudio
+/types/koa2-session-redis/ @DimaMukhin
+/types/koa__cors/ @Xstoudi @izayoiko @stevehipwell @sjmcdowall
+/types/kolite/ @borisyankov
+/types/konami.js/ @mareek
+/types/kos-core/ @ali-Kos
+/types/kraken-js/ @darkwebdev @micksatana
+/types/kramed/ @tonicblue
+/types/kss/ @giladgray
+/types/kue/ @drudge @amiram @pc-jedi @deerawan
+/types/kurento-utils/ @nenadalm @riggs
+/types/kuromoji/ @mzsm @kgtkr
+/types/lab/ @prashaantt
+/types/ladda/ @dflor003 @leemicw
+/types/lambda-log/ @armonge
+/types/lambda-tester/ @ivank @HajoAhoMantila
+/types/lasso/ @darkwebdev
+/types/later/ @jasond-s
+/types/latinize/ @GiedriusGrabauskas
+/types/latlon-geohash/ @rimig
+/types/launchpad/ @rictic
+/types/layzr.js/ @shermendev
+/types/lazy-value/ @ikatyang
+/types/lazy.js/ @Bartvds @miso440
+/types/lazypipe/ @tomc974
+/types/ldap-filters/ @pluma
+/types/ldapjs/ @cvillemure @peterkooijmans
+/types/leadfoot/ @theintern
+/types/leaflet/v0/ @rgripper
+/types/leaflet/ @alejo90 @atd-schubert @mcauer
+/types/leaflet-areaselect/ @awallat
+/types/leaflet-curve/ @onikiienko
+/types/leaflet-draw/ @matt-guest @reblace @YunS-Stacy @beschoenen
+/types/leaflet-editable/ @dalie
+/types/leaflet-fullscreen/ @DenisCarriere
+/types/leaflet-geocoder-mapzen/ @leezu
+/types/leaflet-gpx/ @soucekv @molnarm
+/types/leaflet-imageoverlay-rotated/ @tkleinke
+/types/leaflet-label/ @Nemo157
+/types/leaflet-mouse-position/ @Hanyon
+/types/leaflet-polylinedecorator/ @soucekv @michaelfaisst
+/types/leaflet-providers/ @BendingBender
+/types/leaflet-rotatedmarker/ @robert-prib-polestar
+/types/leaflet-routing-machine/ @chanakadrathnayaka
+/types/leaflet.awesome-markers/v0/ @Odrin @sebek64
+/types/leaflet.awesome-markers/ @sebek64
+/types/leaflet.fullscreen/ @wcomartin
+/types/leaflet.gridlayer.googlemutant/ @ernest-rhinozeros
+/types/leaflet.heat/ @onderceylan
+/types/leaflet.locatecontrol/ @DenisCarriere
+/types/leaflet.markercluster/ @rimig
+/types/leaflet.markercluster.layersupport/ @AsamK
+/types/leaflet.pancontrol/ @Brictarus
+/types/leaflet.pm/ @tkleinke
+/types/leaflet.polylinemeasure/ @RiON69
+/types/leakage/ @atd-schubert
+/types/leapmotionts/ @logotype
+/types/ledgerhq__hw-transport/ @danwbyrne
+/types/ledgerhq__hw-transport-node-hid/ @danwbyrne
+/types/ledgerhq__hw-transport-u2f/ @danwbyrne
+/types/legal-eagle/ @j-f1
+/types/lerna-get-packages/ @LogvinovLeon
+/types/less/ @thasner @pranaygp @dwaxweiler @chigix
+/types/less-middleware/ @federicobond
+/types/less2sass/ @gatimus
+/types/lestate/ @thelambdaparty
+/types/level-codec/ @danwbyrne
+/types/level-sublevel/ @basp
+/types/leveldown/v1/ @tarruda @LinusU
+/types/leveldown/ @MeirionHughes @danwbyrne
+/types/levelup/v1/ @blittle @tarruda
+/types/levelup/ @MeirionHughes @danwbyrne
+/types/leven/ @jmalonzo
+/types/levenshtein/ @geoffreak
+/types/libpq/ @Lodin
+/types/libsodium-wrappers/ @ffflorian
+/types/libsodium-wrappers-sumo/ @ffflorian
+/types/libxmljs/ @fdecampredon @ComFreek
+/types/libxslt/ @alejo90
+/types/license-checker/ @rogierschouten @unindented
+/types/liftoff/ @BendingBender
+/types/lil-uuid/ @Pr1st0n
+/types/lime-js/ @arthur-xavier
+/types/line-by-line/ @etomsen
+/types/line-reader/ @stpettersens
+/types/linear-gradient/ @Jack-Works
+/types/lingui__core/ @huan086
+/types/lingui__macro/ @huan086
+/types/lingui__react/ @huan086
+/types/linkify-it/ @praxxis
+/types/linkifyjs/ @szhu
+/types/list-stream/ @IanStorm
+/types/listr/ @durad
+/types/lls/ @borislavjivkov
+/types/load-json-file/ @SamVerschueren
+/types/loader-runner/ @e-cloud
+/types/loader-utils/ @Perlmint @TotooriaHyperion
+/types/loadjs/ @screendriver
+/types/loadware/ @ALyman
+/types/lobibox/ @itboy87
+/types/local-dynamo/ @Sicilica
+/types/local-storage/ @tup1tsa
+/types/localized-countries/ @coderslagoon
+/types/localizejs-library/ @salbahra
+/types/locate-path/ @me
+/types/lockfile/v0/ @Bartvds
+/types/lockfile/ @Bartvds @BendingBender
+/types/lockr/ @droritos
+/types/locks/ @flippynips
+/types/locutus/ @hookclaw
+/types/lodash/v3/ @bczengel @chrootsu
+/types/lodash/ @bczengel @chrootsu @stepancar @aj-r @ailrun @e-cloud @thorn0 @jtmthf @DomiR
+/types/lodash-es/ @stephenlautier @e-cloud
+/types/lodash-webpack-plugin/ @bumbleblym
+/types/lodash.add/ @bczengel @chrootsu @stepancar
+/types/lodash.after/ @bczengel @chrootsu @stepancar
+/types/lodash.ary/ @bczengel @chrootsu @stepancar
+/types/lodash.assign/ @bczengel @chrootsu @stepancar
+/types/lodash.assignin/ @bczengel @chrootsu @stepancar
+/types/lodash.assigninwith/ @bczengel @chrootsu @stepancar
+/types/lodash.assignwith/ @bczengel @chrootsu @stepancar
+/types/lodash.at/ @bczengel @chrootsu @stepancar
+/types/lodash.attempt/ @bczengel @chrootsu @stepancar
+/types/lodash.before/ @bczengel @chrootsu @stepancar
+/types/lodash.bind/ @bczengel @chrootsu @stepancar
+/types/lodash.bindall/ @bczengel @chrootsu @stepancar
+/types/lodash.bindkey/ @bczengel @chrootsu @stepancar
+/types/lodash.camelcase/ @bczengel @chrootsu @stepancar
+/types/lodash.capitalize/ @bczengel @chrootsu @stepancar
+/types/lodash.castarray/ @bczengel @chrootsu @stepancar
+/types/lodash.ceil/ @bczengel @chrootsu @stepancar
+/types/lodash.chunk/ @bczengel @chrootsu @stepancar
+/types/lodash.clamp/ @bczengel @chrootsu @stepancar
+/types/lodash.clone/ @bczengel @chrootsu @stepancar
+/types/lodash.clonedeep/ @bczengel @chrootsu @stepancar
+/types/lodash.clonedeepwith/ @bczengel @chrootsu @stepancar
+/types/lodash.clonewith/ @bczengel @chrootsu @stepancar
+/types/lodash.compact/ @bczengel @chrootsu @stepancar
+/types/lodash.concat/ @bczengel @chrootsu @stepancar
+/types/lodash.cond/ @bczengel @chrootsu @stepancar
+/types/lodash.constant/ @bczengel @chrootsu @stepancar
+/types/lodash.countby/ @bczengel @chrootsu @stepancar
+/types/lodash.create/ @bczengel @chrootsu @stepancar
+/types/lodash.curry/ @bczengel @chrootsu @stepancar
+/types/lodash.curryright/ @bczengel @chrootsu @stepancar
+/types/lodash.debounce/ @bczengel @chrootsu @stepancar
+/types/lodash.deburr/ @bczengel @chrootsu @stepancar
+/types/lodash.defaults/ @bczengel @chrootsu @stepancar
+/types/lodash.defaultsdeep/ @bczengel @chrootsu @stepancar
+/types/lodash.defer/ @bczengel @chrootsu @stepancar
+/types/lodash.delay/ @bczengel @chrootsu @stepancar
+/types/lodash.difference/ @bczengel @chrootsu @stepancar
+/types/lodash.differenceby/ @bczengel @chrootsu @stepancar
+/types/lodash.differencewith/ @bczengel @chrootsu @stepancar
+/types/lodash.divide/ @bczengel @chrootsu @stepancar
+/types/lodash.drop/ @bczengel @chrootsu @stepancar
+/types/lodash.dropright/ @bczengel @chrootsu @stepancar
+/types/lodash.droprightwhile/ @bczengel @chrootsu @stepancar
+/types/lodash.dropwhile/ @bczengel @chrootsu @stepancar
+/types/lodash.endswith/ @bczengel @chrootsu @stepancar
+/types/lodash.eq/ @bczengel @chrootsu @stepancar
+/types/lodash.escape/ @bczengel @chrootsu @stepancar
+/types/lodash.escaperegexp/ @bczengel @chrootsu @stepancar
+/types/lodash.every/ @bczengel @chrootsu @stepancar
+/types/lodash.fill/ @bczengel @chrootsu @stepancar
+/types/lodash.filter/ @bczengel @chrootsu @stepancar
+/types/lodash.find/ @bczengel @chrootsu @stepancar
+/types/lodash.findindex/ @bczengel @chrootsu @stepancar
+/types/lodash.findkey/ @bczengel @chrootsu @stepancar
+/types/lodash.findlast/ @bczengel @chrootsu @stepancar
+/types/lodash.findlastindex/ @bczengel @chrootsu @stepancar
+/types/lodash.findlastkey/ @bczengel @chrootsu @stepancar
+/types/lodash.first/ @bczengel @chrootsu @stepancar
+/types/lodash.flatmap/ @bczengel @chrootsu @stepancar
+/types/lodash.flatmapdeep/ @bczengel @chrootsu @stepancar
+/types/lodash.flatmapdepth/ @bczengel @chrootsu @stepancar
+/types/lodash.flatten/ @bczengel @chrootsu @stepancar
+/types/lodash.flattendeep/ @bczengel @chrootsu @stepancar
+/types/lodash.flattendepth/ @bczengel @chrootsu @stepancar
+/types/lodash.flip/ @bczengel @chrootsu @stepancar
+/types/lodash.floor/ @bczengel @chrootsu @stepancar
+/types/lodash.flow/ @bczengel @chrootsu @stepancar
+/types/lodash.flowright/ @bczengel @chrootsu @stepancar
+/types/lodash.foreach/ @bczengel @chrootsu @stepancar
+/types/lodash.foreachright/ @bczengel @chrootsu @stepancar
+/types/lodash.forin/ @bczengel @chrootsu @stepancar
+/types/lodash.forinright/ @bczengel @chrootsu @stepancar
+/types/lodash.forown/ @bczengel @chrootsu @stepancar
+/types/lodash.forownright/ @bczengel @chrootsu @stepancar
+/types/lodash.frompairs/ @bczengel @chrootsu @stepancar
+/types/lodash.functions/ @bczengel @chrootsu @stepancar
+/types/lodash.functionsin/ @bczengel @chrootsu @stepancar
+/types/lodash.get/ @bczengel @chrootsu @stepancar
+/types/lodash.groupby/ @bczengel @chrootsu @stepancar
+/types/lodash.gt/ @bczengel @chrootsu @stepancar
+/types/lodash.gte/ @bczengel @chrootsu @stepancar
+/types/lodash.has/ @bczengel @chrootsu @stepancar
+/types/lodash.hasin/ @bczengel @chrootsu @stepancar
+/types/lodash.head/ @bczengel @chrootsu @stepancar
+/types/lodash.identity/ @bczengel @chrootsu @stepancar
+/types/lodash.includes/ @bczengel @chrootsu @stepancar
+/types/lodash.indexof/ @bczengel @chrootsu @stepancar
+/types/lodash.initial/ @bczengel @chrootsu @stepancar
+/types/lodash.inrange/ @bczengel @chrootsu @stepancar
+/types/lodash.intersection/ @bczengel @chrootsu @stepancar
+/types/lodash.intersectionby/ @bczengel @chrootsu @stepancar
+/types/lodash.intersectionwith/ @bczengel @chrootsu @stepancar
+/types/lodash.invert/ @bczengel @chrootsu @stepancar
+/types/lodash.invertby/ @bczengel @chrootsu @stepancar
+/types/lodash.invoke/ @bczengel @chrootsu @stepancar
+/types/lodash.invokemap/ @bczengel @chrootsu @stepancar
+/types/lodash.isarguments/ @bczengel @chrootsu @stepancar
+/types/lodash.isarray/ @bczengel @chrootsu @stepancar
+/types/lodash.isarraybuffer/ @bczengel @chrootsu @stepancar
+/types/lodash.isarraylike/ @bczengel @chrootsu @stepancar
+/types/lodash.isarraylikeobject/ @bczengel @chrootsu @stepancar
+/types/lodash.isboolean/ @bczengel @chrootsu @stepancar
+/types/lodash.isbuffer/ @bczengel @chrootsu @stepancar
+/types/lodash.isdate/ @bczengel @chrootsu @stepancar
+/types/lodash.iselement/ @bczengel @chrootsu @stepancar
+/types/lodash.isempty/ @bczengel @chrootsu @stepancar
+/types/lodash.isequal/ @bczengel @chrootsu @stepancar
+/types/lodash.isequalwith/ @bczengel @chrootsu @stepancar
+/types/lodash.iserror/ @bczengel @chrootsu @stepancar
+/types/lodash.isfinite/ @bczengel @chrootsu @stepancar
+/types/lodash.isfunction/ @bczengel @chrootsu @stepancar
+/types/lodash.isinteger/ @bczengel @chrootsu @stepancar
+/types/lodash.islength/ @bczengel @chrootsu @stepancar
+/types/lodash.ismap/ @bczengel @chrootsu @stepancar
+/types/lodash.ismatch/ @bczengel @chrootsu @stepancar
+/types/lodash.ismatchwith/ @bczengel @chrootsu @stepancar
+/types/lodash.isnan/ @bczengel @chrootsu @stepancar
+/types/lodash.isnative/ @bczengel @chrootsu @stepancar
+/types/lodash.isnil/ @bczengel @chrootsu @stepancar
+/types/lodash.isnull/ @bczengel @chrootsu @stepancar
+/types/lodash.isnumber/ @bczengel @chrootsu @stepancar
+/types/lodash.isobject/ @bczengel @chrootsu @stepancar
+/types/lodash.isobjectlike/ @bczengel @chrootsu @stepancar
+/types/lodash.isplainobject/ @bczengel @chrootsu @stepancar
+/types/lodash.isregexp/ @bczengel @chrootsu @stepancar
+/types/lodash.issafeinteger/ @bczengel @chrootsu @stepancar
+/types/lodash.isset/ @bczengel @chrootsu @stepancar
+/types/lodash.isstring/ @bczengel @chrootsu @stepancar
+/types/lodash.issymbol/ @bczengel @chrootsu @stepancar
+/types/lodash.istypedarray/ @bczengel @chrootsu @stepancar
+/types/lodash.isundefined/ @bczengel @chrootsu @stepancar
+/types/lodash.isweakmap/ @bczengel @chrootsu @stepancar
+/types/lodash.isweakset/ @bczengel @chrootsu @stepancar
+/types/lodash.iteratee/ @bczengel @chrootsu @stepancar
+/types/lodash.join/ @bczengel @chrootsu @stepancar
+/types/lodash.kebabcase/ @bczengel @chrootsu @stepancar
+/types/lodash.keyby/ @bczengel @chrootsu @stepancar
+/types/lodash.keys/ @bczengel @chrootsu @stepancar
+/types/lodash.keysin/ @bczengel @chrootsu @stepancar
+/types/lodash.last/ @bczengel @chrootsu @stepancar
+/types/lodash.lastindexof/ @bczengel @chrootsu @stepancar
+/types/lodash.lowercase/ @bczengel @chrootsu @stepancar
+/types/lodash.lowerfirst/ @bczengel @chrootsu @stepancar
+/types/lodash.lt/ @bczengel @chrootsu @stepancar
+/types/lodash.lte/ @bczengel @chrootsu @stepancar
+/types/lodash.mapkeys/ @bczengel @chrootsu @stepancar
+/types/lodash.mapvalues/ @bczengel @chrootsu @stepancar
+/types/lodash.matches/ @bczengel @chrootsu @stepancar
+/types/lodash.matchesproperty/ @bczengel @chrootsu @stepancar
+/types/lodash.max/ @bczengel @chrootsu @stepancar
+/types/lodash.maxby/ @bczengel @chrootsu @stepancar
+/types/lodash.mean/ @bczengel @chrootsu @stepancar
+/types/lodash.meanby/ @bczengel @chrootsu @stepancar
+/types/lodash.memoize/ @bczengel @chrootsu @stepancar
+/types/lodash.merge/ @bczengel @chrootsu @stepancar
+/types/lodash.mergewith/ @bczengel @chrootsu @stepancar
+/types/lodash.method/ @bczengel @chrootsu @stepancar
+/types/lodash.methodof/ @bczengel @chrootsu @stepancar
+/types/lodash.min/ @bczengel @chrootsu @stepancar
+/types/lodash.minby/ @bczengel @chrootsu @stepancar
+/types/lodash.mixin/ @bczengel @chrootsu @stepancar
+/types/lodash.negate/ @bczengel @chrootsu @stepancar
+/types/lodash.noop/ @bczengel @chrootsu @stepancar
+/types/lodash.now/ @bczengel @chrootsu @stepancar
+/types/lodash.nth/ @bczengel @chrootsu @stepancar
+/types/lodash.ntharg/ @bczengel @chrootsu @stepancar
+/types/lodash.omit/ @bczengel @chrootsu @stepancar
+/types/lodash.omitby/ @bczengel @chrootsu @stepancar
+/types/lodash.once/ @bczengel @chrootsu @stepancar
+/types/lodash.orderby/ @bczengel @chrootsu @stepancar
+/types/lodash.over/ @bczengel @chrootsu @stepancar
+/types/lodash.overargs/ @bczengel @chrootsu @stepancar
+/types/lodash.overevery/ @bczengel @chrootsu @stepancar
+/types/lodash.oversome/ @bczengel @chrootsu @stepancar
+/types/lodash.pad/ @bczengel @chrootsu @stepancar
+/types/lodash.padend/ @bczengel @chrootsu @stepancar
+/types/lodash.padstart/ @bczengel @chrootsu @stepancar
+/types/lodash.parseint/ @bczengel @chrootsu @stepancar
+/types/lodash.partial/ @bczengel @chrootsu @stepancar
+/types/lodash.partialright/ @bczengel @chrootsu @stepancar
+/types/lodash.partition/ @bczengel @chrootsu @stepancar
+/types/lodash.pick/ @bczengel @chrootsu @stepancar
+/types/lodash.pickby/ @bczengel @chrootsu @stepancar
+/types/lodash.property/ @bczengel @chrootsu @stepancar
+/types/lodash.propertyof/ @bczengel @chrootsu @stepancar
+/types/lodash.pull/ @bczengel @chrootsu @stepancar
+/types/lodash.pullall/ @bczengel @chrootsu @stepancar
+/types/lodash.pullallby/ @bczengel @chrootsu @stepancar
+/types/lodash.pullallwith/ @bczengel @chrootsu @stepancar
+/types/lodash.pullat/ @bczengel @chrootsu @stepancar
+/types/lodash.random/ @bczengel @chrootsu @stepancar
+/types/lodash.range/ @bczengel @chrootsu @stepancar
+/types/lodash.rangeright/ @bczengel @chrootsu @stepancar
+/types/lodash.rearg/ @bczengel @chrootsu @stepancar
+/types/lodash.reduce/ @bczengel @chrootsu @stepancar
+/types/lodash.reduceright/ @bczengel @chrootsu @stepancar
+/types/lodash.reject/ @bczengel @chrootsu @stepancar
+/types/lodash.remove/ @bczengel @chrootsu @stepancar
+/types/lodash.repeat/ @bczengel @chrootsu @stepancar
+/types/lodash.replace/ @bczengel @chrootsu @stepancar
+/types/lodash.rest/ @bczengel @chrootsu @stepancar
+/types/lodash.result/ @bczengel @chrootsu @stepancar
+/types/lodash.reverse/ @bczengel @chrootsu @stepancar
+/types/lodash.round/ @bczengel @chrootsu @stepancar
+/types/lodash.sample/ @bczengel @chrootsu @stepancar
+/types/lodash.samplesize/ @bczengel @chrootsu @stepancar
+/types/lodash.set/ @bczengel @chrootsu @stepancar
+/types/lodash.setwith/ @bczengel @chrootsu @stepancar
+/types/lodash.shuffle/ @bczengel @chrootsu @stepancar
+/types/lodash.size/ @bczengel @chrootsu @stepancar
+/types/lodash.slice/ @bczengel @chrootsu @stepancar
+/types/lodash.snakecase/ @bczengel @chrootsu @stepancar
+/types/lodash.some/ @bczengel @chrootsu @stepancar
+/types/lodash.sortby/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedindex/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedindexby/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedindexof/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedlastindex/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedlastindexby/ @bczengel @chrootsu @stepancar
+/types/lodash.sortedlastindexof/ @bczengel @chrootsu @stepancar
+/types/lodash.sorteduniq/ @bczengel @chrootsu @stepancar
+/types/lodash.sorteduniqby/ @bczengel @chrootsu @stepancar
+/types/lodash.split/ @bczengel @chrootsu @stepancar
+/types/lodash.spread/ @bczengel @chrootsu @stepancar
+/types/lodash.startcase/ @bczengel @chrootsu @stepancar
+/types/lodash.startswith/ @bczengel @chrootsu @stepancar
+/types/lodash.subtract/ @bczengel @chrootsu @stepancar
+/types/lodash.sum/ @bczengel @chrootsu @stepancar
+/types/lodash.sumby/ @bczengel @chrootsu @stepancar
+/types/lodash.tail/ @bczengel @chrootsu @stepancar
+/types/lodash.take/ @bczengel @chrootsu @stepancar
+/types/lodash.takeright/ @bczengel @chrootsu @stepancar
+/types/lodash.takerightwhile/ @bczengel @chrootsu @stepancar
+/types/lodash.takewhile/ @bczengel @chrootsu @stepancar
+/types/lodash.template/ @bczengel @chrootsu @stepancar
+/types/lodash.throttle/ @bczengel @chrootsu @stepancar
+/types/lodash.times/ @bczengel @chrootsu @stepancar
+/types/lodash.toarray/ @bczengel @chrootsu @stepancar
+/types/lodash.tofinite/ @bczengel @chrootsu @stepancar
+/types/lodash.tointeger/ @bczengel @chrootsu @stepancar
+/types/lodash.tolength/ @bczengel @chrootsu @stepancar
+/types/lodash.tolower/ @bczengel @chrootsu @stepancar
+/types/lodash.tonumber/ @bczengel @chrootsu @stepancar
+/types/lodash.topairs/ @bczengel @chrootsu @stepancar
+/types/lodash.topairsin/ @bczengel @chrootsu @stepancar
+/types/lodash.topath/ @bczengel @chrootsu @stepancar
+/types/lodash.toplainobject/ @bczengel @chrootsu @stepancar
+/types/lodash.tosafeinteger/ @bczengel @chrootsu @stepancar
+/types/lodash.tostring/ @bczengel @chrootsu @stepancar
+/types/lodash.toupper/ @bczengel @chrootsu @stepancar
+/types/lodash.transform/ @bczengel @chrootsu @stepancar
+/types/lodash.trim/ @bczengel @chrootsu @stepancar
+/types/lodash.trimend/ @bczengel @chrootsu @stepancar
+/types/lodash.trimstart/ @bczengel @chrootsu @stepancar
+/types/lodash.truncate/ @bczengel @chrootsu @stepancar
+/types/lodash.unary/ @bczengel @chrootsu @stepancar
+/types/lodash.unescape/ @bczengel @chrootsu @stepancar
+/types/lodash.union/ @bczengel @chrootsu @stepancar
+/types/lodash.unionby/ @bczengel @chrootsu @stepancar
+/types/lodash.unionwith/ @bczengel @chrootsu @stepancar
+/types/lodash.uniq/ @bczengel @chrootsu @stepancar
+/types/lodash.uniqby/ @bczengel @chrootsu @stepancar
+/types/lodash.uniqueid/ @bczengel @chrootsu @stepancar
+/types/lodash.uniqwith/ @bczengel @chrootsu @stepancar
+/types/lodash.unset/ @bczengel @chrootsu @stepancar
+/types/lodash.unzip/ @bczengel @chrootsu @stepancar
+/types/lodash.unzipwith/ @bczengel @chrootsu @stepancar
+/types/lodash.update/ @bczengel @chrootsu @stepancar
+/types/lodash.updatewith/ @bczengel @chrootsu @stepancar
+/types/lodash.uppercase/ @bczengel @chrootsu @stepancar
+/types/lodash.upperfirst/ @bczengel @chrootsu @stepancar
+/types/lodash.values/ @bczengel @chrootsu @stepancar
+/types/lodash.valuesin/ @bczengel @chrootsu @stepancar
+/types/lodash.without/ @bczengel @chrootsu @stepancar
+/types/lodash.words/ @bczengel @chrootsu @stepancar
+/types/lodash.wrap/ @bczengel @chrootsu @stepancar
+/types/lodash.xor/ @bczengel @chrootsu @stepancar
+/types/lodash.xorby/ @bczengel @chrootsu @stepancar
+/types/lodash.xorwith/ @bczengel @chrootsu @stepancar
+/types/lodash.zip/ @bczengel @chrootsu @stepancar
+/types/lodash.zipobject/ @bczengel @chrootsu @stepancar
+/types/lodash.zipobjectdeep/ @bczengel @chrootsu @stepancar
+/types/lodash.zipwith/ @bczengel @chrootsu @stepancar
+/types/log-symbols/ @BendingBender
+/types/log-update/ @BendingBender
+/types/logat/ @krvikash35
+/types/logform/ @DABH
+/types/logg/ @blittle
+/types/loggly/ @rmartone @geoffreak
+/types/loglevel/ @Pro @szmeti @screendriver
+/types/logrotate-stream/ @rogierschouten
+/types/lokijs/ @TeamworkGuy2 @thomasconner
+/types/lolex/ @Nemo157 @joshuakgoldberg @rogierschouten
+/types/long/ @peterkooijmans
+/types/looks-same/ @xcatliu
+/types/loopback/ @kattsushi @enko @sequoia @drmikecrowe @karimsa
+/types/loopback-boot/ @kattsushi
+/types/lorem-ipsum/ @durad
+/types/lory.js/ @kubosho @milkisevil
+/types/loud-rejection/ @BendingBender
+/types/lovefield/ @freshp86 @zackzeno
+/types/lowdb/ @typicode @niieani
+/types/lowlight/ @NoHomey
+/types/lozad/ @plantain-00
+/types/lru-cache/ @Bartvds @BendingBender
+/types/lscache/ @Chris-Martinezz
+/types/ltx/ @PJakcson @BendingBender
+/types/luaparse/ @stpettersens
+/types/lunr/v0/ @sebastian-lenz
+/types/lunr/ @seantanly
+/types/lusca/ @crutchcorn
+/types/luxon/ @colbydehart @FourwingsY @jsiebern @mastermatt
+/types/lwip/ @AyaMorisawa
+/types/lz-string/ @M0ns1gn0r
+/types/lzma-native/ @leshow
+/types/magic-number/ @stpettersens
+/types/magicsuggest/ @leonardochaia
+/types/magnet-uri/ @tlaziuk
+/types/mailcheck/ @pocesar
+/types/maildev/ @cyrilschumacher @zbarbuto
+/types/mailgen/ @vothanhkiet @jordanfarrer
+/types/mailgun-js/ @sampsonjoliver @andipaetzold
+/types/mailparser/ @psnider
+/types/main-bower-files/ @k-kagurazaka
+/types/make-dir/ @ikatyang @BendingBender
+/types/maker.js/ @danmarshall
+/types/makeup-expander/ @darkwebdev
+/types/makeup-floating-label/ @darkwebdev
+/types/makeup-keyboard-trap/ @darkwebdev
+/types/makeup-prevent-scroll-keys/ @darkwebdev
+/types/makeup-screenreader-trap/ @darkwebdev
+/types/mali-compose/ @danwbyrne
+/types/mali-onerror/ @danwbyrne
+/types/mandrill-api/ @pocesar
+/types/map-obj/ @BendingBender
+/types/mapbox/ @anahkiasen @Fluccioni
+/types/mapbox-gl/ @dobrud @patrickr
+/types/mapbox-gl-leaflet/ @agorshkov23
+/types/mapbox__geo-viewport/ @fnberta
+/types/mapbox__geojson-area/ @n0nick
+/types/mapbox__polyline/ @Kern0 @mklopets
+/types/mapbox__shelf-pack/ @Perlmint
+/types/mapnik/ @ipv4sec
+/types/mapsjs/ @davismj
+/types/mariasql/ @bennett000
+/types/mark.js/ @renjfk @RomanGotsiy
+/types/markdown-it/ @rapropos
+/types/markdown-it-anchor/ @seryl
+/types/markdown-it-container/ @hronex
+/types/markdown-it-lazy-headers/ @knom
+/types/markdown-pdf/ @MonsieurMan
+/types/markdownlint/ @ark120202
+/types/marked/ @worr @BendingBender @CrossR @mwickett
+/types/marker-animate-unobtrusive/ @viskin
+/types/markerclustererplus/ @enanox @mxl
+/types/markitup/ @drillbits
+/types/marko/ @darkwebdev
+/types/maskedinput/ @lokeshpeta
+/types/masonry-layout/ @m-a-wilson @warriorrocker
+/types/massive/v3/ @swissspidy @clarenceh
+/types/massive/v4/ @swissspidy @clarenceh @AmazingTurtle
+/types/massive/ @swissspidy @clarenceh @AmazingTurtle @mike-engel
+/types/match-media-mock/ @asvetliakov
+/types/match-sorter/ @claasahl
+/types/material-components-web/ @BrentDouglas @ckosti
+/types/material-design-lite/ @bradzacher
+/types/material-ui/ @ngbrown @theigor @alitaheri @herrmanno @DaIgeb @allienna @schlesingermatthias @InsidersByte @artyomsv @dan-j @minodisk @samwalshnz @reggino
+/types/material-ui-datatables/ @coding2012
+/types/material__animation/ @BrentDouglas @ckosti
+/types/material__auto-init/ @BrentDouglas @ckosti
+/types/material__base/ @BrentDouglas @ckosti
+/types/material__checkbox/ @BrentDouglas @ckosti
+/types/material__chips/ @BrentDouglas @ckosti
+/types/material__dialog/ @BrentDouglas @ckosti
+/types/material__drawer/ @BrentDouglas @ckosti
+/types/material__floating-label/ @BrentDouglas @ckosti
+/types/material__form-field/ @BrentDouglas @ckosti
+/types/material__grid-list/ @BrentDouglas @ckosti
+/types/material__icon-toggle/ @BrentDouglas @ckosti
+/types/material__line-ripple/ @BrentDouglas @ckosti
+/types/material__linear-progress/ @BrentDouglas @ckosti
+/types/material__menu/ @BrentDouglas @ckosti
+/types/material__notched-outline/ @BrentDouglas @ckosti
+/types/material__radio/ @BrentDouglas @ckosti
+/types/material__ripple/ @BrentDouglas @ckosti
+/types/material__select/ @BrentDouglas @ckosti
+/types/material__selection-control/ @BrentDouglas @ckosti
+/types/material__slider/ @BrentDouglas @ckosti
+/types/material__snackbar/ @BrentDouglas @ckosti
+/types/material__tab/ @BrentDouglas @ckosti
+/types/material__tabs/ @BrentDouglas @ckosti
+/types/material__textfield/ @BrentDouglas @ckosti
+/types/material__toolbar/ @BrentDouglas @ckosti
+/types/material__top-app-bar/ @BrentDouglas @ckosti
+/types/materialize-css/v0/ @eriklieben @leonyu @SinghSukhdeep @jfcere @scote @LiadIdan
+/types/materialize-css/ @huww98 @MaximBalaganskiy @MonizDave @broccoliarchy
+/types/math3d/ @laszlojakab @jimsmart
+/types/mathjax/ @rolandzwaga
+/types/mathjs/ @siavol @andnp @bradbesserman @pawkrol
+/types/matter-js/ @piranha771 @hasparus
+/types/mcrypt/ @pluma
+/types/mcustomscrollbar/ @flurg
+/types/md5/ @arcdev1 @jprogrammer
+/types/md5-file/ @BamButz
+/types/mdast/ @lujun2
+/types/mdns/ @reppners
+/types/mdurl/ @rokt33r
+/types/media-typer/ @BendingBender
+/types/medium-editor/ @keika299 @pascaliske
+/types/megajs/ @danwbyrne
+/types/mem/ @SamVerschueren
+/types/mem-fs/ @MyFoodBag
+/types/mem-fs-editor/ @MyFoodBag
+/types/memcached/ @KentarouTakeda
+/types/memdown/ @MeirionHughes @danwbyrne
+/types/memjs/ @leizongmin
+/types/memoize-one/ @karol-majewski @franklixuefei
+/types/memoizee/ @juanpicado
+/types/memory-cache/ @jedigo @thieman
+/types/memory-fs/ @e-cloud
+/types/memwatch-next/ @cyrilschumacher
+/types/meow/ @KnisterPeter @praxxis @bitjson
+/types/merge-descriptors/ @danny8002
+/types/merge-env/ @BendingBender
+/types/merge-stream/ @k-kagurazaka @tomxtobin @daniel-zazula @djcsdy
+/types/merge2/ @tkrotoff @smac89
+/types/merkle/ @kerol2r20
+/types/mermaid/ @ggilmore
+/types/mersenne-twister/ @KentarouTakeda
+/types/meshblu/ @fnipo
+/types/mess/ @Nemo157
+/types/messenger/ @derekcicerone
+/types/meteor/ @barbatus @fullflavedave @orefalo @dagatsoin @birkskyum @ardatan @stefanholzapfel @andrei-markeev @lmachens
+/types/meteor-accounts-phone/ @DAB0mB
+/types/meteor-astronomy/ @Deadly0
+/types/meteor-collection-hooks/ @twastvedt
+/types/meteor-jboulhous-dev/ @vangorra
+/types/meteor-persistent-session/ @vangorra
+/types/meteor-prime8consulting-oauth2/ @vangorra
+/types/meteor-publish-composite/ @vangorra @mrz5018
+/types/meteor-roles/ @vangorra @mattmm3d
+/types/meteor-universe-i18n/ @mathewmeconry
+/types/method-override/ @santialbo
+/types/methods/ @cprecioso
+/types/metric-suffix/ @davidm77
+/types/mfiles/ @avonwyss
+/types/micro/ @kaoDev
+/types/micro-cors/ @CallumDenby
+/types/micromatch/v2/ @glen-84
+/types/micromatch/ @glen-84 @vemoo
+/types/microrouter/ @mathieudutour
+/types/microsoft-ajax/ @pjmagee
+/types/microsoft-live-connect/ @jvilk
+/types/microsoft-sdk-soap/ @markusmauch
+/types/microsoftteams/ @WrathOfZombies @jayongg @ydogandjiev
+/types/microtime/ @vincekovacs
+/types/milkcocoa/ @odangosan
+/types/millisecond/ @xeoneux
+/types/mime/ @jedigo @dhritzkiv
+/types/mime-db/ @AJamesPhillips
+/types/mime-types/ @Perlmint
+/types/mimos/ @AJamesPhillips
+/types/mina/ @lhk @mattanja @kant2002
+/types/mini-css-extract-plugin/ @JounQin
+/types/minimal-bit-array/ @jeremejevs
+/types/minimatch/ @vvakame @shantmarouti
+/types/minimist/ @Bartvds @Necroskillz @kamranayub
+/types/minimist-options/ @ikatyang
+/types/minio/ @barinbritva @castorw @loremaps @OutdatedVersion
+/types/minipass/ @BendingBender
+/types/mirrorx/ @aaronphy
+/types/mithril/ @spacejack @andraaspar @isiahmeadows
+/types/mithril-global/ @spacejack @isiahmeadows
+/types/mitm/ @alejo90
+/types/mixpanel/ @hjellek @Manduro
+/types/mixto/ @vvakame
+/types/mjml/ @aahoughton @marpstar
+/types/mjml-react/ @henrinormak
+/types/mkdirp/ @Bartvds @mrmlnc
+/types/mkdirp-promise/ @pluma
+/types/mkpath/ @optical
+/types/ml-levenberg-marquardt/ @m93a
+/types/mobx-apollo/ @pselden
+/types/mobx-devtools-mst/ @pluma
+/types/mocha/ @kazimanzurrashid @otiai10 @jt000 @enlight @cspotcode @1999
+/types/mocha-each/ @magnostherobot
+/types/mocha-phantomjs/ @ErikSchierboom
+/types/mocha-steps/ @Arylo
+/types/mochaccino/ @thomas-p
+/types/mock-aws-s3/ @bluehatbrit
+/types/mock-fs/ @Nemo157 @tkqubo
+/types/mock-knex/ @jessezhang91
+/types/mock-raf/ @djpereira
+/types/mock-require/ @gDelgado14
+/types/mockdate/ @brunolm
+/types/mockery/ @jt000
+/types/mockingoose/ @hirochachacha
+/types/modernizr/ @borisyankov @theodorejb @leonyu @lucax88x @nhardy
+/types/modesl/ @neeschit
+/types/module-alias/ @KevinRamharak
+/types/module-deps/ @TeamworkGuy2
+/types/moji/ @yasupeke
+/types/moment-business/ @wonbyte
+/types/moment-business-time/ @swist
+/types/moment-duration-format/ @SwintDC @TwoStone @leonard-thieu @bendykowski
+/types/moment-holiday/ @rwdalpe
+/types/moment-jalaali/ @alitaheri
+/types/moment-range/ @Burgov @wilgert @franjuan @MartynasZilinskas
+/types/moment-round/ @jacobbaskin
+/types/moment-shortformat/ @whatasoda
+/types/moment-strftime2/ @dex4er
+/types/moment-timezone/ @michelsalib @alanblins
+/types/money-math/ @taoqf
+/types/mongo-sanitize/ @CedricCazin
+/types/mongodb/v2/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi
+/types/mongodb/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian @denys-bushulyak @BastienAr @sindbach @geraldinelemeur @jishi @various89 @angela-1 @lirbank @hector7 @floric @erikc5000
+/types/mongodb-memory-server/ @dmitryrogozhny
+/types/mongodb-uri/ @mernxl
+/types/mongoose/v4/ @simonxca @horiuchi @sindrenm @lukasz-zak
+/types/mongoose/ @horiuchi @sindrenm @lukasz-zak @Alorel @jendrikw @ethanresnick @vologab @jussikinnula @ondratra @alfirin @idandrd @various89 @Fazendaaa @NormanPerrin @danmana @stablio
+/types/mongoose-auto-increment/ @AyaMorisawa
+/types/mongoose-deep-populate/ @AyaMorisawa
+/types/mongoose-geojson-schema/ @bondz
+/types/mongoose-mock/ @jt000
+/types/mongoose-paginate/ @linusbrolin @simonxca
+/types/mongoose-promise/ @simonxca
+/types/mongoose-seeder/ @Crevil
+/types/mongoose-sequence/ @linusbrolin
+/types/mongoose-simple-random/ @rsxdalv
+/types/mongoose-unique-validator/ @stevehipwell
+/types/mongorito/ @pinguet62
+/types/mongration/ @soulthreads
+/types/moo/ @deltaidea @MofX
+/types/moonjs/ @DanielRosenwasser
+/types/morgan/ @staticfunction @pscanf
+/types/morphdom/ @arvitaly
+/types/morris.js/ @mareek @sindilevich
+/types/mosca/ @GabrielGouv @jerray
+/types/motor-hat/ @muntyan
+/types/mousetrap/ @qcz
+/types/move-concurrently/ @mgroenhoff
+/types/moveto/ @shermendev
+/types/moviedb/ @basarat @0x6368656174
+/types/moxios/ @itoasuka
+/types/mozilla-readability/ @charlesvdv
+/types/mozjpeg/ @hikoma
+/types/mpromise/ @sgkim126
+/types/mri/ @shiftkey @j-f1
+/types/ms/ @danny8002
+/types/msgpack-lite/ @endel @efokschaner
+/types/msgpack5/ @wokim @heycalmdown
+/types/msnodesql/ @borisyankov @SomaticIT
+/types/msportalfx-test/ @julioct
+/types/mssql/ @jaminfarr @buzinas @mrrichar @elhaard @pkeuter @mcdado
+/types/mu2/ @jedigo
+/types/muicss/ @samuelneff
+/types/multer/ @jt000 @DavidBR-SW @mxl @hyunseob
+/types/multer-gridfs-storage/v1/ @devconcept
+/types/multer-gridfs-storage/v2/ @devconcept
+/types/multer-gridfs-storage/ @devconcept
+/types/multer-s3/ @tcaesvk @galtalmor @terski
+/types/multi-typeof/ @mhegazy
+/types/multimatch/ @stephenlautier
+/types/multiparty/ @kenfdev
+/types/multiplexjs/ @KamyarNazeri
+/types/multisort/ @CzBuCHi
+/types/multistream/ @mrmlnc @kenzierocks
+/types/muri/ @jloveridge
+/types/murmurhash/ @atd-schubert
+/types/murmurhash-js/ @cvle
+/types/murmurhash3js/ @dlee-nvisia
+/types/musicmetadata/ @Xstoudi
+/types/mustache/ @markashleybell @manuth
+/types/mustache-express/ @BendingBender
+/types/mutexify/ @maistho
+/types/mv/ @nenadalm
+/types/mysql/ @wjohnsto @kacepe @kpping @jdmunro
+/types/mz/ @ThomasHickman
+/types/n3/ @phreed @rubensworks @LaurensRietveld
+/types/named-regexp-groups/ @jewbre
+/types/named-routes/ @qqilihq
+/types/nanoajax/ @nathancahill
+/types/nanoevents/ @nju33
+/types/nanographql/ @cdaringe
+/types/nanoid/ @bash @fadezhanger
+/types/nanomsg/ @titan
+/types/nanoscroller/ @zihark17
+/types/nanp/ @karn
+/types/native-toast/ @mnahkies
+/types/nats-hemera/ @vforv
+/types/natsort/ @mgroenhoff
+/types/natural/ @dmoonfire
+/types/natural-sort/ @a-morales @fluggo
+/types/navermaps/ @ckboyjiy
+/types/navigation/ @grahammendick
+/types/navigation-react/ @grahammendick
+/types/navigo/ @aersamkull @dancespiele @deini
+/types/nblas/ @erikgerrits
+/types/nconf/ @jedigo @jmthibault
+/types/ncp/ @bartvds
+/types/ndarray/ @pawsong @taoqf
+/types/nearley/ @deltaidea @BendingBender
+/types/nedb/ @reppners @anthonynichols @afharo
+/types/nedb-logger/ @thisboyiscrazy
+/types/needle/v0/ @bigsan
+/types/needle/v1/ @bigsan @nikeee
+/types/needle/ @bigsan @nikeee @sindilevich
+/types/negotiator/ @BendingBender
+/types/neo4j/ @cyrilschumacher
+/types/nes/ @NoHomey @saboya
+/types/nested-error-stacks/ @woutervh-
+/types/net-keepalive/ @hertzg
+/types/netease-captcha/ @norubidium
+/types/netlify-identity-widget/ @nkprince007
+/types/netmask/ @mhfrantz
+/types/network-interfaces/ @anderswestberg
+/types/new-relic-browser/ @renehamburger @piotrkubisa
+/types/newline-remove/ @OpenByteDev
+/types/newman/ @LogvinovLeon @Graham42
+/types/newrelic/ @mastermatt @brookspatton
+/types/nexpect/ @vvakame
+/types/next/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira @ajliv
+/types/next-redux-saga/ @leocavalcante
+/types/next-redux-wrapper/ @stevegeek @Jungwoo-An
+/types/next-server/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira @ajliv
+/types/ng-command/ @stephenlautier
+/types/ng-cordova/ @ksachdeva
+/types/ng-dialog/ @stephenlautier
+/types/ng-facebook/ @Crevil
+/types/ng-file-upload/ @johnnyreilly @thewarpaint
+/types/ng-flow/ @ryan10132
+/types/ng-grid/ @smithkl42 @rolandzwaga @kentcooper
+/types/ng-i18next/ @cyrilschumacher
+/types/ng-notify/ @nzamosenchuk
+/types/ng-stomp/ @lpotapczuk
+/types/ng-tags-input/ @GiorgosPap
+/types/ngbootbox/ @stpettersens
+/types/ngeohash/ @erkie
+/types/ngkookies/ @martinmcwhorter
+/types/ngmap/ @nkovacic
+/types/ngprogress/ @martinmcwhorter
+/types/ngprogress-lite/ @LukeForder
+/types/ngreact/ @velveret
+/types/ngsijs/ @guillermofr
+/types/ngstorage/ @kubiq
+/types/ngtoaster/ @btesser
+/types/ngwysiwyg/ @patrick-mackay
+/types/nightmare/ @horiuchi @samyang-au @Bleser92
+/types/nightwatch/ @rkavalap @schlesiger @ClaytonAstrom
+/types/nise/ @a-tarasyuk
+/types/nivo-slider/ @AndersonFriaca
+/types/noble/ @swook @shantanubhadoria @lukel99 @bioball @keton @thegecko
+/types/nock/ @bonnici @horiuchi @afharo @mastermatt @damour @paambaati
+/types/nodal/ @charrondev
+/types/node/v0/ @Microsoft @DefinitelyTyped
+/types/node/v4/ @Microsoft @DefinitelyTyped @eps1lon @Archcry
+/types/node/v6/ @Microsoft @DefinitelyTyped @WilcoBakker @inlined @eps1lon @Alorel @KSXGitHub @Archcry
+/types/node/v7/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @eps1lon @KSXGitHub @Archcry
+/types/node/v8/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e @brunoscheufler @KSXGitHub @islishude @r3nya
+/types/node/v9/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya @eyqs
+/types/node/ @Microsoft @DefinitelyTyped @jkomyno @a-tarasyuk @alvis @r3nya @brunoscheufler @smac89 @tellnes @DeividasBakanas @eyqs @Flarna @Hannes-Magnusson-CK @KSXGitHub @hoo29 @kjin @ajafff @islishude @mwiktorczyk @matthieusieben @mohsen1 @n-e @octo-sniffle @parambirs @eps1lon @SimonSchick @ThomasdenH @WilcoBakker @wwwy3y3 @ZaneHannanAU @jeremiergz @samuela
+/types/node-7z/ @erkie
+/types/node-array-ext/ @Beng89
+/types/node-cache/ @chrootsu @dthunell @useltmann
+/types/node-calendar/ @luzianz
+/types/node-cleanup/ @agadar
+/types/node-crate/ @gjednaszewski
+/types/node-cron/ @maximelkin @burtek
+/types/node-dijkstra/ @nokutu
+/types/node-dir/ @panuhorsmalahti
+/types/node-dogstatsd/ @chrisbobo
+/types/node-emoji/ @jonestristand @styu
+/types/node-fetch/ @torstenwerner @nikcorg
+/types/node-fibers/ @caryhaynie
+/types/node-forge/ @westy92 @flynetworks @a-k-g @rafal2228 @beenotung @joeflateau @Apologiz @timhwang21
+/types/node-gcm/ @horiuchi
+/types/node-geocoder/ @rosek86
+/types/node-getopt/ @kcauchy
+/types/node-hid/ @mhegazy @ert78gb @thegecko
+/types/node-horseman/ @apratheek
+/types/node-hue-api/ @fjmorel
+/types/node-int64/ @x3cion @kevin-greene-ck
+/types/node-ipc/ @arvitaly @gjurgens
+/types/node-jsfl-runner/ @mrand01
+/types/node-json-db/ @kuzn-ilya
+/types/node-localstorage/ @intolerance
+/types/node-memwatch/ @Kroisse
+/types/node-mysql-wrapper/ @kataras
+/types/node-notifier/ @tkQubo
+/types/node-polyglot/ @timjk
+/types/node-powershell/ @rodrigoff
+/types/node-pushnotifications/ @menushka
+/types/node-ral/ @ssddi456
+/types/node-red/ @andersea @tbowmo
+/types/node-redis-pubsub/ @renekeijzer
+/types/node-resque/ @gordey4doronin
+/types/node-rsa/ @alitaheri @xm
+/types/node-schedule/ @cyrilschumacher @flowpl
+/types/node-slack/ @tkQubo
+/types/node-snap7/ @heilingbrunner
+/types/node-sprite-generator/ @Perlmint
+/types/node-ssdp/ @OrionNebula
+/types/node-static/ @Morfent
+/types/node-statsd/ @alexturek @convoyinc
+/types/node-telegram-bot-api/ @ammuench @agadar @Dabolus @Kallu609 @XC-Zhang
+/types/node-uuid/ @jeffmay
+/types/node-validator/ @kengorab
+/types/node-vault/ @YuJianrong
+/types/node-wit/ @julienduf
+/types/node-xmpp-client/ @PJakcson
+/types/node-xmpp-core/ @PJakcson
+/types/node-zookeeper-client/ @plantain-00 @jessezhang91
+/types/node-zopfli/ @Alorel
+/types/node-zopfli-es/ @Alorel
+/types/node_redis/ @borisyankov
+/types/nodecredstash/ @migstopheles
+/types/nodegit/ @dolanmiu @tniessen
+/types/nodemailer/v3/ @rogierschouten
+/types/nodemailer/ @rogierschouten @dex4er @bioball
+/types/nodemailer-direct-transport/ @rogierschouten
+/types/nodemailer-mailgun-transport/ @otociulis
+/types/nodemailer-pickup-transport/ @psnider
+/types/nodemailer-ses-transport/ @westy92
+/types/nodemailer-smtp-pool/ @rogierschouten
+/types/nodemailer-smtp-transport/ @rogierschouten
+/types/nodemailer-stub-transport/ @cyrilschumacher
+/types/nodeunit/ @jedigo
+/types/noisejs/ @izmhr
+/types/nomnom/ @panopticoncentral
+/types/nookies/ @andreasbergqvist
+/types/nopt/ @jbondc
+/types/normalize-package-data/ @jdxcode
+/types/normalize-url/ @odin3 @BendingBender @mathieumg
+/types/notie/ @mateusdemboski
+/types/notify/ @hellochar
+/types/notifyjs/ @soundTricker @NateScarlet
+/types/notifyjs-browser/ @bahman616
+/types/notyf/ @gurov
+/types/nouislider/v7/ @acoreyj
+/types/nouislider/v8/ @bleuarg
+/types/nouislider/ @bleuarg @lagaffe
+/types/novnc-core/ @smithkl42 @BendingBender
+/types/npm/ @SomaticIT
+/types/npm-package-arg/ @mgroenhoff @OiYouYeahYou
+/types/npm-packlist/ @ajafff
+/types/npmlog/ @DanielMSchmidt @littlepiggy03
+/types/ns-api/ @Archcry
+/types/nslog/ @unindented
+/types/nsqjs/ @cezaryrk
+/types/nuka-carousel/ @Romic @altaudio @matt-sungwook
+/types/number-is-nan/ @mhegazy
+/types/number-to-words/ @frederickfogerty
+/types/numeral/ @vbortone @BehindTheMath @klujanrosas
+/types/numeric/ @tup1tsa
+/types/numjs/ @taoqf @mattmm3d
+/types/nunjucks/ @RubenSlabbert
+/types/nunjucks-date/ @kruncher
+/types/nvd3/ @PjMitchell
+/types/nw.gui/ @xperiments
+/types/nw.js/ @alirdn
+/types/nwmatcher/ @woutervh-
+/types/o.js/ @IceOnFire @bradzacher @janhommes @jcchalte
+/types/oauth/ @nonAlgebraic @EduardoAC
+/types/oauth-shim/ @BendingBender
+/types/oauth.js/ @nobuoka
+/types/oauth2-server/ @vangorra @cirick @d-fischer @rvitorsantos
+/types/oauth2orize/ @wokim @heycalmdown @stevehipwell
+/types/obelisk.js/ @bdrupieski
+/types/obj-file-parser/ @benc-uk
+/types/obj-str/ @saenglert
+/types/object-assign/ @chbrown
+/types/object-diff/ @rogierschouten
+/types/object-hash/ @misak113
+/types/object-inspect/ @demurgos
+/types/object-keys/ @VitorLuizC
+/types/object-keys-mapping/ @newraina
+/types/object-map/ @wolfgang42
+/types/object-merge/ @OpenByteDev
+/types/object-path/ @pocesar
+/types/object-refs/ @3fd
+/types/object.getownpropertydescriptors/ @VitorLuizC
+/types/oblo-util/ @Oblosys
+/types/oboe/ @optical
+/types/observe-js/ @herrmanno
+/types/oclazyload/ @rolandzwaga
+/types/odata/ @janhommes @jcchalte
+/types/oembed-parser/ @BendingBender
+/types/ofe/ @Morfent
+/types/office-js/ @OfficeDev @LanceEA @Zlatkovsky @kbrandl @Rick-Kirkham @AlexJerabek @ElizabethSamuel-MSFT
+/types/office-js-preview @OfficeDev @Zlatkovsky @kbrandl @Rick-Kirkham @AlexJerabek @ElizabethSamuel-MSFT
+/types/office-runtime/ @Zlatkovsky @mscharlock
+/types/offline-js/ @cgwrench
+/types/oibackoff/ @geoffreak
+/types/oidc-token-manager/ @rosieks
+/types/oja/ @buffcode
+/types/okta__okta-vue/ @innovation-team
+/types/ol/ @yairtawil
+/types/omggif/ @ffflorian
+/types/on-finished/ @czechboy0 @BendingBender
+/types/on-headers/ @jjeffery @BendingBender
+/types/on-wake-up/ @ajafff
+/types/once/ @denis-sokolov @BendingBender
+/types/onesignal-cordova-plugin/ @broder
+/types/onetime/ @BendingBender
+/types/oniguruma/ @smhxx
+/types/onoff/ @marcel-ernst @Kallu609
+/types/ontime/ @Hirse
+/types/open/ @Bartvds
+/types/opener/ @tikurahul
+/types/openfin/v17/ @chrisbarker
+/types/openfin/v29/ @chrisbarker @rdepena
+/types/openfin/v34/ @chrisbarker @rdepena @whyn07m3
+/types/openfin/ @chrisbarker @rdepena @whyn07m3 @licui3936
+/types/openjscad/ @danmarshall
+/types/openlayers/v2/ @bolhovsky
+/types/openlayers/v3/ @osechet @matthiasdailey-ccri
+/types/openlayers/ @osechet @wb14123 @ailrun @mylen @iamthechad @danmana @yairtawil @pierremarc @hauke96 @gberaudo
+/types/openpgp/ @errietta @damonpam @po5i
+/types/openstack-wrapper/ @sanjaymadane
+/types/opentok/ @westy92 @CatGuardian
+/types/opentype.js/ @danmarshall @edzis
+/types/opn/ @shinnn @SomaticIT @tlent
+/types/opossum/ @quinnlangille @merufm @lance
+/types/optics-agent/ @crevil
+/types/optimist/ @soywiz @chbrown
+/types/optimize-css-assets-webpack-plugin/ @odnamrataizem
+/types/ora/v0/ @basarat @screendriver
+/types/ora/ @basarat @screendriver @BendingBender @azasypkin
+/types/oracle__oraclejet/ @nolakara @jingxwu
+/types/oracledb/ @Bigous
+/types/orchestrator/ @tkQubo @TeamworkGuy2
+/types/orderedmap/ @bradleyayers
+/types/orientjs/ @saeedtabrizi
+/types/os-homedir/ @mhegazy
+/types/os-locale/v1/ @AyaMorisawa @BendingBender
+/types/os-locale/ @AyaMorisawa @BendingBender
+/types/os-name/ @BendingBender
+/types/os-tmpdir/ @mhegazy
+/types/osmosis/ @jurajkocan @evanshortiss
+/types/osmtogeojson/ @tkqubo
+/types/osrm/ @DenisCarriere
+/types/otplib/ @renjfk
+/types/overwatch-api/ @JoshuaHall
+/types/owasp-password-strength-test/ @stephtr
+/types/owl.carousel/ @igorissen @KennethanCeyer
+/types/owlcarousel/ @dpiatkowski
+/types/p-all/ @BendingBender
+/types/p-any/ @BendingBender
+/types/p-cancelable/ @BendingBender
+/types/p-catch-if/ @LinusU
+/types/p-debounce/ @BendingBender
+/types/p-defer/ @SamVerschueren @BendingBender
+/types/p-do-whilst/ @BendingBender
+/types/p-each-series/ @BendingBender
+/types/p-event/ @BendingBender
+/types/p-every/ @BendingBender
+/types/p-lazy/ @BendingBender
+/types/p-limit/ @BendingBender @LinusU
+/types/p-loading/ @renjfk
+/types/p-locate/ @BendingBender
+/types/p-log/ @BendingBender
+/types/p-map/ @BendingBender
+/types/p-map-series/ @BendingBender
+/types/p-memoize/ @forabi
+/types/p-one/ @BendingBender
+/types/p-progress/ @icopp
+/types/p-props/ @BendingBender
+/types/p-queue/v2/ @BendingBender @evanshortiss
+/types/p-queue/ @BendingBender @evanshortiss
+/types/p-reduce/ @BendingBender
+/types/p-reflect/ @BendingBender
+/types/p-retry/ @BendingBender
+/types/p-series/ @BendingBender
+/types/p-settle/ @natesilva
+/types/p-some/ @BendingBender
+/types/p-tap/ @BendingBender
+/types/p-throttle/ @BendingBender
+/types/p-timeout/ @BendingBender
+/types/p-try/ @BendingBender @LinusU
+/types/p-wait-for/v1/ @BendingBender
+/types/p-wait-for/ @BendingBender
+/types/p-whilst/ @BendingBender
+/types/p2/ @clark-stevenson
+/types/p5/ @p5-types
+/types/package-json/ @jinwoo
+/types/packery/ @piraveen @hanssens
+/types/pad/ @mhegazy
+/types/page/ @43081j
+/types/paho-mqtt/ @amikhalev
+/types/pako/ @cappellin @calebegg
+/types/pangu/ @plantain-00
+/types/papaparse/ @torpedro @rainshen49 @jfloff @johnnyreilly @albertorestifo @BehindTheMath @3af @jliuhtonen
+/types/paper/ @clark-stevenson @Xakaloz @sebaswebdev @rfried
+/types/parallel-transform/ @djcsdy
+/types/paralleljs/ @jbaldwin
+/types/parcel-bundler/ @pinage404
+/types/parcel-env/ @fathyb
+/types/parent-package-json/ @sgmccli
+/types/parity-pmd/ @leovujanic @jewbre
+/types/parity-pmr/ @leovujanic
+/types/parity-poe/ @leovujanic
+/types/parse/v1/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas
+/types/parse/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas @agoldis
+/types/parse-git-config/ @leonard-thieu @deltaidea
+/types/parse-github-url/ @ajafff
+/types/parse-glob/ @glen-84
+/types/parse-json/ @mrmlnc
+/types/parse-link-header/ @zelein
+/types/parse-mockdb/ @dpoetzsch
+/types/parse-ms/ @Roaders
+/types/parse-torrent/ @niieani @tlaziuk
+/types/parse-torrent-file/ @tlaziuk
+/types/parse-unit/ @Jack-Works
+/types/parse5/v4/ @inikulin @andnp
+/types/parse5/ @inikulin
+/types/parse5-html-rewriting-stream/ @samuelli
+/types/parse5-htmlparser2-tree-adapter/ @inikulin
+/types/parse5-parser-stream/ @inikulin
+/types/parse5-plain-text-conversion-stream/ @inikulin
+/types/parse5-sax-parser/ @inikulin
+/types/parse5-serializer-stream/ @inikulin
+/types/parsecurrency/ @cristianrgreco
+/types/parseurl/ @bomret
+/types/parsimmon/ @Bartvds @mizunashi-mana @bcherny @bvanreeven @leonard-thieu @MrJohz
+/types/passport/ @horiuchi @enaeseth @theigor @tlaziuk @danielpa9708
+/types/passport-anonymous/ @0x6368656174
+/types/passport-auth0/ @johnbendi @iamvishnusankar @duncanhall
+/types/passport-azure-ad/ @ShekharNain
+/types/passport-beam/ @AtlasDev
+/types/passport-bnet/ @ivan94
+/types/passport-cognito/ @mbutsykin
+/types/passport-discord/ @kzay
+/types/passport-facebook/ @staticfunction @lucasmacosta
+/types/passport-facebook-token/ @rmartone @mrand01
+/types/passport-github/ @yasupeke
+/types/passport-github2/ @yasupeke @mthmulders @codepunkt
+/types/passport-google-oauth/ @staticfunction
+/types/passport-google-oauth2/ @bluehatbrit
+/types/passport-http/ @krizalys @tlaziuk @cjbarth
+/types/passport-http-bearer/ @isman-usoh
+/types/passport-jwt/ @jindev
+/types/passport-kakao/ @Park9eon @zerocho
+/types/passport-local/ @SomaticIT
+/types/passport-local-mongoose/ @linusbrolin
+/types/passport-naver/ @Park9eon @zerocho
+/types/passport-oauth2/ @pasieronen @WangZishi @EduardoAC
+/types/passport-oauth2-client-password/ @akaNightmare
+/types/passport-remember-me-extended/ @AylaJK
+/types/passport-saml/ @cjbarth @dassennato @ksamborski
+/types/passport-steam/ @kzay
+/types/passport-strategy/ @liorm
+/types/passport-twitter/ @staticfunction
+/types/passport-unique-token/ @briman0094 @SomaticIT
+/types/passport-vkontakte/ @soulthreads
+/types/passport-windowsauth/ @forivall
+/types/password-hash/ @mugeso
+/types/password-hash-and-salt/ @alitaheri
+/types/path-exists/v1/ @shiwano
+/types/path-exists/ @shiwano @BendingBender
+/types/path-is-absolute/ @mhegazy
+/types/path-is-inside/ @aomarks
+/types/pathfinding/ @BNedry
+/types/pathjs/ @lokeshpeta
+/types/pathwatcher/ @GlenCFL
+/types/pause/ @BendingBender
+/types/payment/ @apare
+/types/paypal-cordova-plugin/ @Justin-Credible
+/types/paypal-rest-sdk/ @trainerbill
+/types/pbf/ @cschwarz
+/types/pbkdf2/ @timonegk
+/types/pdf2image/ @taoqf
+/types/pdfjs-dist/ @jbaldwin
+/types/pdfkit/ @erichillah
+/types/pdfmake/ @m1llen1um @radziksh @evolkmann
+/types/pdfobject/ @nielsboogaard
+/types/pebblekitjs/ @makotokw
+/types/peer-dial/ @RealTYPICAL
+/types/peerjs/ @nakakura
+/types/pegjs/ @vvakame @SrTobi @siegebell
+/types/pem/ @tony19 @DethAriel
+/types/pem-jwk/ @alessiopcc
+/types/permit/ @jannikkeye
+/types/persona/ @Nycto
+/types/pet-finder-api/ @me
+/types/pg/v6/ @pspeter3
+/types/pg/ @pspeter3
+/types/pg-ears/ @bradleyayers
+/types/pg-escape/ @khell
+/types/pg-format/ @zopf
+/types/pg-large-object/ @mateuszkrupa
+/types/pg-pool/ @aleung
+/types/pg-query-stream/ @asmarques
+/types/pg-types/ @waratuman
+/types/pgwmodal/ @pine613
+/types/phantom/ @horiuchi @llRandom
+/types/phantomcss/ @abauzac
+/types/phantomjs/ @jedhunsaker @keesey
+/types/phoenix/ @mciastek
+/types/phone/ @DxCx
+/types/phone-formatter/ @westy92
+/types/phonegap/ @borisyankov @DickvdBrink
+/types/phonegap-facebook-plugin/ @Justin-Credible
+/types/phonegap-nfc/ @michaeldesigaud
+/types/phonon/ @kserin
+/types/photonui/ @florentpoujol
+/types/photoswipe/ @hellochar
+/types/physijs/ @gyohk
+/types/pi-spi/ @marcel-ernst
+/types/pick-weight/ @rsxdalv
+/types/pickadate/ @theodorejb @leonard-thieu
+/types/picturefill/ @alaz
+/types/pidusage/ @cyrilschumacher @mx601595686
+/types/pify/ @samverschueren @mad-mike @c7hm4r
+/types/pigpio/ @manerfan @erikma
+/types/pigpio-dht/ @erikma
+/types/pikaday/ @MidnightDesign @wake42 @mezoistvan
+/types/pikaday-time/ @Sayan751
+/types/pinkyswear/ @chances
+/types/pino/v3/ @psnider
+/types/pino/ @psnider @BendingBender @screendriver @paambaati @alferpal @mortiy
+/types/pino-http/ @screendriver
+/types/pino-multi-stream/ @JakeGinnivan
+/types/pinterest-sdk/ @adamburmister
+/types/pinyin/ @wanganjun
+/types/piwik-tracker/ @lbguilherme
+/types/pixelmatch/ @iamolegga
+/types/pixi.js/ @clark-stevenson
+/types/pkg-conf/ @jorgegonzalez
+/types/pkg-dir/ @NK-WEB-Git
+/types/pkg-up/ @forivall
+/types/pkijs/ @microshine
+/types/platform/ @JakeH
+/types/playcanvas/ @Neoflash1979
+/types/playerframework/ @ricardosabino
+/types/playmusic/ @nickp10
+/types/pleasejs/ @nakakura
+/types/plist/ @higuri
+/types/plotly.js/ @chrisgervang @martinduparc @frederikaalund @taoqf @Dadstart @szechyjs @MercifulCode @soorajpudiyadath @jonfreedman @meganrm
+/types/plugapi/ @BNedry
+/types/plugin-error/ @rogierschouten
+/types/plupload/ @patrickbussmann
+/types/plur/ @iRoachie
+/types/pluralize/ @ukyo @karol-majewski
+/types/png-async/ @kanreisa
+/types/png.js/ @ffflorian
+/types/pngjs/ @jason0x43
+/types/pngquant-bin/ @hikoma
+/types/podcast/ @nikeee
+/types/podium/ @AJamesPhillips
+/types/point-in-polygon/ @dyst5422 @kogai
+/types/pollyjs__adapter/ @feinoujc
+/types/pollyjs__adapter-fetch/ @feinoujc
+/types/pollyjs__core/ @feinoujc
+/types/pollyjs__persister/ @feinoujc
+/types/pollyjs__persister-fs/ @feinoujc
+/types/pollyjs__utils/ @feinoujc
+/types/polyfill-service/ @Alorel
+/types/polylabel/ @DenisCarriere
+/types/polyline/ @Kern0
+/types/polymer/ @lgrignon @laco0416
+/types/polymer-ts/ @lgrignon
+/types/popcorn/ @grapswiz
+/types/portscanner/ @douglasduteil
+/types/postal/ @lokeshpeta @myitcv
+/types/postcss-calc/ @huan086
+/types/postcss-icss-values/ @huan086
+/types/postcss-modules-extract-imports/ @huan086
+/types/postcss-modules-local-by-default/ @huan086
+/types/postcss-modules-resolve-imports/ @huan086
+/types/postcss-modules-scope/ @huan086
+/types/postcss-url/ @lenovouser
+/types/postman-collection/ @kbuzby
+/types/postmark/ @benbayard @jineshshah36
+/types/pouch-redux-middleware/ @charrondev
+/types/pouchdb/ @AGBrown @geppy @fredgalvao
+/types/pouchdb-adapter-fruitdown/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-http/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-idb/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-leveldb/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-localstorage/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-memory/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-node-websql/ @spaulg @geppy @fredgalvao
+/types/pouchdb-adapter-websql/ @spaulg @geppy @fredgalvao
+/types/pouchdb-browser/ @spaulg @geppy @fredgalvao
+/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales @tiangolo @kmoe
+/types/pouchdb-find/ @trubit @tiangolo
+/types/pouchdb-http/ @spaulg @geppy @fredgalvao
+/types/pouchdb-mapreduce/ @spaulg @geppy @fredgalvao
+/types/pouchdb-node/ @spaulg @geppy @fredgalvao
+/types/pouchdb-replication/ @trubit @tiangolo
+/types/pouchdb-upsert/ @keithdmoore @hotforfeature @apolkingg8 @zamb3zi
+/types/power-assert/ @vvakame
+/types/power-assert-formatter/ @vvakame
+/types/powerbi-visuals-tools/ @zBritva @Microsoft
+/types/precise/ @codeanimal
+/types/precond/ @olsio
+/types/preloadjs/ @endel
+/types/prelude-ls/ @AyaMorisawa
+/types/prettier/ @ikatyang
+/types/pretty-bytes/v4/ @plantain-00
+/types/pretty-bytes/ @plantain-00 @danielasy
+/types/pretty-format/ @ikatyang
+/types/pretty-ms/ @BendingBender @ocboogie
+/types/printf/ @AluisioASG
+/types/priorityqueuejs/ @geoffreak
+/types/prismic-dom/ @nickw444 @sbilstein
+/types/prismjs/ @eriklieben @andrewiggins @mmiszy
+/types/private-ip/ @coderslagoon
+/types/procfs-stats/ @cyrilschumacher
+/types/progress/ @sebastian-lenz
+/types/progressbar/ @atd-schubert
+/types/progressjs/ @zaneli
+/types/proj4/ @DenisCarriere
+/types/proj4leaflet/ @BendingBender
+/types/project-oxford/ @scsouthw
+/types/prometheus-gc-stats/ @danwbyrne
+/types/promise-dag/ @OSjoerdWie
+/types/promise-ftp/ @coolreader18
+/types/promise-ftp-common/ @coolreader18
+/types/promise-map-limit/ @kohlmannj
+/types/promise-memoize/ @forivall
+/types/promise-pg/ @coldacid
+/types/promise-polyfill/ @skysteve @djcsdy
+/types/promise-pool/ @vilic
+/types/promise-queue/ @LachlanStuart
+/types/promise-retry/ @shirakaba
+/types/promise-sftp/ @coolreader18
+/types/promise-timeout/ @Aankhen
+/types/promise.prototype.finally/ @slavik57 @BendingBender
+/types/promised-ldap/ @pluma
+/types/promised-temp/ @rokadias
+/types/promisify-node/ @borekb
+/types/promisify-supertest/ @aleung
+/types/prompt-sync/ @MugeSo
+/types/prompt-sync-history/ @MugeSo
+/types/promptly/ @danrspencer
+/types/prompts/ @Berkays @danielpa9708
+/types/prop-types/ @DovydasNavickas @ferdaber
+/types/proper-lockfile/ @qlonik
+/types/properties-reader/ @Goldsmith42
+/types/prosemirror-collab/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-commands/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-dropcursor/ @bradleyayers @davidka @dddotsev
+/types/prosemirror-gapcursor/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-history/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-inputrules/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-keymap/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-markdown/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-menu/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-model/ @bradleyayers @davidka @timjb @neknalb @patsimm
+/types/prosemirror-schema-basic/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-schema-list/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-state/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-tables/ @superchu @eshvedai @patsimm
+/types/prosemirror-transform/ @bradleyayers @davidka @timjb @patsimm
+/types/prosemirror-view/ @bradleyayers @davidka @timjb @patsimm
+/types/proton-native/ @khanhas @ltetzlaff
+/types/protractor-browser-logs/ @rokadias
+/types/protractor-helpers/ @johncant
+/types/protractor-http-mock/ @Crevil
+/types/provinces/ @gatimus
+/types/proxy-addr/ @BendingBender
+/types/proxy-lists/ @BehindTheMath
+/types/proxy-verifier/ @BehindTheMath
+/types/proxyquire/ @jt000
+/types/ps-tree/ @alessiopcc
+/types/ptomasroos__react-native-multi-slider/ @Slessi
+/types/pty.js/ @enlight
+/types/public-ip/ @BendingBender
+/types/pubnub/ @bitbankinc @rollymaduk @vitosamson @FlorianDr
+/types/pubsub-js/ @borisyankov
+/types/pug/ @TonyPythoneer @19majkel94
+/types/pulltorefreshjs/ @DanielRosenwasser @humpedli
+/types/pump/ @tlaziuk
+/types/pumpify/ @JustinBeckwith @aoberoi
+/types/punycode/ @yavanosta
+/types/pupa/ @nju33
+/types/puppeteer/v0/ @marvinhagemeister @cdeutsch
+/types/puppeteer/ @marvinhagemeister @cdeutsch @ksm2 @SimonSchick
+/types/puppeteer-core/ @mtsmfm
+/types/pure-render-decorator/ @seansfkelley
+/types/purl/ @danfma
+/types/pusher-js/ @tkqubo @cainlevy
+/types/pvutils/ @microshine
+/types/python-shell/ @dolanmiu @WORMSS
+/types/q/v0/ @bnemetchek @johnnyreilly
+/types/q/ @bnemetchek @AndrewGaspar @johnnyreilly @mboudreau @TeamworkGuy2
+/types/q-io/ @Bartvds
+/types/q-retry/ @vilic
+/types/qhistory/ @Kovensky
+/types/qiniu-js/ @taoqf
+/types/qlik/ @RubenSlabbert @AginicX
+/types/qlik-engineapi/ @konne @richardison
+/types/qlik-visualizationextensions/ @konne
+/types/qr-image/ @taoqf
+/types/qrcode/ @plantain-00
+/types/qrcode.react/ @mleko
+/types/qs/ @RWander @leonyu @tehbelinda @zyml @artursvonda @CarlosBonetti
+/types/qtip2/ @Seltzer @leonard-thieu
+/types/query-string/ @SamVerschueren @tkrotoff @huhuanming @MadaraUchiha @shssoichiro
+/types/querystringify/ @ilich
+/types/quick-lru/ @BendingBender
+/types/quill/ @sumitkm @guillaume-ro-fr @43081j @AnielloFalcone @mhamri
+/types/quixote/ @greybax
+/types/qunit/v1/ @diullei
+/types/qunit/ @waratuman @mike-north
+/types/qunit-dom/ @happycollision
+/types/quoted-printable/ @pushplay
+/types/qwest/ @lindsayevans
+/types/r-script/ @NaridaL
+/types/rabbit.js/ @wokim
+/types/rabbitmq-schema/ @rulezzz1987
+/types/radium/ @alexgorbatchev @nupplaphil @asvetliakov
+/types/radius/ @codeanimal
+/types/radix64/ @huan086
+/types/ramda/ @donnut @tycho01 @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman @CaptJakk @deftomat @deptno @blimusiek @biern @rayhaneh @rgm @drewwyatt
+/types/random-boolean/ @BendingBender
+/types/random-float/ @BendingBender
+/types/random-int/ @BendingBender
+/types/random-item/ @BendingBender
+/types/random-js/ @pistacchio
+/types/random-number/ @OpenByteDev
+/types/random-obj-key/ @BendingBender
+/types/random-obj-prop/ @BendingBender
+/types/random-seed/ @endel
+/types/random-string/ @stpettersens
+/types/randombytes/ @BendingBender
+/types/randomcolor/ @feitzi @BradyLiles
+/types/range-parser/ @tlaziuk
+/types/rangyinputs/ @ersimont
+/types/raphael/ @CheCoxshall
+/types/rappid/ @DenEwout
+/types/raspi/ @nebrius
+/types/raspi-board/ @nebrius
+/types/raspi-gpio/ @nebrius
+/types/raspi-i2c/ @nebrius
+/types/raspi-led/ @nebrius
+/types/raspi-onewire/ @nebrius
+/types/raspi-peripheral/ @nebrius
+/types/raspi-pwm/ @nebrius
+/types/raspi-serial/ @nebrius
+/types/raspi-soft-pwm/ @nebrius
+/types/ratelimiter/ @AyaMorisawa
+/types/raty/ @terrawheat
+/types/raven/ @scttcper @1999 @shreyjain1994
+/types/raven-for-redux/ @chiubaka
+/types/raygun/ @UberMouse
+/types/raygun4js/ @xt0rted @BenjaminHarding @UberMouse
+/types/rbac-a/ @tlaziuk
+/types/rc/ @DanielRosenwasser
+/types/rc-progress/ @jussikinnula
+/types/rc-select/ @DenisTirilis
+/types/rc-slider/ @mantasmarcinkus @mattoni @paustint @j-fro @Deanna2
+/types/rc-time-picker/ @Hoff97
+/types/rc-tooltip/ @rhysd @ahstro @vsaarinen
+/types/rc-tree/ @johnnyreilly @Methuselah96
+/types/rcloader/ @panuhorsmalahti
+/types/rdf-data-model/ @rubensworks
+/types/rdf-js/ @rubensworks @LaurensRietveld
+/types/rdflib/ @cenotelie
+/types/re-base/ @jordandrako
+/types/reach__router/ @kingdaro
+/types/react/v15/ @bbenezech @pzavolinsky @digiguru @ericanderson @tkrotoff @DovydasNavickas @onigoetz
+/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @ferdaber @jrakotoharisoa @pascaloliv @hotell @franklixuefei @Kovensky
+/types/react-adal/ @dkorolev1
+/types/react-albus/ @sseppola @conradreuter @kuirak
+/types/react-alert/v2/ @ssyrell
+/types/react-alert/ @g1eny0ung
+/types/react-alice-carousel/ @endigo
+/types/react-amplitude/ @rayzor65
+/types/react-animate-on-scroll/ @ralbuque
+/types/react-app/ @prakarshpandey
+/types/react-aria-menubutton/ @forabi @crohlfs
+/types/react-aria-modal/ @forabi
+/types/react-autocomplete/ @lstanden
+/types/react-autosuggest/ @nicolas-schmitt @pjo256 @robessog @tbayne @cdeutsch @rosskevin
+/types/react-avatar-editor/ @diogocorrea @gabsprates
+/types/react-beautiful-dnd/ @varHarrie @bradleyayers @paustint @marknelissen
+/types/react-better-password/ @mhuynh1
+/types/react-big-calendar/ @piotrwitek @paustint @pikpok @eps1lon @strongpauly @janb87
+/types/react-blessed/ @me
+/types/react-body-classname/ @mhegazy
+/types/react-bootstrap/ @walkerburgin @vsiao @danilojrr @Batbold-Gansukh @octatone @chengsieuly @mretolaza @katbusch @vitosamson @LKay @aaronbeall @jrakotoharisoa @r3nya @t49tran
+/types/react-bootstrap-date-picker/ @LKay @ssi-hu-antal-bodnar
+/types/react-bootstrap-daterangepicker/ @ianks
+/types/react-bootstrap-table/v2/ @flaub @alelode @UJosue10
+/types/react-bootstrap-table/ @flaub @alelode @UJosue10 @dawnmist @Ogglas
+/types/react-bootstrap-typeahead/ @Guymestef @radziksh @PaitoAnderson
+/types/react-breadcrumbs/ @guoyunhe
+/types/react-breadcrumbs-dynamic/ @mitsuruog
+/types/react-broadcast/ @kandros
+/types/react-burger-menu/ @radziksh
+/types/react-cache/ @skovy
+/types/react-calendar-heatmap/ @9renpoto
+/types/react-calendar-timeline/ @radziksh @acemac
+/types/react-cartographer/ @trevonmckay
+/types/react-circular-progressbar/ @lstanden
+/types/react-click-outside/ @screendriver
+/types/react-close-on-escape/ @JamesAlias
+/types/react-codemirror/ @velveret @rudi-c
+/types/react-coinhive/ @sktbcbbs
+/types/react-collapse/ @Kimahriman
+/types/react-collapsible/ @knegusen
+/types/react-color/ @LKay @markspolakovs @mntdn
+/types/react-confirm/ @santiagodoldan
+/types/react-content-loader/ @alaatm @samwalshnz
+/types/react-copy-to-clipboard/ @mabels @BernabeFelix
+/types/react-copy-write/ @samhh @davej
+/types/react-countup/ @danielbrodin
+/types/react-credit-cards/ @vstrimaitis @olefrank
+/types/react-cropper/ @stepancar
+/types/react-css-collapse/ @dford07
+/types/react-css-modules/ @KostyaEsmukov @skirsdeda
+/types/react-css-transition-replace/ @LKay
+/types/react-currency-formatter/ @pastushenkoy @Jeka-Vasiliev
+/types/react-custom-scrollbars/v3/ @David-LeBlanc-git
+/types/react-custom-scrollbars/ @David-LeBlanc-git @kittimiyo
+/types/react-data-grid/v1/ @SupernaviX
+/types/react-data-grid/v2/ @SupernaviX @KieranPeat @martinnov92
+/types/react-data-grid/ @SupernaviX @KieranPeat @martinnov92 @baso53
+/types/react-datagrid/ @stephenjelfs
+/types/react-date-range/ @Junbong
+/types/react-datepicker/ @radziksh @andrewBalekha @smrq @Rogach @royxue @KoalaHuman @seansfkelley @justingrant @jakeboone02
+/types/react-daterange-picker/ @uncovertruth @MartynasZilinskas @donaldtf @vladflorescu94
+/types/react-dates/ @ArturAmpilogov @NathanNZ
+/types/react-daum-postcode/ @Sa-ryong
+/types/react-dnd-multi-backend/ @dawnmist @beeequeue
+/types/react-dnd-touch-backend/ @mleko @dawnmist @beeequeue
+/types/react-document-meta/ @ulrichb
+/types/react-document-title/ @cleverguy25
+/types/react-dom/v15/ @MartynasZilinskas
+/types/react-dom/ @MartynasZilinskas @theruther4d
+/types/react-dom-factories/ @jgoz
+/types/react-draft-wysiwyg/ @imechZhangLY
+/types/react-dragtastic/ @nscarcella
+/types/react-dropzone/v2/ @matdube @LynxEyes @goblindegook @benbayard
+/types/react-dropzone/v3/ @matdube @LynxEyes @goblindegook @benbayard @LKay
+/types/react-dropzone/ @matdube @LynxEyes @goblindegook @benbayard @LKay @codeaid @jurosh @ekilah
+/types/react-dynamic-number/ @eugrdn
+/types/react-easy-chart/ @danzel
+/types/react-event-listener/ @asvetliakov
+/types/react-fa/ @flaub @patsissons @LKay
+/types/react-facebook-login/ @apare @jankarres
+/types/react-facebook-login-component/ @koss-lebedev
+/types/react-faux-dom/ @alitaheri @cleverguy25 @deviousm @hanai
+/types/react-file-input/ @dmitryrogozhny
+/types/react-file-reader-input/ @dmitryrogozhny @alitaheri
+/types/react-flag-icon-css/ @jonfreedman
+/types/react-flags-select/ @senukartur
+/types/react-flatpickr/ @begincalendar @snaveevans
+/types/react-flex/ @pushplay
+/types/react-flexr/ @pushplay
+/types/react-fontawesome/ @timurrustamov @dublicator @vincaslt @gavingregory
+/types/react-form/v1/ @cameron-mcateer
+/types/react-form/ @cameron-mcateer @TiuSh
+/types/react-foundation/ @danielearwicker
+/types/react-gateway/ @jsonunger
+/types/react-geosuggest/ @brmenchl
+/types/react-global-configuration/ @ryokik
+/types/react-google-login-component/ @koss-lebedev
+/types/react-google-maps-loader/ @vasilysn
+/types/react-google-places-suggest/ @vasilysn
+/types/react-google-recaptcha/ @KoalaHuman
+/types/react-gravatar/ @invliD
+/types/react-grid-layout/ @abirkholz @alitaheri @ZheyangSong @andrewhathaway
+/types/react-hamburger-menu/ @grzesie2k
+/types/react-hammerjs/v0/ @jsonunger
+/types/react-hammerjs/ @jsonunger @cecchi
+/types/react-helmet/v4/ @evanbb @isman-usoh
+/types/react-helmet/ @evanbb @isman-usoh @lith-light-g @sammkj @yuit
+/types/react-helmet-async/ @forabi
+/types/react-highlight/ @joshuakgoldberg
+/types/react-highlight-words/ @mhegazy @diogodca @kellyrmilligan
+/types/react-highlighter/ @oizie
+/types/react-holder/ @isman-usoh
+/types/react-hot-loader/ @jacekjagiello @MartynasZilinskas @DovydasNavickas
+/types/react-hyperscript/ @tock203
+/types/react-icon-base/ @apare @LKay
+/types/react-icons/ @apare @johnnyreilly @LKay
+/types/react-image-crop/ @danielasy
+/types/react-image-fallback/ @8enSmith
+/types/react-image-gallery/ @adamwpc
+/types/react-imageloader/ @stephenjelfs
+/types/react-images/ @KonstantinLukaschenko
+/types/react-imgpro/ @echoulen
+/types/react-infinite/ @rhysd
+/types/react-infinite-calendar/ @christianchown
+/types/react-infinite-scroll-component/ @sroy3 @burtek @davidkevork @JoshuaScript
+/types/react-infinite-scroller/ @Lapanti @psrebniak @WrathZA @daggerjames
+/types/react-input-autosize/ @jsonunger @franklixuefei
+/types/react-input-calendar/ @stepancar
+/types/react-input-mask/v1/ @apare
+/types/react-input-mask/ @apare @dima7a14
+/types/react-instantsearch/ @gburgett @jpowell
+/types/react-instantsearch-core/ @gburgett @jpowell @davidfurlong
+/types/react-instantsearch-dom/ @gburgett @jpowell
+/types/react-instantsearch-native/ @gburgett @jpowell
+/types/react-intl/v1/ @bgrieder
+/types/react-intl/ @bgrieder @cdroulers @gyzerok @tillwolff @LKay @bhouser @kristerkari @formatlos @lukyth @obedm503
+/types/react-intl-redux/ @LKay
+/types/react-is/ @AviVahl @christianchown
+/types/react-is-deprecated/ @seansfkelley
+/types/react-joyride/ @kdy1 @kamranayub
+/types/react-js-pagination/ @netoisc
+/types/react-json/ @spielc
+/types/react-json-pretty/ @LKay
+/types/react-json-tree/ @gnestor
+/types/react-jsonschema-form/ @iamdanfox @iplus26 @phbou72 @LucianBuzzo @sthenault @sbusch
+/types/react-jss/ @eps1lon
+/types/react-lazyload/ @m0a
+/types/react-lazylog/ @benjaminRomano
+/types/react-leaflet/ @danzel @davschne @yuit
+/types/react-leaflet-markercluster/ @Kimahriman
+/types/react-lifecycle-component/ @pixelshaded
+/types/react-list/ @buptyyf @tomshen
+/types/react-loadable/ @Kovensky @odensc @ianks @tlaziuk @iMobs
+/types/react-loader/ @artfuldev
+/types/react-lottie/ @Kana00 @Ricki-BumbleDev
+/types/react-mailchimp-subscribe/ @osdiab
+/types/react-map-gl/ @rimig @fnberta
+/types/react-maskedinput/ @LKay @lavoaster @CarlosBonetti
+/types/react-mce/ @morphologue
+/types/react-mdl/ @bradzacher
+/types/react-measure/ @asvetliakov @marcfallows
+/types/react-mentions/ @activescott
+/types/react-mixin/ @tkqubo
+/types/react-modal/ @radziksh @drewnoakes @homburg @ttamminen @hallowatcher @peterblazejewicz @jpowell
+/types/react-motion/ @stepancar @asvetliakov @dimitarnestorov
+/types/react-motion-slider/ @asvetliakov
+/types/react-motion-ui-pack/ @jsonunger
+/types/react-native/ @alloy @huhuanming @iRoachie @skn0tt @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk @mvdam @esemesek @mrnickel
+/types/react-native-android-taskdescription/ @christianchown
+/types/react-native-auth0/ @ascariandrea
+/types/react-native-autocomplete-input/ @ifiokjr
+/types/react-native-background-timer/ @chillkroeteTTS
+/types/react-native-bluetooth-serial/ @RodrigoAWeber
+/types/react-native-calendars/ @Tyler-Zhang @DavidNorena @FabianMeul
+/types/react-native-communications/ @huhuanming @PaitoAnderson
+/types/react-native-custom-tabs/ @philnova
+/types/react-native-datepicker/ @jacobbaskin
+/types/react-native-dialog/ @MrLuje @stackbuilders @ibarrae
+/types/react-native-dialogflow/ @jasonmerino
+/types/react-native-doc-viewer/ @iRoachie
+/types/react-native-document-picker/ @plantain-00
+/types/react-native-draggable-flatlist/ @stackbuilders @ibarrae
+/types/react-native-drawer/ @jnbt @suniahk
+/types/react-native-drawer-layout/ @jmfirth
+/types/react-native-elevated-view/ @fhelwanger
+/types/react-native-fabric/ @josephroque
+/types/react-native-fbsdk/ @ifiokjr
+/types/react-native-fetch-blob/ @MNBuyskih
+/types/react-native-flip-card/ @imjakechapman
+/types/react-native-fs/ @pocesar @josephroque
+/types/react-native-google-signin/ @j-fro @bm-software @christianchown @echentw
+/types/react-native-htmlview/ @ifiokjr
+/types/react-native-huawei-protected-apps/ @christianchown
+/types/react-native-i18n/ @VincentLanglet
+/types/react-native-indicators/ @ifiokjr
+/types/react-native-keep-awake/ @huhuanming
+/types/react-native-keyboard-spacer/ @VincentLanglet
+/types/react-native-keychain/ @DavidFarinha
+/types/react-native-loading-spinner-overlay/ @fhelwanger
+/types/react-native-material-design-searchbar/ @iRoachie
+/types/react-native-material-kit/ @iRoachie @timwangdev
+/types/react-native-material-textfield/ @mindhivefi @iRoachie
+/types/react-native-material-ui/ @iRoachie
+/types/react-native-mauron85-background-geolocation/ @djereg
+/types/react-native-mixpanel/ @r3nya
+/types/react-native-modalbox/ @iRoachie
+/types/react-native-multi-slider/ @Slessi
+/types/react-native-navbar/ @ryokik
+/types/react-native-orientation/ @MoLow
+/types/react-native-permissions/ @vincentlanglet
+/types/react-native-photo-view/ @christianchown
+/types/react-native-popup-dialog/ @PaitoAnderson @connectdotz @bm-software
+/types/react-native-push-notification/ @PaitoAnderson @tomSawkins
+/types/react-native-qrcode/ @plantain-00
+/types/react-native-referrer/ @christianchown
+/types/react-native-restart/ @christianchown
+/types/react-native-safari-view/ @mrand01
+/types/react-native-safe-area/ @pvinis
+/types/react-native-scaled-image/ @Jaeger25
+/types/react-native-scrollable-tab-view/ @CaiHuan @egorshulga
+/types/react-native-sensor-manager/ @SahinVardar
+/types/react-native-settings-list/ @MrLuje
+/types/react-native-share/ @marknelissen
+/types/react-native-snap-carousel/ @jnbt @j-fro @gazaret @GuillaumeAmat @VitorLuizC
+/types/react-native-sortable-grid/ @j-fro
+/types/react-native-sortable-list/ @sivolobov @RookY2K
+/types/react-native-sqlite-storage/ @dryganets @cavarzan
+/types/react-native-star-rating/ @iRoachie
+/types/react-native-status-bar-height/ @fiznool
+/types/react-native-svg-charts/ @krzysztof-miemiec
+/types/react-native-svg-uri/ @iRoachie
+/types/react-native-swiper/ @CaiHuan @huhuanming @mhcgrq
+/types/react-native-tab-navigator/ @iRoachie
+/types/react-native-tab-view/ @kaoDev @iRoachie @timwangdev
+/types/react-native-text-input-mask/ @RodrigoAWeber
+/types/react-native-toast-native/ @bm-software
+/types/react-native-touch-id/ @huhuanming @gazaret @jinshin1013
+/types/react-native-uuid-generator/ @burtek
+/types/react-native-vector-icons/ @iRoachie @timwangdev
+/types/react-native-version-number/ @VincentLanglet
+/types/react-native-video/ @huhuanming
+/types/react-navigation/v1/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi
+/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @magrinj @TizioFittizio @stigi @LinusU @jshosomichi @jakebooyah @brunoro @DenisFrezzato @mickaelw @maxdavidson @alechill @builtbyproxy @jkillian @jeroenvervaeke @chagasaway
+/types/react-navigation-material-bottom-tabs/ @iRoachie
+/types/react-no-ssr/ @rafalfilipek
+/types/react-notification-system/ @GiedriusGrabauskas @DeividasBakanas @LKay @sztobar
+/types/react-notification-system-redux/ @LKay
+/types/react-notify-toast/ @klaascuvelier
+/types/react-numeric-input/ @heatherbooker @akx
+/types/react-onclickoutside/v5/ @LKay
+/types/react-onclickoutside/ @LKay @surgeboris
+/types/react-onsenui/ @salim7 @jemmyw @lirbank
+/types/react-outside-click-handler/ @zubivan
+/types/react-overlays/ @aaronbeall @vitosamson
+/types/react-owl-carousel/ @tbounsiar @igorissen @KennethanCeyer
+/types/react-paginate/v4/ @deevus @wouterhardeman @pegel03 @archy-bold
+/types/react-paginate/v5/ @deevus @wouterhardeman @pegel03 @archy-bold @yasupeke
+/types/react-paginate/ @deevus @wouterhardeman @pegel03 @archy-bold @yasupeke @sugarshin
+/types/react-places-autocomplete/ @guilhermehubner @r3nya
+/types/react-plotly.js/ @jonfreedman
+/types/react-pointable/ @istefo @mdibyo
+/types/react-popover/ @jacoporicare
+/types/react-portal/v3/ @shuntksh
+/types/react-portal/ @shuntksh @HorusGoul
+/types/react-primitives/ @aghoneim92 @davidpett
+/types/react-props-decorators/ @tkqubo
+/types/react-qr-reader/ @davidkevork
+/types/react-radio-group/ @jsonunger
+/types/react-recaptcha/ @mhegazy @zzanol
+/types/react-reconciler/ @Methuselah96
+/types/react-redux/v5/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva
+/types/react-redux/ @tkqubo @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva @kallikrein @val1984 @jrakotoharisoa @apapirovski @surgeboris
+/types/react-redux-epic/ @forabi
+/types/react-redux-i18n/ @clementdevos
+/types/react-redux-toastr/ @Smiche @artyomsv @kulmajaba
+/types/react-relay/ @graphcool @voxmatt @alloy @npirotte @ckknight @kastermester
+/types/react-request/ @dannycochran
+/types/react-resize-detector/ @matthew-matvei @aMoniker @rdrgn
+/types/react-resolver/ @forabi
+/types/react-responsive/v1/ @asvetliakov
+/types/react-responsive/ @asvetliakov @alechill @xaviergonz
+/types/react-rnd/ @Ragg- @fsubal @zyh825
+/types/react-router/v2/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov
+/types/react-router/v3/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @ssorallen @gillchristian @nulladdict
+/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina @pret-a-porter @t49tran @8enSmith
+/types/react-router-bootstrap/ @vlesierse @LKay @olmobrutall
+/types/react-router-config/ @lith-light-g @johnnyreilly @NullMDR
+/types/react-router-dom/ @tkrotoff @huy-nguyen @p-jackson @johnnyreilly
+/types/react-router-hash-link/ @zoompie
+/types/react-router-native/ @ezintz @fhelwanger
+/types/react-router-navigation/ @kaoDev @johnnyreilly
+/types/react-router-navigation-core/ @kaoDev @johnnyreilly
+/types/react-router-param-link/ @mtsg
+/types/react-router-redux/v3/ @isman-usoh @noah79 @rosendi
+/types/react-router-redux/v4/ @isman-usoh @noah79 @rosendi @LKay @DovydasNavickas
+/types/react-router-redux/ @huy-nguyen @8398a7 @mykolas
+/types/react-s-alert/ @mitsuruog
+/types/react-scroll/ @sudoplz @GiedriusGrabauskas
+/types/react-scrollbar/ @stephenjelfs
+/types/react-select/v1/ @Hesquibet @giladgray @iebaker @skirsdeda @vujevits @devrelm @MartynasZilinskas @onatm @ninjaferret @tehbi4 @misantronic @darkartur @eps1lon @endurance @RCGuillaume
+/types/react-select/ @claasahl @jonfreedman
+/types/react-share/ @icopp
+/types/react-show-more/ @naortor
+/types/react-side-effect/ @remojansen @0xcaff
+/types/react-sidebar/ @jeroenvervaeke
+/types/react-sketchapp/ @ricokahler @DomiR @saschazar21
+/types/react-slick/ @andrewBalekha @GiedriusGrabauskas @r3nya
+/types/react-slider/ @jsonunger
+/types/react-smooth-scrollbar/ @asvetliakov
+/types/react-sortable-hoc/ @NoHomey @charlesrey
+/types/react-sortable-pane/ @rhysd
+/types/react-sortable-tree/ @wouterhardeman @jzoric @kevinsperrine @acemac @dolezel
+/types/react-sound/ @koss-lebedev
+/types/react-sparklines/ @henrinormak
+/types/react-spinkit/v1/ @tkqubo @mleko @pelotom
+/types/react-spinkit/ @tkqubo @mleko @pelotom @zzanol
+/types/react-splitter-layout/ @snaptags
+/types/react-star-rating-component/ @marpstar
+/types/react-sticky/ @curtisw0 @ajhyndman
+/types/react-sticky-box/ @koss-lebedev
+/types/react-sticky-el/ @jbraithwaite
+/types/react-stickynode/ @tstirrat
+/types/react-stripe-elements/ @dan-j @santiagodoldan @sonnysangha @9y5 @thchia @yhnavein
+/types/react-svg-inline/ @kiyopikko
+/types/react-svg-pan-zoom/ @huy-nguyen
+/types/react-swf/ @stepancar
+/types/react-swipe/ @DeividasBakanas
+/types/react-swipeable/ @GiedriusGrabauskas @mctep @horiuchi
+/types/react-swipeable-views/ @mxl @DeividasBakanas
+/types/react-syntax-highlighter/ @NoHomey @ajgamble-milner
+/types/react-table/ @royxue @psakalo @Havret @andys8 @Gelio
+/types/react-table-filter/ @gjsln
+/types/react-tabs/ @danez @Equationist
+/types/react-tag-autocomplete/ @jlismore
+/types/react-tag-input/ @Ogglas @jankarres @matthewberryman
+/types/react-tagcloud/ @wassname
+/types/react-tagsinput/ @mykter
+/types/react-tap-event-plugin/ @mxl
+/types/react-test-renderer/v15/ @arvitaly @lochbrunner @lochbrunner @johnnyreilly
+/types/react-test-renderer/ @arvitaly @lochbrunner @johnnyreilly @jgoz
+/types/react-tether/ @ryprice
+/types/react-text-mask/ @guilhermehubner @cavarzan @needpower
+/types/react-textarea-autosize/ @asvetliakov @zry656565
+/types/react-timeago/ @koss-lebedev
+/types/react-timeout/ @kerwynrg
+/types/react-toastify/ @icopp
+/types/react-toastr/ @shssoichiro @DanRegazzi
+/types/react-toggle/v2/ @LKay @jsonunger
+/types/react-toggle/ @LKay
+/types/react-tooltip/ @DeividasBakanas
+/types/react-touch/ @grzesie2k
+/types/react-tracking/ @alloy
+/types/react-transition-group/v1/ @LKay
+/types/react-transition-group/ @LKay @Epskampie @ybiquitous
+/types/react-treeview/ @janslow
+/types/react-truncate/ @mattvperry
+/types/react-twitter-auth/ @paulfasola @loginwashere
+/types/react-user-tour/ @ccancellieri
+/types/react-vertical-timeline-component/ @stephane-monnot
+/types/react-virtual-keyboard/ @bsurai
+/types/react-virtualized/ @kaoDev @guntherjh @wasd171 @szabolcsx @kraenhansen @Stevearzh @mgoszcz2 @brandonhall @sbusch
+/types/react-virtualized-select/ @seansfkelley
+/types/react-visibility-sensor/ @JRasmusBm @gcangussu
+/types/react-webcam/ @squat
+/types/react-weui/ @tairan
+/types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya @MBillemaz @georg94
+/types/react-widgets-moment/ @dawnmist
+/types/react-window/ @martynaskadisa
+/types/react-window-size/ @jakejrichards
+/types/react-youtube/ @kgtkr
+/types/react-youtube-embed/ @charles-salmon
+/types/reactable/ @spielc
+/types/reactcss/ @chrisgervang @LKay
+/types/reactstrap/v4/ @alihammad @mfal @danilobjr @fabiopaiva
+/types/reactstrap/ @alihammad @mfal @danilobjr @FaithForHumans @timc13 @patrickrgaffney @prabodht
+/types/read/ @timjk
+/types/read-chunk/ @crispybee
+/types/read-package-tree/ @mgroenhoff
+/types/read-pkg/ @jdxcode
+/types/read-pkg-up/ @dudeofawesome @jdxcode
+/types/readdir-enhanced/ @mrmlnc
+/types/readdir-stream/ @Bartvds
+/types/readline-sync/ @jonestristand
+/types/readline-transform/ @dex4er
+/types/reapop/ @Barrokgl
+/types/rebass/ @ryee-dev @jamesmckenzie
+/types/rebass__grid/ @antonvasin @vittorio @lhache @lavoaster
+/types/recaptcha2/ @l-jonas
+/types/recase/ @18steps
+/types/recharts/ @mthmulders @rapmue @royxue @ZheyangSong @richbai90 @caspeco-dan @pkeuter @jrsaunde @paulmelnikow @crusectrl @apalugniok @RobertStigsson
+/types/recharts-scale/ @johnnyreilly
+/types/rechoir/ @BendingBender
+/types/recluster/ @dex4er
+/types/recompose/ @iskandersierra @clayne11 @Pajn @lucasterra @brian-lives-outdoors @TiuSh
+/types/reconnect-core/ @thw0rted
+/types/reconnectingwebsocket/ @nguarracino
+/types/recorder-js/ @higuri
+/types/recursive-readdir/v1/ @elisee
+/types/recursive-readdir/ @elisee @MicahZoltu
+/types/redis/ @soywiz @CodeAnimal @MugeSo @UppaJung @Rokt33r @43081j @barnski @1pete
+/types/redis-errors/ @43081j
+/types/redis-mock/ @BendingBender
+/types/redis-rate-limiter/ @westy92 @nodify-at
+/types/redis-scripto/ @westy92
+/types/redlock/v2/ @chrootsu
+/types/redlock/ @chrootsu @BendingBender
+/types/redom/ @RauliL @nemoinho
+/types/reduce-reducers/ @huy-nguyen
+/types/redux-action/ @newraina
+/types/redux-action-utils/ @tkqubo
+/types/redux-actions/ @jaysoo @alexgorbatchev @alechill @alexey-pelykh @7hi4g0
+/types/redux-async-queue/ @andreiho
+/types/redux-auth-wrapper/v1/ @LKay
+/types/redux-auth-wrapper/ @LKay
+/types/redux-batched-subscribe/ @mDibyo
+/types/redux-debounced/ @seansfkelley
+/types/redux-devtools/ @mc-petry
+/types/redux-devtools-dock-monitor/ @mc-petry
+/types/redux-devtools-log-monitor/ @mc-petry
+/types/redux-doghouse/ @BendingBender
+/types/redux-first-router/ @Valbrand @viggyfresh @janb87 @corydeppen @jscinoz @surgeboris @geirsagberg
+/types/redux-first-router-link/ @janb87
+/types/redux-first-router-restore-scroll/ @icopp
+/types/redux-first-routing/ @tlaziuk
+/types/redux-form/v4/ @aikoven
+/types/redux-form/v6/ @carsonf @aikoven @LKay @bancek
+/types/redux-form/ @carsonf @aikoven @LKay @bancek @alsiola @tehbi4 @huwmartin @ethanresnick @reggino @maddijoyce @smifun
+/types/redux-immutable/v3/ @oizie @sebald @gavingregory
+/types/redux-immutable/ @oizie @sebald @gavingregory @lukyth
+/types/redux-immutable-state-invariant/ @remojansen @highflying @mihai-dinculescu
+/types/redux-infinite-scroll/ @silkyfray
+/types/redux-injectable-store/ @unindented
+/types/redux-localstorage/ @LKay
+/types/redux-localstorage-debounce/ @LKay
+/types/redux-localstorage-filter/ @LKay
+/types/redux-logger/ @arusakov @kgroat
+/types/redux-mock-store/v0/ @MarianPalkus
+/types/redux-mock-store/ @MarianPalkus
+/types/redux-optimistic-ui/ @asvetliakov
+/types/redux-orm/ @keenondrums
+/types/redux-pack/ @tansongyang @quicksnap @no-stack-dub-sack
+/types/redux-persist-transform-encrypt/ @LKay @dante-101
+/types/redux-persist-transform-filter/ @LKay
+/types/redux-promise/ @molekilla @xStrom
+/types/redux-promise-middleware/ @ianks
+/types/redux-recycle/ @LKay
+/types/redux-router/ @stepancar
+/types/redux-saga-tester/ @BenLorantfy @lawsumisu
+/types/redux-sentry-middleware/ @dolezel
+/types/redux-shortcuts/ @tstirrat
+/types/redux-socket.io/ @snakeego
+/types/redux-storage/ @asvetliakov
+/types/redux-storage-engine-jsurl/ @screendriver
+/types/redux-storage-engine-localstorage/ @screendriver
+/types/redux-test-utils/ @huwmartin
+/types/redux-testkit/ @Bookler96
+/types/redux-ui/ @andyshuxin
+/types/ref/ @loyd
+/types/ref-array/ @loyd
+/types/ref-array-di/ @keerthi16 @KiranNiranjan
+/types/ref-napi/ @keerthi16 @KiranNiranjan
+/types/ref-struct/ @loyd
+/types/ref-struct-di/ @keerthi16 @KiranNiranjan
+/types/ref-union/ @loyd
+/types/ref-union-di/ @keerthi16 @KiranNiranjan
+/types/reflux/v0/ @mauricedb
+/types/reflux/ @mauricedb @LiangZugeng
+/types/registry-auth-token/ @mauricedb @LiangZugeng
+/types/relateurl/ @tkrotoff
+/types/relaxed-json/ @18steps
+/types/relay-runtime/ @voxmatt @alloy
+/types/rellax/ @shermendev
+/types/remarkable/ @makepost
+/types/remote-redux-devtools/ @ColinEberhardt @unindented @mamodom @colindekker
+/types/remove-markdown/ @RagibHasin
+/types/rename/ @Aankhen
+/types/replace-ext/ @DeividasBakanas
+/types/replacestream/ @dex4er
+/types/req-cwd/ @Alorel
+/types/request/ @soywiz @bonnici @Bartvds @joeskeen @ccurrens @lookfirst @mastermatt @josecolella @murbanowicz
+/types/request-as-curl/ @atd-schubert
+/types/request-ip/ @mrhen
+/types/request-promise/ @cglantschnig @joeskeen @AyaMorisawa @mastermatt
+/types/request-promise-native/ @gustavohenke @mastermatt
+/types/requestidlecallback/ @hax
+/types/requestretry/ @EricByers @trainerbill
+/types/require-dir/ @weekens
+/types/require-directory/ @Igmat
+/types/require-from-string/ @ikatyang
+/types/require-relative/ @MattiasBuelens
+/types/requirejs/ @jbaldwin
+/types/requirejs-domready/ @lefb766
+/types/resemblejs/ @pimterry
+/types/reservoir/ @danvk
+/types/resize-img/ @higuri
+/types/resolve/ @marionebl @ajafff
+/types/resolve-from/ @unional
+/types/resourcejs/ @shaunluttin
+/types/response-time/ @urossmolnik @TonyPythoneer @danmana
+/types/rest/ @Nemo157
+/types/restangular/ @borisyankov
+/types/restful.js/ @tkqubo
+/types/restify/v4/ @blittle @stevehipwell
+/types/restify/v5/ @blittle @stevehipwell @leanazulyoro
+/types/restify/ @blittle @stevehipwell @leanazulyoro @mgebundy
+/types/restify-cookies/ @weekens
+/types/restify-cors-middleware/ @dthunell
+/types/restify-errors/ @stevehipwell
+/types/restify-plugins/ @KostyaTretyak
+/types/restler/ @cyrilschumacher
+/types/restling/ @loghorn
+/types/resumablejs/ @DanielMcAssey
+/types/rethinkdb/ @alexgorbatchev @AdrianFarmadin @kondi @hoishin
+/types/retry/ @krenor
+/types/retry-as-promised/ @Raigen
+/types/rev-hash/ @ikatyang
+/types/revalidate/ @alex3165
+/types/revalidator/ @brewsoftware
+/types/reveal/ @robertop87 @Nava2
+/types/rewire/ @borislavjivkov @CaselIT
+/types/rfc2047/ @mugifly
+/types/rgrove__parse-xml/ @petejohanson
+/types/rheostat/ @SashaBayan @kourge
+/types/rickshaw/ @niemyjski
+/types/rimraf/ @soywiz @e-cloud @bash
+/types/riot/ @Stubb0rn
+/types/riot-api-nodejs/ @zafixlrp
+/types/riot-games-api/ @xstoudi
+/types/riot-route/ @karak
+/types/riotcontrol/ @chrootsu
+/types/riotjs/ @vvakame
+/types/ripemd160/ @BendingBender
+/types/rison/ @impworks
+/types/rivets/ @TrevorDev @matjanos
+/types/rmc-drawer/ @Hoff97
+/types/rmfr/ @pluma
+/types/roads/ @dancespiele
+/types/roads-server/ @dancespiele
+/types/rocksdb/ @MeirionHughes @danwbyrne
+/types/roll/ @icopp
+/types/rolling-rate-limiter/ @l-jonas
+/types/rollup-plugin-json/ @asmockler @hotell
+/types/roman-numerals/ @pluma
+/types/ronomon__crypto-async/ @BendingBender
+/types/rosie/ @abner @subvertallchris @abukurov @adam187
+/types/roslib/ @Pro @skycoop @dgorobopec
+/types/rot-js/ @atiaxi
+/types/round-to/ @seangenabe
+/types/route-parser/ @ianks @bobbuehler
+/types/routie/ @Adilson
+/types/royalslider/ @csrakowski @sKopheK
+/types/rpio/ @DominikPalo @Pencl
+/types/rrc/ @DeividasBakanas
+/types/rsmq/ @MugeSo
+/types/rsmq-worker/ @MugeSo
+/types/rss/ @secondwtq
+/types/rsvp/ @chriskrycho
+/types/rsync/ @philippstucki
+/types/rtree/ @oefirouz
+/types/run-parallel/ @mrmlnc
+/types/run-parallel-limit/ @mrmlnc
+/types/run-sequence/ @k-kagurazaka
+/types/runes/ @viralpickaxe
+/types/rword/ @icopp
+/types/rx/ @Igorbek
+/types/rx-angular/ @mickdelaney
+/types/rx-core/ @Igorbek @mizunashi-mana
+/types/rx-core-binding/ @Igorbek
+/types/rx-dom/ @oliverw
+/types/rx-jquery/ @Igorbek
+/types/rx-lite/ @Igorbek
+/types/rx-lite-aggregates/ @Igorbek
+/types/rx-lite-async/ @zoetrope @Igorbek
+/types/rx-lite-backpressure/ @Igorbek
+/types/rx-lite-coincidence/ @Igorbek
+/types/rx-lite-experimental/ @Igorbek
+/types/rx-lite-joinpatterns/ @Igorbek
+/types/rx-lite-testing/ @Igorbek
+/types/rx-lite-time/ @Igorbek
+/types/rx-lite-virtualtime/ @Igorbek
+/types/rx.wamp/ @darkl
+/types/s3-download-stream/ @everettcaleb
+/types/s3-upload-stream/ @geoffreak
+/types/safari-extension/ @luukd
+/types/safari-extension-content/ @luukd
+/types/safe-compare/ @bevalorous
+/types/safe-json-stringify/ @ericbyers
+/types/safe-regex/ @mhegazy
+/types/sails.io.js/ @arvitaly
+/types/saml2-js/ @horiuchi
+/types/saml20/ @HackerUndKoch
+/types/samlp/ @horiuchi
+/types/sammy/ @borisyankov @oising
+/types/sanctuary/ @davidchambers @cortopy @piq9117
+/types/sandboxed-module/ @svi3c
+/types/sane/ @BendingBender
+/types/sane-email-validation/ @ForbesLindesay
+/types/sanitize-filename/ @Nemo157
+/types/sanitize-html/ @rogierschouten @afshin @BehindTheMath @biermeester @WillGibson @sirMerr
+/types/sap__xsenv/ @mad-mike
+/types/sasl-anonymous/ @BendingBender
+/types/saslmechanisms/ @BendingBender
+/types/sass/ @lenovouser
+/types/sass-graph/ @marvinhagemeister
+/types/sass-webpack-plugin/ @AepKill
+/types/sat/ @omni360
+/types/satnav/ @DotNetNerd
+/types/saywhen/ @SeanSobey
+/types/sc-auth/ @DanielRose
+/types/sc-broker/ @DanielRose
+/types/sc-broker-cluster/ @DanielRose
+/types/sc-channel/ @DanielRose
+/types/scalike/ @ryoppy
+/types/schedule/ @Methuselah96
+/types/scheduler/ @Methuselah96
+/types/schema-registry/ @bonzzy
+/types/schwifty/ @ozum
+/types/scoped-http-client/ @mattvperry @rianadon
+/types/screenfull/ @icholy @lionelb @joelshepherd
+/types/screeps/ @MarkoSulamagi @NhanHo @bryanbecker @resir014 @Arcath @dmarcuse
+/types/screeps-profiler/ @ramblurr
+/types/scriptjs/ @ssttevee
+/types/scroll-into-view/ @zivni
+/types/scroller/ @haskellcamargo
+/types/scrollreveal/ @Davidblkx
+/types/scrolltofixed/ @bmdixon
+/types/scrypt/ @WhiteAbeLincoln
+/types/scrypt-async/ @xStrom @stesix
+/types/scrypt-js/ @danwbyrne
+/types/scryptsy/ @micksatana
+/types/sdp-transform/ @loc
+/types/seamless/ @danmana
+/types/seamless-immutable/ @alex3165 @xsburg @geirsagberg @RMHonor
+/types/season/ @dex4er
+/types/secp256k1/ @anler
+/types/seed-random/ @l-jonas
+/types/seededshuffle/ @urish
+/types/seedrandom/ @kernhanda
+/types/segment-analytics/ @fongandrew
+/types/select2/v3/ @borisyankov
+/types/select2/ @borisyankov @denisname
+/types/selectables/ @renjfk
+/types/selectize/ @adidahiya @naBausch
+/types/selenium-standalone/ @SanderDeWaal1992
+/types/selenium-webdriver/v2/ @BillArmstrong @Kuniwak @cnishina
+/types/selenium-webdriver/ @BillArmstrong @Kuniwak @cnishina @SupernaviX @bendxn
+/types/semantic-ui/ @leonard-thieu
+/types/semantic-ui-accordion/ @leonard-thieu
+/types/semantic-ui-api/ @leonard-thieu
+/types/semantic-ui-checkbox/ @leonard-thieu
+/types/semantic-ui-dimmer/ @leonard-thieu
+/types/semantic-ui-dropdown/ @leonard-thieu
+/types/semantic-ui-embed/ @leonard-thieu
+/types/semantic-ui-form/ @leonard-thieu
+/types/semantic-ui-modal/ @leonard-thieu
+/types/semantic-ui-nag/ @leonard-thieu
+/types/semantic-ui-popup/ @leonard-thieu
+/types/semantic-ui-progress/ @leonard-thieu
+/types/semantic-ui-rating/ @leonard-thieu
+/types/semantic-ui-search/ @leonard-thieu
+/types/semantic-ui-shape/ @leonard-thieu
+/types/semantic-ui-sidebar/ @leonard-thieu
+/types/semantic-ui-site/ @leonard-thieu
+/types/semantic-ui-sticky/ @leonard-thieu
+/types/semantic-ui-tab/ @leonard-thieu
+/types/semantic-ui-transition/ @leonard-thieu
+/types/semantic-ui-visibility/ @leonard-thieu
+/types/semaphore/ @mhfrantz @Alorel
+/types/semver/ @Bartvds @BendingBender @LucianBuzzo
+/types/semver-compare/ @vincekovacs
+/types/semver-diff/ @chrismbarr
+/types/semver-sort/ @LogvinovLeon
+/types/sencha_touch/ @brian428
+/types/send/ @MikeJerred
+/types/seneca/ @psnider @kevynb
+/types/sequelize/v3/ @samuelneff @codeanimal @drinchev @morpheusxaut @torhal
+/types/sequelize/ @samuelneff @codeanimal @drinchev @babolivier @kukoo1 @oktapodia @morpheusxaut @TitaneBoy @zjy01 @nidzov @Raigen @todd @nrschultz @thomas-b @Antoine38660
+/types/sequelize-cursor-pagination/ @pilagod
+/types/sequelize-fixtures/ @cschwarz
+/types/sequencify/ @npenin
+/types/sequester/ @Strate
+/types/serialize-error/ @thomasthiebaud
+/types/serialize-javascript/ @lith-light-g @Pochodaydayup
+/types/serialport/v4/ @codefoster
+/types/serialport/v6/ @codefoster @apearson
+/types/serialport/ @codefoster @apearson
+/types/serve-favicon/ @urossmolnik
+/types/serve-index/ @tkrotoff
+/types/serve-static/ @urossmolnik @LinusU
+/types/server/ @sant123 @iddan
+/types/server-destroy/ @gyszalai
+/types/serverless/ @hassankhan
+/types/servicenow/ @bryceg
+/types/session-file-store/ @blendsdk @rokt33r
+/types/set-cookie-parser/ @nickp10
+/types/set-value/ @DanielRosenwasser
+/types/setasap/ @djcsdy
+/types/settings/ @shreyjain1994
+/types/sha.js/ @BendingBender
+/types/sha1/ @arcdev1
+/types/sha256/ @nhardy
+/types/shallow-equals/ @rsolomon
+/types/shallowequal/ @seansfkelley
+/types/shapefile/ @DenisCarriere @Thw0rted
+/types/sharedb/ @soney
+/types/sharedworker/ @nakakura
+/types/sharepoint/ @gandjustas @andrei-markeev @baywet @teroarvola @dennispg
+/types/sharp/ @lith-light-g @wooseopkim @BTOdell
+/types/sheetify/ @toddself
+/types/shell-escape/ @nenadalm
+/types/shell-quote/ @jason0x43
+/types/shelljs/ @nikeee @voy @gkalpak @pheromonez
+/types/shelljs-exec-proxy/ @qlonik
+/types/shimmer/ @kjin
+/types/shipit/ @cyrilschumacher
+/types/shipit-utils/ @cyrilschumacher
+/types/shopify-buy/ @openminder @straiforos @totemika
+/types/shortid/ @stpettersens @despairblue
+/types/shot/v3/ @AJamesPhillips @SimonSchick
+/types/shot/ @AJamesPhillips @SimonSchick
+/types/should-sinon/ @Arylo
+/types/showdown/ @cbowdon @tan9 @arielsaldana
+/types/shpjs/ @littlebtc
+/types/shrink-ray/ @forabi
+/types/shuffle-seed/ @LeartS
+/types/siema/ @Irmiz @0x6368656174 @samnau
+/types/siesta/ @bquarmby
+/types/sigmajs/ @qinfchen
+/types/sigmund/ @BendingBender
+/types/signale/ @resir014 @kingdaro @rjoydip
+/types/signalr/ @borisyankov @keesey @GiedriusGrabauskas
+/types/signalr-no-jquery/ @gjoshevski
+/types/signals/ @diullei
+/types/signature_pad/ @AbubakerB @jrmihalick @leejaedus
+/types/simple-assign/ @NoHomey
+/types/simple-cw-node/ @vvakame
+/types/simple-lru/ @NN---
+/types/simple-mock/ @leonyu
+/types/simple-oauth2/v1/ @mad-mike @troy-lamerton @netux
+/types/simple-oauth2/ @mad-mike @troy-lamerton @netux @LinusU
+/types/simple-peer/ @tlaziuk
+/types/simple-url-cache/ @a-lucas
+/types/simple-websocket/ @dex4er
+/types/simple-xml/ @notVitaliy
+/types/simplebar/v1/ @gregonnet @leonard-thieu
+/types/simplebar/ @gregonnet @leonard-thieu
+/types/simplemde/ @Scalesoft
+/types/simplesmtp/ @rogierschouten
+/types/simplestorage.js/ @axelcostaspena @mxl
+/types/sindresorhus__df/ @whatknight
+/types/single-line-log/ @ffflorian
+/types/single-spa-react/ @Garrett-Smith-iq
+/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j @joshuakgoldberg @gjednaszewski @johnjesse
+/types/sinon-as-promised/ @igrayson
+/types/sinon-chai/v2/ @kazimanzurrashid @jedmao
+/types/sinon-chai/ @kazimanzurrashid @jedmao @elpdpt
+/types/sinon-chrome/ @pimterry @crimx @kobanyan
+/types/sinon-express-mock/ @jpchip @tlaziuk
+/types/sinon-mongoose/ @stevehipwell
+/types/sinon-stub-promise/ @vintem @tstackhouse
+/types/sinon-test/ @mummybot
+/types/sip.js/ @decyrus
+/types/sipml/ @chookies
+/types/sitemap2/ @shundy
+/types/six-runtime/ @493636333
+/types/sizzle/ @leonard-thieu
+/types/sjcl/ @Evgenus
+/types/skatejs/ @Hotell
+/types/ski/ @AyaMorisawa
+/types/skyway/ @nakakura @izmhr
+/types/slack-mock/ @kkalavantavanich
+/types/slack-node/ @geoffreak
+/types/slack-winston/ @BlueHatbRit
+/types/slackdown/ @nju33
+/types/slackify-html/ @hypexr
+/types/slate/ @andykent @majelbstoat @JanLoebel @YangusKhan @kalley @Kornil @isubasti @sgreav
+/types/slate-base64-serializer/ @YangusKhan
+/types/slate-html-serializer/ @YangusKhan
+/types/slate-irc/ @elisee
+/types/slate-plain-serializer/ @YangusKhan @mkiefel
+/types/slate-react/ @andykent @majelbstoat @JanLoebel @PatrickSachs @YangusKhan @isubasti @sgreav @Kornil
+/types/sleep/ @rajarz
+/types/slice-ansi/ @dwieeb
+/types/slickgrid/ @jbaldwin
+/types/slideout/ @ToastHawaii
+/types/slimerjs/ @alexwall
+/types/slocket/ @BendingBender
+/types/slug/ @mhegazy
+/types/smart-fox-server/ @ChanceM
+/types/smooth-scroll/ @andreiho
+/types/smoothscroll-polyfill/ @kryops
+/types/smtp-server/v1/ @markisme @Taisiias
+/types/smtp-server/ @markisme @Taisiias @dex4er
+/types/smtpapi/ @a-morales
+/types/snakecase-keys/ @BendingBender
+/types/snappy/ @reconbot
+/types/snapsvg/ @lhk @mattanja @kant2002
+/types/snazzy-info-window/ @milosd92
+/types/snekfetch/ @ANekoIsFineToo @ShayBox @Dev-Yukine
+/types/snoowrap/ @vitosamson @TheAppleFreak
+/types/snowball-stemmers/ @ryanvolum
+/types/snowboy/ @dolanmiu
+/types/socket.io/v1/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi @BrainMaestro
+/types/socket.io/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi @BrainMaestro
+/types/socket.io-client/ @progre @divillysausages @florentpoujol
+/types/socket.io-p2p/ @saenglert
+/types/socket.io-parser/ @plantain-00
+/types/socket.io-redis/ @nupplaphil @seeLuck
+/types/socket.io.users/ @kataras
+/types/socketcluster/ @DanielRose
+/types/socketcluster-client/ @DanielRose
+/types/socketcluster-server/ @DanielRose
+/types/socketio-jwt/ @ehallander9591
+/types/socketio-jwt-auth/ @codeanimal
+/types/socketio-wildcard/ @BendingBender
+/types/socketty/ @Nax
+/types/sockjs/ @pmccloghrylaing
+/types/sockjs-client/ @vladev @arusakov @BendingBender @renjfk
+/types/solidity-parser-antlr/ @LogvinovLeon @albrow
+/types/solr-client/ @liul85
+/types/solution-center-communicator/ @dami-gg
+/types/sonic-boom/ @alferpal
+/types/sort-array/ @mrmlnc
+/types/sort-object-keys/ @forivall
+/types/sortablejs/ @Maw-Fox @maartenstaa
+/types/soundmanager2/ @elton2048
+/types/soupbintcp/ @jewbre
+/types/source-list-map/ @e-cloud
+/types/source-map-support/ @Bartvds @jason0x43
+/types/space-pen/ @vvakame
+/types/spark-md5/ @bastienmoulia
+/types/sparkly/ @BendingBender
+/types/sparkpost/v1/ @geoffreak
+/types/sparkpost/ @geoffreak @bondz @vvu
+/types/sparqljs/ @AlexeyMz
+/types/spatialite/ @atd-schubert
+/types/spdx-correct/ @jinwoo
+/types/spdx-satisfies/ @jinwoo
+/types/spdy/ @tony19
+/types/speakeasy/ @legendecas @mrOlorin @xeoneux
+/types/speakingurl/ @Goldsmith42
+/types/spectacle/ @zmaybury @kale-stew
+/types/spectrum/ @M-Zuber @Ailrun
+/types/split/ @marcinporebski
+/types/split.js/ @icholy
+/types/split2/ @mugeso
+/types/splunk-bunyan-logger/ @bricka
+/types/splunk-logging/ @bricka
+/types/spotify-api/ @skovmand
+/types/spotify-web-playback-sdk/ @Festify @mraerino @NeoLegends
+/types/sprintf/ @soywiz @BendingBender
+/types/sprintf-js/ @jasonswearingen @BendingBender @cdagli
+/types/sql-bricks/ @adn05 @paleo
+/types/sql-template/ @q42jaap
+/types/sql.js/ @Hozuki
+/types/sqlanywhere/ @pkeuter
+/types/sqlite3/ @nmalaguti @dpyro @BehindTheMath
+/types/sqlstring/ @marvinhagemeister
+/types/squirejs/ @bradleyayers
+/types/srp/ @Patman64
+/types/ssh-key-decrypt/ @BendingBender
+/types/ssh2/ @tkQubo @rbuckton @wrboyce @lucasmotta
+/types/ssh2-sftp-client/ @igrayson @ascariandrea @kartik2406 @viamuli
+/types/ssh2-streams/ @rbuckton
+/types/sshpk/ @mabels
+/types/stack-mapper/ @rogierschouten
+/types/stack-trace/ @exceptionless
+/types/stack-utils/ @BendingBender
+/types/stacktrace-js/ @exceptionless @pilagod
+/types/stale-lru-cache/ @cxcorp
+/types/stampit/v2/ @koresar
+/types/stampit/ @koresar @lummish
+/types/stamplay-js-sdk/ @ridermansb
+/types/standard-error/ @roblabat
+/types/standard-http-error/ @roblabat
+/types/starwars-names/ @claasahl
+/types/stat-mode/ @BendingBender
+/types/stats.js/ @gregolai @hberntsen @danvk
+/types/statsd-client/ @peterkooijmans @chrisleck
+/types/statuses/ @tkrotoff @BendingBender
+/types/std-mocks/ @jdxcode
+/types/steam/ @kant2002
+/types/steam-client/ @Slessi
+/types/steam-login/ @Nicell
+/types/steam-totp/ @phenomax
+/types/steamid/ @Slessi
+/types/steed/ @Paul-Isache
+/types/stellar-sdk/ @carl-foster @tristonj @pselden @maxbause @charlie-wasp
+/types/stemmer/ @will-ockmore
+/types/sticky-cluster/ @paustint
+/types/stompit/ @DanielRose
+/types/stompjs/ @jimic @Dr4k4n
+/types/stoppable/ @EricByers @jplusje
+/types/storage-helper/ @ajafff
+/types/store/ @vbortone @harry0000 @Ky6uk @igl00
+/types/storybook-addon-jsx/ @jameslnewell
+/types/storybook-readme/ @lonyele
+/types/storybook__addon-a11y/ @hyunseob
+/types/storybook__addon-actions/ @joscha @jicjjang
+/types/storybook__addon-backgrounds/ @hyunseob
+/types/storybook__addon-centered/ @kiyopikko
+/types/storybook__addon-info/ @mkornblum @fyrkant
+/types/storybook__addon-jest/ @halfmatthalfcat
+/types/storybook__addon-knobs/ @joscha @martynaskadisa @amacleay
+/types/storybook__addon-links/ @joscha @jessepinho
+/types/storybook__addon-notes/ @joscha @amacleay
+/types/storybook__addon-options/ @joscha @simonhn @amacleay @gaetanmaisse @adam187
+/types/storybook__addon-storyshots/ @bradleyayers
+/types/storybook__react/ @joscha @wapgear @dandean
+/types/storybook__react-native/ @joscha @wapgear @alechill @iRoachie @ceyhuno
+/types/storybook__vue/ @pntgupta
+/types/stream-array/ @Tyler-Murphy
+/types/stream-buffers/ @Jason3S
+/types/stream-chain/ @uhop
+/types/stream-csv-as-json/ @uhop
+/types/stream-each/ @djcsdy
+/types/stream-json/ @uhop
+/types/stream-meter/ @mugeso
+/types/stream-series/ @k-kagurazaka
+/types/stream-shift/ @djcsdy
+/types/stream-throttle/ @danwbyrne
+/types/stream-to-array/v0/ @Bartvds
+/types/stream-to-array/ @Bartvds @BendingBender
+/types/stream-to-promise/ @Alorel
+/types/stream-to-string/ @BendingBender
+/types/streaming-json-stringify/ @BendingBender
+/types/streamjs/ @erosb
+/types/streamtest/ @lummish
+/types/strftime/ @cyrilschumacher
+/types/strict-uri-encode/ @hoishin
+/types/string/ @basp
+/types/string-argv/ @vladimir-tikhonov
+/types/string-format/ @lal12
+/types/string-hash/ @ethanrubio
+/types/string-replace-webpack-plugin/ @pd4d10
+/types/string-similarity/ @ragtime
+/types/string-template/ @TonyPythoneer
+/types/string-width/ @jacobbubu
+/types/string_score/ @marcinporebski
+/types/stringify-object/ @khoomeister
+/types/strip-ansi/ @mhegazy
+/types/strip-bom/ @mhegazy
+/types/strip-json-comments/ @dmoonfire
+/types/stripe/ @wjohnsto @codeanimal @sampsonjoliver @LinusU @brannon @kkamperschroer @starhoshi @bruun @galtalmor @htunnicliff @squirly @tzarger @ifiokjr
+/types/stripe-checkout/ @cgwrench
+/types/stripe-v2/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
+/types/stripe-v3/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
+/types/stripejs/ @RobinvanTienhoven @mattferderer
+/types/strong-cluster-control/ @shuntksh
+/types/strong-error-handler/ @blankstar85
+/types/strong-log-transformer/ @azasypkin
+/types/strophe/ @DavidKDeutsch
+/types/strophe.js/ @DavidKDeutsch
+/types/structured-source/ @azu
+/types/styled-components/v3/ @Igorbek @Igmat
+/types/styled-components/ @Igorbek @Igmat @lavoaster @Kovensky
+/types/styled-jsx/ @R1ZZU
+/types/styled-react-modal/ @Lavoaster
+/types/styled-system/ @maxdeviant @phobon @zephraph @damassi @alloy @maoueh @lavoaster @jschuler
+/types/styled-theming/ @ArjanJ
+/types/stylelint/v7/ @alan-agius4
+/types/stylelint/ @alan-agius4 @filipsalpe
+/types/stylelint-webpack-plugin/ @bahlo
+/types/stylenames/ @bengry
+/types/stylus/ @SomaticIT
+/types/subscribe-ui-event/ @wangcheng678
+/types/subsume/ @BendingBender
+/types/subtitle/ @jenglamlow
+/types/succinct/ @EnableSoftware
+/types/sudo-block/ @BendingBender
+/types/suitescript/ @darrenhillconsulting
+/types/summernote/ @wstaelens @nusantara-cloud
+/types/sumo-logger/ @forabi @clementallen
+/types/suncalc/ @horiuchi
+/types/superagent/v2/ @varju @NicoZelaya @mxl
+/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 @zopf @beeequeue @lukaselmer
+/types/superagent-bunyan/ @bricka
+/types/superagent-no-cache/ @mxl
+/types/superagent-prefix/ @mxl
+/types/supercluster/ @DenisCarriere
+/types/superstruct/ @edwardsnare
+/types/supertest/ @varju @pietu
+/types/supertest-as-promised/ @tkrotoff
+/types/supports-color/v3/ @mgroenhoff
+/types/supports-color/ @mgroenhoff @mtraynham
+/types/svg-injector/ @poke
+/types/svg-parser/ @mrmlnc
+/types/svg-path-bounding-box/ @NotWoods
+/types/svg-path-parser/ @tyru
+/types/svg-sprite/ @tkqubo
+/types/svg-sprite-loader/ @rynclark
+/types/svg2png/ @hansrwindhoff @sccgithub
+/types/svg4everybody/ @BendingBender
+/types/svgjs.draggable/ @LiFeleSs
+/types/svgjs.resize/ @jkevingutierrez
+/types/svgo/ @bradleyayers @giladgray @Aankhen
+/types/sw-precache/ @JounQin
+/types/sw-precache-webpack-plugin/ @JounQin
+/types/swag/ @shiwano
+/types/swagger-express-middleware/ @alexandreroba @tromgy
+/types/swagger-express-mw/ @micmro
+/types/swagger-express-validator/ @pinguet62
+/types/swagger-hapi/ @micmro
+/types/swagger-jsdoc/ @drGrove
+/types/swagger-node-runner/ @micmro
+/types/swagger-parser/ @Tobias4872 @EricHenry
+/types/swagger-restify-mw/ @micmro
+/types/swagger-sails-hook/ @micmro
+/types/swagger-schema-official/ @mohsen1 @bsouthga @nimerritt @mauriedo
+/types/swagger-tools/ @bricka
+/types/swagger-ui-dist/ @haowen737
+/types/swagger-ui-express/ @dmitryrogozhny
+/types/swaggerize-express/ @mugeso @nickmorton
+/types/swe-validation/ @hjalmers
+/types/swfobject/ @rou
+/types/swiftclick/ @Laurence-C
+/types/swig/ @CodeAnimal @soywiz
+/types/swig-email-templates/ @mrhen @micksatana
+/types/swipe/ @kant2002
+/types/swiper/v3/ @sgaliano @lucax88x
+/types/swiper/ @sgaliano @lucax88x @ematseruk @odahcam @jmca
+/types/swipeview/ @borisyankov
+/types/switchery/ @bgrieder @claylaut
+/types/swiz/ @jedigo
+/types/sylvester/ @StephaneAlie
+/types/synaptic/ @ToastHawaii @austincummings
+/types/systeminformation/ @PixelcrabAT
+/types/systemjs/ @ludohenin @NathanWalker @GiedriusGrabauskas @aluanhaddad
+/types/tabbable/ @mokkan
+/types/table/ @evanshortiss @mrmlnc
+/types/tableau/ @protip
+/types/tableify/ @forivall
+/types/tabris-plugin-firebase/ @eclipsesource
+/types/tabtab/ @vojtechhabarta @kamontat
+/types/tabulator/ @euginio
+/types/tail/ @spacejack
+/types/tapable/v0/ @e-cloud
+/types/tapable/ @e-cloud @johnnyreilly
+/types/tape/ @Bartvds @sodatea @DennisSchwartz @mikehenrty
+/types/tar/ @SomaticIT @connor4312
+/types/tar-fs/ @Umoxfo
+/types/tar-stream/ @glicht
+/types/task-graph-runner/ @mgroenhoff
+/types/tcp-ping/ @stegano
+/types/tcp-port-used/ @gautejohan
+/types/teddy/ @lannonbr
+/types/tedious/ @rogierschouten @cjthompson @v-suhame
+/types/tedious-connection-pool/ @sandorfr
+/types/telebot/ @mariotsi
+/types/temp/ @DanielRosenwasser
+/types/temp-write/ @BendingBender
+/types/tempfile/ @SamVerschueren @BendingBender
+/types/tempy/ @douglasduteil @maistho
+/types/terminal-menu/ @aravindarun
+/types/tern/ @nkappler
+/types/terser/ @JordiAnderl
+/types/test-console/ @roberto @guidoux @gbmoretti
+/types/test-listen/ @stephenmathieson
+/types/testingbot-api/ @timbru31
+/types/tether/ @adidahiya
+/types/tether-drop/ @adidahiya
+/types/tether-shepherd/ @mtgibbs
+/types/text-buffer/ @GlenCFL
+/types/text-encoding/ @pine @mohsen1 @nwmqpa
+/types/text-encoding-utf-8/ @trxcllnt
+/types/text-table/ @saadq
+/types/textarea-caret/ @shiftkey
+/types/textract/ @lal12
+/types/textversionjs/ @aaronosher
+/types/texzilla/ @m93a
+/types/tgfancy/ @Dabolus
+/types/theming/ @eps1lon
+/types/theo/ @petekp
+/types/thepiratebay/ @jsorrell
+/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas @NotWoods @sethk @elk941 @Methuselah96 @Dukuo @JulianSSS @devilsparta @KonstantinLukaschenko
+/types/three-tds-loader/ @KonstantinLukaschenko @sschoensee
+/types/thrift/ @kamek-pf @kevin-greene-ck @jessezhang91
+/types/throng/ @cyrilschumacher @tatethurston
+/types/throttle/ @BendingBender
+/types/throttle-debounce/ @czbuchi @franklixuefei
+/types/through/ @AndrewGaspar
+/types/through2/v0/ @Bartvds @jedmao
+/types/through2/ @Bartvds @jedmao @valotas @TeamworkGuy2 @Alorel
+/types/through2-concurrent/ @Alorel
+/types/through2-map/ @LucasHill
+/types/tildify/ @BendingBender
+/types/tile-reduce/ @DenisCarriere
+/types/tilebelt/ @DenisCarriere
+/types/time-span/ @BendingBender @mdvorscak
+/types/timelinejs/ @rolandzwaga
+/types/timelinejs3/ @MikeMatusz
+/types/timer-machine/ @dolanmiu
+/types/timezone-js/ @bonnici
+/types/timing-safe-equal/ @BendingBender
+/types/timsort/ @Vunovati
+/types/tinajs__tina/ @Jimexist
+/types/tinajs__tina-redux/ @Jimexist
+/types/tinder/ @pingec
+/types/tingle.js/ @ajafff
+/types/tiny-async-pool/ @krlwlfrt
+/types/tiny-secp256k1/ @eduhenke
+/types/tiny-slider-react/ @screendriver
+/types/tinycolor2/ @M-Zuber @geertjansen @nvh @Ailrun
+/types/tinycon/ @dwaxweiler
+/types/tinycopy/ @vvatanabe
+/types/tinymce/ @martinduparc @ipoul @nicohartto
+/types/titanium/ @appcelerator @janvennemann
+/types/title/ @fa7ad
+/types/tldjs/ @geoffreak
+/types/tlds/ @ajshres
+/types/tmp/ @optical @Perlmint
+/types/to-absolute-glob/ @ajafff
+/types/to-camel-case/ @j-f1
+/types/to-markdown/ @SuperPaintman
+/types/to-snake-case/ @LogvinovLeon
+/types/to-title-case-gouch/ @stpettersens
+/types/toastr/ @borisyankov
+/types/tocktimer/ @evanshortiss
+/types/tokgen/ @l-jonas
+/types/toobusy-js/ @atd-schubert @BendingBender
+/types/tooltipster/ @stephenlautier @pjmagee @VorobeY1326 @leonard-thieu @janhi @joeskeen
+/types/topojson/ @ricardo-mello @chenzhutian @denisname
+/types/topojson-client/ @denisname @ricardo-mello
+/types/topojson-simplify/ @denisname @ricardo-mello
+/types/topojson-specification/ @denisname
+/types/toposort/ @danwbyrne
+/types/torrent-search-api/ @ngirardin
+/types/torrent-stream/ @xstoudi
+/types/touch/ @mizunashi-mana @BendingBender
+/types/touch-events/ @kevinb7
+/types/tough-cookie/ @leonard-thieu @LiJinyao @no2chem
+/types/tough-cookie-filestore/ @friedow
+/types/traceback/ @misak113
+/types/tracking/ @pimterry @bratter
+/types/transducers-js/ @colinkahn @dphilipson @NaridaL
+/types/transducers.js/ @dphilipson
+/types/transliteration/ @tony19
+/types/trash/ @matthew-matvei @hoishin
+/types/traverse/ @newclear
+/types/traverson/ @marcinporebski
+/types/travis-fold/ @andy-ms
+/types/trayballoon/ @korve
+/types/tress/ @sindilevich
+/types/trianglify/ @unindented
+/types/trim/ @skysteve
+/types/triple-beam/ @danwbyrne
+/types/triplesec/ @threesquared
+/types/trunk8/ @niemyjski
+/types/tryer/ @bengry
+/types/tspromise/ @soywiz
+/types/ttf2woff2/ @ThomasdenH
+/types/tunnel/ @BendingBender
+/types/tus-js-client/ @kevhiggins @Acconut
+/types/tv4/ @Bartvds @psnider
+/types/tween.js/ @Amos47 @sunetos @jzarnikov @alexburner
+/types/tweenjs/ @evilangelist @jcyuan
+/types/tweezer.js/ @praxxis
+/types/twig/ @soywiz @enko
+/types/twilio/ @nickiannone @ashleybrener
+/types/twilio-common/ @gatimus
+/types/twilio-video/ @minddocdev @darioblanco
+/types/twit/ @Volox @sapphiredev @abraham @siwalikm @plhery
+/types/twitch-ext/ @beheh
+/types/twitter/ @chitoku-k
+/types/twitter-stream-channels/ @adrianbardan
+/types/twitter-text/ @rhysd
+/types/twix/ @j3ko
+/types/type-check/ @hansrwindhoff
+/types/type-detect/v0/ @Bartvds
+/types/type-detect/ @Bartvds
+/types/type-is/ @BendingBender
+/types/type-name/ @armorik83
+/types/typeahead/ @igochkov @gjunge
+/types/typedarray-pool/ @pawsong
+/types/typeof/ @OpenByteDev
+/types/typescript-deferred/ @DirtyHairy
+/types/typography/ @boyeborg
+/types/tz-format/ @samverschueren
+/types/ua-parser-js/ @superduper @legendecas @MeLlamoPablo
+/types/uglify-es/ @alan-agius4
+/types/uglify-js/v2/ @tkrotoff
+/types/uglify-js/ @alan-agius4 @tkrotoff @johnnyreilly
+/types/uglifycss/ @blendsdk
+/types/uglifyjs-webpack-plugin/ @vajkayrene
+/types/ui-grid/ @btesser @joeskeen @pbojanczyk
+/types/ui-router-extras/ @mputters @marcel-k @LaserUnicorns
+/types/ui-select/ @nkovacic
+/types/uid-safe/ @geoffreak
+/types/uikit/ @giovannicandido @s0x
+/types/uinput/ @Fidge123
+/types/ultra-strftime/ @dex4er
+/types/umbraco/ @DeCareSystemsIreland
+/types/umd/ @TeamworkGuy2
+/types/umzug/ @drinchev @mlamp @trodi @emmanuelgautier
+/types/underscore/ @borisyankov @jbaldwin @ccurrens @clottman @confususs
+/types/underscore-ko/ @MagicMau
+/types/underscore.string/ @rygine
+/types/undertaker/ @tkqubo @GiedriusGrabauskas
+/types/undertaker-registry/ @GiedriusGrabauskas
+/types/unidecode/ @vfernandestoptal
+/types/uniq/ @hansrwindhoff
+/types/uniqid/ @idchlife
+/types/unique-hash-stream/ @BendingBender
+/types/unique-random/ @Kuniwak
+/types/unique-random-array/ @BendingBender
+/types/unist/ @bizen241 @lujun2 @hrajchert @wooorm @rokt33r
+/types/unist-util-is/ @rokt33r
+/types/unity-webapi/ @jmvrbanac
+/types/universal-analytics/ @Bartvds @DarkerTV
+/types/universal-cookie/ @tomi
+/types/universal-router/ @jtmthf @tlaziuk @Lodin
+/types/unorm/ @chbrown
+/types/untildify/ @BendingBender
+/types/unused-filename/ @BendingBender
+/types/unzip/ @coding2012
+/types/unzipper/ @s73obrien @natemara @bartje321
+/types/update-notifier/v1/ @vvakame @nchen63
+/types/update-notifier/ @vvakame @nchen63 @bitjson @grinich
+/types/uploadcare/ @jineshshah36
+/types/upng-js/ @plantain-00 @pineapplemachine
+/types/uppercamelcase/ @plantain-00
+/types/urbanairship-cordova/ @Justin-Credible
+/types/uri-templates/ @Bartvds @barnski
+/types/urijs/ @RodneyJT @xt0rted @petejohanson
+/types/uritemplate/ @teyc @rubensworks
+/types/url-assembler/ @wolfgang42
+/types/url-join/ @rogierschouten @devrelm
+/types/url-metadata/ @mrkmg
+/types/url-params/ @danielsogl
+/types/url-parse/ @ChernenkoPaul @harisiva @DimitryDushkin
+/types/url-regex/ @unindented @sosukesuzuki
+/types/url-safe-base64/ @johngeorgewright
+/types/url-search-params/ @nick121212 @nrathi
+/types/url-template/ @marcinporebski
+/types/urllib/ @sorayama
+/types/urlparser/ @OpenByteDev
+/types/urlrouter/ @soywiz
+/types/urlsafe-base64/ @tkrotoff
+/types/usage/ @pvomhoff
+/types/usb/ @underscorebrody @thegecko
+/types/user-home/ @mhegazy
+/types/useragent/ @geoffreak
+/types/username/ @kayahr @krivachy
+/types/utf8/ @zelein
+/types/util-deprecate/ @BendingBender
+/types/util.promisify/ @adamvoss
+/types/utils-merge/ @chrootsu
+/types/uuid/ @iamolivinius @felipeochoa @cjbarth
+/types/uuid-1345/ @mugeso
+/types/uuid-js/ @mhegazy
+/types/uuid-parse/ @screendriver
+/types/uuid-validate/ @HiromiShikata
+/types/uws/ @plantain-00 @orblazer
+/types/v-chart-plugin/ @natemara
+/types/v8flags/ @BendingBender
+/types/valdr/ @ilbertz
+/types/valdr-message/ @ilbertz
+/types/valerie/ @conficient
+/types/vali-date/ @SamVerschueren
+/types/valiant/ @whatasoda
+/types/valid-url/ @stevehipwell
+/types/validator/ @tgfjt @chrootsu @IOAyman @louy @kacepe @deptno @builtinnya @qqilihq
+/types/validatorjs/ @LKay @danmana
+/types/vanilla-modal/ @samnau
+/types/vanilla-tilt/ @BrunnerLivio
+/types/varint/ @dbrockman
+/types/vary/ @BendingBender
+/types/vast-client/ @jgainfort
+/types/vec3/ @xstoudi
+/types/vectorious/ @erikgerrits
+/types/velocity-animate/ @smrq
+/types/verror/ @svi3c @max4t
+/types/vertx3-eventbus-client/ @oddeirik
+/types/vex-js/ @gdcohan
+/types/vexdb/ @MayorMonty
+/types/vexflow/ @rquiring @sebastianhaas @bohoffi @sschmidTU
+/types/vfile/ @bizen241 @rokt33r
+/types/vfile-location/ @ikatyang @rokt33r
+/types/vfile-message/ @rokt33r
+/types/victory/ @asvetliakov @snerks @Havret @alredyExist
+/types/video.js/ @vbortone @scleriot @SWBennett06 @IgelCampus @giofreitas @gjanblaszczyk @sroucheray @AkxeOne @meikidd
+/types/viewability-helper/ @lironzluf
+/types/viewerjs/ @lrh3321
+/types/viewport-mercator-project/ @fnberta
+/types/viewporter/ @borisyankov
+/types/vimeo/ @DazWilkin
+/types/vimeo__player/ @denisyilmaz @timc13 @terrymun
+/types/vinyl/v0/ @jedmao
+/types/vinyl/ @vvakame @jedmao @thorn0
+/types/vinyl-buffer/ @tkQubo
+/types/vinyl-fs/ @vvakame @remisery
+/types/vinyl-paths/ @tkQubo
+/types/virtual-dom/ @chbrown
+/types/virtual-keyboard/ @bsurai
+/types/vis/ @MichaelBitard @macleodbroad-wf @adripanico @seveves @kaktus40 @mmaitre314 @supercargo @takato1314 @alex-kachura @dcop @avrahamcool @divideby
+/types/vision/v4/ @jasonswearingen @AJamesPhillips
+/types/vision/ @jasonswearingen @AJamesPhillips @lenovouser
+/types/vitalsigns/ @cyrilschumacher
+/types/vivus/ @DanielRosenwasser @lekhmanrus
+/types/vkbeautify/ @sch3lp
+/types/vnu-jar/ @Umoxfo
+/types/voca/ @pine
+/types/void-elements/ @ajafff
+/types/voronoi-diagram/ @michaelneu
+/types/vorpal/ @danwbyrne
+/types/vortex-web-client/ @Pro
+/types/voximplant-websdk/ @aylarov
+/types/vue-color/ @me
+/types/vue-markdown/ @neodon
+/types/vue-resource/ @kaorun343
+/types/vue-scrollto/ @vincekovacs
+/types/vue-select/ @silh
+/types/vue2-datepicker/ @ChristianStornowski
+/types/vuelidate/ @janesser
+/types/vuex-i18n/ @jaeggerr @noamkfir @barahliush
+/types/w2ui/ @Ptival
+/types/w3c-generic-sensor/ @kenchris
+/types/w3c-image-capture/ @cosium
+/types/w3c-permissions/ @jberube
+/types/w3c-screen-orientation/ @kenchris
+/types/w3c-web-usb/ @larsgk
+/types/waitme/ @totpero
+/types/wake_on_lan/ @SrTobi
+/types/walk/ @poppa
+/types/wallabyjs/ @andrewconnell
+/types/wallpaper/ @BendingBender
+/types/wampy/ @KSDaemon
+/types/warning/ @cvle
+/types/watch/ @soywiz @Perlmint
+/types/watchify/ @TeamworkGuy2
+/types/watchpack/ @e-cloud
+/types/waterline/ @arvitaly
+/types/watson-developer-cloud/ @waldo000000 @Naktibalda
+/types/wavesurfer.js/ @higuri
+/types/waypoints/ @dominikbulaj @Koloto @evil-shrike
+/types/wcag-contrast/ @plantain-00
+/types/wcwidth/ @rokt33r
+/types/weak/ @int0h
+/types/weapp-api/ @vargeek
+/types/web-animations-js/ @kritollm
+/types/web-bluetooth/ @urish
+/types/web-push/ @paullessing
+/types/web-resource-inliner/ @BendingBender
+/types/web3/ @simon-jentzsch @nitzantomer @zurbo @yxliang01 @phra @naddison36 @icaroharry @linusnorton @jpeletier @anneau @matrushka @andrevmatos @levino @zlumer @archangel-irk @sogasg @donamk @dkent600 @nerddan
+/types/web3-eth-abi/ @LogvinovLeon
+/types/web3-provider-engine/ @LogvinovLeon
+/types/webappsec-credential-management/ @iainmcgin
+/types/webassembly-js-api/ @periklis @chicoxyzzy
+/types/webassembly-web-api/ @jhenninger
+/types/webcl/ @NCARalph
+/types/webcomponents.js/ @adidahiya
+/types/webcrypto/ @iislucas
+/types/webdriverio/ @nmalaguti @timbru31 @fsmedberg-tc @tanvirislam06 @daveparslow @phil-lgr
+/types/webfontloader/ @doskallemaskin
+/types/webgl-ext/ @zenmumbler
+/types/webgl2/ @nkemnitz @karhu
+/types/webidl2/ @saschanaz
+/types/webmidi/ @lostfictions
+/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @christophehurpeau @rwaskiewicz @kuehlein
+/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @dennispg @christophehurpeau @ZSkycat @johnnyreilly @rwaskiewicz @kuehlein
+/types/webpack-assets-manifest/ @FranklinWhale
+/types/webpack-bundle-analyzer/ @kryops
+/types/webpack-chain/ @eirikurn @psachs21
+/types/webpack-chunk-hash/ @mtraynham
+/types/webpack-cleanup-plugin/ @malj
+/types/webpack-config-utils/ @hotell
+/types/webpack-dev-middleware/v1/ @bumbleblym @reduckted
+/types/webpack-dev-middleware/ @bumbleblym @reduckted @chrisabrams
+/types/webpack-dev-server/ @maestroh @daveparslow @ZheyangSong @alan-agius4 @arturovt
+/types/webpack-dotenv-plugin/ @kryops
+/types/webpack-env/ @use-strict @rhonsby
+/types/webpack-fail-plugin/ @deevus
+/types/webpack-hot-client/ @rynclark @ZSkycat
+/types/webpack-hot-middleware/ @bumbleblym @icylace @chrisabrams
+/types/webpack-manifest-plugin/ @r3nya
+/types/webpack-merge/v0/ @deevus
+/types/webpack-merge/ @deevus @mtraynham
+/types/webpack-node-externals/ @mtraynham
+/types/webpack-notifier/ @bumbleblym
+/types/webpack-serve/v1/ @rynclark @Jokcy @ZSkycat
+/types/webpack-serve/ @rynclark @Jokcy @ZSkycat
+/types/webpack-sources/ @e-cloud @chriseppstein
+/types/webpack-stream/ @iclanton @bumbleblym
+/types/webpack-subresource-integrity/ @huan086
+/types/webpack-validator/ @deevus
+/types/webpackbar/ @rynclark
+/types/webpagetest/ @ksm2
+/types/webprogbase-console-view/ @veetaha
+/types/webrtc/ @nakakura
+/types/webscopeio__react-textarea-autocomplete/ @michauzo
+/types/websequencediagrams/ @ffflorian
+/types/website-scraper/ @screendriver
+/types/websocket/ @loyd @flynetworks @zhaoleimxd @jdneo
+/types/websocket-async/ @bigbeno37
+/types/websql/ @TeamworkGuy2
+/types/webtorrent/ @niieani @tlaziuk
+/types/webvr-api/ @efokschaner
+/types/week/ @sindrenm
+/types/wegame-api/ @jcyuan
+/types/weighted/ @ccitro
+/types/weixin-app/ @taoqf @AlexStacker @Jimexist
+/types/wellknown/ @yairtawil
+/types/wepy/ @Jimexist
+/types/wepy-redux/ @Jimexist
+/types/whatwg-mimetype/ @petejohanson
+/types/whatwg-streams/ @saschanaz @ksm2 @MattiasBuelens
+/types/whatwg-url/ @aomarks
+/types/wheel/ @BTOdell
+/types/when/ @derekcicerone @Nemo157
+/types/which/ @vvakame @cspotcode
+/types/which-pm/ @jorgegonzalez
+/types/wicg-mediasession/ @jucrouzet
+/types/wif/ @danwbyrne
+/types/wiiu/ @mzsm
+/types/wikidata-sdk/ @kamontat
+/types/window-or-global/ @vvakame
+/types/window-size/ @pmkary
+/types/windows-1251/ @RomanGolovanov
+/types/windows-script-host/ @zspitz
+/types/windows-service/ @rogierschouten
+/types/winjs/v1/ @adamhewitt627 @craigktreasure @xirzec
+/types/winjs/v2/ @adamhewitt627 @craigktreasure @xirzec
+/types/winjs/ @adamhewitt627 @craigktreasure @xirzec
+/types/wink-tokenizer/ @lal12
+/types/winreg/ @RX14 @BobBuehler
+/types/winrt-uwp/ @saschanaz @taylor224
+/types/winston-dynamodb/ @nickiannone
+/types/winston-mail/ @idono87
+/types/winston-syslog/v1/ @cjbarth
+/types/winston-syslog/ @cjbarth @felix-hoc
+/types/wiring-pi/ @NoHomey
+/types/wnumb/ @acoreyj
+/types/wonder.js/ @yyc-git
+/types/word-list-json/ @dovidm
+/types/word2vector/ @renekeijzer
+/types/wordcloud/ @joeskeen
+/types/words-to-numbers/ @James-Frowen
+/types/workbox-sw/ @wessberg
+/types/workerpool/ @Alorel
+/types/wpapi/ @guoyunhe
+/types/wrap-ansi/v2/ @kayahr
+/types/wrap-ansi/ @kayahr
+/types/wreck/v7/ @marcinporebski
+/types/wreck/ @marcinporebski @saboya
+/types/wrench/ @soywiz
+/types/write-file-atomic/ @BendingBender
+/types/write-file-atomically/ @Aankhen
+/types/write-json-file/ @DenisCarriere
+/types/write-pkg/ @azasypkin
+/types/ws/ @loyd @elithrar @mlamp @TitaneBoy @orblazer
+/types/wtfnode/ @dex4er
+/types/wu/ @phiresky
+/types/wx-js-sdk-dt/ @agasbzj
+/types/x-editable/ @sirkirby
+/types/x-ray/ @mtraynham
+/types/x-ray-crawler/ @mtraynham
+/types/xdate/ @yamada28go
+/types/xdg-basedir/ @tlaziuk
+/types/xml/ @YuJianrong
+/types/xml-parser/ @mhfrantz
+/types/xml2js/ @michelsalib @jasonrm @ccurrens @edwardhinkle @BehindTheMath @claasahl
+/types/xml2json/ @dolanmiu
+/types/xmlbuilder/ @wallymathieu
+/types/xmldoc/ @Xstoudi @ajsheehan @notlaforge
+/types/xmldom/ @tkqubo
+/types/xmlpoke/ @garthk
+/types/xmltojson/ @traviscrowe
+/types/xmpp__jid/ @PJakcson @BendingBender
+/types/xmpp__xml/ @BendingBender
+/types/xregexp/ @Bartvds @jfahrenkrug @sigo
+/types/xrm/v7/ @daryllabar
+/types/xrm/v8/ @6ix4our @mattngan @markusmauch @daryllabar @clownwilleatme @mariusagur
+/types/xrm/ @6ix4our @mattngan @markusmauch @daryllabar @clownwilleatme @scottdurow
+/types/xsd-schema-validator/ @Goldsmith42
+/types/xsockets/ @pushplay
+/types/xxhashjs/ @mDibyo
+/types/yallist/ @BendingBender
+/types/yaml/ @ikatyang @ColinBradley
+/types/yandex-maps/ @Delagen
+/types/yandex-money-sdk/ @chrootsu
+/types/yar/ @SimonSchick
+/types/yargs/v8/ @poelstra @mizunashi-mana @pushplay @jeffkenney
+/types/yargs/v10/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
+/types/yargs/v11/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
+/types/yargs/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC @tkazec
+/types/yargs-interactive/ @szeck87
+/types/yargs-parser/ @milesj
+/types/yauzl/ @ffflorian
+/types/yauzl-promise/ @dlee-nvisia
+/types/yayson/ @Codesleuth
+/types/yazl/ @taoqf @seangenabe
+/types/ydn-db/ @yathit @gabrielmaldi
+/types/yeoman-assert/ @Toilal
+/types/yeoman-generator/ @armorik83 @janslow @ikatyang @tasadar2
+/types/yeoman-test/ @ikatyang
+/types/yesql/ @Sumolari
+/types/yoctodelay/ @seangenabe
+/types/yog-bigpipe/ @ssddi456
+/types/yog-log/ @ssddi456
+/types/yog2-kernel/ @ssddi456
+/types/yoga-layout/ @tnobody
+/types/yosay/ @armorik83
+/types/youtube/ @DazWilkin @JoshuaKGoldberg @eliotfallon213 @terrymun @paulhobbel
+/types/youtube-dl/ @bsurai
+/types/yui/ @giabao
+/types/yup/ @dhardtke @vtserman @MoretonBayRC @sseppola @YashdalfTheGray @vincentjames501
+/types/z-schema/ @pgonzal
+/types/zapier-platform-core/ @bradleyayers
+/types/zeit__next-typescript/ @icopp
+/types/zen-observable/ @aicest @JounQin @itomtom
+/types/zen-push/ @daprahamian
+/types/zenscroll/ @HamedFathi
+/types/zepto/ @jbaldwin
+/types/zeroclipboard/v1/ @ejsmith @niemyjski @balassy @leonyu
+/types/zeroclipboard/ @ejsmith @niemyjski @balassy @leonyu
+/types/zeromq/ @davemckeown @erikma @TitaneBoy
+/types/zip-webpack-plugin/ @blaise-io
+/types/zip.js/ @lgrignon
+/types/zipcelx/ @aleburato
+/types/zipcodes/ @headdetect @dobesv
+/types/zipkin-context-cls/ @plantain-00
+/types/zipkin-instrumentation-express/ @plantain-00
+/types/zipkin-instrumentation-fetch/ @plantain-00
+/types/zipkin-javascript-opentracing/ @laurentgilly
+/types/zipkin-transport-http/ @plantain-00
+/types/zmq/ @davemckeown
+/types/zookeeper/ @xialeistudio
+/types/zopflipng-bin/ @hikoma
+/types/zrender/ @iRON5
+/types/zui/ @yuanxu
+/types/zxcvbn/ @mtraynham
diff --git a/.gitignore b/.gitignore
index ac63b6f6b5..079ad27699 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,6 +46,7 @@ npm-debug.log
.settings/launch.json
.vs
.vscode
+.history
# yarn
yarn.lock
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..9cf9495031
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+package-lock=false
\ No newline at end of file
diff --git a/README.es.md b/README.es.md
index c3cff967db..df675cbe41 100644
--- a/README.es.md
+++ b/README.es.md
@@ -22,15 +22,15 @@ Este es el método preferido. Solo está disponible para usuarios TypeScript 2.0
npm install --save-dev @types/node
```
-Los types deberían ser incluidos automaticamente por el compilador.
+Los types deberían ser incluidos automáticamente por el compilador.
Vea más en el [manual](http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html).
-Para un paquete NPM "foo", Estos `typings` estarán en "@types/foo".
+Para un paquete NPM "foo", estos `typings` estarán en "@types/foo".
Si no puedes encontrar tu paquete, búscalo en [TypeSearch](https://microsoft.github.io/TypeSearch/).
Si aún no puedes encontrarlo, comprueba si el paquete ya [incluye](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) los typings.
Esto es provisto usualmente en el campo `"types"` o `"typings"` en el `package.json`,
-o solo busca por cualquier archivo ".d.ts" en el paquete e incluyelo manualmente con un `/// `.
+o solo busca por cualquier archivo ".d.ts" en el paquete e inclúyelo manualmente con un `/// `.
### Otros métodos
@@ -39,7 +39,7 @@ Estos pueden ser utilizados por TypeScript 1.0.
* [Typings](https://github.com/typings/typings)
* ~~[NuGet](http://nuget.org/packages?q=DefinitelyTyped)~~ (use las alternativas preferidas, la publicación DT type de nuget ha sido desactivada)
-* Descarguelo manualmente desde la `master` branch de este repositorio
+* Descárguelo manualmente desde la `master` branch de este repositorio
Tal vez debas añadir manualmente las [referencias](http://www.typescriptlang.org/docs/handbook/triple-slash-directives.html).
@@ -88,7 +88,7 @@ Primero, haz un [fork](https://guides.github.com/activities/forking/) en este re
* `cd types/my-package-to-edit`
* Haz cambios. Recuerda editar las pruebas.
Si realiza cambios importantes, no olvide [actualizar una versión principal](#quiero-actualizar-un-paquete-a-una-nueva-versión-principal).
-* También puede que quieras añadirte la sección "Definitions by" en el encabezado del paquete.
+* También puede que quieras añadirle la sección "Definitions by" en el encabezado del paquete.
- Esto hará que seas notificado (a través de tu nombre de usuario en GitHub) cada vez que alguien haga un pull request o issue sobre el paquete.
- Haz esto añadiendo tu nombre al final de la línea, así como en `// Definitions by: Alice , Bob `.
- O si hay más personas, puede ser multiline
@@ -109,7 +109,7 @@ Si no lo hace, puedes hacerlo en el comentario asociado con el PR.
Si eres el autor de la librería, o puedes hacer un pull request a la biblioteca, [bundle types](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) en vez de publicarlo en DefinitelyTyped.
Si estás agregando typings para un paquete NPM, crea un directorio con el mismo nombre.
-Si el paquete al que le estás agregando typings no es para NPM, asegurate de que el nombre que escojas no genere problemas con el nombre del paquete en NPM.
+Si el paquete al que le estás agregando typings no es para NPM, asegúrate de que el nombre que escojas no genere problemas con el nombre del paquete en NPM.
(Puedes usar `npm info foo` para verificar la existencia del paquete `foo`.)
Tu paquete debería tener esta estructura:
@@ -126,7 +126,7 @@ Ve todas las opciones en [dts-gen](https://github.com/Microsoft/dts-gen).
También puedes configurar el `tsconfig.json` para añadir nuevos archivos, para agregar un `"target": "es6"` (necesitado por las funciones asíncronas), para agregar a la `"lib"`, o para agregar la opción de compilación `"jsx"`.
-Los miembros de DefinitelyTyped frecuentemente monitorean nuevos PRs, pero ten en mente que la cantidad de PRs podrian ralentizar el proceso.
+Los miembros de DefinitelyTyped frecuentemente monitorean nuevos PRs, pero ten en mente que la cantidad de PRs podrían ralentizar el proceso.
Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/base64-js).
@@ -135,7 +135,7 @@ Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTy
* Primero, sigue el consejo del [manual](http://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html).
* Formatear: Ya sea utilizar todo en tabs, o siempre utiliza 4 espacios.
-* `function sum(nums: number[]): number`: Utiliza `ReadonlyArray` si una funcion no escribe a sus parámetros.
+* `function sum(nums: number[]): number`: Utiliza `ReadonlyArray` si una función no escribe a sus parámetros.
* `interface Foo { new(): Foo; }`:
Este define el tipo de objeto que esten nuevos. Probablemente quieras `declare class Foo { constructor(); }`.
* `const Class: { new(): IClass; }`:
@@ -146,7 +146,7 @@ Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTy
Un ejemplo donde un tipo de parámetro es aceptable: `function id(value: T): T;`.
Un ejemplo donde no es aceptable: `function parseJson(json: string): T;`.
Una excepción: `new Map()` está bien.
-* Utilizando los tipos `Function` y `Object` casi nunca es una buena idea. En 99% de los casos es posible especificar un tipo más especifico. Los ejemplos son `(x: number) => number` para [funciones](http://www.typescriptlang.org/docs/handbook/functions.html#function-types) y `{ x: number, y: number }` para objetos. Si no hay certeza en lo absoluto del tipo, [`any`](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) es la opción correcta, no `Object`. Si el único hecho conocido sobre el tipo es que es un objecto, usa el tipo [`object`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#object-type), no `Object` o `{ [key: string]: any }`.
+* Utilizando los tipos `Function` y `Object` casi nunca es una buena idea. En 99% de los casos es posible especificar un tipo más específico. Los ejemplos son `(x: number) => number` para [funciones](http://www.typescriptlang.org/docs/handbook/functions.html#function-types) y `{ x: number, y: number }` para objetos. Si no hay certeza en lo absoluto del tipo, [`any`](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) es la opción correcta, no `Object`. Si el único hecho conocido sobre el tipo es que es un objecto, usa el tipo [`object`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#object-type), no `Object` o `{ [key: string]: any }`.
* `var foo: string | any`:
Cuando es usado `any` en un tipo de unión, el tipo resultante todavía es `any`. Así que mientras la porción `string` de este tipo de anotación puede _verse_ útil, de hecho, no ofrece ningún typechecking adicional más que un simple `any`.
Dependiendo de la intención, una alternativa aceptable puede ser `any`, `string`, o `string | object`.
@@ -204,11 +204,11 @@ Este script utiliza [dtslint](https://github.com/Microsoft/dtslint).
#### ¿Cuál es exactamente la relación entre este repositorio y los paquetes de `@types` en NPM?
-La `master` branch es automaticamente publicada en el alcance de los `@types` en NPM gracias a los [types-publisher](https://github.com/Microsoft/types-publisher).
+La `master` branch es automáticamente publicada en el alcance de los `@types` en NPM gracias a los [types-publisher](https://github.com/Microsoft/types-publisher).
#### He enviado un pull request. ¿Cuánto tardará en ser merged?
-Esto depende, pero la mayoría de los pull requests serán merged en alrededor de una semana. PRs que hayan sido aprovados por un autor listado en el encabezado de las definiciones usualmente son merged más rápidamente; PRs para nuevas definiciones tomarán más tiempo ya que requieren más revisiones de los mantenedores. Cada PR es revisado por un miembro de TypeScript o DefinitelyTyped antes de ser merged, por favor se paciente debido a que factores humanos pueden causar retrasos. Revisa el [PR Burndown Board](https://github.com/DefinitelyTyped/DefinitelyTyped/projects/3?card_filter_query=is%3Aopen) para ver el progreso mientras los mantenedores trabajan on los PRs abiertos.
+Esto depende, pero la mayoría de los pull requests serán merged en alrededor de una semana. PRs que hayan sido aprobados por un autor listado en el encabezado de las definiciones usualmente son merged más rápidamente; PRs para nuevas definiciones tomarán más tiempo ya que requieren más revisiones de los mantenedores. Cada PR es revisado por un miembro de TypeScript o DefinitelyTyped antes de ser merged, por favor sé paciente debido a que factores humanos pueden causar retrasos. Revisa el [PR Burndown Board](https://github.com/DefinitelyTyped/DefinitelyTyped/projects/3?card_filter_query=is%3Aopen) para ver el progreso mientras los mantenedores trabajan en los PRs abiertos.
#### Mi PR ha sido merged; ¿cuándo será actualizado el paquete de `@types` NPM?
@@ -216,12 +216,12 @@ Los paquetes NPM deberán ser actualizados en unas cuantas horas. Si ha pasado m
#### Estoy escribiendo una definición que depende de otra definición. Debería utilizar `` o una import?
-Si el modulo al cual te estás refiriendo es un módulo externo (utiliza `export`), utilice una import.
+Si el módulo al cual te estás refiriendo es un módulo externo (utiliza `export`), utilice una import.
Si el módulo al cual te refieres es un módulo ambiente (utiliza `declare module`, o simplemente declara las globales), utilice ``.
#### He notado que algunos paquetes aquí tienen `package.json`.
-Normalmente no lo necesitaras. Cuando publicas un paquete normalmente nosotros automáticamente crearemos un `package.json` para eso.
+Normalmente no lo necesitarás. Cuando publicas un paquete normalmente nosotros automáticamente crearemos un `package.json` para eso.
Un `package.json` puede ser incluido por el bien de especificar dependencias. Aquí tienen un [ejemplo](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/pikaday/package.json).
No aceptamos otros campos, tales como `"description"`, para que sean definidos manualmente.
Además, si necesitas referencia a una versión anterior de typings, debes hacerlo añadiendo `"dependencies": { "@types/foo": "x.y.z" }` al package.json.
@@ -260,7 +260,7 @@ Cuando ya no sea un borrador, lo podremos eliminar desde DefinitelyType y hacer
Si planeas continuar actualizando la versión anterior del paquete, puedes crear una subcarpeta con la versión actual p.ej. `v2`, y copia los archivos existentes. Si es así, necesitarás:
1. Actualiza las rutas relativas en `tsconfig.json` al igual que `tslint.json`.
-2. Añadir reglas de mapeo de rutas para asegurart de que la prueba se está ejecutando contra la versión prevista.
+2. Añadir reglas de mapeo de rutas para asegurarte de que la prueba se está ejecutando contra la versión prevista.
Por ejemplo [history v2 `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/history/v2/tsconfig.json) se ve así:
@@ -280,24 +280,24 @@ Por ejemplo [history v2 `tsconfig.json`](https://github.com/DefinitelyTyped/Defi
}
```
-Si hay otros paquetes en DefinitelyTyped que son incompatibles con la nueva versión, necesitaras mapear las rutas a la versión anterior. También deberá hacer esto para los paquetes que dependen de paquetes que dependen de una version anterior.
+Si hay otros paquetes en DefinitelyTyped que son incompatibles con la nueva versión, necesitarás mapear las rutas a la versión anterior. También deberá hacer esto para los paquetes que dependen de paquetes que dependen de una version anterior.
Por ejemplo, `react-router` depende de `history@2`, así que [react-router `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router/tsconfig.json) tiene una ruta mapeada a "history": `[ "history/v2" ]`;
transitivo así mismo, `react-router-bootstrap` (que depende de `react-router`) también añade una ruta mapeada en su [tsconfig.json](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router-bootstrap/tsconfig.json).
-Además, `/// ` no trabajara con rutas mapeadas, así que las dependencias deberán utilizar `import`.
+Además, `/// ` no trabajará con rutas mapeadas, así que las dependencias deberán utilizar `import`.
#### ¿Cómo escribo definitions para paquetes que pueden ser usados globalmente y como un módulo?
-El manual de TypeScript contiene excelente [información general para escribir definiciones](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html), ademas [este archivo de definiciones de ejemplo](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html) el cual muestra como crear una definición utilizando la sintaxis de módulo en ES6, asi como también especificando objetos que son disponibles en el alcance global. Esta técnica es demostrada practicamente en la [definición para big.js](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/big.js/index.d.ts), el cual es una librería que puede ser cargada globalmente a travéz de una etiqueta script en una página web, o importada via require o imports estilo ES6.
+El manual de TypeScript contiene excelente [información general para escribir definiciones](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html), además [este archivo de definiciones de ejemplo](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html) el cual muestra como crear una definición utilizando la sintaxis de módulo en ES6, asi como también especificando objetos que son disponibles en el alcance global. Esta técnica es demostrada prácticamente en la [definición para big.js](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/big.js/index.d.ts), el cual es una librería que puede ser cargada globalmente a través de una etiqueta script en una página web, o importada vía require o imports estilo ES6.
-Para probar como puede ser usada tu definición cuando se refieren globalmente o como un módulo importado, crea una carpeta `test`, y coloca dos archivos de prueba en él. nombra uno `YourLibraryName-global.test.ts` y el otro `YourLibraryName-module.test.ts`. El archivo de prueba _global_ debe ejercer la definición de acuerdo como va a ser usado en un script cargado en una página web donde la librería estará disponible en el alcance global - en este escenario no debes de especificar la sentencia de import. El archivo _módulo_ de prueba debe de ejercer la definición de acuerdo a como va a ser utilizado cuando sea importado (incluyendo las sentencias `import`). Si especificas un propiedad `files` en tu archivo tsconfig.json, asegurate de incluir ambos archivos de prueba. Un [ejemplo práctico de esto](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/big.js/test) es también disponible en la definición de big.js.
+Para probar como puede ser usada tu definición cuando se refieren globalmente o como un módulo importado, crea una carpeta `test`, y coloca dos archivos de prueba en él. nombra uno `YourLibraryName-global.test.ts` y el otro `YourLibraryName-module.test.ts`. El archivo de prueba _global_ debe ejercer la definición de acuerdo como va a ser usado en un script cargado en una página web donde la librería estará disponible en el alcance global - en este escenario no debes de especificar la sentencia de import. El archivo _módulo_ de prueba debe de ejercer la definición de acuerdo a como va a ser utilizado cuando sea importado (incluyendo las sentencias `import`). Si especificas una propiedad `files` en tu archivo tsconfig.json, asegurate de incluir ambos archivos de prueba. Un [ejemplo práctico de esto](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/big.js/test) es también disponible en la definición de big.js.
Por favor tenga en cuenta que no es necesario para ejercer plenamente la definición en cada archivo de prueba - Es suficiente con probar solo los elementos globalmente accesibles en la prueba de archivos globales y ejercer la definición en el módulo del archivo de prueba, o viceversa.
#### ¿Qué pasa con paquetes scoped?
-Types para un paquete scoped `@foo/bar` deberán ir en `types/foo__bar`. tenga en cuenta el doble guion bajo.
+Types para un paquete scoped `@foo/bar` deberán ir en `types/foo__bar`. tenga en cuenta el doble guión bajo.
Cuando `dts-gen` es utilizado como scaffold en un paquete scoped, las propiedades `paths` deberán ser adaptadas manualmente en el paquete generado
`tsconfig.json` para referenciar correctamente el paquete scoped:
diff --git a/README.md b/README.md
index 9a31d73da1..026994fdd5 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
Also see the [definitelytyped.org](http://definitelytyped.org) website, although information in this README is more up-to-date.
-*You can also read this README in [Spanish](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.es.md) and [Korean!](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.ko.md)*
+*You can also read this README in [Spanish](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.es.md), [Korean](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.ko.md), and [Russian](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.ru.md)!*
## What are declaration files?
@@ -169,8 +169,14 @@ If a package was never on DefinitelyTyped, it does not need to be added to `notN
#### Lint
-To lint a package, just add a `tslint.json` to that package containing `{ "extends": "dtslint/dt.json" }`. All new packages must be linted.
-If a `tslint.json` turns rules off, this is because that hasn't been fixed yet. For example:
+All new packages must be linted. To lint a package, add a `tslint.json` to that package containing
+```js
+{
+ "extends": "dtslint/dt.json"
+}
+```
+
+This should be the only content in a finished project's `tslint.json` file. If a `tslint.json` turns rules off, this is because that hasn't been fixed yet. For example:
```js
{
@@ -336,3 +342,6 @@ This project is licensed under the MIT license.
Copyrights on the definition files are respective of each contributor listed at the beginning of each definition file.
[](https://github.com/igrigorik/ga-beacon)
+
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=13) Are packages being published to npm in less than 10,000 seconds on average?
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=14) Has typescript-bot been active on DefinitelyTyped in the last two hours?
diff --git a/README.ru.md b/README.ru.md
new file mode 100644
index 0000000000..9186c2ddd5
--- /dev/null
+++ b/README.ru.md
@@ -0,0 +1,353 @@
+
+
+# DefinitelyTyped [](https://travis-ci.org/DefinitelyTyped/DefinitelyTyped)
+
+[](https://gitter.im/borisyankov/DefinitelyTyped?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+> Репозиторий для *высококачественных* определений типов TypeScript.
+
+Также посетите веб-сайт [definitelytyped.org](http://definitelytyped.org), хотя информация в этом README более свежая.
+
+*Вы также можете прочитать этот README на [английском](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.md), [испанском](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.es.md) и [корейском](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.ko.md).*
+
+## Что такое файлы декларации (файлы описания/объявления типов)?
+
+Смотрите [руководство по TypeScript](http://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html).
+
+## Как их получить?
+
+### npm
+
+Это предпочтительный метод. Это доступно только для пользователей TypeScript 2.0+. Например:
+
+```sh
+npm install --save-dev @types/node
+```
+
+Затем типы должны автоматически включаться компилятором.
+Подробнее смотрите в [справочнике](http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html).
+
+Для пакета NPM "foo", описания будут находиться в "@types/foo".
+Если вы не можете найти свой пакет, ищите его в [TypeSearch](https://microsoft.github.io/TypeSearch/).
+
+Если вы все еще не можете найти его, проверьте [включает](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) ли пакет собственную типизацию.
+Обычно это отражается в поле `"types"` или `"typings"` файла `package.json`, или просто ищите любые файлы ".d.ts" в пакете и вручную включайте их в `/// `.
+
+
+### Другие методы
+
+Эти методы могут быть использованы TypeScript 1.0.
+
+* [Typings](https://github.com/typings/typings)
+* ~~[NuGet](http://nuget.org/packages?q=DefinitelyTyped)~~ (используйте предпочтительные альтернативы, публикация типа nuget DT отключена)
+* Вручную загрузите из ветки `master` этого репозитория
+
+Возможно, вам придется добавить ручные [ссылки](http://www.typescriptlang.org/docs/handbook/triple-slash-directives.html).
+
+
+## Как я могу внести свой вклад?
+
+DefinitelyTyped работает только благодаря вкладу таких пользователей, как вы!
+
+### Тестирование
+
+Прежде чем поделиться своим улучшением с миром, используйте его сами.
+
+#### Тестирование редактирования существующего пакета
+
+Для добавления новых функций вы можете использовать [разрешение модулей](http://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation).
+Вы также можете напрямую редактировать типы в `node_modules/@types/foo/index.d.ts`, или скопировать их оттуда и выполнить следующие шаги.
+
+
+#### Тестирование ногово пакета
+
+Добавьте к вашему `tsconfig.json`:
+
+```json
+"baseUrl": "types",
+"typeRoots": ["types"],
+```
+
+(Вы также можете использовать `src/types`.)
+Создайте `types/foo/index.d.ts` содержащие объявления для модуля "foo".
+Теперь вы сможете импортировать из `"foo"` в свой код, и он будет направлен к новому определению типа.
+Затем запустите сборку (build) *и* запустите код, чтобы убедиться, что ваше определение типа действительно соответствует тому, что происходит во время выполнения.
+После того как вы проверили свои определения с реальным кодом, создайте [Запрос на принятие изменений (PR)](#make-a-pull-request)
+и следуйте инструкциям [чтобы отредактировать существующий](#edit-an-existing-package) или
+[создать новый пакет](#create-a-new-package).
+
+
+### Запрос на принятие изменений (PR)
+
+После того, как вы проверили ваш пакет, вы можете поделиться им с DefinitelyTyped.
+
+Во-первых, [разветвите](https://guides.github.com/activities/forking/) этот репозиторий, установите [node](https://nodejs.org/), и запустите `npm install`.
+
+
+#### Изменение существующего пакета
+
+* `cd types/my-package-to-edit`
+* Внесите изменения. Не забудьте отредактировать тесты.
+ Если вы вносите критические изменения, не забудьте [обновить основную версию](#i-want-to-update-a-package-to-a-new-major-version).
+* Вы также можете добавить себя в раздел "Definitions by" заголовка пакета.
+ * Это приведет к тому, что вы будете уведомлены (через ваше имя пользователя GitHub) о том, что кто-то делает запрос на принятие изменений (PR) или проблему с пакетом.
+ * Сделайте это, добавив свое имя в конец строки, например `// Definitions by: Alice , Bob `.
+ * Или, если есть больше людей, это может быть многострочным
+
+ ```typescript
+ // Definitions by: Alice
+ // Bob
+ // Steve
+ // John
+ ```
+
+* Если есть `tslint.json`, запустите `npm run lint package-name`. В противном случае запустите `tsc` в директории пакета.
+
+Когда вы создаете PR для редактирования существующего пакета, `dt-bot` должен @-уведомить
+предыдущих авторов. Если этого не произойдет, вы можете сделать это самостоятельно в комментарии, связанном с PR.
+
+
+#### Созданое нового пакета
+
+Если вы являетесь автором библиотеки и ваш пакет написан на TypeScript, [свяжите автоматически сгенерированные файлы объявлений](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) в вашем пакете, а не публикуйте в DefinitelyTyped.
+
+Если вы добавляете типизацию для пакета NPM, создайте директорию с тем же именем.
+Если пакет, для которого вы добавляете типизацию, отсутствует в NPM, убедитесь, что выбранное вами имя не конфликтует с именем пакета в NPM.
+(Вы можете использовать `npm info foo` чтобы проверить наличие пакета `foo`.)
+
+Ваш пакет должен иметь такую структуру:
+
+| Файл | Назначение |
+| ------------- | ---------------------------------------------------------------------------------------------------- |
+| index.d.ts | Содержит типизацию для пакета. |
+| foo-tests.ts | Содержит пример кода, который проверяет типизацию. Этот код *не* запускается, но он проверен на тип. |
+| tsconfig.json | Позволяет вам запускать `tsc` внутри пакета. |
+| tslint.json | Включает linting. |
+
+Создайте их, запустив `npx dts-gen --dt --name my-package-name --template module` если у вас npm ≥ 5.2.0, `npm install -g dts-gen` и `dts-gen --dt --name my-package-name --template module` в противном случае.
+Посмотреть все варианты на [dts-gen](https://github.com/Microsoft/dts-gen).
+
+Вы можете отредактировать `tsconfig.json` чтобы добавить новые файлы, добавить `"target": "es6"` (необходимо для асинхронных функций), добавить в `"lib"`, или добавить опцию компилятора `"jsx"`.
+
+Члены группы DefinitelyTyped регулярно следят за новыми PR, но имейте в виду, что количество других PR может замедлить ход событий.
+
+Хороший пример пакета смотрите [base64-js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/base64-js).
+
+
+#### Распространенные ошибки
+
+* Сначала следуйте советам из справочника [handbook](http://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html).
+* Форматирование: либо используйте все табы, либо всегда используйте 4 пробела.
+* `function sum(nums: number[]): number`: используйте `ReadonlyArray` если функция не записывает свои параметры.
+* `interface Foo { new(): Foo; }`:
+ Это определяет тип объектов, с методом `new`. Вы, вероятно, хотите объявить `declare class Foo { constructor(); }`.
+* `const Class: { new(): IClass; }`:
+ Предпочитайте использовать объявление класса `class Class { constructor(); }` вместо `new`.
+* `getMeAT(): T`:
+ Если параметр типа не отображается в типах каких-либо параметров, у вас нет универсальной функции, а просто замаскированное утверждение типа.
+ Предпочитайте использовать утверждение реального типа, например, `getMeAT() as number`.
+ Пример, где допустим параметр типа: `function id(value: T): T;`.
+ Пример, где это недопустимо: `function parseJson(json: string): T;`.
+ Исключение: `new Map()` все ОК.
+* Использование типов `Function` and `Object` почти никогда не является хорошей идеей. В 99% случаев можно указать более конкретный тип. Примеры: `(x: number) => number` для [функций](http://www.typescriptlang.org/docs/handbook/functions.html#function-types) and `{ x: number, y: number }` для объектов. Если нет никакой уверенности в типе, [`any`](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) является правильным выбором, а не `Object`. Если единственным известным фактом о типе является то, что это какой-то объект, используйте тип [`object`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#object-type), а не `Object` или `{ [key: string]: any }`.
+* `var foo: string | any`:
+ когда `any` используется в типе объединения, результирующий тип все еще `any`. Таким образом, хотя `string` часть аннотации этого типа может _выглядеть_ полезной, на самом деле она не предлагает никакой дополнительной проверки типов по сравнению с простым использованием `any`.
+ В зависимости от намерения, приемлемыми альтернативами могут быть `any`, `string`, или `string | object`.
+
+
+#### Удаление пакета
+
+Когда пакет [объединяет](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) свои собственные типы, типы должны быть удалены из DefinitelyTyped чтобы избежать путаницы.
+
+Вы можете удалить его, запустив `npm run not-needed -- typingsPackageName asOfVersion sourceRepoURL [libraryName]`.
+
+* `typingsPackageName`: название директории, который нужно удалить.
+* `asOfVersion`: заглушка будет опубликована в `@types/foo` с этой версией. Должна быть выше, чем любая опубликованная на данный момент версия
+* `sourceRepoURL`: Это должно указывать на репозиторий, который содержит типизации.
+* `libraryName`: описательное имя библиотеки, например, "Angular 2" вместо "angular2". (Если опущено, будет идентично "typingsPackageName".)
+
+Любые другие пакеты в DefinitelyTyped которые ссылаются на удаленный пакет, должны быть обновлены для ссылки на связанные типы. Для этого добавьте в `package.json` ссыклу `"dependencies": { "foo": "x.y.z" }`.
+
+Если пакет никогда не был в DefinitelyTyped, его не нужно добавлять в `notNeededPackages.json`.
+
+
+#### Lint
+
+Все новые пакеты должны быть проанализированы lint. Для этого добавьте `tslint.json` в этот пакет, содержащий
+
+```js
+{
+ "extends": "dtslint/dt.json"
+}
+```
+
+Это должно быть единственным содержимым в файле `tslint.json` готового проекта. Если `tslint.json` отключает правила, это потому, что это еще не исправлено. Например:
+
+```js
+{
+ "extends": "dtslint/dt.json",
+ "rules": {
+ // This package uses the Function type, and it will take effort to fix.
+ "ban-types": false
+ }
+}
+```
+
+(Чтобы указать, что правило lint действительно не применяется, используйте `// tslint:disable rule-name` или лучше, `//tslint:disable-next-line rule-name`.)
+
+Чтобы проверить, что выражение имеет заданный тип, используйте `$ExpectType`. Чтобы проверить, что выражение вызывает ошибку компиляции, используйте `$ExpectError`.
+
+```js
+// $ExpectType void
+f(1);
+
+// $ExpectError
+f("one");
+```
+
+Для получения дополнительной информации см. [dtslint](https://github.com/Microsoft/dtslint#write-tests) readme.
+
+Протестируйте, запустив `npm run lint package-name` где `package-name` - это имя вашего пакета.
+Этот скрипт использует [dtslint](https://github.com/Microsoft/dtslint).
+
+
+## Часто задаваемые вопросы
+
+#### Какая связь между этим репозиторием и пакетами `@types` в NPM?
+
+Ветвь `master` автоматически публикуется в область `@types` на NPM благодаря [types-publisher](https://github.com/Microsoft/types-publisher).
+
+#### Я отправил PR. Когда он сольется?
+
+Это зависит, но большинство запросов на получение данных будут объединены в течение недели. PR, утвержденные автором, указанным в заголовке определения, обычно объединяются быстрее; PR для новых определений займет больше времени, так как они требуют большего количества проверок от сопровождающих. Каждый PR проверяется членом команды TypeScript или DefinitelyTyped перед объединением, поэтому будьте терпеливы, так как человеческий фактор может вызвать задержки. Посмотрите на [PR Burndown Board](https://github.com/DefinitelyTyped/DefinitelyTyped/projects/3?card_filter_query=is%3Aopen) чтобы увидеть, как сопровождающие работают через открытые PR.
+
+#### Мой PR слит; когда будет обновлен пакет `@types` NPM?
+
+Пакеты NPM должны обновиться в течение нескольких часов. Если прошло более 24 часов, пингуйте @RyanCavanaugh и @andy-ms в PR, чтобы расследовать.
+
+#### Я пишу определение, которое зависит от другого определения. Должен ли я использовать `` или import?
+
+Если модуль, на который вы ссылаетесь, является внешним модулем (использует `export`), используйте import.
+Если модуль, на который вы ссылаетесь, является окружающим модулем (использует `declare module`, или просто объявляет глобальные переменные), используйте ``.
+
+#### Я заметил, что у некоторых пакетов есть `package.json`.
+
+Обычно вам это не нужно. При публикации пакета мы обычно автоматически создаем `package.json`.
+`package.json` может быть включен для определения зависимостей. Вот [пример](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/pikaday/package.json).
+Мы не разрешаем определять другие поля, такие как "description", вручную.
+Кроме того, если вам нужно сослаться на более старую версию типизаций, вы должны сделать это, добавив в `package.json` строки `"dependencies": { "@types/foo": "x.y.z" }`.
+
+#### В некоторых пакетах отсутствует `tslint.json`, а в некоторых `tsconfig.json` отсутствует `"noImplicitAny": true`, `"noImplicitThis": true`, или `"strictNullChecks": true`.
+
+Тогда они не правы. Вы можете помочь, отправив PR, чтобы исправить их.
+
+#### Могу ли я запросить определение?
+
+Вот [текущие запрошенные определения](https://github.com/DefinitelyTyped/DefinitelyTyped/labels/Definition%3ARequest).
+
+#### Как насчет определений типов для DOM?
+
+Если типы являются частью веб-стандарта, они должны быть добавлены в [TSJS-lib-generator](https://github.com/Microsoft/TSJS-lib-generator) чтобы они могли стать частью `lib.dom.d.ts` по умолчанию.
+
+#### Пакет использует export `export =`, но я предпочитаю использовать импорт по умолчанию. Могу ли я изменить `export =` на `export default`?
+
+Если вы используете TypeScript 2.7 или более позднюю версию, используйте `--esModuleInterop` в вашем проекте.
+В противном случае, если импорт по умолчанию работает в вашей среде (например, Webpack, SystemJS, esm), рассмотрите возможность включения опции компилятора [`--allowSyntheticDefaultImports`](http://www.typescriptlang.org/docs/handbook/compiler-options.html).
+Не меняйте определение типа, если оно точное.
+Для пакета NPM, `export =` является точным, если `node -p 'require("foo")'` является экспортом, а `export default` является точным, если `node -p 'require("foo").default'` является экспортом.
+
+#### Я хочу использовать функции из TypeScript 2.1 или выше.
+
+В таком случае вам нужно будет добавить комментарий к последней строке заголовка вашего определения (после `// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped`): `// TypeScript Version: 2.1`.
+
+#### Я хочу добавить DOM API, отсутствующий в TypeScript по умолчанию.
+
+Это может принадлежать [TSJS-Lib-Generator](https://github.com/Microsoft/TSJS-lib-generator#readme). Смотрите инструкции там.
+Если стандарт все еще является черновиком, добавляйте сюда.
+Используйте имя, начинающееся с `dom-` и включите ссылку на стандарт в качестве ссылки "Project" в заголовке.
+Когда он завершает черновой режим, мы можем удалить его из DefinitelyTyped и объявить устаревшим связанный пакет `@types`.
+
+#### Я хочу обновить пакет новой старшей версии
+
+Если вы намерены продолжить обновление старой версии пакета, вы можете создать новую подпапку с текущей версией, например, `v2` и скопируйте в него существующие файлы. Если это так, вам необходимо:
+
+1. Обновите относительные пути в `tsconfig.json` а также в `tslint.json`.
+2. Добавьте правила сопоставления путей, чтобы убедиться, что тесты выполняются для предполагаемой версии.
+
+Например [history v2 `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/history/v2/tsconfig.json) looks like:
+
+```json
+{
+ "compilerOptions": {
+ "baseUrl": "../../",
+ "typeRoots": ["../../"],
+ "paths": {
+ "history": [ "history/v2" ]
+ }
+ },
+ "files": [
+ "index.d.ts",
+ "history-tests.ts"
+ ]
+}
+```
+
+Если в DefinitelyTyped есть другие пакеты, несовместимые с новой версией, вам нужно будет добавить сопоставления путей к старой версии. Вам также нужно будет сделать это для пакетов в зависимости от пакетов в зависимости от старой версии.
+
+Например, `react-router` зависит от `history@2`, поэтому [react-router `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router/tsconfig.json) есть сопоставление пути с `"history": [ "history/v2" ]`;
+транзитивно `react-router-bootstrap` (который зависит от `react-router`) также добавляет отображение пути в свой [tsconfig.json](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router-bootstrap/tsconfig.json).
+
+Также, `/// ` не будет работать с отображением пути, поэтому зависимости должны использовать `import`.
+
+#### Как мне написать определения для пакетов, которые могут использоваться и глобально и в качестве модуля?
+
+Руководство TypeScript содержит отличную [общую информацию о написании определений](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html), а также [этот пример файла определения](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html) , в котором показано, как создать определение с использованием синтаксиса модуля в стиле ES6, а также указаны объекты, доступные для глобальной области. Этот метод демонстрируется практически в определении для [definition for big.js](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/big.js/index.d.ts), библиотекой, которую можно загружать глобально с помощью тега скрипта на веб-странице или импортировать с помощью импорта по требованию или в стиле ES6.
+
+Чтобы проверить, как ваше определение может использоваться как при глобальных ссылках, так и в качестве импортированного модуля, создайте тестовую папку `test`, и поместите туда два тестовых файла. Назовите один `YourLibraryName-global.test.ts` а другой `YourLibraryName-module.test.ts`. *Глобальный* тестовый файл должен использовать определение в соответствии с тем, как он будет использоваться в скрипте, загруженном на веб-страницу, где библиотека доступна в глобальной области видимости - в этом сценарии не следует указывать оператор импорта. Тестовый файл *модуля* должен использовать определение в соответствии с тем, как оно будет использоваться при импорте (включая оператор(ы) `import`). Если вы указали свойство `files` в файле `tsconfig.json`, обязательно включите оба тестовых файла. [Практический пример этого](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/big.js/test) также доступен в определении big.js.
+
+Обратите внимание, что не требуется полностью использовать определение в каждом тестовом файле - достаточно протестировать только глобально доступные элементы в глобальном тестовом файле и полностью выполнить определение в тестовом файле модуля, или наоборот.
+
+#### А как насчет областных пакетов?
+
+Типы для пакета с областью `@foo/bar` должны указываться в `types/foo__bar`. Обратите внимание на двойное подчеркивание.
+
+Когда `dts-gen` используется для компоновки пакета с областью действия, свойство `paths` должно быть вручную адаптировано в сгенерированном файле
+`tsconfig.json` для правильной ссылки на пакет с областью действия:
+
+```json
+{
+ "paths":{
+ "@foo/bar": ["foo__bar"]
+ }
+}
+```
+
+
+#### История файлов в GitHub выглядит неполной.
+
+GitHub не [поддерживает](http://stackoverflow.com/questions/5646174/how-to-make-github-follow-directory-history-after-renames) историю файлов для переименованных файлов. Вместо этого используйте [`git log --follow`](https://www.git-scm.com/docs/git-log).
+
+#### Должен ли я добавить пустой namespace в пакет, который не экспортирует модуль для использования импорта в стиле ES6?
+
+Некоторые пакеты, такие как [chai-http](https://github.com/chaijs/chai-http), экспортируют функцию.
+
+Импорт этого модуля с импортом в стиле ES6 в форме `import * as foo from "foo";` приводит к ошибке:
+
+> error TS2497: Module 'foo' resolves to a non-module entity and cannot be imported using this construct
+
+Эту ошибку можно устранить, объединив объявление функции с пустым namespace'ом с тем же именем, но это не рекомендуется.
+Это часто цитируемый [ответ с Stack Overflow](https://stackoverflow.com/questions/39415661/what-does-resolves-to-a-non-module-entity-and-cannot-be-imported-using-this) по этому вопросу.
+
+Более целесообразно импортировать модуль, используя `import foo = require("foo");` синтаксис или использовать импорт по умолчанию, такой как `import foo from "foo";` при использовании флага `--allowSyntheticDefaultImports`, если среда выполнения вашего модуля поддерживает схему взаимодействия для модулей не-ECMAScript как таковых.
+
+## Лицензия
+
+Этот проект лицензирован по лицензии MIT.
+
+Авторские права на файлы определений принадлежат каждому участнику, указанному в начале каждого файла определения.
+
+[](https://github.com/igrigorik/ga-beacon)
+
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=13) В среднем пакеты публикуются на npm менее чем за 10000 секунд?
+
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=14) Был ли typescript-bot активным на DefinitelyTyped в последние два часа?
diff --git a/node-gettext/index.d.ts b/node-gettext/index.d.ts
new file mode 100644
index 0000000000..735f8db84b
--- /dev/null
+++ b/node-gettext/index.d.ts
@@ -0,0 +1,27 @@
+// Type definitions for node-gettext 2.0
+// Project: http://github.com/alexanderwallin/node-gettext
+// Definitions by: Sameer K.C.
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+export = GetText;
+declare class GetText {
+ constructor(options?: { debug: boolean; });
+ addTranslations(locale: string, domain: string, translations: object): void;
+ dgettext(domain: string, msgid: string): string;
+ dngettext(domain: string, msgid: string, msgidPlural: string, count: number): string;
+ dnpgettext(domain: string, msgctxt: string, msgid: string, msgidPlural: string, count: number): string;
+ dpgettext(domain: string, msgctxt: string, msgid: string): string;
+ emit(eventName: string, eventData: any): void;
+ getComment(domain: string, msgctxt: string, msgid: string): object | boolean;
+ gettext(msgid: string): string;
+ ngettext(msgid: string, msgidPlural: string, count: number): string;
+ npgettext(msgctxt: string, msgid: string, msgidPlural: string, count: number): string;
+ off(eventName: string, callback: (params: any) => void): string;
+ on(eventName: string, callback: (params: any) => void): void;
+ pgettext(msgctxt: string, msgid: string): string;
+ setLocale(locale: string): void;
+ setTextDomain(domain: string): void;
+ static getLanguageCode(locale: string): string;
+ textdomain(domain: string): void;
+ warn(message: string): void;
+}
diff --git a/node-gettext/node-gettext-tests.ts b/node-gettext/node-gettext-tests.ts
new file mode 100644
index 0000000000..e20e6aacac
--- /dev/null
+++ b/node-gettext/node-gettext-tests.ts
@@ -0,0 +1,34 @@
+// with tsc v 2.7 & esModuleInterop & allowSyntheticDefaultImports enabled in tsconfig.json
+import Gettext from 'node-gettext';
+// or without
+// import Gettext = require('node-getttext');
+
+const translations = {};
+const gt = new Gettext({ debug: true });
+const msgid = 'Get translation';
+const msgidPlural = 'Get translations';
+const domain = 'domain';
+const msgctxt = 'context';
+const count = 2;
+
+gt.addTranslations('en-US', 'messages', translations);
+gt.setTextDomain(domain);
+gt.textdomain(domain);
+gt.setLocale('en-US');
+gt.gettext(msgid);
+gt.dgettext('', msgid);
+gt.dngettext(domain, msgid, msgidPlural, count);
+gt.dnpgettext(domain, msgctxt, msgid, msgidPlural, count);
+gt.dpgettext(domain, msgctxt, msgid);
+gt.getComment(domain, msgctxt, msgid);
+gt.ngettext(msgid, msgidPlural, count);
+gt.npgettext(msgctxt, msgid, msgidPlural, count);
+gt.pgettext(msgctxt, msgid);
+Gettext.getLanguageCode('en-US');
+gt.warn('warning');
+const errorListener = (error: string) => {
+ // do something;
+};
+gt.on('error', errorListener);
+gt.emit('error', 'Error occurred');
+gt.off('error', errorListener);
diff --git a/node-gettext/tsconfig.json b/node-gettext/tsconfig.json
new file mode 100644
index 0000000000..9306d23426
--- /dev/null
+++ b/node-gettext/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [
+ "es6"
+ ],
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "baseUrl": "../",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "files": [
+ "index.d.ts",
+ "node-gettext-tests.ts"
+ ]
+}
diff --git a/types/babel__parser/tslint.json b/node-gettext/tslint.json
similarity index 100%
rename from types/babel__parser/tslint.json
rename to node-gettext/tslint.json
diff --git a/notNeededPackages.json b/notNeededPackages.json
index 4e66976014..4acd790e24 100644
--- a/notNeededPackages.json
+++ b/notNeededPackages.json
@@ -144,6 +144,12 @@
"sourceRepoURL": "https://github.com/Azure/azure-mobile-apps-node/",
"asOfVersion": "3.0.0"
},
+ {
+ "libraryName": "@babel/parser",
+ "typingsPackageName": "babel__parser",
+ "sourceRepoURL": "https://github.com/babel/babel",
+ "asOfVersion": "7.1.0"
+ },
{
"libraryName": "BabylonJS",
"typingsPackageName": "babylonjs",
@@ -174,6 +180,12 @@
"sourceRepoURL": "https://github.com/Microsoft/Bing-Maps-V8-TypeScript-Definitions",
"asOfVersion": "2.0.15"
},
+ {
+ "libraryName": "bitwise",
+ "typingsPackageName": "bitwise",
+ "sourceRepoURL": "https://github.com/dodekeract/bitwise",
+ "asOfVersion": "2.0.0"
+ },
{
"libraryName": "botvs",
"typingsPackageName": "botvs",
@@ -390,6 +402,18 @@
"sourceRepoURL": "https://github.com/MikeMcl/decimal.js",
"asOfVersion": "7.4.0"
},
+ {
+ "libraryName": "deepmerge",
+ "typingsPackageName": "deepmerge",
+ "sourceRepoURL": "git@github.com:KyleAMathews/deepmerge.git",
+ "asOfVersion": "2.2.0"
+ },
+ {
+ "libraryName": "delay",
+ "typingsPackageName": "delay",
+ "sourceRepoURL": "https://github.com/sindresorhus/delay",
+ "asOfVersion": "3.1.0"
+ },
{
"libraryName": "DevExtreme",
"typingsPackageName": "devextreme",
@@ -522,6 +546,12 @@
"sourceRepoURL": "https://github.com/code-chris/extended-listbox",
"asOfVersion": "4.0.1"
},
+ {
+ "libraryName": "fast-diff",
+ "typingsPackageName": "fast-diff",
+ "sourceRepoURL": "https://github.com/jhchen/fast-diff",
+ "asOfVersion": "1.2.0"
+ },
{
"libraryName": "JSON-Patch",
"typingsPackageName": "fast-json-patch",
@@ -606,6 +636,18 @@
"sourceRepoURL": "https://github.com/mikedeboer/node-github",
"asOfVersion": "7.1.0"
},
+ {
+ "libraryName": "gitlab",
+ "typingsPackageName": "gitlab",
+ "sourceRepoURL": "https://github.com/jdalrymple/node-gitlab",
+ "asOfVersion": "2.0.0"
+ },
+ {
+ "libraryName": "Google Cloud Storage",
+ "typingsPackageName": "google-cloud__storage",
+ "sourceRepoURL": "https://github.com/googleapis/nodejs-storage",
+ "asOfVersion": "2.3.0"
+ },
{
"libraryName": "graphene-pk11",
"typingsPackageName": "graphene-pk11",
@@ -642,6 +684,12 @@
"sourceRepoURL": "https://handsontable.com/",
"asOfVersion": "0.35.0"
},
+ {
+ "libraryName": "hibp",
+ "typingsPackageName": "hibp",
+ "sourceRepoURL": "https://github.com/wKovacs64/hibp",
+ "asOfVersion": "7.3.0"
+ },
{
"libraryName": "homeworks",
"typingsPackageName": "homeworks",
@@ -912,12 +960,24 @@
"sourceRepoURL": "https://github.com/blakeembrey/lower-case-first",
"asOfVersion": "1.0.1"
},
+ {
+ "libraryName": "mali",
+ "typingsPackageName": "mali",
+ "sourceRepoURL": "https://github.com/malijs/mali",
+ "asOfVersion": "0.9.2"
+ },
{
"libraryName": "maquette",
"typingsPackageName": "maquette",
"sourceRepoURL": "http://maquettejs.org/",
"asOfVersion": "2.1.6"
},
+ {
+ "libraryName": "maxmind",
+ "typingsPackageName": "maxmind",
+ "sourceRepoURL": "https://github.com/runk/node-maxmind",
+ "asOfVersion": "2.0.5"
+ },
{
"libraryName": "mendixmodelsdk",
"typingsPackageName": "mendixmodelsdk",
@@ -954,6 +1014,12 @@
"sourceRepoURL": "https://github.com/mweststrate/mobservable-react",
"asOfVersion": "1.0.0"
},
+ {
+ "libraryName": "Mobx Cookie",
+ "typingsPackageName": "mobx-cookie",
+ "sourceRepoURL": "https://github.com/will-stone/mobx-cookie",
+ "asOfVersion": "1.1.1"
+ },
{
"libraryName": "Moment",
"typingsPackageName": "moment",
@@ -972,6 +1038,12 @@
"sourceRepoURL": "https://github.com/mqttjs/MQTT.js",
"asOfVersion": "2.5.0"
},
+ {
+ "libraryName": "nano",
+ "typingsPackageName": "nano",
+ "sourceRepoURL": "https://github.com/apache/couchdb-nano",
+ "asOfVersion": "7.0.0"
+ },
{
"libraryName": "ng-table",
"typingsPackageName": "ng-table",
@@ -1176,6 +1248,12 @@
"sourceRepoURL": "https://github.com/react-ga/react-ga",
"asOfVersion": "2.3.0"
},
+ {
+ "libraryName": "react-i18next",
+ "typingsPackageName": "react-i18next",
+ "sourceRepoURL": "https://github.com/i18next/react-i18next",
+ "asOfVersion": "8.1.0"
+ },
{
"libraryName": "react-monaco-editor",
"typingsPackageName": "react-monaco-editor",
@@ -1266,6 +1344,12 @@
"sourceRepoURL": "https://github.com/zalmoxisus/redux-devtools-extension",
"asOfVersion": "2.13.2"
},
+ {
+ "libraryName": "redux-little-router",
+ "typingsPackageName": "redux-little-router",
+ "sourceRepoURL": "https://github.com/FormidableLabs/redux-little-router",
+ "asOfVersion": "15.1.0"
+ },
{
"libraryName": "redux-persist",
"typingsPackageName": "redux-persist",
@@ -1404,6 +1488,12 @@
"sourceRepoURL": "https://github.com/zeh/simplesignal",
"asOfVersion": "1.0.0"
},
+ {
+ "libraryName": "sip.js",
+ "typingsPackageName": "sip.js",
+ "sourceRepoURL": "https://github.com/onsip/SIP.js",
+ "asOfVersion": "0.12.0"
+ },
{
"libraryName": "smooth-scrollbar",
"typingsPackageName": "smooth-scrollbar",
@@ -1434,6 +1524,12 @@
"sourceRepoURL": "https://github.com/mozilla/source-map",
"asOfVersion": "0.5.7"
},
+ {
+ "libraryName": "Spectacle",
+ "typingsPackageName": "spectacle",
+ "sourceRepoURL": "http://github.com/FormidableLabs/spectacle/",
+ "asOfVersion": "5.2.3"
+ },
{
"libraryName": "Spin.js",
"typingsPackageName": "spin.js",
@@ -1584,6 +1680,12 @@
"sourceRepoURL": "https://github.com/ansman/validate.js",
"asOfVersion": "0.11.0"
},
+ {
+ "libraryName": "vega",
+ "typingsPackageName": "vega",
+ "sourceRepoURL": "https://github.com/vega/vega",
+ "asOfVersion": "3.2.0"
+ },
{
"libraryName": "vso-node-api",
"typingsPackageName": "vso-node-api",
diff --git a/package.json b/package.json
index 09fe064d48..7fc0358f27 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
},
"devDependencies": {
"dtslint": "github:Microsoft/dtslint#production",
- "types-publisher": "Microsoft/types-publisher#production"
- }
+ "types-publisher": "github:Microsoft/types-publisher#production"
+ },
+ "dependencies": {}
}
diff --git a/types/a11y-dialog/a11y-dialog-tests.ts b/types/a11y-dialog/a11y-dialog-tests.ts
new file mode 100644
index 0000000000..3df694fcdd
--- /dev/null
+++ b/types/a11y-dialog/a11y-dialog-tests.ts
@@ -0,0 +1,30 @@
+import A11yDialog = require('a11y-dialog');
+
+const dialogEl = new A11yDialog(document.getElementById("test"));
+const dialogElTwo = new A11yDialog(document.getElementById("test"), document.getElementById("testContainer"));
+const dialogElThree = new A11yDialog(document.getElementById("test"), "dummy-element");
+
+dialogEl.show();
+dialogEl.hide();
+dialogElTwo.destroy();
+dialogElThree.create();
+
+// Test out interfaces that extends Element.
+dialogEl.on("show", (el: HTMLElement) => {
+ el.textContent;
+});
+
+// Test out element and event.
+dialogEl.on("create", (el: HTMLElement, evt) => {
+ el.textContent;
+
+ evt.target;
+});
+
+dialogEl.on('hide', () => {
+ const t = 5;
+});
+
+dialogEl.off("show", (el: HTMLElement) => {
+ el.textContent;
+});
diff --git a/types/a11y-dialog/index.d.ts b/types/a11y-dialog/index.d.ts
new file mode 100644
index 0000000000..105aaa70e7
--- /dev/null
+++ b/types/a11y-dialog/index.d.ts
@@ -0,0 +1,31 @@
+// Type definitions for a11y-dialog 5.2
+// Project: https://github.com/edenspiekermann/a11y-dialog
+// Definitions by: Yuto
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.8
+
+type DialogEvents = "show" | "hide" | "destroy" | "create";
+declare class A11yDialog {
+ constructor(el: Element | null, containers?: NodeList | Element | string | null);
+ /**
+ * Shows the dialog.
+ */
+ show(): void;
+ /**
+ * Hides the dialog.
+ */
+ hide(): void;
+ /**
+ * Unbind click listeners from dialog openers and closers and remove all bound custom event listeners registered with `.on()`
+ */
+ destroy(): void;
+ /**
+ * Bind click listeners to dialog openers and closers.
+ */
+ create(el?: Element | null, containers?: NodeList | Element | string | null): void;
+
+ on(evt: DialogEvents, callback: (dialogElement: any, event: Event) => void): void;
+ off(evt: DialogEvents, callback: (dialogElement: any, event: Event) => void): void;
+}
+
+export = A11yDialog;
diff --git a/types/spectacle/tsconfig.json b/types/a11y-dialog/tsconfig.json
similarity index 87%
rename from types/spectacle/tsconfig.json
rename to types/a11y-dialog/tsconfig.json
index 46722f9753..a27d99d6bf 100644
--- a/types/spectacle/tsconfig.json
+++ b/types/a11y-dialog/tsconfig.json
@@ -7,7 +7,7 @@
],
"noImplicitAny": true,
"noImplicitThis": true,
- "strictNullChecks": false,
+ "strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
@@ -20,6 +20,6 @@
},
"files": [
"index.d.ts",
- "spectacle-tests.tsx"
+ "a11y-dialog-tests.ts"
]
}
\ No newline at end of file
diff --git a/types/a11y-dialog/tslint.json b/types/a11y-dialog/tslint.json
new file mode 100644
index 0000000000..e60c15844f
--- /dev/null
+++ b/types/a11y-dialog/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": "dtslint/dt.json"
+}
\ No newline at end of file
diff --git a/types/abstract-leveldown/abstract-leveldown-tests.ts b/types/abstract-leveldown/abstract-leveldown-tests.ts
index c5edadf069..070065f425 100644
--- a/types/abstract-leveldown/abstract-leveldown-tests.ts
+++ b/types/abstract-leveldown/abstract-leveldown-tests.ts
@@ -11,3 +11,7 @@ const test = (levelDown: AbstractLevelDOWN) => {
test(new AbstractLevelDOWN('here'));
// $ExpectType void
test(AbstractLevelDOWN('there'));
+// $ExpectType void
+test(new AbstractLevelDOWN('here'));
+// $ExpectType void
+test(AbstractLevelDOWN('there'));
diff --git a/types/abstract-leveldown/index.d.ts b/types/abstract-leveldown/index.d.ts
index 2caf073432..ad8fab5d74 100644
--- a/types/abstract-leveldown/index.d.ts
+++ b/types/abstract-leveldown/index.d.ts
@@ -3,6 +3,7 @@
// Definitions by: Meirion Hughes
// Daniel Byrne
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.3
export interface AbstractOptions {
readonly [k: string]: any;
@@ -21,7 +22,7 @@ export interface AbstractGetOptions extends AbstractOptions {
asBuffer?: boolean;
}
-export interface AbstractLevelDOWN extends AbstractOptions {
+export interface AbstractLevelDOWN extends AbstractOptions {
open(cb: ErrorCallback): void;
open(options: AbstractOpenOptions, cb: ErrorCallback): void;
@@ -38,17 +39,23 @@ export interface AbstractLevelDOWN extends AbstractOptions {
batch(): AbstractChainedBatch;
batch(array: ReadonlyArray>, cb: ErrorCallback): AbstractChainedBatch;
- batch(array: ReadonlyArray>, options: AbstractOptions, cb: ErrorCallback): AbstractChainedBatch;
+ batch(
+ array: ReadonlyArray>,
+ options: AbstractOptions,
+ cb: ErrorCallback,
+ ): AbstractChainedBatch;
iterator(options?: AbstractIteratorOptions): AbstractIterator;
}
export interface AbstractLevelDOWNConstructor {
- new (location: string): AbstractLevelDOWN;
- (location: string): AbstractLevelDOWN;
+ // tslint:disable-next-line no-unnecessary-generics
+ new (location: string): AbstractLevelDOWN;
+ // tslint:disable-next-line no-unnecessary-generics
+ (location: string): AbstractLevelDOWN;
}
-export interface AbstractIteratorOptions extends AbstractOptions {
+export interface AbstractIteratorOptions extends AbstractOptions {
gt?: K;
gte?: K;
lt?: K;
@@ -61,20 +68,20 @@ export interface AbstractIteratorOptions extends AbstractOptions {
valueAsBuffer?: boolean;
}
-export type AbstractBatch = PutBatch | DelBatch;
+export type AbstractBatch = PutBatch | DelBatch;
-export interface PutBatch {
+export interface PutBatch {
readonly type: 'put';
readonly key: K;
readonly value: V;
}
-export interface DelBatch {
+export interface DelBatch {
readonly type: 'del';
readonly key: K;
}
-export interface AbstractChainedBatch extends AbstractChainedBatchConstructor, AbstractOptions {
+export interface AbstractChainedBatch extends AbstractOptions {
put: (key: K, value: V) => this;
del: (key: K) => this;
clear: () => this;
@@ -83,19 +90,23 @@ export interface AbstractChainedBatch extends AbstractChainedBatchConstruc
}
export interface AbstractChainedBatchConstructor {
- new(db: any): AbstractChainedBatch;
- (db: any): AbstractChainedBatch;
+ // tslint:disable-next-line no-unnecessary-generics
+ new (db: any): AbstractChainedBatch;
+ // tslint:disable-next-line no-unnecessary-generics
+ (db: any): AbstractChainedBatch;
}
-export interface AbstractIterator extends AbstractChainedBatchConstructor {
+export interface AbstractIterator extends AbstractOptions {
db: AbstractLevelDOWN;
next(cb: ErrorKeyValueCallback): this;
end(cb: ErrorCallback): void;
}
export interface AbstractIteratorConstructor {
- new(db: any): AbstractIterator;
- (db: any): AbstractIterator;
+ // tslint:disable-next-line no-unnecessary-generics
+ new (db: any): AbstractIterator;
+ // tslint:disable-next-line no-unnecessary-generics
+ (db: any): AbstractIterator;
}
export const AbstractLevelDOWN: AbstractLevelDOWNConstructor;
diff --git a/types/accept/accept-tests.ts b/types/accept/accept-tests.ts
new file mode 100644
index 0000000000..659d05c174
--- /dev/null
+++ b/types/accept/accept-tests.ts
@@ -0,0 +1,31 @@
+import * as accept from 'accept';
+
+accept.charsets("iso-8859-5, unicode-1-1;q=0.8"); // charset === "iso-8859-5"
+accept.charset("iso-8859-5, unicode-1-1;q=0.8", ["unicode-1-1"]); // charset === "unicode-1-1"
+
+accept.encoding("gzip, deflate, sdch"); // encoding === "gzip"
+accept.encoding("gzip, deflate, sdch", ["deflate", "identity"]);
+
+const encodings = accept.encodings("compress;q=0.5, gzip;q=1.0"); // encodings === ["gzip", "compress", "identity"]
+encodings.lastIndexOf('');
+
+accept.language("en;q=0.7, en-GB;q=0.8");
+accept.language("en;q=0.7, en-GB;q=0.8", ["en-gb"]); // language === "en-GB"
+const languages = accept.languages("da, en;q=0.7, en-GB;q=0.8"); // languages === ["da", "en-GB", "en"]
+languages.lastIndexOf('');
+
+accept.mediaType("text/plain, application/json;q=0.5, text/html, */*;q=0.1");
+accept.mediaType("text/plain, application/json;q=0.5, text/html, */*;q=0.1", ["application/json", "text/html"]);
+const mediaTypes = accept.mediaTypes("text/plain, application/json;q=0.5, text/html, */*;q=0.1");
+// mediaTypes === ["text/plain", "text/html", "application/json", "*/*"]
+mediaTypes.lastIndexOf('');
+const headers = {
+ accept: 'text/plain, application/json;q=0.5, text/html, */*;q=0.1',
+ 'accept-language': 'da, en;q=0.7, en-GB;q=0.8'
+};
+
+const all = accept.parseAll(headers);
+all.charsets.length;
+all.encodings.length;
+all.languages.length;
+all.mediaTypes.length;
diff --git a/types/accept/index.d.ts b/types/accept/index.d.ts
new file mode 100644
index 0000000000..886193a01e
--- /dev/null
+++ b/types/accept/index.d.ts
@@ -0,0 +1,22 @@
+// Type definitions for accept 3.1
+// Project: https://github.com/hapijs/accept#readme
+// Definitions by: feinoujc
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.1
+
+export function charset(charsetHeader?: string, preferences?: string[]): string;
+export function charsets(charsetHeader?: string): string[];
+export function encoding(encodingHeader?: string, preferences?: string[]): string;
+export function encodings(encodingHeader?: string): string[];
+export function language(languageHeader?: string, preferences?: string[]): string;
+export function languages(languageHeader?: string): string[];
+export function mediaType(mediaTypeHeader?: string, preferences?: string[]): string;
+export function mediaTypes(mediaTypeHeader?: string): string[];
+export function parseAll(
+ headers: Record
+): {
+ charsets: string[];
+ encodings: string[];
+ languages: string[];
+ mediaTypes: string[];
+};
diff --git a/types/gitlab/tsconfig.json b/types/accept/tsconfig.json
similarity index 94%
rename from types/gitlab/tsconfig.json
rename to types/accept/tsconfig.json
index f1297faf67..cb192697d5 100644
--- a/types/gitlab/tsconfig.json
+++ b/types/accept/tsconfig.json
@@ -18,6 +18,6 @@
},
"files": [
"index.d.ts",
- "gitlab-tests.ts"
+ "accept-tests.ts"
]
}
diff --git a/types/deepmerge/tslint.json b/types/accept/tslint.json
similarity index 100%
rename from types/deepmerge/tslint.json
rename to types/accept/tslint.json
diff --git a/types/ace/index.d.ts b/types/ace/index.d.ts
index 7faa5da4f8..2588539c0c 100644
--- a/types/ace/index.d.ts
+++ b/types/ace/index.d.ts
@@ -549,6 +549,16 @@ declare namespace AceAjax {
getFoldsInRange(range: Range): any;
highlight(text: string): void;
+
+
+ /**
+ * Highlight lines from `startRow` to `EndRow`.
+ * @param startRow Define the start line of the highlight
+ * @param endRow Define the end line of the highlight
+ * @param clazz Set the CSS class for the marker
+ * @param inFront Set to `true` to establish a front marker
+ **/
+ highlightLines(startRow:number, endRow: number, clazz: string, inFront: boolean): Range;
/**
* Sets the `EditSession` to point to a new `Document`. If a `BackgroundTokenizer` exists, it also points to `doc`.
@@ -1223,7 +1233,7 @@ declare namespace AceAjax {
/**
* Returns `true` if the current `textInput` is in focus.
**/
- isFocused(): void;
+ isFocused(): boolean;
/**
* Blurs the current `textInput`.
diff --git a/types/ace/test/selection.ts b/types/ace/test/selection.ts
index be7da64331..e698664b83 100644
--- a/types/ace/test/selection.ts
+++ b/types/ace/test/selection.ts
@@ -123,7 +123,7 @@ const aceSelectionTests = {
},
"test: moveCursor word left with umlauts": function () {
- var session = new AceAjax.EditSession(" Fu� F��e");
+ var session = new AceAjax.EditSession(" Fu¢ F¢¢e");
var selection = session.getSelection();
selection.moveCursorTo(0, 9)
diff --git a/types/acorn/index.d.ts b/types/acorn/index.d.ts
index 5d02bd716c..e6a9291d1c 100644
--- a/types/acorn/index.d.ts
+++ b/types/acorn/index.d.ts
@@ -246,9 +246,7 @@ declare namespace acorn {
let LooseParser: ILooseParserClass | undefined;
let pluginsLoose: PluginsObject | undefined;
- interface ILooseParserClass {
- new (input: string, options?: Options): ILooseParser;
- }
+ type ILooseParserClass = new (input: string, options?: Options) => ILooseParser;
interface ILooseParser {}
diff --git a/types/actioncable/index.d.ts b/types/actioncable/index.d.ts
index 9194e81d6f..b5bdbf429a 100644
--- a/types/actioncable/index.d.ts
+++ b/types/actioncable/index.d.ts
@@ -1,13 +1,15 @@
-// Type definitions for ActionCable
-// Project: https://github.com/rails/rails/tree/master/actioncable
+// Type definitions for ActionCable 5.2
+// Project: https://github.com/rails/rails/tree/master/actioncable/app/assets/javascripts
// Definitions by: Vincent Zhu
+// Jared Szechy
// Definitions: https://github.com/zhu1230/DefinitelyTyped
+// TypeScript Version: 2.3
declare module ActionCable {
interface Channel {
unsubscribe(): void;
perform(action: string, data: {}): void;
- send(data: Object): boolean;
+ send(data: any): boolean;
}
interface Subscriptions {
@@ -16,12 +18,16 @@ declare module ActionCable {
interface Cable {
subscriptions: Subscriptions;
+ send(data: any): void;
+ connect(): void;
+ disconnect(): void;
+ ensureActiveConnection(): void;
}
interface CreateMixin {
connected(): void;
disconnected(): void;
- received(obj: Object): void;
+ received(obj: any): void;
[key: string]: Function;
}
diff --git a/types/active-win/active-win-tests.ts b/types/active-win/active-win-tests.ts
new file mode 100644
index 0000000000..034b03d85a
--- /dev/null
+++ b/types/active-win/active-win-tests.ts
@@ -0,0 +1,17 @@
+import activeWin = require('active-win');
+
+// $ExpectType Promise
+activeWin();
+// $ExpectType Result
+activeWin.sync();
+
+let win = {
+ title: 'Unicorns - Google Search',
+ id: 5762,
+ owner: {
+ name: 'Google Chrome',
+ processId: 310,
+ },
+};
+
+win = activeWin.sync();
diff --git a/types/active-win/index.d.ts b/types/active-win/index.d.ts
new file mode 100644
index 0000000000..7ab1f1e123
--- /dev/null
+++ b/types/active-win/index.d.ts
@@ -0,0 +1,30 @@
+// Type definitions for active-win 4.0
+// Project: https://github.com/sindresorhus/active-win#readme
+// Definitions by: BendingBender
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+export = activeWin;
+
+declare function activeWin(): Promise;
+
+declare namespace activeWin {
+ function sync(): Result;
+
+ interface Result {
+ title: string;
+ id: number;
+ bounds?: {
+ x: number;
+ y: number;
+ width: number;
+ height: number;
+ };
+ owner: {
+ name: string;
+ processId: number;
+ bundleId?: number;
+ path?: string;
+ };
+ memoryUsage?: number;
+ }
+}
diff --git a/types/active-win/tsconfig.json b/types/active-win/tsconfig.json
new file mode 100644
index 0000000000..fc292756af
--- /dev/null
+++ b/types/active-win/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [
+ "es6"
+ ],
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "baseUrl": "../",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true
+ },
+ "files": [
+ "index.d.ts",
+ "active-win-tests.ts"
+ ]
+}
diff --git a/types/fast-diff/tslint.json b/types/active-win/tslint.json
similarity index 100%
rename from types/fast-diff/tslint.json
rename to types/active-win/tslint.json
diff --git a/types/adone/glosses/utils.d.ts b/types/adone/glosses/utils.d.ts
index 5d2eb5f198..a08d4af4bd 100644
--- a/types/adone/glosses/utils.d.ts
+++ b/types/adone/glosses/utils.d.ts
@@ -451,7 +451,7 @@ declare namespace adone {
| encoding.Multibyte;
}
- const defaultCharUnicode: "�";
+ const defaultCharUnicode: string;
const defaultCharSingleByte: "?";
diff --git a/types/aframe/index.d.ts b/types/aframe/index.d.ts
index b405de0273..0a3ba3c133 100644
--- a/types/aframe/index.d.ts
+++ b/types/aframe/index.d.ts
@@ -1,345 +1,492 @@
-// Type definitions for AFRAME 0.7
+// Type definitions for AFRAME 0.8
// Project: https://aframe.io/
// Definitions by: Paul Shannon
// Roberto Ritger
// Trygve Wastvedt
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.3
+// TypeScript Version: 2.8
/**
- * Extended tests available at https://github.com/devpaul/aframe-typings.git
+ * Extended tests and examples available at https://github.com/devpaul/aframe-experiments.git
*/
-///
///
-// Globals
-declare var AFRAME: AFrame.AFrameGlobal;
-declare var hasNativeWebVRImplementation: boolean;
+import * as three from 'three';
+import * as tween from '@tweenjs/tween.js';
-interface Document {
- createElement(tagName: string): AFrame.Entity;
- querySelector(selectors: 'a-scene'): AFrame.Scene;
- querySelector(selectors: string): AFrame.Entity;
- querySelectorAll(selectors: string): NodeListOf | Element>;
+export type ThreeLib = typeof three;
+export type TweenLib = typeof tween;
+
+export interface ObjectMap {
+ [key: string]: T;
}
-// Interfaces
-declare namespace AFrame {
- interface ObjectMap {
- [ key: string ]: T;
- }
+export interface Animation {
+ attribute: string;
+ begin: string | number;
+ delay: number;
+ direction: 'alternate' | 'alternateReverse' | 'normal' | 'reverse';
+ dur: number;
+ easing(): void;
+ end: string;
+ fill: 'backwards' | 'both' | 'forwards' | 'none';
+ from: any; // TODO type
+ repeat: number | 'indefinite';
+ to: number;
+}
- interface AFrameGlobal {
- AEntity: Entity;
- ANode: ANode;
- AScene: Scene;
- components: { [ key: string ]: ComponentDescriptor };
- geometries: { [ key: string ]: GeometryDescriptor };
- primitives: { [ key: string ]: Entity };
- registerComponent(name: string, component: ComponentDefinition): ComponentConstructor;
- registerElement(name: string, element: ANode): void;
- registerGeometry(name: string, geometry: GeometryDefinition): GeometryConstructor;
- registerPrimitive(name: string, primitive: PrimitiveDefinition): void;
- registerShader(name: string, shader: T): ShaderConstructor;
- registerSystem(name: string, definition: SystemDefinition): SystemConstructor;
- schema: SchemaUtils;
- shaders: { [ key: string ]: ShaderDescriptor };
- systems: { [key: string]: SystemConstructor };
- THREE: typeof THREE;
- TWEEN: typeof TWEEN;
- utils: Utils;
- version: string;
- }
+export interface ANode extends HTMLElement {
+ // Only public APIs added. Many methods intentionally left out.
+ // createdCallback
+ // attachedCallback
+ // attributeChangedCallback
+ closestScene(): Scene;
+ closest(selector: string): ANode;
+ // detachedCallback
+ hasLoaded: boolean;
+ load(cb?: () => void, childFilter?: (el: Element) => boolean): void;
+ // updateMixins
+ registerMixin(id: string): void;
+ setAttribute(type: string, newValue: any): void;
+ unregisterMixin(id: string): void;
+ removeMixinListener(id: string): void;
+ attachMixinListener(mixin: HTMLElement): void;
+ emit(name: string, detail?: any, bubbles?: boolean): void;
+ emitter(name: string, detail?: any, bubbles?: boolean): () => void;
+}
- interface Animation {
- attribute: string;
- begin: string | number;
- delay: number;
- direction: 'alternate' | 'alternateReverse' | 'normal' | 'reverse';
- dur: number;
- easing(): void;
- end: string;
- fill: 'backwards' | 'both' | 'forwards' | 'none';
- from: any; // TODO type
- repeat: number | 'indefinite';
- to: number;
- }
+export interface Behavior {
+ tick(): void;
+}
- interface ANode extends HTMLElement {
- // Only public APIs added. Many methods intentionally left out.
- // createdCallback
- // attachedCallback
- // attributeChangedCallback
- closestScene(): Scene;
- closest(selector: string): ANode;
- // detachedCallback
- hasLoaded: boolean;
- load(cb?: () => void, childFilter?: (el: Element) => boolean): void;
- // updateMixins
- registerMixin(id: string): void;
- setAttribute(type: string, newValue: any): void;
- unregisterMixin(id: string): void;
- removeMixinListener(id: string): void;
- attachMixinListener(mixin: HTMLElement): void;
- emit(name: string, detail?: any, bubbles?: boolean): void;
- emitter(name: string, detail?: any, bubbles?: boolean): () => void;
- }
+export interface Component {
+ attrName?: string;
+ data: T;
+ dependencies?: string[];
+ el: Entity;
+ id: string;
+ multiple?: boolean;
+ name: string;
+ schema: Schema;
+ system: S | undefined;
- interface Behavior {
- tick(): void;
- }
+ init(data?: T): void;
+ pause(): void;
+ play(): void;
+ remove(): void;
+ tick?(time: number, timeDelta: number): void;
+ update(oldData: T): void;
+ updateSchema?(): void;
- interface Component {
- attrName?: string;
- data: T;
- dependencies?: string[];
- el: Entity;
- id: string;
- multiple?: boolean;
+ extendSchema(update: Schema): void;
+ flushToDOM(): void;
+}
+
+export interface ComponentConstructor {
+ new (el: Entity, attrValue: string, id: string): T & Component;
+ prototype: T & {
name: string;
- schema: Schema;
- system: S | undefined;
-
- init(this: this, data?: T): void;
- pause(this: this): void;
- play(this: this): void;
- remove(this: this): void;
- tick?(this: this, time: number, timeDelta: number): void;
- update(this: this, oldData: T): void;
- updateSchema?(this: this): void;
-
- extendSchema(this: this, update: Schema): void;
- flushToDOM(this: this): void;
- }
-
- interface ComponentConstructor {
- new (el: Entity, attrValue: string, id: string): T;
- }
-
- type ComponentDefinition = Partial;
-
- interface ComponentDescriptor {
- Component: ComponentConstructor;
- dependencies: string[] | undefined;
- multiple: boolean | undefined;
-
- // internal APIs2
- // parse
- // parseAttrValueForCache
- // schema
- // stringify
- // type
- }
-
- interface Coordinate {
- x: number;
- y: number;
- z: number;
- }
-
- interface DefaultComponents {
- position: Component;
- rotation: Component;
- scale: Component;
- }
-
- interface Entity> extends ANode {
- components: C & DefaultComponents;
- isPlaying: boolean;
- object3D: THREE.Object3D;
- object3DMap: ObjectMap;
- sceneEl?: Scene;
-
- addState(name: string): void;
- flushToDOM(recursive?: boolean): void;
- /**
- * @deprecated since 0.4.0
- */
- getComputedAttribute(attr: string): Component;
- getDOMAttribute(attr: string): any;
- getObject3D(type: string): THREE.Object3D;
- getOrCreateObject3D(type: string, construct: any): THREE.Object3D;
- is(stateName: string): boolean;
- pause(): void;
+ system: System;
play(): void;
- setObject3D(type: string, obj: THREE.Object3D): void;
- removeAttribute(attr: string, property?: string): void;
- removeObject3D(type: string): void;
- removeState(stateName: string): void;
-
- // getAttribute specific usages
- getAttribute(type: string): any;
- getAttribute(type: 'position' | 'rotation' | 'scale'): Coordinate;
-
- // setAttribute specific usages
- setAttribute(attr: string, value: any): void;
- setAttribute(attr: string, property: string, componentAttrValue?: any): void;
- setAttribute(type: 'position' | 'rotation' | 'scale', value: Coordinate): void;
-
- // addEventListener specific usages
- addEventListener(type: K, listener: (event: Event & EntityEventMap[K]) => void, useCapture?: boolean): void;
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
- }
-
- type DetailEvent = Event & {
- detail: D;
- target: EventTarget & Entity;
+ pause(): void;
};
+}
- interface EntityEventMap {
- 'child-attached': DetailEvent<{ el: Element | Entity }>;
- 'child-detached': DetailEvent<{ el: Element | Entity }>;
- 'componentchanged': DetailEvent<{
- name: string,
- id: string
- }>;
- 'componentremoved': DetailEvent<{
- name: string,
- id: string,
- newData: any,
- oldData: any
- }>;
- 'loaded': EventListener;
- 'pause': EventListener;
- 'play': EventListener;
- 'stateadded': DetailEvent<{ state: string }>;
- 'stateremoved': DetailEvent<{ state: string }>;
- 'schemachanged': DetailEvent<{ componentName: string }>;
- }
+export interface ComponentDescriptor {
+ Component: ComponentConstructor;
+ dependencies: string[] | undefined;
+ multiple: boolean | undefined;
- interface Geometry {
+ // internal APIs2
+ // parse
+ // parseAttrValueForCache
+ // schema
+ // stringify
+ // type
+}
+
+export interface Coordinate {
+ x: number;
+ y: number;
+ z: number;
+}
+
+export interface DefaultComponents {
+ position: Component;
+ rotation: Component;
+ scale: Component;
+}
+
+export interface Entity> extends ANode {
+ components: C & DefaultComponents;
+ isPlaying: boolean;
+ object3D: THREE.Object3D;
+ object3DMap: ObjectMap;
+ sceneEl?: Scene;
+
+ addState(name: string): void;
+ flushToDOM(recursive?: boolean): void;
+ /**
+ * @deprecated since 0.4.0
+ */
+ getComputedAttribute(attr: string): Component;
+ getDOMAttribute(attr: string): any;
+ getObject3D(type: string): THREE.Object3D;
+ getOrCreateObject3D(type: string, construct: any): THREE.Object3D;
+ is(stateName: string): boolean;
+ pause(): void;
+ play(): void;
+ setObject3D(type: string, obj: THREE.Object3D): void;
+ removeAttribute(attr: string, property?: string): void;
+ removeObject3D(type: string): void;
+ removeState(stateName: string): void;
+
+ // getAttribute specific usages
+ getAttribute(type: string): any;
+ getAttribute(type: 'position' | 'rotation' | 'scale'): Coordinate;
+
+ // setAttribute specific usages
+ setAttribute(attr: string, value: any): void;
+ setAttribute(attr: string, property: string, componentAttrValue?: any): void;
+ setAttribute(type: 'position' | 'rotation' | 'scale', value: Coordinate): void;
+
+ // addEventListener specific usages
+ addEventListener(
+ type: K,
+ listener: (event: Event & EntityEventMap[K]) => void,
+ useCapture?: boolean
+ ): void;
+ addEventListener(
+ type: string,
+ listener: EventListenerOrEventListenerObject,
+ useCapture?: boolean
+ ): void;
+}
+
+export type DetailEvent = Event & {
+ detail: D;
+ target: EventTarget & Entity;
+};
+
+export interface EntityEventMap {
+ 'child-attached': DetailEvent<{ el: Element | Entity }>;
+ 'child-detached': DetailEvent<{ el: Element | Entity }>;
+ componentchanged: DetailEvent<{
name: string;
- geometry: THREE.Geometry;
- schema: Schema;
+ id: string;
+ }>;
+ componentremoved: DetailEvent<{
+ name: string;
+ id: string;
+ newData: any;
+ oldData: any;
+ }>;
+ loaded: EventListener;
+ pause: EventListener;
+ play: EventListener;
+ stateadded: DetailEvent<{ state: string }>;
+ stateremoved: DetailEvent<{ state: string }>;
+ schemachanged: DetailEvent<{ componentName: string }>;
+}
- init(this: this, data: { [P in keyof this['schema']]: any }): void;
- // Would like the above to be:
- // init?(this: this, data?: { [P in keyof T['schema']]: T['schema'][P]['default'] } ): void;
- // I think this is prevented by the following issue: https://github.com/Microsoft/TypeScript/issues/21760.
- }
+export interface Geometry {
+ data: T;
+ name: string;
+ geometry: THREE.Geometry;
+ schema: Schema;
- interface GeometryConstructor {
- new (): T;
- }
+ init(data: any): void;
+}
- type GeometryDefinition = Partial;
+export interface GeometryConstructor {
+ new (): T & Geometry;
+}
- interface GeometryDescriptor {
- Geometry: GeometryConstructor;
- schema: Schema;
- }
+export interface GeometryDescriptor {
+ Geometry: GeometryConstructor;
+ schema: Schema;
+}
- type MultiPropertySchema = {
- [P in keyof T]: SinglePropertySchema | T[P];
+export type MultiPropertySchema = {
+ [P in keyof T]: SinglePropertySchema | T[P]
+};
+
+export type PropertyTypes =
+ | 'array'
+ | 'asset'
+ | 'audio'
+ | 'boolean'
+ | 'color'
+ | 'int'
+ | 'map'
+ | 'model'
+ | 'number'
+ | 'selector'
+ | 'selectorAll'
+ | 'string'
+ | 'vec2'
+ | 'vec3'
+ | 'vec4';
+
+export type SceneEvents = 'enter-vr' | 'exit-vr' | 'loaded' | 'renderstart';
+
+export interface Scene extends Entity {
+ behaviors: Behavior[];
+ camera: THREE.Camera;
+ canvas: HTMLCanvasElement;
+ effect: THREE.VREffect;
+ isMobile: boolean;
+ object3D: THREE.Scene;
+ renderer: THREE.WebGLRenderer;
+ renderStarted: boolean;
+ systems: ObjectMap;
+ time: number;
+
+ enterVR(): Promise | void;
+ exitVR(): Promise | void;
+ reload(): void;
+
+ addEventListener(
+ type: string,
+ listener: EventListenerOrEventListenerObject,
+ useCapture?: boolean
+ ): void;
+ addEventListener(type: SceneEvents, listener: EventListener, useCapture?: boolean): void;
+}
+
+export type Schema = SinglePropertySchema | MultiPropertySchema;
+
+export interface SchemaUtils {
+ isSingleProperty(schema: Schema): boolean;
+ process(schema: Schema): boolean;
+}
+
+export interface Shader {
+ name: string;
+ data: object;
+ schema: Schema;
+ material: THREE.Material;
+ vertexShader: string;
+ fragmentShader: string;
+
+ init(data?: this['data']): void;
+ tick?(time: number, timeDelta: number): void;
+ update(oldData: this['data']): void;
+}
+
+export interface ShaderConstructor {
+ new (): T;
+}
+
+export interface ShaderDescriptor {
+ Shader: ShaderConstructor;
+ schema: Schema;
+}
+
+export interface SinglePropertySchema {
+ type?: PropertyTypes;
+ default?: T;
+ parse?(value: string): T;
+ stringify?(value: T): string;
+}
+
+export interface System {
+ data: T;
+ schema: Schema;
+ init(): void;
+ pause(): void;
+ play(): void;
+ tick?(t: number, dt: number): void;
+}
+
+export interface SystemConstructor {
+ new (scene: Scene): T & System;
+}
+
+export interface Utils {
+ coordinates: {
+ isCoordinate(value: string): boolean;
+ parse(value: string): Coordinate;
+ stringify(coord: Coordinate): string;
};
+ entity: {
+ getComponentProperty(entity: Entity, componentName: string, delimiter?: string): any;
+ setComponentProperty(
+ entity: Entity,
+ componentName: string,
+ value: any,
+ delimiter?: string
+ ): void;
+ };
+ device: {
+ isWebXRAvailable: boolean;
+ getVRDisplay(): VRDisplay[];
+ checkHeadsetConnected(): boolean;
+ checkHasPositionalTracking(): boolean;
+ isMobile(): boolean;
+ isTablet(): boolean;
+ isIOS(): boolean;
+ isGearVR(): boolean;
+ isOculusGo(): boolean;
+ isR7(): boolean;
+ isLandscape(): boolean;
+ isBrowserEnvironment(): boolean;
+ isNodeEnvironment(): boolean;
+ PolyfillControls(object3D: THREE.Object3D): void;
+ };
+ styleParser: {
+ parse(value: string): object;
+ stringify(data: object): string;
+ };
+ deepEqual(a: any, b: any): boolean;
+ diff(a: object, b: object): object;
+ extend(target: object, ...source: object[]): object;
+ extendDeep(target: object, ...source: object[]): object;
- interface PrimitiveDefinition {
- defaultComponents?: any; // TODO cleanup type
- deprecated?: boolean;
- mappings?: any; // TODO cleanup type
- transforms?: any; // TODO cleanup type
- }
+ throttle(
+ tickFunction: () => void,
+ minimumInterval: number,
+ optionalContext?: {}
+ ): (t: number, dt: number) => void;
+ throttleTick(
+ tickFunction: (t: number, dt: number) => void,
+ minimumInterval: number,
+ optionalContext?: {}
+ ): (t: number, dt: number) => void;
+}
- type PropertyTypes = 'array' | 'asset' | 'audio' | 'boolean' | 'color' |
- 'int' | 'map' | 'model' | 'number' | 'selector' | 'selectorAll' |
- 'string' | 'vec2' | 'vec3' | 'vec4';
+// Definitions
+// used as mixins to register functions to create classes (newable functions) in A-Frame
+export type ComponentDefinition = T & Partial;
+export type GeometryDefinition = T & Partial>;
+export type NodeDefinition = T & Partial;
+export interface PrimitiveDefinition {
+ defaultComponents?: any; // TODO cleanup type
+ deprecated?: boolean;
+ mappings?: any; // TODO cleanup type
+ transforms?: any; // TODO cleanup type
+}
+export interface MinimalShaderDefinition {
+ schema: Shader['schema'];
+}
+export type ShaderDefinition = T &
+ Partial;
+export type SystemDefinition = T & Partial;
- type SceneEvents = 'enter-vr' | 'exit-vr' | 'loaded' | 'renderstart';
+// root export
+export interface AFrame {
+ AComponent: Component;
+ AEntity: Entity;
+ ANode: ANode;
+ AScene: Scene;
- interface Scene extends Entity {
- behaviors: Behavior[];
- camera: THREE.Camera;
- canvas: HTMLCanvasElement;
- effect: THREE.VREffect;
- isMobile: boolean;
- object3D: THREE.Scene;
- renderer: THREE.WebGLRenderer;
- renderStarted: boolean;
- systems: ObjectMap;
- time: number;
-
- enterVR(): Promise | void;
- exitVR(): Promise | void;
- reload(): void;
-
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
- addEventListener(type: SceneEvents, listener: EventListener, useCapture?: boolean): void;
- }
-
- type Schema = SinglePropertySchema | MultiPropertySchema;
-
- interface SchemaUtils {
- isSingleProperty(schema: Schema): boolean;
- process(schema: Schema): boolean;
- }
-
- interface Shader {
- name: string;
- data: { [key: string]: any };
- schema: Schema;
- material: THREE.Material;
- vertexShader: string;
- fragmentShader: string;
-
- init(this: this, data?: this['data']): void;
- tick?(this: this, time: number, timeDelta: number): void;
- update(this: this, oldData: this['data']): void;
- }
-
- interface ShaderConstructor {
- new (): T;
- }
-
- type ShaderDefinition = Partial;
-
- interface ShaderDescriptor {
- Shader: ShaderConstructor;
- schema: Schema;
- }
-
- interface SinglePropertySchema {
- type?: PropertyTypes;
- 'default'?: T;
- parse?(value: string): T;
- stringify?(value: T): string;
- }
-
- interface System {
- data: { [key: string]: any };
- schema: Schema;
- init(this: this): void;
- pause(this: this): void;
- play(this: this): void;
- tick?(this: this, t: number, dt: number): void;
- }
-
- interface SystemConstructor {
- new (scene: Scene): T;
- }
-
- type SystemDefinition = Partial;
-
- interface Utils {
- coordinates: {
- isCoordinate(value: string): boolean;
- parse(value: string): Coordinate;
- stringify(coord: Coordinate): string;
+ components: ObjectMap;
+ geometries: ObjectMap;
+ primitives: {
+ getMeshMixin(): {
+ defaultComponents: { material: object };
+ mappings: { [key: string]: any }; // TODO improve any type
};
- entity: {
- getComponentProperty(entity: Entity, componentName: string, delimiter?: string): any;
- setComponentProperty(entity: Entity, componentName: string, value: any, delimiter?: string): void;
- };
- styleParser: {
- parse(value: string): object;
- stringify(data: object): string;
- };
- deepEqual(a: any, b: any): boolean;
- diff(a: object, b: object): object;
- extend(target: object, ... source: object[]): object;
- extendDeep(target: object, ... source: object[]): object;
+ primitives: ObjectMap;
+ };
+ scenes: Scene[];
+ schema: SchemaUtils;
+ shaders: ObjectMap;
+ systems: ObjectMap;
+ THREE: ThreeLib;
+ TWEEN: TweenLib;
+ utils: Utils;
+ version: string;
- throttle(tickFunction: () => void, minimumInterval: number, optionalContext?: {}): (t: number, dt: number) => void;
- throttleTick(tickFunction: (t: number, dt: number) => void, minimumInterval: number, optionalContext?: {}): (t: number, dt: number) => void;
+ registerComponent(
+ name: string,
+ component: ComponentDefinition
+ ): ComponentConstructor;
+ registerElement(name: string, element: object): void;
+ registerGeometry(
+ name: string,
+ geometry: GeometryDefinition
+ ): GeometryConstructor;
+ registerPrimitive(name: string, primitive: PrimitiveDefinition): void;
+ registerShader(
+ name: string,
+ shader: ShaderDefinition
+ ): ShaderConstructor;
+ registerSystem(
+ name: string,
+ definition: SystemDefinition
+ ): SystemConstructor;
+}
+
+// module.exports
+export const AComponent: AFrame['AComponent'];
+export const AEntity: AFrame['AEntity'];
+export const ANode: AFrame['ANode'];
+export const AScene: AFrame['AScene'];
+export const components: AFrame['components'];
+export const geometries: AFrame['geometries'];
+export const primitives: AFrame['primitives'];
+export const scenes: AFrame['scenes'];
+export const schema: AFrame['schema'];
+export const shaders: AFrame['shaders'];
+export const systems: AFrame['systems'];
+export const THREE: AFrame['THREE'];
+export const TWEEN: AFrame['TWEEN'];
+export const utils: AFrame['utils'];
+export const version: AFrame['version'];
+export const registerComponent: AFrame['registerComponent'];
+export const registerElement: AFrame['registerElement'];
+export const registerGeometry: AFrame['registerGeometry'];
+export const registerPrimitive: AFrame['registerPrimitive'];
+export const registerShader: AFrame['registerShader'];
+export const registerSystem: AFrame['registerSystem'];
+
+// global exports
+declare global {
+ var hasNativeWebVRImplementation: boolean;
+
+ namespace AFRAME {
+ const AComponent: AFrame['AComponent'];
+ const AEntity: AFrame['AEntity'];
+ const ANode: AFrame['ANode'];
+ const AScene: AFrame['AScene'];
+ const components: AFrame['components'];
+ const geometries: AFrame['geometries'];
+ const primitives: AFrame['primitives'];
+ const scenes: AFrame['scenes'];
+ const schema: AFrame['schema'];
+ const shaders: AFrame['shaders'];
+ const systems: AFrame['systems'];
+ const THREE: AFrame['THREE'];
+ const TWEEN: AFrame['TWEEN'];
+ const utils: AFrame['utils'];
+ const version: string;
+
+ const registerComponent: AFrame['registerComponent'];
+ const registerElement: AFrame['registerElement'];
+ const registerGeometry: AFrame['registerGeometry'];
+ const registerPrimitive: AFrame['registerPrimitive'];
+ const registerShader: AFrame['registerShader'];
+ const registerSystem: AFrame['registerSystem'];
+ }
+
+ /**
+ * Custom elements augment document methods to return custom HTML
+ */
+ interface Document {
+ createElement(tagName: string): Entity;
+ querySelector(selectors: 'a-scene'): Scene;
+ querySelector(selectors: string): Entity;
+ querySelectorAll(selectors: string): NodeListOf | Element>;
+ }
+
+ interface HTMLCollection extends HTMLCollectionBase {
+ /**
+ * Retrieves a select object or an object from an options collection.
+ */
+ namedItem(name: string): Element | Entity | null;
+ item(index: number): Element | Entity;
+ [index: number]: Element | Entity;
}
}
diff --git a/types/aframe/test/aframe-io-tests.ts b/types/aframe/test/aframe-io-tests.ts
new file mode 100644
index 0000000000..1120b50be8
--- /dev/null
+++ b/types/aframe/test/aframe-io-tests.ts
@@ -0,0 +1,1045 @@
+import { Component, Coordinate, Entity, Scene, THREE, ANode } from 'aframe';
+
+/**
+ * These tests are examples from https://aframe.io pulled directly from the sample gallery.
+ * Types and some formatting have been added, but for the most part they remain unchanged.
+ */
+
+// disable checks for things done in the original, JS examples
+/* tslint:disable:object-literal-shorthand */
+/* tslint:disable:no-var-keyword */
+/* tslint:disable:prefer-const */
+/* tslint:disable:only-arrow-functions */
+/* tslint:disable:one-variable-per-declaration */
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// 360 picture gallery
+// Taken from https://glitch.com/edit/#!/aframe-gallery
+
+/**
+ * Component that listens to an event, fades out an entity, swaps the texture, and fades it
+ * back in.
+ */
+AFRAME.registerComponent('set-image', {
+ schema: {
+ on: { type: 'string' },
+ target: { type: 'selector' },
+ src: { type: 'string' },
+ dur: { type: 'number', default: 300 }
+ },
+
+ init: function() {
+ var data = this.data;
+ var el = this.el!;
+
+ this.setupFadeAnimation();
+
+ el.addEventListener(data.on, function() {
+ // Fade out image.
+ data.target.emit('set-image-fade');
+ // Wait for fade to complete.
+ setTimeout(function() {
+ // Set image.
+ data.target.setAttribute('material', 'src', data.src);
+ }, data.dur);
+ });
+ },
+
+ /**
+ * Setup fade-in + fade-out.
+ */
+ setupFadeAnimation: function() {
+ var data = this.data;
+ var targetEl = this.data.target;
+
+ // Only set up once.
+ if (targetEl.dataset.setImageFadeSetup) {
+ return;
+ }
+ targetEl.dataset.setImageFadeSetup = true;
+
+ // Create animation.
+ targetEl.setAttribute('animation__fade', {
+ property: 'material.color',
+ startEvents: 'set-image-fade',
+ dir: 'alternate',
+ dur: data.dur,
+ from: '#FFF',
+ to: '#000'
+ });
+ }
+});
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// 360 video example
+// Taken from https://glitch.com/edit/#!/aframe-360-video-example
+
+AFRAME.registerComponent('arrow-key-rotation', {
+ directionX: 0,
+ directionY: 0,
+
+ schema: {
+ enabled: { default: true },
+ dx: { default: 2.0 },
+ dy: { default: 2.0 }
+ },
+ init: function() {
+ this.onKeyDown = this.onKeyDown.bind(this);
+ this.onKeyUp = this.onKeyUp.bind(this);
+ this.directionX = 0;
+ this.directionY = 0;
+ },
+ play: function() {
+ window.addEventListener('keydown', this.onKeyDown);
+ window.addEventListener('keyup', this.onKeyUp);
+ },
+ pause: function() {
+ window.removeEventListener('keydown', this.onKeyDown);
+ window.removeEventListener('keyup', this.onKeyUp);
+ },
+ onKeyDown: function(evt: KeyboardEvent) {
+ switch (evt.keyCode) {
+ case 37:
+ this.directionX = 1;
+ break;
+ case 38:
+ this.directionY = 1;
+ break;
+ case 39:
+ this.directionX = -1;
+ break;
+ case 40:
+ this.directionY = -1;
+ break;
+ }
+ },
+ onKeyUp: function(evt: KeyboardEvent) {
+ switch (evt.keyCode) {
+ case 37:
+ this.directionX = 0;
+ break;
+ case 38:
+ this.directionY = 0;
+ break;
+ case 39:
+ this.directionX = 0;
+ break;
+ case 40:
+ this.directionY = 0;
+ break;
+ }
+ },
+ tick: function() {
+ if (!this.data.enabled) {
+ return;
+ }
+ var rotation = this.el!.getAttribute('rotation');
+ if (!rotation) {
+ return;
+ }
+ if (this.directionX || this.directionY) {
+ rotation.x += this.data.dx * this.directionY;
+ rotation.y += this.data.dy * this.directionX;
+ this.el!.setAttribute('rotation', rotation);
+ }
+ }
+});
+
+AFRAME.registerComponent('hide-once-playing', {
+ schema: { type: 'selector' },
+ init: function() {
+ this.onPlaying = this.onPlaying.bind(this);
+ this.onPause = this.onPause.bind(this);
+ },
+ play: function() {
+ if (this.data) {
+ this.data.addEventListener('playing', this.onPlaying);
+ this.data.addEventListener('pause', this.onPause);
+ }
+ },
+ pause: function() {
+ if (this.data) {
+ this.data.removeEventListener('playing', this.onPlaying);
+ this.data.removeEventListener('pause', this.onPause);
+ }
+ },
+ onPlaying: function() {
+ this.el!.setAttribute('visible', false);
+ },
+ onPause: function() {
+ this.el!.setAttribute('visible', true);
+ }
+});
+
+AFRAME.registerComponent('play-on-vrdisplayactivate-or-enter-vr', {
+ init: function() {
+ this.playVideo = this.playVideo.bind(this);
+ this.playVideoNextTick = this.playVideoNextTick.bind(this);
+ },
+ play: function() {
+ window.addEventListener('vrdisplayactivate', this.playVideo);
+ this.el!.sceneEl!.addEventListener('enter-vr', this.playVideoNextTick);
+ },
+ pause: function() {
+ this.el!.sceneEl!.removeEventListener('enter-vr', this.playVideoNextTick);
+ window.removeEventListener('vrdisplayactivate', this.playVideo);
+ },
+ playVideoNextTick: function() {
+ setTimeout(this.playVideo);
+ },
+ playVideo: function() {
+ // TODO improve type
+ var video = (this.el! as Entity).components.material.material.map.image;
+ if (!video) {
+ return;
+ }
+ video.play();
+ }
+});
+
+AFRAME.registerComponent('play-on-window-click', {
+ init: function() {
+ this.onClick = this.onClick.bind(this);
+ },
+ play: function() {
+ window.addEventListener('click', this.onClick);
+ },
+ pause: function() {
+ window.removeEventListener('click', this.onClick);
+ },
+ onClick: function() {
+ var video = (this.el! as Entity).components.material.material.map.image;
+ if (!video) {
+ return;
+ }
+ video.play();
+ }
+});
+
+AFRAME.registerComponent('toggle-play-on-window-click', {
+ init: function() {
+ this.onClick = this.onClick.bind(this);
+ },
+ play: function() {
+ window.addEventListener('click', this.onClick);
+ },
+ pause: function() {
+ window.removeEventListener('click', this.onClick);
+ },
+ onClick: function() {
+ var video = (this.el! as Entity).components.material.material.map.image;
+ if (!video) {
+ return;
+ }
+ video.paused ? video.play() : video.pause();
+ }
+});
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Animation
+// Taken from https://github.com/processprocess/lazerGlazer_Viz
+
+interface Appender extends HTMLElement {
+ // append is part of living standard HTML
+ append(n: Node): void;
+}
+let scene = document.querySelector('a-scene') as Scene & Appender;
+let sky = document.querySelector('a-sky');
+let objectContainer = document.querySelector('#object-container');
+
+// random num generator
+function getRandomNumber(x: number, y: number) {
+ return Math.floor(Math.random() * x + y);
+}
+
+// get random hex color
+function getRandomColor() {
+ let letters = '0123456789abcdef';
+ let randomColor = '';
+ for (let i = 0; i < 6; i++) {
+ randomColor += letters[Math.floor(Math.random() * 16)];
+ }
+ return randomColor;
+}
+
+// set sky values
+sky.setAttribute('color', `#${getRandomColor()}`);
+sky.setAttribute(
+ 'animation__color',
+ `property: color; dir: alternate; dur: 2000; easing: easeInOutSine; loop: true; to: #${getRandomColor()}`
+);
+
+// change this value for more or less rings
+let totalRingElements = 10;
+
+function generateAllElements() {
+ for (let a = 0; a < totalRingElements; a++) {
+ // element params
+ let totalCircleElements = getRandomNumber(10, 3);
+ let elementScale = getRandomNumber(3, 1);
+ let scaleDuration = getRandomNumber(3000, 1000);
+
+ // path params
+ let pathValOne = getRandomNumber(21, -10);
+ let pathValTwo = getRandomNumber(11, -20);
+ let pathDuration = getRandomNumber(6000, 5000);
+
+ for (let i = 1; i <= totalCircleElements; i++) {
+ let currentRotation = (360 / totalCircleElements) * i;
+ let rotateContainer = document.createElement('a-entity');
+ rotateContainer.setAttribute('rotation', `0 0 ${currentRotation}`);
+
+ // generate circle element and set params
+ let circleElementContainer = document.createElement('a-entity');
+ circleElementContainer.setAttribute('position', `0 1 0`);
+ let circleElement = document.createElement('a-entity');
+ circleElement.setAttribute('class', `circleElement`);
+ circleElement.setAttribute('scale', `${elementScale} ${elementScale} ${elementScale}`);
+ circleElement.setAttribute(
+ 'material',
+ `color:#${getRandomColor()}; metalness: 0; roughness: 0`
+ );
+ circleElement.setAttribute('geometry', `primitive: sphere; radius: 1.5`);
+ circleElement.setAttribute(
+ 'animation__yoyo',
+ `property: scale; dir: alternate; dur: ${scaleDuration}; easing: easeInOutSine; loop: true; to: 0 0 0`
+ );
+ circleElementContainer.appendChild(circleElement);
+ rotateContainer.appendChild(circleElementContainer);
+
+ // generate path and apply it
+ let track1: Appender = document.createElement('a-curve') as any;
+ track1.setAttribute('class', `track${a}`);
+ scene.append(track1);
+ let point1 = document.createElement('a-curve-point');
+ point1.setAttribute('position', '0 0 0');
+ track1.append(point1);
+ let point2 = document.createElement('a-curve-point');
+ point2.setAttribute('position', `${pathValOne} ${pathValTwo} ${pathValOne}`);
+ track1.append(point2);
+ let point3 = document.createElement('a-curve-point');
+ point3.setAttribute('position', `${pathValTwo} ${pathValOne} ${pathValTwo}`);
+ track1.append(point3);
+ let point4 = document.createElement('a-curve-point');
+ point4.setAttribute('position', '0 0 0');
+ track1.append(point4);
+ circleElement.setAttribute(
+ `alongpath`,
+ `curve: .track${a}; dur: ${pathDuration}; loop: true`
+ );
+
+ // append element to main container
+ objectContainer.appendChild(rotateContainer);
+ }
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Audio Visualization
+// Taken from https://github.com/ngokevin/kframe/tree/b78fb6a17d39556fcf61d00f5afb8b835651e473/components/audioanalyser
+/**
+ * Scale children based on audio frequency levels.
+ */
+AFRAME.registerComponent('audioanalyser-levels-scale', {
+ schema: {
+ analyserEl: { type: 'selector' },
+ max: { default: 20 },
+ multiplier: { default: 100 }
+ },
+
+ tick: function(time) {
+ var analyserEl;
+ var children;
+ var data = this.data;
+ var levels;
+
+ analyserEl = data.analyserEl || this.el;
+ levels = analyserEl.components.audioanalyser.levels;
+ if (!levels) {
+ return;
+ }
+
+ children = this.el!.children;
+ for (var i = 0; i < children.length; i++) {
+ (children[i] as ANode).setAttribute('scale', {
+ x: 1,
+ y: Math.min(data.max, Math.max(levels[i] * data.multiplier, 0.05)),
+ z: 1
+ });
+ }
+ }
+});
+
+AFRAME.registerComponent('audioanalyser-volume-bind', {
+ schema: {
+ analyserEl: { type: 'selector' },
+ component: { type: 'string' },
+ property: { type: 'string' },
+ max: { type: 'number' },
+ multiplier: { type: 'number' }
+ },
+
+ tick: function() {
+ var analyserComponent;
+ var data = this.data;
+ var el = this.el!;
+ var value;
+
+ analyserComponent = data.analyserEl.components.audioanalyser;
+ if (!analyserComponent.analyser) {
+ return;
+ }
+
+ value = Math.min(data.max, analyserComponent.volume * data.multiplier);
+ el.setAttribute(data.component, data.property, value);
+ }
+});
+
+AFRAME.registerComponent('audioanalyser-volume-scale', {
+ schema: {
+ analyserEl: { type: 'selector' },
+ multiplier: { type: 'number', default: 1 }
+ },
+
+ tick: function() {
+ var analyserEl = this.data.analyserEl || this.el;
+ var analyserComponent;
+ var el = this.el!;
+ var volume;
+
+ analyserComponent = analyserEl.components.audioanalyser;
+ if (!analyserComponent.analyser) {
+ return;
+ }
+
+ volume = analyserComponent.volume * this.data.multiplier;
+ el.setAttribute('scale', {
+ x: volume,
+ y: volume,
+ z: volume
+ });
+ }
+});
+
+var perlin = ImprovedNoise();
+
+var RINGCOUNT = 160;
+var SEGMENTS = 512;
+
+interface AnalyserComponent extends Component {
+ analyser: any;
+ volume: number;
+ waveform: number[];
+}
+
+/**
+ * Generate rings (THREE.Line) and transform them using audioanalyser waveform data.
+ * Adapted from https://www.airtightinteractive.com/2013/10/making-audio-reactive-visuals/
+ */
+AFRAME.registerComponent('audioanalyser-waveform', {
+ dependencies: ['audioanalyser'],
+
+ schema: {
+ maxHeight: { default: 0.2 },
+ multiplier: { default: 0.01 },
+ radius: { default: 1 }
+ },
+
+ init: function(this: any /* TODO improve types */) {
+ this.colors = [];
+ this.geometry;
+ this.levels = [];
+ this.noisePos = 0;
+ this.rings = [];
+ },
+
+ update: function(this: any /* TODO improve types */) {
+ var data = this.data;
+ var el = this.el;
+ var i;
+ var lineMesh;
+ var loopShape;
+ var material;
+ var scale;
+
+ // Create ring geometries.
+ loopShape = new THREE.Shape();
+ loopShape.absarc(0, 0, data.radius, 0, Math.PI * 2, false);
+ this.geometry = loopShape.createPointsGeometry(SEGMENTS / 2);
+ this.geometry.dynamic = true;
+
+ // Create container object.
+ el.setObject3D('waveformContainer', new THREE.Object3D());
+
+ // Create rings.
+ scale = 1;
+ for (i = 0; i < RINGCOUNT; i++) {
+ material = new THREE.LineBasicMaterial({
+ color: 0xffffff,
+ linewidth: 1,
+ opacity: 0.7,
+ blending: THREE.AdditiveBlending,
+ depthTest: true,
+ transparent: true
+ });
+ lineMesh = new THREE.Line(this.geometry, material);
+
+ scale *= 1.05;
+ lineMesh.scale.x = scale;
+ lineMesh.scale.y = scale;
+ el.getObject3D('waveformContainer').add(lineMesh);
+
+ this.rings.push(lineMesh);
+ this.levels.push(0);
+ this.colors.push(0);
+ }
+ },
+
+ tick: function(this: any /* TODO improve types */) {
+ var VOL_SENS;
+ var analyserComponent: AnalyserComponent;
+ var colors = this.colors;
+ var data = this.data;
+ var el = this.el;
+ var levels = this.levels;
+ var rings = this.rings;
+
+ analyserComponent = el.components.audioanalyser;
+ if (!analyserComponent.analyser) {
+ return;
+ }
+
+ VOL_SENS = 2;
+ levels.push((analyserComponent.volume / 256) * VOL_SENS); // 256 is max level.
+ levels.shift(1);
+
+ // Add a new color onto the list.
+ this.noisePos += 0.005;
+ colors.push(Math.abs(perlin.noise(this.noisePos, 0, 0)));
+ colors.shift(1);
+
+ // Write current waveform into all rings.
+ this.geometry.vertices.forEach(function(vertex: { z: number }, index: number) {
+ vertex.z = Math.min(
+ analyserComponent.waveform[index] * data.multiplier,
+ data.maxHeight
+ );
+ });
+
+ // Link up last segment.
+ this.geometry.vertices[this.geometry.vertices.length - 1].z = this.geometry.vertices[0].z;
+ this.geometry.verticesNeedUpdate = true;
+
+ rings.forEach(function transformRing(ring: THREE.Line, index: number) {
+ var normLevel;
+ normLevel = levels[RINGCOUNT - index - 1] + 0.01; // Avoid scaling by 0.
+ const lineMaterial = ring.material as THREE.LineBasicMaterial;
+ lineMaterial.color.setHSL(colors[index], 1, normLevel);
+ lineMaterial.linewidth = normLevel * 3;
+ lineMaterial.opacity = normLevel;
+ ring.scale.z = normLevel;
+ });
+ },
+
+ remove: function() {
+ this.el!.removeObject3D('waveformContainer');
+ }
+});
+
+/**
+ * http://mrl.nyu.edu/~perlin/noise/
+ */
+function ImprovedNoise() {
+ var p = [
+ 151,
+ 160,
+ 137,
+ 91,
+ 90,
+ 15,
+ 131,
+ 13,
+ 201,
+ 95,
+ 96,
+ 53,
+ 194,
+ 233,
+ 7,
+ 225,
+ 140,
+ 36,
+ 103,
+ 30,
+ 69,
+ 142,
+ 8,
+ 99,
+ 37,
+ 240,
+ 21,
+ 10,
+ 23,
+ 190,
+ 6,
+ 148,
+ 247,
+ 120,
+ 234,
+ 75,
+ 0,
+ 26,
+ 197,
+ 62,
+ 94,
+ 252,
+ 219,
+ 203,
+ 117,
+ 35,
+ 11,
+ 32,
+ 57,
+ 177,
+ 33,
+ 88,
+ 237,
+ 149,
+ 56,
+ 87,
+ 174,
+ 20,
+ 125,
+ 136,
+ 171,
+ 168,
+ 68,
+ 175,
+ 74,
+ 165,
+ 71,
+ 134,
+ 139,
+ 48,
+ 27,
+ 166,
+ 77,
+ 146,
+ 158,
+ 231,
+ 83,
+ 111,
+ 229,
+ 122,
+ 60,
+ 211,
+ 133,
+ 230,
+ 220,
+ 105,
+ 92,
+ 41,
+ 55,
+ 46,
+ 245,
+ 40,
+ 244,
+ 102,
+ 143,
+ 54,
+ 65,
+ 25,
+ 63,
+ 161,
+ 1,
+ 216,
+ 80,
+ 73,
+ 209,
+ 76,
+ 132,
+ 187,
+ 208,
+ 89,
+ 18,
+ 169,
+ 200,
+ 196,
+ 135,
+ 130,
+ 116,
+ 188,
+ 159,
+ 86,
+ 164,
+ 100,
+ 109,
+ 198,
+ 173,
+ 186,
+ 3,
+ 64,
+ 52,
+ 217,
+ 226,
+ 250,
+ 124,
+ 123,
+ 5,
+ 202,
+ 38,
+ 147,
+ 118,
+ 126,
+ 255,
+ 82,
+ 85,
+ 212,
+ 207,
+ 206,
+ 59,
+ 227,
+ 47,
+ 16,
+ 58,
+ 17,
+ 182,
+ 189,
+ 28,
+ 42,
+ 223,
+ 183,
+ 170,
+ 213,
+ 119,
+ 248,
+ 152,
+ 2,
+ 44,
+ 154,
+ 163,
+ 70,
+ 221,
+ 153,
+ 101,
+ 155,
+ 167,
+ 43,
+ 172,
+ 9,
+ 129,
+ 22,
+ 39,
+ 253,
+ 19,
+ 98,
+ 108,
+ 110,
+ 79,
+ 113,
+ 224,
+ 232,
+ 178,
+ 185,
+ 112,
+ 104,
+ 218,
+ 246,
+ 97,
+ 228,
+ 251,
+ 34,
+ 242,
+ 193,
+ 238,
+ 210,
+ 144,
+ 12,
+ 191,
+ 179,
+ 162,
+ 241,
+ 81,
+ 51,
+ 145,
+ 235,
+ 249,
+ 14,
+ 239,
+ 107,
+ 49,
+ 192,
+ 214,
+ 31,
+ 181,
+ 199,
+ 106,
+ 157,
+ 184,
+ 84,
+ 204,
+ 176,
+ 115,
+ 121,
+ 50,
+ 45,
+ 127,
+ 4,
+ 150,
+ 254,
+ 138,
+ 236,
+ 205,
+ 93,
+ 222,
+ 114,
+ 67,
+ 29,
+ 24,
+ 72,
+ 243,
+ 141,
+ 128,
+ 195,
+ 78,
+ 66,
+ 215,
+ 61,
+ 156,
+ 180
+ ];
+ for (var i = 0; i < 256; i++) {
+ p[256 + i] = p[i];
+ }
+ function fade(t: number) {
+ return t * t * t * (t * (t * 6 - 15) + 10);
+ }
+ function lerp(t: number, a: number, b: number) {
+ return a + t * (b - a);
+ }
+ function grad(hash: number, x: number, y: number, z: number) {
+ var h = hash & 15;
+ var u = h < 8 ? x : y,
+ v = h < 4 ? y : h === 12 || h === 14 ? x : z;
+ return ((h & 1) === 0 ? u : -u) + ((h & 2) === 0 ? v : -v);
+ }
+ return {
+ noise: function(x: number, y: number, z: number) {
+ var floorX = ~~x,
+ floorY = ~~y,
+ floorZ = ~~z;
+ var X = floorX & 255,
+ Y = floorY & 255,
+ Z = floorZ & 255;
+ x -= floorX;
+ y -= floorY;
+ z -= floorZ;
+ var xMinus1 = x - 1,
+ yMinus1 = y - 1,
+ zMinus1 = z - 1;
+ var u = fade(x),
+ v = fade(y),
+ w = fade(z);
+ var A = p[X] + Y,
+ AA = p[A] + Z,
+ AB = p[A + 1] + Z,
+ B = p[X + 1] + Y,
+ BA = p[B] + Z,
+ BB = p[B + 1] + Z;
+ return lerp(
+ w,
+ lerp(
+ v,
+ lerp(u, grad(p[AA], x, y, z), grad(p[BA], xMinus1, y, z)),
+ lerp(u, grad(p[AB], x, yMinus1, z), grad(p[BB], xMinus1, yMinus1, z))
+ ),
+ lerp(
+ v,
+ lerp(u, grad(p[AA + 1], x, y, zMinus1), grad(p[BA + 1], xMinus1, y, z - 1)),
+ lerp(
+ u,
+ grad(p[AB + 1], x, yMinus1, zMinus1),
+ grad(p[BB + 1], xMinus1, yMinus1, zMinus1)
+ )
+ )
+ );
+ }
+ };
+}
+
+AFRAME.registerComponent('color-on-beat', {
+ schema: {
+ analyserEl: { type: 'selector' }
+ },
+
+ init: function() {
+ var analyserEl = this.data.analyserEl || this.el;
+ var el = this.el!;
+
+ analyserEl.addEventListener('audioanalyser-beat', function() {
+ el.setAttribute(
+ 'material',
+ 'color',
+ '#' + new THREE.Color(Math.random(), Math.random(), Math.random()).getHexString()
+ );
+ });
+ }
+});
+
+AFRAME.registerComponent('remove-on-event', {
+ schema: {
+ el: { type: 'selector' },
+ event: { type: 'string' }
+ },
+
+ init: function() {
+ this._removeEntity = this._removeEntity.bind(this);
+ },
+
+ update: function() {
+ var data = this.data;
+ var el = data.el || this.el;
+ this.removeEventListener();
+ el.addEventListener(data.event, this._removeEntity);
+ },
+
+ remove: function() {
+ this.removeEventListener();
+ },
+
+ removeEventListener: function() {
+ var data = this.data;
+ var el = this.el!;
+ el.removeEventListener(data.event, this._removeEntity);
+ },
+
+ _removeEntity: function() {
+ var el = this.el!;
+ if ((el as any).parentEl) {
+ (el as any).parentEl.removeChild(el);
+ }
+ if (el.parentNode) {
+ el.parentNode.removeChild(el);
+ }
+ }
+});
+
+/**
+ * Create expanding ring on audioanalyser beat.
+ */
+AFRAME.registerComponent('ring-on-beat', {
+ schema: {
+ analyserEl: { type: 'selector' }
+ },
+
+ init: function(this: any) {
+ var analyserEl = this.data.analyserEl || this.el;
+ var el = this.el;
+ var rings: Entity[] = (this.rings = []);
+
+ analyserEl.addEventListener('audioanalyser-beat', function() {
+ var ringEl = document.createElement('a-ring');
+ ringEl.setAttribute('material', 'opacity', '0.6');
+ ringEl.setAttribute('position', '0 0.1 0');
+ ringEl.setAttribute('rotation', '-90 0 0');
+ el.appendChild(ringEl);
+
+ ringEl.addEventListener('loaded', function() {
+ rings.push(ringEl);
+ setTimeout(function() {
+ el.removeChild(ringEl);
+ rings.splice(rings.indexOf(ringEl), 1);
+ }, 2000);
+ });
+ });
+ },
+
+ /**
+ * Expand ring radii.
+ */
+ tick: function(this: any) {
+ this.rings.forEach(function(ringEl: Entity) {
+ var scale = ringEl.getComputedAttribute('scale') as Component & Coordinate;
+ ringEl.setAttribute('scale', {
+ x: scale.x * 1.06 + 0.05,
+ y: scale.y * 1.06 + 0.05,
+ z: scale.z
+ });
+ });
+ }
+});
+
+/*
+ * Change color at different levels of scale.
+ */
+AFRAME.registerComponent('scale-y-color', {
+ schema: {
+ from: { type: 'vec3', default: { x: 0, y: 0, z: 0 } },
+ to: { type: 'vec3', default: { x: 255, y: 255, z: 255 } },
+ maxScale: { default: 20 }
+ },
+
+ tick: function(this: any, time: number) {
+ var data = this.data;
+ var el = this.el;
+
+ if (time - this.time < 50) {
+ return;
+ }
+ this.time = time;
+
+ var scaleY = el.getComputedAttribute('scale').y;
+ var percentage = scaleY / data.maxScale;
+ el.setAttribute(
+ 'material',
+ 'color',
+ '#' +
+ rgbToHex(
+ (data.to.x - data.from.x) * percentage,
+ (data.to.y - data.from.y) * percentage,
+ (data.to.z - data.from.z) * percentage
+ )
+ );
+ }
+});
+
+function rgbToHex(r: number, g: number, b: number) {
+ var bin = (r << 16) | (g << 8) | b;
+ return (function(h) {
+ return new Array(7 - h.length).join('0') + h;
+ })(bin.toString(16).toUpperCase());
+}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Lights
+// Taken from https://github.com/aframevr/aframe/blob/master/examples/showcase/dynamic-lights/index.html
+
+AFRAME.registerComponent('random-material', {
+ init: function() {
+ this.el!.setAttribute('material', {
+ color: this.getRandomColor(),
+ metalness: Math.random(),
+ roughness: Math.random()
+ });
+ },
+ getRandomColor: function() {
+ var letters = '0123456789ABCDEF'.split('');
+ var color = '#';
+ for (var i = 0; i < 6; i++) {
+ color += letters[Math.floor(Math.random() * 16)];
+ }
+ return color;
+ }
+});
+
+AFRAME.registerComponent('random-torus-knot', {
+ init: function() {
+ this.el!.setAttribute('geometry', {
+ primitive: 'torusKnot',
+ radius: Math.random() * 10,
+ radiusTubular: Math.random() * 0.75,
+ p: Math.round(Math.random() * 10),
+ q: Math.round(Math.random() * 10)
+ });
+ }
+});
diff --git a/types/aframe/aframe-tests.ts b/types/aframe/test/aframe-tests.ts
similarity index 67%
rename from types/aframe/aframe-tests.ts
rename to types/aframe/test/aframe-tests.ts
index 5e2bd23e36..2d6ff5bb7e 100644
--- a/types/aframe/aframe-tests.ts
+++ b/types/aframe/test/aframe-tests.ts
@@ -1,3 +1,14 @@
+import {
+ Component,
+ Entity,
+ MultiPropertySchema,
+ System,
+ SystemDefinition,
+ THREE,
+ Geometry,
+ registerComponent
+} from 'aframe';
+
// Global
const threeCamera = new AFRAME.THREE.Camera();
AFRAME.TWEEN.Easing;
@@ -16,7 +27,7 @@ entity.setAttribute('material', 'color', 'red');
entity.components['geometry'].data;
-type MyEntity = AFrame.Entity<{
+type MyEntity = Entity<{
camera: THREE.Camera;
material: THREE.Material;
sound: { pause(): void };
@@ -33,29 +44,31 @@ entity.setAttribute('light', {
intensity: 2.0
});
-entity.addEventListener('child-detached', (event) => {
+entity.addEventListener('child-detached', event => {
event.detail;
});
// Components
-interface TestComponent extends AFrame.Component {
- multiply: (f: number) => number;
+// interface TestComponent extends Component {
+// multiply: (f: number) => number;
+//
+// data: {
+// myProperty: any[],
+// string: string,
+// num: number
+// };
+//
+// system: TestSystem;
+// }
- data: {
- myProperty: any[],
- string: string,
- num: number
- };
-
- system: TestSystem;
-}
-
-const Component = AFRAME.registerComponent('test-component', {
+const Component = registerComponent('test-component', {
schema: {
myProperty: {
default: [],
- parse() { return [true]; },
+ parse() {
+ return [true];
+ }
},
string: { type: 'string' },
num: 0
@@ -69,9 +82,9 @@ const Component = AFRAME.registerComponent('test-component', {
pause() {},
play() {},
- multiply(this: TestComponent, f: number) {
+ multiply(f: number) {
// Reference to system because both were registered with the same name.
- return f * this.data.num * this.system.data.counter;
+ return f * this.data.num * this.system!.data.counter;
}
});
@@ -81,13 +94,7 @@ scene.hasLoaded;
// System
-interface TestSystem extends AFrame.System {
- data: {
- counter: number;
- };
-}
-
-const testSystem: AFrame.SystemDefinition = {
+const testSystem: SystemDefinition = {
schema: {
counter: 0
},
@@ -101,13 +108,7 @@ AFRAME.registerSystem('test-component', testSystem);
// Register Custom Geometry
-interface TestGeometry extends AFrame.Geometry {
- schema: AFrame.MultiPropertySchema<{
- groupIndex: number;
- }>;
-}
-
-AFRAME.registerGeometry('a-test-geometry', {
+AFRAME.registerGeometry('a-test-geometry', {
schema: {
groupIndex: { default: 0 }
},
diff --git a/types/aframe/tsconfig.json b/types/aframe/tsconfig.json
index 3385a8aca7..d92e791ebd 100755
--- a/types/aframe/tsconfig.json
+++ b/types/aframe/tsconfig.json
@@ -21,6 +21,7 @@
},
"files": [
"index.d.ts",
- "aframe-tests.ts"
+ "test/aframe-tests.ts",
+ "test/aframe-io-tests.ts"
]
-}
\ No newline at end of file
+}
diff --git a/types/agenda/index.d.ts b/types/agenda/index.d.ts
index 75246ecda3..37b9ce6b2c 100644
--- a/types/agenda/index.d.ts
+++ b/types/agenda/index.d.ts
@@ -64,7 +64,7 @@ declare class Agenda extends EventEmitter {
defaultConcurrency(value: number): this;
/**
- * Takes a number shich specifies the max number jobs that can be locked at any given moment. By default it is
+ * Takes a number which specifies the max number jobs that can be locked at any given moment. By default it is
* 0 for no max.
* @param value The value to set.
*/
@@ -189,7 +189,7 @@ declare namespace Agenda {
defaultLockLimit?: number;
/**
- * Takes a number shich specifies the max number jobs that can be locked at any given moment. By default it is
+ * Takes a number which specifies the max number jobs that can be locked at any given moment. By default it is
* 0 for no max.
*/
lockLimit?: number;
diff --git a/types/ajv-errors/index.d.ts b/types/ajv-errors/index.d.ts
index fed9e4585f..3b5c2d2322 100644
--- a/types/ajv-errors/index.d.ts
+++ b/types/ajv-errors/index.d.ts
@@ -2,6 +2,7 @@
// Project: https://github.com/epoberezkin/ajv-errors
// Definitions by: Afshawn Lotfi
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.2
import { Ajv } from "ajv";
diff --git a/types/http-proxy-middleware/package.json b/types/ajv-errors/package.json
similarity index 65%
rename from types/http-proxy-middleware/package.json
rename to types/ajv-errors/package.json
index 0aa4cf368f..b47ef67b0a 100644
--- a/types/http-proxy-middleware/package.json
+++ b/types/ajv-errors/package.json
@@ -1,6 +1,6 @@
{
"private": true,
"dependencies": {
- "winston": "^3.0.0"
+ "ajv": "*"
}
}
diff --git a/types/ale-url-parser/ale-url-parser-tests.ts b/types/ale-url-parser/ale-url-parser-tests.ts
new file mode 100644
index 0000000000..2a5d9fe632
--- /dev/null
+++ b/types/ale-url-parser/ale-url-parser-tests.ts
@@ -0,0 +1,22 @@
+import { parse, stringify } from 'ale-url-parser';
+
+let url;
+let urlObject;
+
+url = stringify({});
+console.log(url);
+
+url = stringify({
+ protocol: 'protocol',
+ host: 'host',
+ path: ['foo', 'bar', 'baz'],
+ hash: 'hash',
+ query: {
+ foo: 1,
+ bar: [2, '3']
+ }
+});
+console.log(url);
+
+urlObject = parse('//any.dom.ain.co.m/foo/bar?test=1&test=2#hash');
+console.log(urlObject);
diff --git a/types/ale-url-parser/index.d.ts b/types/ale-url-parser/index.d.ts
new file mode 100644
index 0000000000..31b2d2fd03
--- /dev/null
+++ b/types/ale-url-parser/index.d.ts
@@ -0,0 +1,29 @@
+// Type definitions for ale-url-parser 0.10
+// Project: https://github.com/msn0/ale-url-parser#readme
+// Definitions by: Michał Jezierski
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.1
+
+export interface QueryParams {
+ [key: string]: any;
+}
+
+export interface UrlObject {
+ protocol?: string;
+ host?: string;
+ path?: string[];
+ query?: QueryParams;
+ hash?: string;
+}
+
+/**
+ * Parse url string into url object.
+ * @return UrlObject
+ */
+export function parse(url: string): UrlObject;
+
+/**
+ * Stringify url object into url string.
+ * @return string
+ */
+export function stringify(urlObject: UrlObject): string;
diff --git a/types/ale-url-parser/tsconfig.json b/types/ale-url-parser/tsconfig.json
new file mode 100644
index 0000000000..2d18200901
--- /dev/null
+++ b/types/ale-url-parser/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [
+ "es6",
+ "dom"
+ ],
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "baseUrl": "../",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true
+ },
+ "files": [
+ "index.d.ts",
+ "ale-url-parser-tests.ts"
+ ]
+}
diff --git a/types/gitlab/tslint.json b/types/ale-url-parser/tslint.json
similarity index 100%
rename from types/gitlab/tslint.json
rename to types/ale-url-parser/tslint.json
diff --git a/types/algoliasearch/algoliasearch-tests.ts b/types/algoliasearch/algoliasearch-tests.ts
index 87fdb95a01..cbd98d253a 100644
--- a/types/algoliasearch/algoliasearch-tests.ts
+++ b/types/algoliasearch/algoliasearch-tests.ts
@@ -21,6 +21,7 @@ let _algoliaResponse: Response = {
processingTimeMS: 32,
query: '',
params: '',
+ index: '',
};
let _clientOptions: ClientOptions = {
@@ -103,7 +104,8 @@ let _algoliaQueryParameters: QueryParameters = {
filters: '',
attributesToRetrieve: [''],
restrictSearchableAttributes: [''],
- facets: '',
+ facets: [''],
+ facetingAfterDistinct: true,
maxValuesPerFacet: 2,
attributesToHighlight: [''],
attributesToSnippet: [''],
@@ -120,28 +122,29 @@ let _algoliaQueryParameters: QueryParameters = {
typoTolerance: false,
allowTyposOnNumericTokens: false,
ignorePlurals: false,
- disableTypoToleranceOnAttributes: '',
+ disableTypoToleranceOnAttributes: [''],
aroundLatLng: '',
aroundLatLngViaIP: '',
aroundRadius: 0,
aroundPrecision: 0,
minimumAroundRadius: 0,
insideBoundingBox: [[0]],
- queryType: '',
+ queryType: 'prefixAll',
insidePolygon: [[0]],
- removeWordsIfNoResults: '',
+ removeWordsIfNoResults: 'firstWords',
advancedSyntax: false,
optionalWords: [''],
removeStopWords: [''],
disableExactOnAttributes: [''],
- exactOnSingleWordQuery: '',
- alternativesAsExact: true,
+ exactOnSingleWordQuery: 'attribute',
+ alternativesAsExact: ["ignorePlurals"],
distinct: 0,
getRankingInfo: false,
numericAttributesToIndex: [''],
+ numericAttributesForFiltering: [''],
numericFilters: [''],
- tagFilters: '',
- facetFilters: '',
+ tagFilters: [''],
+ facetFilters: [''],
analytics: false,
analyticsTags: [''],
synonyms: true,
@@ -171,8 +174,38 @@ index.partialUpdateObjects([{}], false).then(() => {});
let indexName : string = index.indexName;
// complete copy
-client.copyIndex('from', 'to').then(()=>{})
-client.copyIndex('from', 'to', ()=> {})
+client.copyIndex('from', 'to').then(()=>{});
+client.copyIndex('from', 'to', ()=> {});
// with scope
-client.copyIndex('from', 'to', ['settings']).then(()=>{})
-client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {})
+client.copyIndex('from', 'to', ['settings']).then(()=>{});
+client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {});
+
+// Browsing
+const browser = index.browseAll();
+index.browseAll('query');
+index.browseAll('', {
+ filters: 'dog',
+});
+
+let hits: Object[] = [];
+
+browser.on('result', function onResult(content) {
+ hits = hits.concat(content.hits);
+});
+
+browser.on('end', function onEnd() {
+ const _message = `We got ${hits.length} hits`
+});
+
+browser.on('error', function onError(err) {
+ throw err;
+});
+
+browser.stop();
+
+index.browse("", {
+ advancedSyntax: false,
+ attributesToRetrieve: ['dogs']
+});
+client.copyIndex('from', 'to', ['settings']).then(()=>{});
+client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {});
diff --git a/types/algoliasearch/index.d.ts b/types/algoliasearch/index.d.ts
index 0c2d244b05..04291996ba 100644
--- a/types/algoliasearch/index.d.ts
+++ b/types/algoliasearch/index.d.ts
@@ -1,11 +1,14 @@
-// Type definitions for algoliasearch-client-js 3.27.0
+// Type definitions for algoliasearch-client-js 3.30.0
// Project: https://github.com/algolia/algoliasearch-client-js
// Definitions by: Baptiste Coquelle
// Haroen Viaene
// Aurélien Hervé
// Samuel Vaillant
+// Kai Eichinger
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.2
+// TypeScript Version: 2.8
+
+type Omit = Pick>
declare namespace algoliasearch {
/**
@@ -611,6 +614,11 @@ declare namespace algoliasearch {
options: SearchForFacetValues.Parameters,
cb: (err: Error, res: SearchForFacetValues.Response) => void
): void;
+ /**
+ * Browse an index
+ * https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
+ */
+ browse(query: string, parameters: BrowseParameters, cb: (err: Error, res: BrowseResponse) => void): void;
/**
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -620,7 +628,7 @@ declare namespace algoliasearch {
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browse(query: string): Promise;
+ browse(query: string, parameters?: BrowseParameters): Promise;
/**
* Browse an index from a cursor
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -638,7 +646,7 @@ declare namespace algoliasearch {
* Browse an entire index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browseAll(): Promise;
+ browseAll(query?: string, parameters?: BrowseParameters): Browser;
/**
* Clear an index content
* https://github.com/algolia/algoliasearch-client-js#clear-index---clearindex
@@ -966,6 +974,22 @@ declare namespace algoliasearch {
query: string;
processingTimeMS: number;
}
+ type BrowseParameters = Omit<
+ QueryParameters,
+ | "typoTolerance"
+ | "distinct"
+ | "facets"
+ | "getRankingInfo"
+ | "attributesToHighlight"
+ | "attributesToSnippet"
+ >
+ interface Browser {
+ on(type: "error", cb: (err: Error) => void): void
+ on(type: "end", cb: () => void): void
+ on(type: "stop", cb: () => void): void
+ on(type: "result", cb: (content: BrowseResponse) => void): void
+ stop(): void
+ }
/**
* Describes a synonym object
*/
@@ -1099,112 +1123,121 @@ declare namespace algoliasearch {
userToken?: string;
}
interface QueryParameters {
+ /**
+ * Query string used to perform the search
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/query/
+ */
+ query?: string;
+ /**
+ * Filter the query with numeric, facet or/and tag filters
+ * default: ""
+ * https://www.algolia.com/doc/api-reference/api-parameters/filters/
+ */
+ filters?: string;
+ /**
+ * A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
+ * default: *
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToRetrieve/
+ */
+ attributesToRetrieve?: string[];
+ /**
+ * List of attributes you want to use for textual search
+ * default: attributeToIndex
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictSearchableAttributes/
+ */
+ restrictSearchableAttributes?: string[];
+ /**
+ * You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facets/
+ */
+ facets?: string[];
/**
- * Query string used to perform the search
- * default: ''
- * https://github.com/algolia/algoliasearch-client-js#query
- */
- query?: string;
- /**
- * Filter the query with numeric, facet or/and tag filters
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#filters
- */
- filters?: string;
- /**
- * A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
- * default: *
- * https://github.com/algolia/algoliasearch-client-js#attributestoretrieve
- */
- attributesToRetrieve?: string[];
- /**
- * List of attributes you want to use for textual search
- * default: attributeToIndex
- * https://github.com/algolia/algoliasearch-client-js#restrictsearchableattributes
- */
- restrictSearchableAttributes?: string[];
- /**
- * You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#facets
- */
- facets?: string;
+ * Force faceting to be applied after de-duplication (via the Distinct setting).
+ * When using the distinct setting in combination with faceting, facet counts may be higher than expected.
+ * This is because the engine, by default, computes faceting before applying de-duplication (distinct).
+ * When facetingAfterDistinct is set to true, the engine calculates faceting after the de-duplication has been applied.
+ * default ""
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetingAfterDistinct/
+ */
+ facetingAfterDistinct?: boolean;
/**
* Limit the number of facet values returned for each facet.
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#maxvaluesperfacet
+ * default: 100
+ * https://www.algolia.com/doc/api-reference/api-parameters/maxValuesPerFacet/
*/
maxValuesPerFacet?: number;
/**
* Default list of attributes to highlight. If set to null, all indexed attributes are highlighted.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestohighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/
*/
attributesToHighlight?: string[];
/**
* Default list of attributes to snippet alongside the number of words to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestosnippet
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/
*/
attributesToSnippet?: string[];
/**
* Specify the string that is inserted before the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightpretag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPreTag/
*/
highlightPreTag?: string;
/**
* Specify the string that is inserted after the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightposttag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPostTag/
*/
highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
* default: …
- * https://github.com/algolia/algoliasearch-client-js#snippetellipsistext
+ * https://www.algolia.com/doc/api-reference/api-parameters/snippetEllipsisText/
*/
snippetEllipsisText?: string;
/**
* If set to true, restrict arrays in highlights and snippets to items that matched the query at least partially else return all array items in highlights and snippets
* default: false
- * https://github.com/algolia/algoliasearch-client-js#restricthighlightandsnippetarrays
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictHighlightAndSnippetArrays/
*/
restrictHighlightAndSnippetArrays?: boolean;
/**
* Pagination parameter used to select the number of hits per page
* default: 20
- * https://github.com/algolia/algoliasearch-client-js#hitsperpage
+ * https://www.algolia.com/doc/api-reference/api-parameters/hitsPerPage/
*/
hitsPerPage?: number;
/**
* Pagination parameter used to select the page to retrieve.
* default: 0
- * https://github.com/algolia/algoliasearch-client-js#page
+ * https://www.algolia.com/doc/api-reference/api-parameters/page/
*/
page?: number;
/**
* Offset of the first hit to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#offset
+ * https://www.algolia.com/doc/api-reference/api-parameters/offset/
*/
offset?: number;
/**
* Number of hits to return.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#length
+ * https://www.algolia.com/doc/api-reference/api-parameters/length/
*/
length?: number;
/**
* The minimum number of characters needed to accept one typo.
* default: 4
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor1typo
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor1Typo/
*/
minWordSizefor1Typo?: number;
/**
* The minimum number of characters needed to accept two typo.
* fault: 8
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor2Typos/
*/
minWordSizefor2Typos?: number;
/**
@@ -1214,62 +1247,62 @@ declare namespace algoliasearch {
* 'false' The typo tolerance is disabled. All results with typos will be hidden.
* 'min' Only keep results with the minimum number of typos
* 'strict' Hits matching with 2 typos are not retrieved if there are some matching without typos.
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/typoTolerance/
*/
typoTolerance?: boolean;
/**
* If set to false, disables typo tolerance on numeric tokens (numbers).
* default:
- * https://github.com/algolia/algoliasearch-client-js#allowtyposonnumerictokens
+ * https://www.algolia.com/doc/api-reference/api-parameters/allowTyposOnNumericTokens/
*/
allowTyposOnNumericTokens?: boolean;
/**
* If set to true, plural won't be considered as a typo
* default: false
- * https://github.com/algolia/algoliasearch-client-js#ignoreplurals
+ * https://www.algolia.com/doc/api-reference/api-parameters/ignorePlurals/
*/
ignorePlurals?: boolean;
/**
* List of attributes on which you want to disable typo tolerance
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#disabletypotoleranceonattributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableTypoToleranceOnAttributes/
*/
- disableTypoToleranceOnAttributes?: string;
+ disableTypoToleranceOnAttributes?: string[];
/**
* Search for entries around a given location
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlng
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLng/
*/
aroundLatLng?: string;
/**
* Search for entries around a given latitude/longitude automatically computed from user IP address.
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlngviaip
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLngViaIP/
*/
aroundLatLngViaIP?: string;
/**
* Control the radius associated with a geo search. Defined in meters.
* default: null
* You can specify aroundRadius=all if you want to compute the geo distance without filtering in a geo area
- * https://github.com/algolia/algoliasearch-client-js#aroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundRadius/
*/
aroundRadius?: number | 'all';
/**
* Control the precision of a geo search
* default: null
- * https://github.com/algolia/algoliasearch-client-js#aroundprecision
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundPrecision/
*/
aroundPrecision?: number;
/**
* Define the minimum radius used for a geo search when aroundRadius is not set.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#minimumaroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/minimumAroundRadius/
*/
minimumAroundRadius?: number;
/**
* Search entries inside a given area defined by the two extreme points of a rectangle
* default: null
- * https://github.com/algolia/algoliasearch-client-js#insideboundingbox
+ * https://www.algolia.com/doc/api-reference/api-parameters/insideBoundingBox/
*/
insideBoundingBox?: number[][];
/**
@@ -1278,13 +1311,13 @@ declare namespace algoliasearch {
* 'prefixAll' All query words are interpreted as prefixes. This option is not recommended.
* 'prefixLast' Only the last word is interpreted as a prefix (default behavior).
* 'prefixNone' No query word is interpreted as a prefix. This option is not recommended.
- * https://github.com/algolia/algoliasearch-client-js#querytype
+ * https://www.algolia.com/doc/api-reference/api-parameters/queryType/
*/
- queryType?: any;
+ queryType?: "prefixAll"|"prefixLast"|"prefixNone";
/**
* Search entries inside a given area defined by a set of points
* defauly: ''
- * https://github.com/algolia/algoliasearch-client-js#insidepolygon
+ * https://www.algolia.com/doc/api-reference/api-parameters/insidePolygon/
*/
insidePolygon?: number[][];
/**
@@ -1294,19 +1327,19 @@ declare namespace algoliasearch {
* 'firstWords' When a query does not return any results, the first word will be added as optional
* 'allOptional' When a query does not return any results, a second trial will be made with all words as optional
* 'none' No specific processing is done when a query does not return any results
- * https://github.com/algolia/algoliasearch-client-js#removewordsifnoresults
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeWordsIfNoResults/
*/
- removeWordsIfNoResults?: string;
+ removeWordsIfNoResults?: "none"|"lastWords"|"firstWords"|"allOptional";
/**
* Enables the advanced query syntax
* default: false
- * https://github.com/algolia/algoliasearch-client-js#advancedsyntax
+ * https://www.algolia.com/doc/api-reference/api-parameters/advancedSyntax/
*/
advancedSyntax?: boolean;
/**
* A string that contains the comma separated list of words that should be considered as optional when found in the query
* default: []
- * https://github.com/algolia/algoliasearch-client-js#optionalwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/optionalWords/
*/
optionalWords?: string[];
/**
@@ -1314,13 +1347,13 @@ declare namespace algoliasearch {
* default: false
* true|false: enable or disable stop words for all 41 supported languages; or
* a list of language ISO codes (as a comma-separated string) for which stop words should be enable
- * https://github.com/algolia/algoliasearch-client-js#removestopwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeStopWords/
*/
- removeStopWords?: string[];
+ removeStopWords?: boolean|string[];
/**
* List of attributes on which you want to disable the computation of exact criteria
* default: []
- * https://github.com/algolia/algoliasearch-client-js#disableexactonattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableExactOnAttributes/
*/
disableExactOnAttributes?: string[];
/**
@@ -1329,81 +1362,90 @@ declare namespace algoliasearch {
* 'none': no exact on single word query
* 'word': exact set to 1 if the query word is found in the record
* 'attribute': exact set to 1 if there is an attribute containing a string equals to the query
- * https://github.com/algolia/algoliasearch-client-js#exactonsinglewordquery
+ * https://www.algolia.com/doc/api-reference/api-parameters/exactOnSingleWordQuery/
*/
- exactOnSingleWordQuery?: string;
+ exactOnSingleWordQuery?: "attribute"|"none"|"word";
/**
* Specify the list of approximation that should be considered as an exact match in the ranking formula
* default: ['ignorePlurals', 'singleWordSynonym']
* 'ignorePlurals': alternative words added by the ignorePlurals feature
* 'singleWordSynonym': single-word synonym (For example "NY" = "NYC")
* 'multiWordsSynonym': multiple-words synonym
- * https://github.com/algolia/algoliasearch-client-js#alternativesasexact
+ * https://www.algolia.com/doc/api-reference/api-parameters/alternativesAsExact/
*/
- alternativesAsExact?: any;
+ alternativesAsExact?: Array<"ignorePlurals"|"singleWordSynonym"|"multiWordsSynonym">;
/**
* If set to 1, enables the distinct feature, disabled by default, if the attributeForDistinct index setting is set.
- * https://github.com/algolia/algoliasearch-client-js#distinct
+ * https://www.algolia.com/doc/api-reference/api-parameters/distinct/
*/
- distinct?: any;
+ distinct?: number|boolean;
/**
* If set to true, the result hits will contain ranking information in the _rankingInfo attribute.
* default: false
- * https://github.com/algolia/algoliasearch-client-js#getrankinginfo
+ * https://www.algolia.com/doc/api-reference/api-parameters/getRankingInfo/
*/
getRankingInfo?: boolean;
/**
+ * @deprecated Use `numericAttributesForFiltering` instead
* All numerical attributes are automatically indexed as numerical filters
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#numericattributestoindex
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
*/
numericAttributesToIndex?: string[];
+ /**
+ * All numerical attributes are automatically indexed as numerical filters
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
+ */
+ numericAttributesForFiltering?: string[];
/**
* @deprecated please use filters instead
* A string that contains the comma separated list of numeric filters you want to apply.
- * https://github.com/algolia/algoliasearch-client-js#numericfilters-deprecated
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericFilters/
*/
numericFilters?: string[];
/**
* @deprecated
+ *
* Filter the query by a set of tags.
- * https://github.com/algolia/algoliasearch-client-js#tagfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/tagFilters/
*/
- tagFilters?: string;
+ tagFilters?: string[];
/**
- * @deprecated
* Filter the query by a set of facets.
- * https://github.com/algolia/algoliasearch-client-js#facetfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/
*/
- facetFilters?: string;
+ facetFilters?: string[]|string[][];
/**
* If set to false, this query will not be taken into account in the analytics feature.
* default true
- * https://github.com/algolia/algoliasearch-client-js#analytics
+ * https://www.algolia.com/doc/api-reference/api-parameters/analytics/
*/
analytics?: boolean;
/**
* If set, tag your query with the specified identifiers
- * default: null
- * https://github.com/algolia/algoliasearch-client-js#analyticstags
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/
*/
analyticsTags?: string[];
/**
* If set to false, the search will not use the synonyms defined for the targeted index.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#synonyms
+ * https://www.algolia.com/doc/api-reference/api-parameters/synonyms/
*/
synonyms?: boolean;
/**
* If set to false, words matched via synonym expansion will not be replaced by the matched synonym in the highlighted result.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#replacesynonymsinhighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/replaceSynonymsInHighlight/
*/
replaceSynonymsInHighlight?: boolean;
/**
* Configure the precision of the proximity ranking criterion
* default: 1
- * https://github.com/algolia/algoliasearch-client-js#minproximity
+ * https://www.algolia.com/doc/api-reference/api-parameters/minProximity/
*/
minProximity?: number;
@@ -1421,6 +1463,10 @@ declare namespace algoliasearch {
* The query for the search in this facet
*/
facetQuery: string;
+ /**
+ * The maximum number of facets to fetch
+ */
+ maxFacetHits?: number;
}
interface Response {
@@ -1452,7 +1498,7 @@ declare namespace algoliasearch {
interface Task {
taskID: number;
createdAt: string;
- objectID?: string;
+ objectID?: string;
}
interface TaskStatus {
@@ -1735,42 +1781,42 @@ declare namespace algoliasearch {
interface Response {
/**
* Contains all the hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hits: any[];
/**
* Current page
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
page: number;
/**
* Number of total hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbHits: number;
/**
* Number of pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbPages: number;
/**
* Number of hits per pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hitsPerPage: number;
/**
* Engine processing time (excluding network transfer)
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
processingTimeMS: number;
/**
* Query used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
query: string;
/**
* GET parameters used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
params: string;
facets?: {
@@ -1784,6 +1830,16 @@ declare namespace algoliasearch {
sum: number,
};
};
+ /**
+ * The index name is only set when searching multiple indices.
+ * https://www.algolia.com/doc/api-reference/api-methods/multiple-queries/?language=javascript#response
+ */
+ index?: string;
+ /**
+ * The cursor is only set when browsing the index.
+ * https://www.algolia.com/doc/api-reference/api-methods/browse/
+ */
+ cursor?: string;
}
interface MultiResponse {
diff --git a/types/algoliasearch/lite/index.d.ts b/types/algoliasearch/lite/index.d.ts
index 4f068d5647..ce58d6a428 100644
--- a/types/algoliasearch/lite/index.d.ts
+++ b/types/algoliasearch/lite/index.d.ts
@@ -1,12 +1,15 @@
-// Type definitions for algoliasearch-client-js 3.27.0
+// Type definitions for algoliasearch-client-js 3.30.0
// Project: https://github.com/algolia/algoliasearch-client-js
// Definitions by: Baptiste Coquelle
// Haroen Viaene
// Aurélien Hervé
// Samuel Vaillant
// Claas Brüggemann
+// Kai Eichinger
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.2
+// TypeScript Version: 2.8
+
+type Omit = Pick>
declare namespace algoliasearch {
/**
@@ -130,6 +133,11 @@ declare namespace algoliasearch {
options: SearchForFacetValues.Parameters,
cb: (err: Error, res: SearchForFacetValues.Response) => void
): void;
+ /**
+ * Browse an index
+ * https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
+ */
+ browse(query: string, parameters: BrowseParameters, cb: (err: Error, res: BrowseResponse) => void): void;
/**
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -139,7 +147,7 @@ declare namespace algoliasearch {
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browse(query: string): Promise;
+ browse(query: string, parameters?: BrowseParameters): Promise;
/**
* Browse an index from a cursor
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -194,114 +202,122 @@ declare namespace algoliasearch {
query: string;
processingTimeMS: number;
}
-
+ type BrowseParameters = Omit<
+ QueryParameters,
+ | "typoTolerance"
+ | "distinct"
+ | "facets"
+ | "getRankingInfo"
+ | "attributesToHighlight"
+ | "attributesToSnippet"
+ >
interface QueryParameters {
/**
* Query string used to perform the search
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#query
+ * https://www.algolia.com/doc/api-reference/api-parameters/query/
*/
query?: string;
/**
* Filter the query with numeric, facet or/and tag filters
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#filters
+ * https://www.algolia.com/doc/api-reference/api-parameters/filters/
*/
filters?: string;
/**
* A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
* default: *
- * https://github.com/algolia/algoliasearch-client-js#attributestoretrieve
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToRetrieve/
*/
attributesToRetrieve?: string[];
/**
* List of attributes you want to use for textual search
* default: attributeToIndex
- * https://github.com/algolia/algoliasearch-client-js#restrictsearchableattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictSearchableAttributes/
*/
restrictSearchableAttributes?: string[];
/**
* You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#facets
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facets/
*/
- facets?: string;
+ facets?: string[];
/**
* Limit the number of facet values returned for each facet.
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#maxvaluesperfacet
+ * default: 100
+ * https://www.algolia.com/doc/api-reference/api-parameters/maxValuesPerFacet/
*/
maxValuesPerFacet?: number;
/**
* Default list of attributes to highlight. If set to null, all indexed attributes are highlighted.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestohighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/
*/
attributesToHighlight?: string[];
/**
* Default list of attributes to snippet alongside the number of words to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestosnippet
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/
*/
attributesToSnippet?: string[];
/**
* Specify the string that is inserted before the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightpretag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPreTag/
*/
highlightPreTag?: string;
/**
* Specify the string that is inserted after the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightposttag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPostTag/
*/
highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
* default: …
- * https://github.com/algolia/algoliasearch-client-js#snippetellipsistext
+ * https://www.algolia.com/doc/api-reference/api-parameters/snippetEllipsisText/
*/
snippetEllipsisText?: string;
/**
* If set to true, restrict arrays in highlights and snippets to items that matched the query at least partially else return all array items in highlights and snippets
* default: false
- * https://github.com/algolia/algoliasearch-client-js#restricthighlightandsnippetarrays
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictHighlightAndSnippetArrays/
*/
restrictHighlightAndSnippetArrays?: boolean;
/**
* Pagination parameter used to select the number of hits per page
* default: 20
- * https://github.com/algolia/algoliasearch-client-js#hitsperpage
+ * https://www.algolia.com/doc/api-reference/api-parameters/hitsPerPage/
*/
hitsPerPage?: number;
/**
* Pagination parameter used to select the page to retrieve.
* default: 0
- * https://github.com/algolia/algoliasearch-client-js#page
+ * https://www.algolia.com/doc/api-reference/api-parameters/page/
*/
page?: number;
/**
* Offset of the first hit to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#offset
+ * https://www.algolia.com/doc/api-reference/api-parameters/offset/
*/
offset?: number;
/**
* Number of hits to return.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#length
+ * https://www.algolia.com/doc/api-reference/api-parameters/length/
*/
length?: number;
/**
* The minimum number of characters needed to accept one typo.
* default: 4
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor1typo
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor1Typo/
*/
minWordSizefor1Typo?: number;
/**
* The minimum number of characters needed to accept two typo.
* fault: 8
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor2Typos/
*/
minWordSizefor2Typos?: number;
/**
@@ -311,62 +327,62 @@ declare namespace algoliasearch {
* 'false' The typo tolerance is disabled. All results with typos will be hidden.
* 'min' Only keep results with the minimum number of typos
* 'strict' Hits matching with 2 typos are not retrieved if there are some matching without typos.
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/typoTolerance/
*/
typoTolerance?: boolean;
/**
* If set to false, disables typo tolerance on numeric tokens (numbers).
* default:
- * https://github.com/algolia/algoliasearch-client-js#allowtyposonnumerictokens
+ * https://www.algolia.com/doc/api-reference/api-parameters/allowTyposOnNumericTokens/
*/
allowTyposOnNumericTokens?: boolean;
/**
* If set to true, plural won't be considered as a typo
* default: false
- * https://github.com/algolia/algoliasearch-client-js#ignoreplurals
+ * https://www.algolia.com/doc/api-reference/api-parameters/ignorePlurals/
*/
ignorePlurals?: boolean;
/**
* List of attributes on which you want to disable typo tolerance
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#disabletypotoleranceonattributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableTypoToleranceOnAttributes/
*/
- disableTypoToleranceOnAttributes?: string;
+ disableTypoToleranceOnAttributes?: string[];
/**
* Search for entries around a given location
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlng
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLng/
*/
aroundLatLng?: string;
/**
* Search for entries around a given latitude/longitude automatically computed from user IP address.
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlngviaip
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLngViaIP/
*/
aroundLatLngViaIP?: string;
/**
* Control the radius associated with a geo search. Defined in meters.
* default: null
* You can specify aroundRadius=all if you want to compute the geo distance without filtering in a geo area
- * https://github.com/algolia/algoliasearch-client-js#aroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundRadius/
*/
aroundRadius?: number | 'all';
/**
* Control the precision of a geo search
* default: null
- * https://github.com/algolia/algoliasearch-client-js#aroundprecision
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundPrecision/
*/
aroundPrecision?: number;
/**
* Define the minimum radius used for a geo search when aroundRadius is not set.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#minimumaroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/minimumAroundRadius/
*/
minimumAroundRadius?: number;
/**
* Search entries inside a given area defined by the two extreme points of a rectangle
* default: null
- * https://github.com/algolia/algoliasearch-client-js#insideboundingbox
+ * https://www.algolia.com/doc/api-reference/api-parameters/insideBoundingBox/
*/
insideBoundingBox?: number[][];
/**
@@ -375,13 +391,13 @@ declare namespace algoliasearch {
* 'prefixAll' All query words are interpreted as prefixes. This option is not recommended.
* 'prefixLast' Only the last word is interpreted as a prefix (default behavior).
* 'prefixNone' No query word is interpreted as a prefix. This option is not recommended.
- * https://github.com/algolia/algoliasearch-client-js#querytype
+ * https://www.algolia.com/doc/api-reference/api-parameters/queryType/
*/
- queryType?: any;
+ queryType?: "prefixAll"|"prefixLast"|"prefixNone";
/**
* Search entries inside a given area defined by a set of points
* defauly: ''
- * https://github.com/algolia/algoliasearch-client-js#insidepolygon
+ * https://www.algolia.com/doc/api-reference/api-parameters/insidePolygon/
*/
insidePolygon?: number[][];
/**
@@ -391,19 +407,19 @@ declare namespace algoliasearch {
* 'firstWords' When a query does not return any results, the first word will be added as optional
* 'allOptional' When a query does not return any results, a second trial will be made with all words as optional
* 'none' No specific processing is done when a query does not return any results
- * https://github.com/algolia/algoliasearch-client-js#removewordsifnoresults
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeWordsIfNoResults/
*/
- removeWordsIfNoResults?: string;
+ removeWordsIfNoResults?: "none"|"lastWords"|"firstWords"|"allOptional";
/**
* Enables the advanced query syntax
* default: false
- * https://github.com/algolia/algoliasearch-client-js#advancedsyntax
+ * https://www.algolia.com/doc/api-reference/api-parameters/advancedSyntax/
*/
advancedSyntax?: boolean;
/**
* A string that contains the comma separated list of words that should be considered as optional when found in the query
* default: []
- * https://github.com/algolia/algoliasearch-client-js#optionalwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/optionalWords/
*/
optionalWords?: string[];
/**
@@ -411,13 +427,13 @@ declare namespace algoliasearch {
* default: false
* true|false: enable or disable stop words for all 41 supported languages; or
* a list of language ISO codes (as a comma-separated string) for which stop words should be enable
- * https://github.com/algolia/algoliasearch-client-js#removestopwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeStopWords/
*/
- removeStopWords?: string[];
+ removeStopWords?: boolean|string[];
/**
* List of attributes on which you want to disable the computation of exact criteria
* default: []
- * https://github.com/algolia/algoliasearch-client-js#disableexactonattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableExactOnAttributes/
*/
disableExactOnAttributes?: string[];
/**
@@ -426,81 +442,90 @@ declare namespace algoliasearch {
* 'none': no exact on single word query
* 'word': exact set to 1 if the query word is found in the record
* 'attribute': exact set to 1 if there is an attribute containing a string equals to the query
- * https://github.com/algolia/algoliasearch-client-js#exactonsinglewordquery
+ * https://www.algolia.com/doc/api-reference/api-parameters/exactOnSingleWordQuery/
*/
- exactOnSingleWordQuery?: string;
+ exactOnSingleWordQuery?: "attribute"|"none"|"word";
/**
* Specify the list of approximation that should be considered as an exact match in the ranking formula
* default: ['ignorePlurals', 'singleWordSynonym']
* 'ignorePlurals': alternative words added by the ignorePlurals feature
* 'singleWordSynonym': single-word synonym (For example "NY" = "NYC")
* 'multiWordsSynonym': multiple-words synonym
- * https://github.com/algolia/algoliasearch-client-js#alternativesasexact
+ * https://www.algolia.com/doc/api-reference/api-parameters/alternativesAsExact/
*/
- alternativesAsExact?: any;
+ alternativesAsExact?: Array<"ignorePlurals"|"singleWordSynonym"|"multiWordsSynonym">;
/**
* If set to 1, enables the distinct feature, disabled by default, if the attributeForDistinct index setting is set.
- * https://github.com/algolia/algoliasearch-client-js#distinct
+ * https://www.algolia.com/doc/api-reference/api-parameters/distinct/
*/
- distinct?: any;
+ distinct?: number|boolean;
/**
* If set to true, the result hits will contain ranking information in the _rankingInfo attribute.
* default: false
- * https://github.com/algolia/algoliasearch-client-js#getrankinginfo
+ * https://www.algolia.com/doc/api-reference/api-parameters/getRankingInfo/
*/
getRankingInfo?: boolean;
/**
+ * @deprecated Use `numericAttributesForFiltering` instead
* All numerical attributes are automatically indexed as numerical filters
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#numericattributestoindex
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
*/
numericAttributesToIndex?: string[];
+ /**
+ * All numerical attributes are automatically indexed as numerical filters
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
+ */
+ numericAttributesForFiltering?: string[];
/**
* @deprecated please use filters instead
* A string that contains the comma separated list of numeric filters you want to apply.
- * https://github.com/algolia/algoliasearch-client-js#numericfilters-deprecated
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericFilters/
*/
numericFilters?: string[];
/**
* @deprecated
+ *
* Filter the query by a set of tags.
- * https://github.com/algolia/algoliasearch-client-js#tagfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/tagFilters/
*/
- tagFilters?: string;
+ tagFilters?: string[];
/**
- * @deprecated
* Filter the query by a set of facets.
- * https://github.com/algolia/algoliasearch-client-js#facetfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/
*/
- facetFilters?: string;
+ facetFilters?: string[]|string[][];
/**
* If set to false, this query will not be taken into account in the analytics feature.
* default true
- * https://github.com/algolia/algoliasearch-client-js#analytics
+ * https://www.algolia.com/doc/api-reference/api-parameters/analytics/
*/
analytics?: boolean;
/**
* If set, tag your query with the specified identifiers
- * default: null
- * https://github.com/algolia/algoliasearch-client-js#analyticstags
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/
*/
analyticsTags?: string[];
/**
* If set to false, the search will not use the synonyms defined for the targeted index.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#synonyms
+ * https://www.algolia.com/doc/api-reference/api-parameters/synonyms/
*/
synonyms?: boolean;
/**
* If set to false, words matched via synonym expansion will not be replaced by the matched synonym in the highlighted result.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#replacesynonymsinhighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/replaceSynonymsInHighlight/
*/
replaceSynonymsInHighlight?: boolean;
/**
* Configure the precision of the proximity ranking criterion
* default: 1
- * https://github.com/algolia/algoliasearch-client-js#minproximity
+ * https://www.algolia.com/doc/api-reference/api-parameters/minProximity/
*/
minProximity?: number;
@@ -530,42 +555,42 @@ declare namespace algoliasearch {
interface Response {
/**
* Contains all the hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hits: any[];
/**
* Current page
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
page: number;
/**
* Number of total hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbHits: number;
/**
* Number of pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbPages: number;
/**
* Number of hits per pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hitsPerPage: number;
/**
* Engine processing time (excluding network transfer)
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
processingTimeMS: number;
/**
* Query used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
query: string;
/**
* GET parameters used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
params: string;
facets?: {
@@ -579,6 +604,16 @@ declare namespace algoliasearch {
sum: number,
};
};
+ /**
+ * The index name is only set when searching multiple indices.
+ * https://www.algolia.com/doc/api-reference/api-methods/multiple-queries/?language=javascript#response
+ */
+ index?: string;
+ /**
+ * The cursor is only set when browsing the index.
+ * https://www.algolia.com/doc/api-reference/api-methods/browse/
+ */
+ cursor?: string;
}
interface MultiResponse {
diff --git a/types/ali-app/ali-app-tests.ts b/types/ali-app/ali-app-tests.ts
new file mode 100644
index 0000000000..a42301aed1
--- /dev/null
+++ b/types/ali-app/ali-app-tests.ts
@@ -0,0 +1,2153 @@
+(() => {
+ // https://docs.alipay.com/mini/api/ui-navigate
+ my.navigateTo({
+ url: 'new_page?count=100'
+ });
+ // test.js
+ Page({
+ onLoad(query: any) {
+ my.alert({
+ content: JSON.stringify(query),
+ });
+ }
+ });
+ my.redirectTo({
+ url: 'new_page?count=100'
+ });
+ // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,
+ // 而 redirectTo 方法则不会。见下方示例代码
+
+ // 此处是one页面
+ my.navigateTo({
+ url: 'two?pageId=10000'
+ });
+
+ // 此处是two页面
+ my.navigateTo({
+ url: 'one?pageId=99999'
+ });
+
+ // 在three页面内 navigateBack,将返回one页面
+ my.navigateBack({
+ delta: 2
+ });
+ my.reLaunch({
+ url: '/page/index'
+ });
+ my.setNavigationBar({
+ title: '你好',
+ backgroundColor: '#108ee9',
+ success() {
+ my.alert({
+ content: '设置成功',
+ });
+ },
+ fail() {
+ my.alert({
+ content: '设置是失败',
+ });
+ },
+ });
+ my.showNavigationBarLoading();
+ my.hideNavigationBarLoading();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-tabbar
+ my.switchTab({
+ url: '/home'
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-feedback
+ my.alert({
+ title: '亲',
+ content: '您本月的账单已出',
+ buttonText: '我知道了',
+ success: () => {
+ my.alert({
+ title: '用户点击了「我知道了」',
+ });
+ },
+ });
+ my.confirm({
+ title: '温馨提示',
+ content: '您是否想查询快递单号:1234567890',
+ confirmButtonText: '马上查询',
+ cancelButtonText: '暂不需要',
+ success: (result) => {
+ my.alert({
+ title: `${result.confirm}`,
+ });
+ },
+ });
+ my.prompt({
+ title: '标题单行',
+ message: '说明当前状态、提示用户解决方案,最好不要超过两行。',
+ placeholder: '给朋友留言',
+ okButtonText: '确定',
+ cancelButtonText: '取消',
+ success: (result) => {
+ my.alert({
+ title: JSON.stringify(result),
+ });
+ },
+ });
+ my.showToast({
+ type: 'success',
+ content: '操作成功',
+ duration: 3000,
+ success: () => {
+ my.alert({
+ title: 'toast 消失了',
+ });
+ },
+ });
+ my.hideToast();
+ my.showLoading({
+ content: '加载中...',
+ delay: 1000,
+ });
+
+ my.hideLoading();
+
+ Page({
+ onLoad() {
+ my.showLoading();
+ const that = this;
+ setTimeout(() => {
+ my.hideLoading({
+ page: that, // 防止执行时已经切换到其它页面,page指向不准确
+ });
+ }, 4000);
+ }
+ });
+ my.showNavigationBarLoading();
+ my.hideNavigationBarLoading();
+ my.showActionSheet({
+ title: '支付宝-ActionSheet',
+ items: ['菜单一', '菜单二', '菜单三', '菜单四', '菜单五'],
+ badges: [
+ { index: 0, type: 'none' },
+ { index: 1, type: 'point' },
+ { index: 2, type: 'num', text: '99' },
+ { index: 3, type: 'text', text: '推荐' },
+ { index: 4, type: 'more' }],
+ cancelButtonText: '取消好了',
+ success: (res) => {
+ const btn = res.index === -1 ? '取消' : `第${res.index}个`;
+ my.alert({
+ title: `你点了${btn}按钮`
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-pulldown
+ Page({
+ onPullDownRefresh() {
+ my.stopPullDownRefresh();
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-contact
+ my.choosePhoneContact({
+ success: (res) => {
+ my.alert({
+ content: `姓名:${res.name}\n号码:${res.mobile}`
+ });
+ }
+ });
+ my.chooseAlipayContact({
+ count: 2,
+ success: (res) => {
+ my.alert({
+ content: 'chooseAlipayContact response: ' + JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: 'chooseAlipayContact response: ' + JSON.stringify(res)
+ });
+ }
+ });
+ my.chooseContact({
+ chooseType: 'multi', // 多选模式
+ includeMe: true, // 包含自己
+ includeMobileContactMode: 'known', // 仅包含双向手机通讯录联系人,也即双方手机通讯录都存有对方号码的联系人
+ multiChooseMax: 3, // 最多能选择三个联系人
+ multiChooseMaxTips: '超过选择的最大人数了',
+ success: (res) => {
+ my.alert({
+ content: 'chooseContact : ' + JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: 'chooseContact : ' + JSON.stringify(res)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-city
+ my.chooseCity({
+ cities: [
+ {
+ city: '朝阳区',
+ adCode: '110105',
+ spell: 'chaoyang'
+ },
+ {
+ city: '海淀区',
+ adCode: '110108',
+ spell: 'haidian'
+ },
+ {
+ city: '丰台区',
+ adCode: '110106',
+ spell: 'fengtai'
+ },
+ {
+ city: '东城区',
+ adCode: '110101',
+ spell: 'dongcheng'
+ },
+ {
+ city: '西城区',
+ adCode: '110102',
+ spell: 'xicheng'
+ },
+ {
+ city: '房山区',
+ adCode: '110111',
+ spell: 'fangshan'
+ }
+ ],
+ hotCities: [
+ {
+ city: '朝阳区',
+ adCode: '110105'
+ },
+ {
+ city: '海淀区',
+ adCode: '110108'
+ },
+ {
+ city: '丰台区',
+ adCode: '110106'
+ }
+ ],
+ success: (res) => {
+ my.alert({
+ content: `${res.city}:${res.adCode}`
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-date
+ my.datePicker({
+ format: 'yyyy-MM-dd',
+ currentDate: '2012-12-12',
+ startDate: '2012-12-10',
+ endDate: '2012-12-15',
+ success: (res) => {
+ my.alert({
+ content: res.date,
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-animation
+ const animation = my.createAnimation({
+ transformOrigin: "top right",
+ duration: 3000,
+ timeFunction: "ease-in-out",
+ delay: 100,
+ });
+ Page({
+ data: {
+ animationInfo: {}
+ },
+ onShow() {
+ const animation = my.createAnimation({
+ duration: 1000,
+ timeFunction: 'ease-in-out',
+ });
+
+ this.animation = animation;
+
+ animation.scale(3, 3).rotate(60).step();
+
+ this.setData({
+ animationInfo: animation.export()
+ });
+
+ setTimeout(() => {
+ animation.translate(35).step();
+ this.setData({
+ animationInfo: animation.export(),
+ });
+ }, 1500);
+ },
+ rotateAndScale(this: my.Page) {
+ // 旋转同时放大
+ this.animation.rotate(60).scale(3, 3).step();
+ this.setData({
+ animationInfo: this.animation.export(),
+ });
+ },
+ rotateThenScale(this: my.Page) {
+ // 先旋转后放大
+ this.animation.rotate(60).step();
+ this.animation.scale(3, 3).step();
+ this.setData({
+ animationInfo: this.animation.export(),
+ });
+ },
+ rotateAndScaleThenTranslate(this: my.Page) {
+ // 先旋转同时放大,然后平移
+ this.animation.rotate(60).scale(3, 3).step();
+ this.animation.translate(100, 100).step({ duration: 2000 });
+ this.setData({
+ animationInfo: this.animation.export()
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-canvas
+ const ctx = my.createCanvasContext('awesomeCanvas');
+ ctx.toTempFilePath({
+ success() { },
+ });
+
+ ctx.setTextAlign("left");
+ ctx.fillText("Hello world", 0, 100);
+
+ ctx.setTextBaseline("top");
+ ctx.fillText("Hello world", 0, 100);
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(50, 50, 100, 175);
+ ctx.draw();
+
+ ctx.setStrokeStyle('blue');
+ ctx.strokeRect(50, 50, 100, 175);
+ ctx.draw();
+
+ ctx.setFillStyle('red');
+ ctx.setShadow(15, 45, 45, 'yellow');
+ ctx.fillRect(20, 20, 100, 175);
+ ctx.draw();
+
+ const grd = ctx.createLinearGradient(10, 10, 150, 10);
+ grd.addColorStop(0, 'yellow');
+ grd.addColorStop(1, 'blue');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ grd.addColorStop(0, 'blue');
+ grd.addColorStop(1, 'red');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ grd.addColorStop(0.36, 'orange');
+ grd.addColorStop(0.56, 'cyan');
+ grd.addColorStop(0.63, 'yellow');
+ grd.addColorStop(0.76, 'blue');
+ grd.addColorStop(0.54, 'green');
+ grd.addColorStop(1, 'purple');
+ grd.addColorStop(0.4, 'red');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(20, 20);
+ ctx.lineTo(250, 10);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(10);
+ ctx.moveTo(20, 35);
+ ctx.lineTo(250, 30);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(20);
+ ctx.moveTo(20, 50);
+ ctx.lineTo(250, 55);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(25);
+ ctx.moveTo(20, 80);
+ ctx.lineTo(250, 85);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(10, 10);
+ ctx.lineTo(150, 10);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('round');
+ ctx.setLineWidth(20);
+ ctx.moveTo(20, 70);
+ ctx.lineTo(250, 80);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('butt');
+ ctx.setLineWidth(10);
+ ctx.moveTo(25, 80);
+ ctx.lineTo(250, 30);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('square');
+ ctx.setLineWidth(10);
+ ctx.moveTo(35, 47);
+ ctx.lineTo(230, 120);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(20, 30);
+ ctx.lineTo(150, 70);
+ ctx.lineTo(20, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('round');
+ ctx.setLineWidth(20);
+ ctx.moveTo(100, 20);
+ ctx.lineTo(280, 80);
+ ctx.lineTo(100, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('bevel');
+ ctx.setLineWidth(20);
+ ctx.moveTo(60, 25);
+ ctx.lineTo(180, 80);
+ ctx.lineTo(90, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('miter');
+ ctx.setLineWidth(15);
+ ctx.moveTo(130, 70);
+ ctx.lineTo(250, 50);
+ ctx.lineTo(230, 100);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(1);
+ ctx.moveTo(10, 10);
+ ctx.lineTo(100, 50);
+ ctx.lineTo(10, 90);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(2);
+ ctx.moveTo(50, 10);
+ ctx.lineTo(140, 50);
+ ctx.lineTo(50, 90);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(3);
+ ctx.moveTo(90, 10);
+ ctx.lineTo(180, 50);
+ ctx.lineTo(90, 90);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.rect(20, 20, 250, 80);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.fillRect(20, 20, 250, 80);
+ ctx.setFillStyle('blue');
+ ctx.draw();
+
+ ctx.setStrokeStyle('blue');
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.draw();
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(250, 10, 250, 200);
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(0, 0, 150, 200);
+ ctx.clearRect(10, 10, 150, 75);
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(200, 20);
+ ctx.lineTo(200, 200);
+ ctx.fill();
+ ctx.draw();
+
+ ctx.rect(20, 20, 110, 40);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.rect(20, 30, 150, 40);
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(20, 80, 150, 40);
+
+ ctx.rect(20, 150, 150, 40);
+
+ ctx.setFillStyle('red');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 10);
+ ctx.lineTo(150, 150);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(10, 10, 100, 30);
+ ctx.setStrokeStyle('blue');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 50);
+
+ ctx.setStrokeStyle('yellow');
+ ctx.strokeRect(15, 75, 200, 35);
+
+ ctx.rect(20, 200, 150, 30);
+
+ ctx.setStrokeStyle('red');
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(20, 20, 150, 50);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 40);
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(20, 170, 150, 40);
+
+ ctx.rect(10, 100, 100, 30);
+
+ ctx.setFillStyle('red');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 20);
+ ctx.lineTo(150, 150);
+ ctx.closePath();
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(20, 20, 150, 50);
+ ctx.closePath();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 40);
+
+ ctx.setFillStyle('red');
+ ctx.fillRect(20, 80, 120, 30);
+
+ ctx.rect(20, 150, 150, 40);
+
+ ctx.setFillStyle('blue');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 15);
+
+ ctx.moveTo(20, 55);
+ ctx.lineTo(120, 60);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.rect(20, 20, 80, 30);
+ ctx.lineTo(120, 80);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.arc(200, 75, 50, 0, 2 * Math.PI);
+ ctx.setFillStyle('#CCCCCC');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.moveTo(50, 65);
+ ctx.lineTo(170, 80);
+ ctx.moveTo(200, 35);
+ ctx.lineTo(200, 235);
+ ctx.setStrokeStyle('#AAAAAA');
+ ctx.stroke();
+
+ ctx.setFontSize(12);
+ ctx.setFillStyle('yellow');
+ ctx.fillText('0', 165, 78);
+ ctx.fillText('0.6*PI', 96, 148);
+ ctx.fillText('1*PI', 15, 57);
+ ctx.fillText('1.7*PI', 94, 20);
+
+ ctx.beginPath();
+ ctx.arc(200, 85, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(200, 35, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(450, 60, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(150, 35, 50, 0, 1.8 * Math.PI);
+ ctx.setStrokeStyle('#666666');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.arc(30, 30, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(250, 25, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(20, 100, 2, 0, 2 * Math.PI);
+ ctx.arc(200, 100, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.setFillStyle('yellow');
+ ctx.setFontSize(14);
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.lineTo(30, 100);
+ ctx.lineTo(150, 75);
+
+ ctx.moveTo(250, 30);
+ ctx.lineTo(250, 80);
+ ctx.lineTo(70, 75);
+ ctx.setStrokeStyle('#EEEEEE');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.bezierCurveTo(30, 150, 250, 150, 180, 20);
+ ctx.setStrokeStyle('black');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.arc(30, 30, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(250, 20, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(30, 200, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.setFillStyle('black');
+ ctx.setFontSize(12);
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.lineTo(30, 150);
+ ctx.lineTo(250, 30);
+ ctx.setStrokeStyle('#AAAAAA');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.quadraticCurveTo(30, 150, 250, 25);
+ ctx.setStrokeStyle('black');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.strokeRect(15, 15, 30, 25);
+ ctx.scale(3, 3);
+ ctx.strokeRect(15, 15, 30, 25);
+ ctx.scale(3, 3);
+ ctx.strokeRect(15, 15, 30, 25);
+
+ ctx.draw();
+
+ ctx.strokeRect(200, 20, 180, 150);
+ ctx.rotate(30 * Math.PI / 180);
+ ctx.strokeRect(200, 20, 180, 150);
+ ctx.rotate(30 * Math.PI / 180);
+ ctx.strokeRect(200, 20, 180, 150);
+
+ ctx.draw();
+
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.translate(30, 30);
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.translate(30, 30);
+ ctx.strokeRect(20, 20, 250, 80);
+
+ ctx.draw();
+
+ ctx.setFontSize(14);
+ ctx.fillText('14', 20, 20);
+ ctx.setFontSize(22);
+ ctx.fillText('22', 40, 40);
+ ctx.setFontSize(30);
+ ctx.fillText('30', 60, 60);
+ ctx.setFontSize(38);
+ ctx.fillText('38', 90, 90);
+
+ ctx.draw();
+
+ ctx.setFontSize(42);
+ ctx.fillText('Hello', 30, 30);
+ ctx.fillText('alipay', 200, 200);
+
+ ctx.draw();
+
+ ctx.drawImage('https://img.alicdn.com/tfs/TB1GvVMj2BNTKJjy0FdXXcPpVXa-520-280.jpg', 2, 2, 250, 80);
+ ctx.draw();
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(10, 10, 150, 100);
+ ctx.setGlobalAlpha(0.2);
+ ctx.setFillStyle('blue');
+ ctx.fillRect(50, 50, 150, 100);
+ ctx.setFillStyle('red');
+ ctx.fillRect(100, 100, 150, 100);
+
+ ctx.draw();
+
+ ctx.setLineDash([5, 15, 25]);
+ ctx.beginPath();
+ ctx.moveTo(0, 100);
+ ctx.lineTo(400, 100);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.rotate(45 * Math.PI / 180);
+ ctx.setFillStyle('red');
+ ctx.fillRect(70, 0, 100, 30);
+
+ ctx.transform(1, 1, 0, 1, 0, 0);
+ ctx.setFillStyle('#000');
+ ctx.fillRect(0, 0, 100, 100);
+
+ ctx.draw();
+
+ ctx.rotate(45 * Math.PI / 180);
+ ctx.setFillStyle('red');
+ ctx.fillRect(70, 0, 100, 30);
+
+ ctx.setTransform(1, 1, 0, 1, 0, 0);
+ ctx.setFillStyle('#000');
+ ctx.fillRect(0, 0, 100, 100);
+
+ ctx.draw();
+
+ ctx.save();
+ ctx.setFillStyle('red');
+ ctx.fillRect(20, 20, 250, 80);
+
+ ctx.restore();
+ ctx.fillRect(60, 60, 155, 130);
+
+ ctx.draw();
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(20, 20, 180, 80);
+ ctx.draw();
+ ctx.fillRect(60, 60, 250, 120);
+ ctx.draw(true);
+
+ ctx.font = 'italic bold 50px cursive';
+ const { width } = ctx.measureText('hello world');
+ console.log(width);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-map
+ Page({
+ onReady() {
+ // 使用 my.createMapContext 获取 map 上下文
+ this.mapCtx = my.createMapContext('userMap');
+ },
+ getCenterLocation(this: my.Page) {
+ (this.mapCtx as my.MapContext).getCenterLocation({
+ success(res) {
+ console.log(res.longitude);
+ console.log(res.latitude);
+ }
+ });
+ },
+ moveToLocation() {
+ this.mapCtx.moveToLocation();
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-hidekeyboard
+ my.hideKeyboard();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/scroll
+ my.pageScrollTo({
+ scrollTop: 100
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/selector-query
+ Page({
+ onReady() {
+ my.createSelectorQuery()
+ .select('#non-exists').boundingClientRect()
+ .select('#one').boundingClientRect()
+ .selectAll('.all').boundingClientRect()
+ .select('#scroll').scrollOffset()
+ .selectViewport().boundingClientRect()
+ .selectViewport().scrollOffset().exec((ret) => {
+ console.log(JSON.stringify(ret, null, 2));
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ewdxl3
+ my.multiLevelSelect({
+ title: 'nihao', // 级联选择标题
+ list: [
+ {
+ name: "杭州市", // 条目名称
+ subList: [
+ {
+ name: "西湖区",
+ subList: [
+ {
+ name: "古翠街道"
+ },
+ {
+ name: "文新街道"
+ }
+ ]
+ },
+ {
+ name: "上城区",
+ subList: [
+ {
+ name: "延安街道"
+ },
+ {
+ name: "龙翔桥街道"
+ }
+ ]
+ }
+ ]// 级联子数据列表
+ }
+ ]// 级联数据列表
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/openapi-authorize
+ my.getAuthCode({
+ scopes: 'auth_user',
+ success: (res) => {
+ my.alert({
+ content: res.authCode,
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/userinfo
+ my.getAuthCode({
+ scopes: 'auth_user',
+ success: (res) => {
+ my.getAuthUserInfo({
+ success: (userInfo) => {
+ my.alert({
+ content: userInfo.nickName
+ });
+ my.alert({
+ content: userInfo.avatar
+ });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/openapi-pay
+ my.tradePay({
+ tradeNO: '201711152100110410533667792', // 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号trade_no
+ success: (res) => {
+ my.alert({
+ content: JSON.stringify(res),
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: JSON.stringify(res),
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/pay-sign
+ my.paySignCenter({
+ // tslint:disable-next-line:max-line-length
+ signStr: 'biz_content%3D%257B%2522access_params%2522%253A%257B%2522channel%2522%253A%2522ALIPAYAPP%2522%257D%252C%2522external_agreement_no%2522%253A%2522xidong___2317%2522%252C%2522external_logon_id%2522%253A%252213852852877%2522%252C%2522personal_product_code%2522%253A%2522GENERAL_WITHHOLDING_P%2522%252C%2522product_code%2522%253A%2522GENERAL_WITHHOLDING%2522%252C%2522sign_scene%2522%253A%2522INDUSTRY%257CCARRENTAL%2522%252C%2522third_party_type%2522%253A%2522PARTNER%2522%257D%26sign%3Df3pjBDTRftOwXWnCqAMAnkBfGTFlcMmZI8hEgmV6uREZRXVDuLsSjD8WO%252FeZ1fjDG8GqVO9t1AN7q6yCUHKX%252Bw%252FE7efXwpVDWldr4iVuXDtNd3UJDJUiRJhIm6b73czWacVzm1XIery%252F2DyKI2y08tBf5NNWuQCC3d%252FITxziTl8%253D%26timestamp%3D2017-06-27%2B14%253A44%253A00%26sign_type%3DRSA%26notify_url%3Dhttp%253A%252F%252Fapi.test.alipay.net%252Fatinterface%252Freceive_notify.htm%26charset%3DUTF-8%26app_id%3D2017060101317939%26method%3Dalipay.user.agreement.page.sign%26return_url%3Dhttp%253A%252F%252Fapi.test.alipay.net%252Fatinterface%252Freceive_notify.htm%26version%3D1.0',
+ success: (res) => {
+ my.alert({
+ title: 'success', // alert框的标题
+ content: JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ title: 'fail', // alert框的标题
+ content: JSON.stringify(res)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/card-voucher-ticket
+ my.openCardList();
+ my.openMerchantCardList({ partnerId: '2088xxxxx' });
+ // 传入passId来打开
+ my.openCardDetail({ passId: "11xxxxx" });
+ my.openVoucherList();
+ my.openMerchantVoucherList({ partnerId: '2088xxxx' });
+ // 传入passId来打开
+ my.openVoucherDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openVoucherDetail({
+ partnerId: "2018xxxx",
+ serialNumber: "20170921"
+ });
+ // 传入passId来打开
+ my.openKBVoucherDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openKBVoucherDetail({
+ partnerId: "2088xxxx",
+ serialNumber: "20170921"
+ });
+ my.openTicketList();
+ my.openMerchantTicketList({ partnerId: '2088xxxx' });
+ // 传入passId来打开
+ my.openTicketDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openTicketDetail({
+ partnerId: "2088xxxx",
+ serialNumber: "20170921"
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/add-card-auth
+ my.addCardAuth({
+ url: '从 openapi 接口获取到的 url',
+ success: (res) => {
+ my.alert({ content: '授权成功' });
+ },
+ fail: (res) => {
+ my.alert({ content: '授权失败' });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/zm-service
+ my.startZMVerify({
+ bizNo: 'your-biz-no',
+ success: (res) => {
+ my.alert({ title: 'success:' + JSON.stringify(res) });
+ },
+ fail: (res) => {
+ my.alert({ title: 'fail: ' + JSON.stringify(res) });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/zmcreditborrow
+ my.zmCreditBorrow({
+ credit_biz: "",
+ out_order_no: "",
+ borrow_shop_name: "",
+ goods_name: "",
+ product_code: "w1010100000000002858",
+ rent_unit: "HOUR_YUAN",
+ rent_amount: "0.10",
+ deposit_amount: "0.50",
+ deposit_state: "Y",
+ invoke_return_url: "",
+ invoke_type: "TINYAPP",
+ borrow_time: "2017-04-27 10:01:01",
+ expiry_time: "2017-05-27 10:01:01",
+ rent_info: "2hour-free",
+ success: (res) => {
+ try {
+ const { resultStatus, result } = res;
+ switch (resultStatus) {
+ case '9000':
+ const callbackData = result.callbackData;
+ const decodedCallbackData = decodeURIComponent(callbackData);
+ const json = JSON.parse(decodedCallbackData.match(/{.*}/)!.toString());
+ const jsonStr = JSON.stringify(json, null, 4);
+ if (json.success === true || json.success === 'true') {
+ // 创建订单成功, 此时可以跳转到订单详情页面
+ my.alert({ content: '下单成功: ' + jsonStr });
+ } else {
+ // 创建订单失败, 请提示用户创建失败
+ my.alert({ content: '下单失败: ' + jsonStr });
+ }
+ // (this as any as my.Page).setData({
+ // callbackData,
+ // decodedCallbackData,
+ // parsedJSON: jsonStr,
+ // });
+ break;
+ case '6001':
+ // 用户点击返回, 取消此次服务, 此时可以给提示
+ my.alert({ content: '取消' });
+ break;
+ default:
+ break;
+ }
+ } catch (error) {
+ // 异常, 请在这里提示用户稍后重试
+ my.alert({
+ content: '异常' + JSON.stringify(error, null, 4)
+ });
+ }
+ },
+ fail: (error) => {
+ // 调用接口失败, 请在这里提示用户稍后重试
+ my.alert({
+ content: '调用失败' + JSON.stringify(error, null, 4)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/templatemessage
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/text-identification
+ my.textRiskIdentification({
+ content: '加我支付宝',
+ type: ['keyword', '0', '1', '2', '3'],
+ success: (res) => {
+ my.alert({
+ title: 'ok', // alert 框的标题
+ content: JSON.stringify(res),
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ title: 'fail', // alert 框的标题
+ content: JSON.stringify(res),
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/open-miniprogram
+ my.navigateToMiniProgram({
+ appId: 'xxxx',
+ extraData: {
+ data1: "test"
+ },
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.navigateBackMiniProgram({
+ extraData: {
+ data1: "test"
+ },
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/webview-context
+ Page({
+ onLoad() {
+ this.webViewContext = my.createWebViewContext('web-view-1');
+ },
+ // 接收来自H5的消息
+ onMessage(e: any) {
+ console.log(e); // {'sendToMiniProgram': '0'}
+ // 向H5发送消息
+ this.webViewContext.postMessage({ sendToWebView: '1' });
+ }
+ });
+ // H5的js代码中需要先定义my.onMessage 用于接收来自小程序的消息。
+ my.onMessage = (e) => {
+ console.log(e); // {'sendToWebView': '1'}
+ };
+ // H5想小程序发送消息
+ my.postMessage({ sendToMiniProgram: '0' });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/media-image
+ const img = null as any as HTMLImageElement;
+ my.chooseImage({
+ count: 2,
+ success: (res) => {
+ img.src = res.apFilePaths[0];
+ },
+ });
+ my.previewImage({
+ current: 2,
+ urls: [
+ 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
+ 'https://img.alicdn.com/tps/TB1pfG4IFXXXXc6XXXXXXXXXXXX.jpg',
+ 'https://img.alicdn.com/tps/TB1h9xxIFXXXXbKXXXXXXXXXXXX.jpg'
+ ],
+ });
+ my.saveImage({
+ url: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg'
+ });
+ my.compressImage({
+ apFilePaths: ['https://resource/apmlcc0ed184daffc5a0d8da86b2f518cf7b.image'],
+ // level: 1,
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ // 网络图片路径
+ my.getImageInfo({
+ src: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+
+ // apFilePath
+ my.chooseImage({
+ success: (res) => {
+ my.getImageInfo({
+ src: res.apFilePaths[0],
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ },
+ });
+
+ // 相对路径
+ my.getImageInfo({
+ src: 'image/api.png',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/storage
+ my.setStorage({
+ key: 'currentCity',
+ data: {
+ cityName: '杭州',
+ adCode: '330100',
+ spell: ' hangzhou',
+ },
+ success() {
+ my.alert({ content: '写入成功' });
+ }
+ });
+ my.setStorageSync({
+ key: 'currentCity',
+ data: {
+ cityName: '杭州',
+ adCode: '330100',
+ spell: ' hangzhou',
+ }
+ });
+ my.getStorage({
+ key: 'currentCity',
+ success(res) {
+ my.alert({ content: '获取成功:' + res.data.cityName });
+ },
+ fail(res) {
+ my.alert({ content: res.errorMessage });
+ }
+ });
+ const res = my.getStorageSync({ key: 'currentCity' });
+ my.alert({
+ content: JSON.stringify(res.data),
+ });
+ my.removeStorage({
+ key: 'currentCity',
+ success() {
+ my.alert({ content: '删除成功' });
+ }
+ });
+ my.removeStorageSync({
+ key: 'currentCity',
+ });
+ my.clearStorage();
+ my.clearStorageSync();
+ my.getStorageInfo({
+ success(res) {
+ console.log(res.keys);
+ console.log(res.currentSize);
+ console.log(res.limitSize);
+ }
+ });
+ const res1 = my.getStorageInfoSync();
+ console.log(res1.keys);
+ console.log(res1.currentSize);
+ console.log(res1.limitSize);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/file
+ my.chooseImage({
+ success: (res) => {
+ my.saveFile({
+ apFilePath: res.apFilePaths[0],
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ });
+ },
+ });
+ my.getFileInfo({
+ apFilePath: 'https://resource/apml953bb093ebd2834530196f50a4413a87.video',
+ digestAlgorithm: 'sha1',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileInfo({
+ apFilePath: 'https://resource/apml953bb093ebd2834530196f50a4413a87.video',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileList({
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileList({
+ success: (res) => {
+ my.removeSavedFile({
+ apFilePath: res.fileList[0].apFilePath,
+ success: (res) => {
+ console.log('remove success');
+ }
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/location
+ my.getLocation({
+ success(res) {
+ my.hideLoading();
+ console.log(res);
+ /* that对象为Page可以设置数据刷新界面
+ that.setData({
+ hasLocation: true,
+ location: formatLocation(res.longitude, res.latitude)
+ })
+ */
+ },
+ fail() {
+ my.hideLoading();
+ my.alert({ title: '定位失败' });
+ },
+ });
+ my.openLocation({
+ longitude: '121.549697',
+ latitude: '31.227250',
+ name: '支付宝',
+ address: '杨高路地铁站',
+ });
+ my.chooseLocation({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/network
+ my.httpRequest({
+ url: 'http://httpbin.org/post',
+ method: 'POST',
+ data: {
+ from: '支付宝',
+ production: 'AlipayJSAPI',
+ },
+ dataType: 'json',
+ success(res) {
+ my.alert({ content: 'success' });
+ },
+ fail(res) {
+ my.alert({ content: 'fail' });
+ },
+ complete(res) {
+ my.hideLoading();
+ my.alert({ content: 'complete' });
+ }
+ });
+ my.uploadFile({
+ url: '请使用自己服务器地址',
+ fileType: 'image',
+ fileName: 'file',
+ filePath: '...',
+ success: (res) => {
+ my.alert({
+ content: '上传成功'
+ });
+ },
+ });
+ my.downloadFile({
+ url: 'http://img.alicdn.com/tfs/TB1x669SXXXXXbdaFXXXXXXXXXX-520-280.jpg',
+ success({ apFilePath }) {
+ my.previewImage({
+ urls: [apFilePath],
+ });
+ },
+ fail(res) {
+ my.alert({
+ content: res.errorMessage || res.error,
+ });
+ },
+ });
+ my.connectSocket({
+ url: 'test.php',
+ data: {},
+ header: {
+ 'content-type': 'application/json'
+ },
+ method: 'GET'
+ });
+ my.connectSocket({
+ url: 'test.php',
+ });
+
+ my.onSocketOpen(() => {
+ console.log('WebSocket 连接已打开!');
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onSocketOpen(this.callback);
+ },
+ onUnload() {
+ my.offSocketOpen(this.callback);
+ },
+ callback() {
+ },
+ });
+ my.connectSocket({
+ url: '开发者的服务器地址'
+ });
+
+ my.onSocketOpen(() => {
+ console.log('WebSocket 连接已打开!');
+ });
+
+ my.onSocketError(() => {
+ console.log('WebSocket 连接打开失败,请检查!');
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onSocketError(this.callback);
+ },
+ onUnload() {
+ my.offSocketError(this.callback);
+ },
+ callback() {
+ my.sendSocketMessage({
+ data: this.data.toSendMessage, // 需要发送的内容
+ success: (res) => {
+ my.alert({ content: '数据发送!' + this.data.toSendMessage });
+ },
+ });
+ },
+ });
+ my.connectSocket({
+ url: '服务器地址'
+ });
+
+ my.onSocketMessage((res) => {
+ console.log('收到服务器内容:' + res.data);
+ });
+ my.onSocketOpen(() => {
+ my.closeSocket();
+ });
+
+ my.onSocketClose(() => {
+ console.log('WebSocket 已关闭!');
+ });
+ Page({
+ // onLoad() {
+ onLaunch() {
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketClose(() => {
+ my.alert({ content: '连接已关闭!' });
+ this.setData({
+ sendMessageAbility: false,
+ closeLinkAbility: false,
+ });
+ });
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketOpen(() => {
+ my.alert({ content: '连接已打开!' });
+ this.setData({
+ sendMessageAbility: true,
+ closeLinkAbility: true,
+ });
+ });
+
+ my.onSocketError((res) => {
+ my.alert({ content: 'WebSocket 连接打开失败,请检查!' + res });
+ });
+
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketMessage((res) => {
+ my.alert({ content: '收到数据!' + JSON.stringify(res) });
+ });
+ },
+ connect_start() {
+ my.connectSocket({
+ url: '服务器地址', // 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名
+ success: (res) => {
+ my.showToast({
+ content: 'success', // 文字内容
+ });
+ },
+ fail: () => {
+ my.showToast({
+ content: 'fail', // 文字内容
+ });
+ }
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/can-i-use
+ my.canIUse('getFileInfo');
+ my.canIUse('closeSocket.object.code');
+ my.canIUse('getLocation.object.type');
+ my.canIUse('getSystemInfo.return.brand');
+ my.canIUse('lifestyle');
+ my.canIUse('button.open-type.share');
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/sdk-version
+ console.log(my.SDKVersion);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/system-info
+ Page({
+ data: {
+ systemInfo: {}
+ },
+ getSystemInfoPage(this: my.Page) {
+ my.getSystemInfo({
+ success: (res) => {
+ this.setData({
+ systemInfo: res
+ });
+ }
+ });
+ },
+ });
+ Page({
+ data: {
+ systemInfo: {}
+ },
+ getSystemInfoSyncPage(this: my.Page) {
+ this.setData({
+ systemInfo: my.getSystemInfoSync()
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/network-status
+ Page({
+ data: {
+ hasNetworkType: false
+ },
+ getNetworkType(this: my.Page) {
+ my.getNetworkType({
+ success: (res) => {
+ this.setData({
+ hasNetworkType: true,
+ networkType: res.networkType
+ });
+ }
+ });
+ },
+ clear(this: my.Page) {
+ this.setData({
+ hasNetworkType: false,
+ networkType: ''
+ });
+ },
+ });
+ my.onNetworkStatusChange((res) => {
+ console.log(JSON.stringify(res));
+ });
+ my.offNetworkStatusChange();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/clipboard
+ Page({
+ data: {
+ text: '3.1415926',
+ copy: '',
+ },
+
+ handlePaste(this: my.Page) {
+ my.getClipboard({
+ success: ({ text }) => {
+ this.setData({ copy: text });
+ },
+ });
+ },
+ });
+ Page({
+ data: {
+ text: '3.1415926',
+ copy: '',
+ },
+
+ handleCopy() {
+ my.setClipboard({
+ text: this.data.text,
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/shake
+ Page({
+ watchShake() {
+ my.watchShake({
+ success() {
+ console.log('动起来了');
+ my.alert({ title: '动起来了 o.o' });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/vibrate
+ Page({
+ vibrate() {
+ my.vibrate({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+ Page({
+ vibrateLong() {
+ my.vibrateLong({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+ Page({
+ vibrateShort() {
+ my.vibrateShort({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/macke-call
+ Page({
+ makePhoneCall() {
+ my.makePhoneCall({ number: '95888' });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/get-server-time
+ // getServerTime(){
+ // my.getServerTime({
+ // success: (res) => {
+ // my.alert({
+ // title: res.time,
+ // });
+ // },
+ // });
+ // };
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/user-capture-screen
+ my.onUserCaptureScreen(() => {
+ my.alert({
+ content: '收到用户截屏事件'
+ });
+ });
+ my.offUserCaptureScreen();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/screen-brightness
+ my.setKeepScreenOn({
+ keepScreenOn: true,
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ });
+ my.getScreenBrightness({
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ },
+ });
+ my.setScreenBrightness({
+ brightness: 0.5,
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/show-auth-guide
+ my.showAuthGuide({
+ authType: 'LBSSERVICE'
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/scan
+ Page({
+ scan() {
+ my.scan({
+ type: 'qr',
+ success: (res) => {
+ my.alert({ title: res.code });
+ },
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/bluetooth-intro
+ // 初始化
+ my.openBluetoothAdapter({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+ // 注册发现事件
+ my.onBluetoothDeviceFound({
+ success: (res) => {
+ const device = res.devices[0];
+ // 连接发现的设备
+ my.connectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ // 停止搜索
+ my.stopBluetoothDevicesDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ }
+ });
+ const deviceId = 'test';
+ const serviceId = 'test';
+ const characteristicId = 'test';
+ // 注册连接事件
+ my.onBLEConnectionStateChanged({
+ success: (res) => {
+ console.log(res);
+ if (res.connected) {
+ // 开始读写notify等操作
+ my.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ }
+ }
+ });
+ // 注册接收read或notify的数据
+ my.onBLECharacteristicValueChange({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+ // 开始搜索
+ my.startBluetoothDevicesDiscovery({
+ services: ['fff0'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ // 断开连接
+ my.disconnectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ // 注销事件
+ my.offBluetoothDeviceFound();
+ my.offBLEConnectionStateChanged();
+ my.offBLECharacteristicValueChange();
+
+ // 退出蓝牙模块
+ my.closeBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/bluetooth-api
+ my.openBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.closeBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBluetoothAdapterState({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.startBluetoothDevicesDiscovery({
+ services: ['fff0'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.stopBluetoothDevicesDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBluetoothDevices({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getConnectedBluetoothDevices({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ const deviceId = 'test';
+ const serviceId = 'test';
+ const characteristicId = 'test';
+ my.connectBLEDevice({
+ // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.disconnectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.writeBLECharacteristicValue({
+ deviceId,
+ serviceId,
+ characteristicId,
+ value: 'fffe',
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.readBLECharacteristicValue({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBLEDeviceServices({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBLEDeviceCharacteristics({
+ deviceId,
+ serviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onBluetoothDeviceFound(this.callback);
+ },
+ onUnload() {
+ my.offBluetoothDeviceFound(this.callback);
+ },
+ callback(res: any) {
+ console.log(res);
+ },
+ });
+ my.offBluetoothDeviceFound();
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onBLECharacteristicValueChange(this.callback);
+ },
+ onUnload() {
+ my.offBLECharacteristicValueChange(this.callback);
+ },
+ callback(res: any) {
+ console.log(res);
+ },
+ });
+ my.offBLECharacteristicValueChange();
+ my.offBLEConnectionStateChanged();
+ my.offBluetoothAdapterStateChange();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/yqleyc
+ my.startBeaconDiscovery({
+ uuids: ['uuid1', 'uuid2'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: () => {
+ },
+ complete: () => {
+ }
+ });
+
+ my.stopBeaconDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ my.getBeacons({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ my.onBeaconUpdate({
+ success: (res) => {
+ },
+ });
+
+ my.onBeaconServiceChange({
+ success: (res) => {
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/data-safe
+ Page({
+ data: {
+ inputValue: '',
+ outputValue: '',
+ },
+ onInput(this: my.Page, e: any) {
+ this.setData({ inputValue: e.detail.value });
+ },
+ onEncrypt(this: my.Page) {
+ my.rsa({
+ action: 'encrypt',
+ // 设置公钥
+ // tslint:disable-next-line:max-line-length
+ key: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKmi0dUSVQ04hL6GZGPMFK8+d6\nGzulagP27qSUBYxIJfE04KT+OHVeFFb6K+8nWDea5mkmZrIgp022zZVDgdWPNM62\n3ouBwHlsfm2ekey8PpQxfXaj8lhM9t8rJlC4FEc0s8Qp7Q5/uYrowQbT9m6t7BFK\n3egOO2xOKzLpYSqfbQIDAQAB',
+ text: this.data.inputValue,
+ success: (result) => {
+ this.setData({ outputValue: result.text });
+ },
+ fail(e) {
+ my.alert({
+ content: e.errorMessage || e.error,
+ });
+ },
+ });
+ },
+ onDecrypt(this: my.Page) {
+ my.rsa({
+ action: 'decrypt',
+ text: this.data.inputValue,
+ // 设置私钥
+ // tslint:disable-next-line:prefer-template
+ key: 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMqaLR1RJVDTiEvo\n' +
+ 'ZkY8wUrz53obO6VqA/bupJQFjEgl8TTgpP44dV4UVvor7ydYN5rmaSZmsiCnTbbN\n' +
+ 'lUOB1Y80zrbei4HAeWx+bZ6R7Lw+lDF9dqPyWEz23ysmULgURzSzxCntDn+5iujB\n' +
+ 'BtP2bq3sEUrd6A47bE4rMulhKp9tAgMBAAECgYBjsfRLPdfn6v9hou1Y2KKg+F5K\n' +
+ 'ZsY2AnIK+6l+sTAzfIAx7e0ir7OJZObb2eyn5rAOCB1r6RL0IH+MWaN+gZANNG9g\n' +
+ 'pXvRgcZzFY0oqdMZDuSJjpMTj7OEUlPyoGncBfvjAg0zdt9QGAG1at9Jr3i0Xr4X\n' +
+ '6WrFhtfVlmQUY1VsoQJBAPK2Qj/ClkZNtrSDfoD0j083LcNICqFIIGkNQ+XeuTwl\n' +
+ '+Gq4USTyaTOEe68MHluiciQ+QKvRAUd4E1zeZRZ02ikCQQDVscINBPTtTJt1JfAo\n' +
+ 'wRfTzA0Lvgig136xLLeQXREcgq1lzgkf+tGyUGYoy9BXsV0mOuYAT9ldja4jhJeq\n' +
+ 'cEulAkEAuSJ5KjV9dyb0RIFAz5C8d8o5KAodwaRIxJkPv5nCZbT45j6t9qbJxDg8\n' +
+ 'N+vghDlHI4owvl5wwVlAO8iQBy8e8QJBAJe9CVXFV0XJR/n/XnER66FxGzJjVi0f\n' +
+ '185nOlFARI5CHG5VxxT2PUCo5mHBl8ctIj+rQvalvGs515VQ6YEVDCECQE3S0AU2\n' +
+ 'BKyFVNtTpPiTyRUWqig4EbSXwjXdr8iBBJDLsMpdWsq7DCwv/ToBoLg+cQ4Crc5/\n5DChU8P30EjOiEo=',
+ success: (result) => {
+ this.setData({ outputValue: result.text });
+ },
+ fail(e) {
+ my.alert({
+ content: e.errorMessage || e.error,
+ });
+ },
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/share_app
+ Page({
+ onShareAppMessage() {
+ return {
+ title: '小程序示例',
+ desc: '小程序官方示例Demo,展示已支持的接口能力及组件。',
+ path: 'page/component/component-pages/view/view?param=123'
+ };
+ },
+ });
+
+ my.hideShareMenu();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/report
+ my.reportAnalytics('purchase', {
+ status: 200,
+ reason: 'ok'
+ });
+})();
diff --git a/types/ali-app/index.d.ts b/types/ali-app/index.d.ts
new file mode 100644
index 0000000000..82f7b2bf27
--- /dev/null
+++ b/types/ali-app/index.d.ts
@@ -0,0 +1,3265 @@
+// Type definitions for ali-app 1.0
+// Project: https://docs.alipay.com/mini/api/overview (Does not have to be to GitHub, but prefer linking to a source code repository rather than to a project website.)
+// Definitions by: taoqf
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.3
+
+// 公共部分
+declare namespace my {
+ // #region 基本参数
+ interface DataResponse {
+ /** 回调函数返回的内容 */
+ data: any;
+ /** 开发者服务器返回的 HTTP 状态码 */
+ status: number;
+ /** 开发者服务器返回的 HTTP Response Header */
+ headers: object;
+ }
+ interface ErrMsgResponse {
+ /** 成功:ok,错误:详细信息 */
+ errMsg: "ok" | string;
+ }
+ interface TempFileResponse {
+ /** 文件的临时路径 */
+ apFilePath: string;
+ }
+ interface BaseOptions {
+ /** 接口调用成功的回调函数 */
+ success?(res: R): void;
+ /** 接口调用失败的回调函数 */
+ fail?(res: E): void;
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?(res: any): void;
+ }
+ interface ErrCodeResponse {
+ errCode: number;
+ }
+ // #endregion
+}
+
+// 界面
+declare namespace my {
+ //#region 导航栏 https://docs.alipay.com/mini/api/ui-navigate
+ interface NavigateToOptions extends BaseOptions {
+ /** 需要跳转的应用内页面的路径 */
+ url: string;
+ }
+ /**
+ * 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
+ *
+ * 注意:为了不让用户在使用小程序时造成困扰,
+ * 我们规定页面路径只能是五层,请尽量避免多层级的交互方式。
+ */
+ function navigateTo(options: NavigateToOptions): void;
+
+ interface RedirectToOptions extends BaseOptions {
+ /** 需要跳转的应用内页面的路径 */
+ url: string;
+ }
+ /**
+ * 关闭当前页面,跳转到应用内的某个页面。
+ */
+ function redirectTo(options: RedirectToOptions): void;
+
+ interface NavigateBackOptions extends BaseOptions {
+ /** 返回的页面数,如果 delta 大于现有打开的页面数,则返回到首页 */
+ delta: number;
+ }
+ /**
+ * 关闭当前页面,返回上一级或多级页面。可通过 getCurrentPages 获取当前的页面栈信息,决定需要返回几层。
+ */
+ function navigateBack(options?: NavigateBackOptions): void;
+
+ interface ReLaunchOptions extends BaseOptions {
+ /**
+ * 需要跳转的应用内页面路径 , 路径后可以带参数。
+ * 参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔
+ * 如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数
+ */
+ url: string;
+ }
+ /**
+ * 关闭所有页面,打开到应用内的某个页面。
+ */
+ function reLaunch(options?: ReLaunchOptions): void;
+
+ interface SetNavigationBarOptions extends BaseOptions {
+ /** 页面标题 */
+ title: string;
+ /** 图片连接地址,必须是https,请使用3x高清图片。若设置了image则title参数失效 */
+ image: string;
+ /** 导航栏背景色,支持十六进制颜色值 */
+ backgroundColor: string;
+ /** 导航栏底部边框颜色,支持十六进制颜色值。若设置了 backgroundColor,则borderBottomColor 不会生效,默认会和 backgroundColor 颜色一样 */
+ borderBottomColor: string;
+ /** 是否重置导航栏为支付宝默认配色,默认 false */
+ reset: boolean;
+ }
+ /**
+ * 动态设置当前页面的标题。
+ */
+ function setNavigationBar(options: Partial): void;
+
+ /**
+ * 显示导航栏 loading
+ */
+ function showNavigationBarLoading(): void;
+
+ /** 隐藏导航栏 loading。 */
+ function hideNavigationBarLoading(): void;
+ //#endregion
+
+ //#region TabBar https://docs.alipay.com/mini/api/ui-tabbar
+ interface SwitchTabOptions extends BaseOptions {
+ /**
+ * 需要跳转的 tabBar 页面的路径
+ * (需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
+ */
+ url: string;
+ }
+ /**
+ * 跳转到指定 tabBar 页面,并关闭其他所有非 tabBar 页面
+ */
+ function switchTab(options: SwitchTabOptions): void;
+ //#endregion
+
+ //#region 交互反馈 https://docs.alipay.com/mini/api/ui-feedback
+
+ interface AlertOptions extends BaseOptions {
+ /** alert框的标题 */
+ title: string;
+ /** alert框的内容 */
+ content: string;
+ /** 按钮文字,默认确定 */
+ buttonText: string;
+ }
+ function alert(options: Partial): void;
+
+ interface ConfirmOptions extends BaseOptions {
+ /** confirm框的标题 */
+ title: string;
+ /** confirm框的内容 */
+ content: string;
+ /** 确认按钮文字,默认‘确定’ */
+ confirmButtonText: string;
+ /** 确认按钮文字,默认‘取消’ */
+ cancelButtonText: string;
+ success(result: { confirm: boolean; }): void;
+ }
+ function confirm(options: Partial): void;
+
+ interface PromptOptions extends BaseOptions {
+ /** prompt框标题 */
+ title?: string;
+ /** prompt框文本,默认‘请输入内容’ */
+ message?: string;
+ /** 输入框内的提示文案 */
+ placeholder?: string;
+ /** message对齐方式,可用枚举left/center/right,iOS ‘center’, android ‘left’ */
+ align?: 'left' | 'center' | 'right' | string;
+ /** 确认按钮文字,默认‘确定’ */
+ okButtonText: string;
+ /** 确认按钮文字,默认‘取消’ */
+ cancelButtonText: string;
+ success(result: { ok: boolean; inputValue: string; }): void;
+ }
+ function prompt(options: PromptOptions): void;
+
+ interface ToastOptions extends BaseOptions {
+ /**
+ * 文字内容
+ */
+ content: string;
+ /** toast 类型,展示相应图标,默认 none,支持 success / fail / exception / none’。其中 exception 类型必须传文字信息 */
+ type?: 'none' | 'success' | 'fail' | 'exception' | string;
+ /**
+ * 显示时长,单位为 ms,默认 2000
+ */
+ duration?: number;
+ }
+ /**
+ * 显示消息提示框
+ */
+ function showToast(options: Partial): void;
+ function hideToast(): void;
+
+ interface LoadingOptions extends BaseOptions {
+ /**
+ * loading的文字内容
+ */
+ content?: string;
+ /**
+ * 延迟显示,单位 ms,默认 0。如果在此时间之前调用了 my.hideLoading 则不会显示
+ */
+ delay?: number;
+ }
+ /**
+ * 显示加载提示
+ */
+ function showLoading(options?: LoadingOptions): void;
+ interface HideLoadingOptions {
+ /**
+ * 体指当前page实例,某些场景下,需要指明在哪个page执行hideLoading。
+ */
+ page: any;
+ }
+ /**
+ * 隐藏消息提示框
+ */
+ function hideLoading(options?: HideLoadingOptions): void;
+
+ interface Badge {
+ /** 需要飘红的选项的索引,从0开始 */
+ index: number;
+ /**
+ * 飘红类型,支持 none(无红点)/ point(纯红点) / num(数字红点)/ text(文案红点)/ more(...)
+ *
+ */
+ type: 'none' | 'point' | 'num' | 'text' | 'more' | string;
+
+ /**
+ * 自定义飘红文案:
+ *
+ * 1、type为none/point/more时本文案可不填
+ * 2、type为num时本文案为小数或<=0均不显示, >100 显示"..."
+ */
+ text: string;
+ }
+ interface ActionSheetOptions extends BaseOptions {
+ /** 菜单标题 */
+ title?: string;
+ /**
+ * 菜单按钮文字数组
+ */
+ items: string[];
+ /**
+ * 取消按钮文案。默认为‘取消’。注:Android平台此字段无效,不会显示取消按钮。
+ */
+ cancelButtonText?: string;
+ /**
+ * (iOS特殊处理)指定按钮的索引号,从0开始,使用场景:需要删除或清除数据等类似场景,默认红色
+ */
+ destructiveBtnIndex?: number;
+ /**
+ * 需飘红选项的数组,数组内部对象字段见下表
+ */
+ badges?: Array>;
+ /**
+ * 接口调用成功的回调函数
+ */
+ success?(res: {
+ /**
+ * 用户点击的按钮,从上到下的顺序,从0开始
+ */
+ index: number;
+ }): void;
+ }
+ /**
+ * 显示操作菜单
+ */
+ function showActionSheet(options: ActionSheetOptions): void;
+ //#endregion
+
+ //#region 下拉刷新 https://docs.alipay.com/mini/api/ui-pulldown
+ /**
+ * Page 实现的接口对象
+ */
+ interface PageOptions {
+ /**
+ * 下拉刷新
+ * 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件。
+ * 需要在页面对应的 .json 配置文件中配置 "pullRefresh": true 选项,才能开启下拉刷新事件。
+ * 当处理完数据刷新后,调用 my.stopPullDownRefresh 可以停止当前页面的下拉刷新。
+ */
+ onPullDownRefresh?(this: Page): void;
+ }
+ /**
+ * 停止当前页面的下拉刷新。
+ */
+ function stopPullDownRefresh(): void;
+ //#endregion
+
+ //#region 联系人 https://docs.alipay.com/mini/api/ui-contact
+ interface ChoosePhoneContactOptions extends BaseOptions {
+ success(result: {
+ name: string; // 选中的联系人姓名
+ mobile: string; // 选中的联系人手机号
+ }): void;
+ /**
+ * 10 没有权限
+ * 11 用户取消操作(或设备未授权使用通讯录)
+ */
+ fail?(error: 10 | 11): void;
+ }
+ /**
+ * 选择本地系统通信录中某个联系人的电话。
+ */
+ function choosePhoneContact(options: ChoosePhoneContactOptions): void;
+
+ interface ChooseAlipayContactOptions extends BaseOptions {
+ /** 单次最多选择联系人个数,默认 1,最大 10 */
+ count: number;
+ success(result: {
+ realName: string; // 账号的真实姓名
+ mobile: string; // 账号对应的手机号码
+ email: string; // 账号的邮箱
+ avatar: string; // 账号的头像链接
+ userId: string; // 支付宝账号唯一 userId
+ }): void;
+ /**
+ * 10 没有权限
+ * 11 用户取消操作(或设备未授权使用通讯录)
+ */
+ fail?(error: 10 | 11): void;
+ }
+ /**
+ * 唤起支付宝通讯录,选择一个或者多个支付宝联系人。
+ */
+ function chooseAlipayContact(options: ChooseAlipayContactOptions): void;
+
+ interface ContactsDic {
+ /**
+ * 支付宝账号唯一 userId
+ */
+ userId: string;
+ /**
+ * 账号的头像链接
+ */
+ avatar: string;
+ /**
+ * 账号对应的手机号码
+ */
+ mobile: string;
+ /**
+ * 账号的真实姓名
+ */
+ realName: string;
+ /**
+ * 账号的显示名称:也即支付宝设置的备注名称,默认为朋友圈里面的昵称
+ */
+ displayName: string; // 账号的显示名称:也即支付宝设置的备注名称,默认为朋友圈里面的昵称
+ }
+ interface ChooseContactOptions extends BaseOptions {
+ /** 选择类型,值为single(单选)或者 multi(多选) */
+ chooseType: 'single' | 'multi' | string;
+ /** 包含手机通讯录联系人的模式:默认为不包含(none)、或者仅仅包含双向通讯录联系人(known)、或者包含手机通讯录联系人(all) */
+ includeMobileContactMode?: 'none' | 'known' | 'all' | string;
+ /** 是否包含自己 */
+ includeMe?: boolean;
+ /** 最大选择人数,仅 chooseType 为 multi 时才有效 */
+ multiChooseMax?: number;
+ /** 多选达到上限的文案,仅 chooseType 为 multi 时才有效 */
+ multiChooseMaxTips?: string;
+
+ success(result: {
+ contactsDicArray: ContactsDic[];
+ }): void;
+ }
+ /**
+ * 唤起选人组件,默认只包含支付宝联系人,可以通过修改参数包含手机通讯录联系人或者双向通讯录联系人。
+ */
+ function chooseContact(options: ChooseContactOptions): void;
+ //#endregion
+
+ //#region 选择城市 https://docs.alipay.com/mini/api/ui-city
+ interface City {
+ city: string; // 城市名
+ adCode: string; // 行政区划代码
+ spell?: string; // 城市名对应拼音拼写,方便用户搜索
+ }
+ interface ChooseCityOptions extends BaseOptions {
+ showLocatedCity: boolean; // 是否显示当前定位城市,默认 false
+ showHotCities: boolean; // 是否显示热门城市,默认 true
+ cities: City[]; // 自定义城市列表,列表内对象字段见下表
+ hotCities: City[]; // 自定义热门城市列表,列表内对象字段见下表
+ success(result: { city: string; adCode: string; }): void;
+ }
+ /**
+ * 打开城市选择列表
+ *
+ * 如果用户没有选择任何城市直接点击了返回,将不会触发回调函数。
+ */
+ function chooseCity(options: Partial): void;
+ //#endregion
+
+ //#region 选择日期 https://docs.alipay.com/mini/api/ui-date
+ interface DatePickerOptions extends BaseOptions {
+ /**
+ * 返回的日期格式,
+ * 1. yyyy-MM-dd(默认)
+ * 2. HH:mm
+ * 3. yyyy-MM-dd HH:mm
+ * 4. yyyy-MM (最低基础库:1.1.1, 可用 canIUse('datePicker.object.format.yyyy-MM') 判断)
+ * 5. yyyy (最低基础库:1.1.1,可用 canIUse('datePicker.object.format.yyyy') 判断)
+ */
+ format: 'yyyy-MM-dd' | 'HH:mm' | 'yyyy-MM-dd HH:mm' | 'yyyy-MM' | 'yyyy';
+ /** 初始选择的日期时间,默认当前时间 */
+ currentDate: string;
+ /** 最小日期时间 */
+ startDate: string;
+ /** 最大日期时间 */
+ endDate: string;
+ success(result: { date: string; }): void;
+ /** 11 用户取消操作 */
+ fail(error: 11): void;
+ }
+ /**
+ * 打开日期选择列表
+ */
+ function datePicker(optiosn: Partial): void;
+ //#endregion
+
+ //#region 动画 https://docs.alipay.com/mini/api/ui-animation
+ type TimingFunction =
+ | "linear"
+ | "ease"
+ | "ease-in"
+ | "ease-in-out"
+ | "ease-out"
+ | "step-start"
+ | "step-end";
+ interface CreateAnimationOptions {
+ /** 动画持续时间,单位ms,默认值 400 */
+ duration: number;
+ /** 定义动画的效果,默认值"linear",有效值:"linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end" */
+ timeFunction: TimingFunction;
+ /** 动画持续时间,单位 ms,默认值 0 */
+ delay: number;
+ /** 设置transform-origin,默认为"50% 50% 0" */
+ transformOrigin: string;
+ }
+ interface Animator {
+ actions: AnimationAction[];
+ }
+ interface AnimationAction {
+ animates: Animate[];
+ option: AnimationActionOption;
+ }
+ interface AnimationActionOption {
+ transformOrigin: string;
+ transition: AnimationTransition;
+ }
+ interface AnimationTransition {
+ delay: number;
+ duration: number;
+ timingFunction: TimingFunction;
+ }
+ interface Animate {
+ type: string;
+ args: any[];
+ }
+ /**
+ * 创建动画实例 animation。调用实例的方法来描述动画,最后通过动画实例的export方法将动画数据导出并传递给组件的animation属性。
+ *
+ * 注意: export 方法每次调用后会清掉之前的动画操作
+ */
+ function createAnimation(options: Partial): Animation;
+ /** 动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法。 */
+ interface Animation {
+ /**
+ * 调用动画操作方法后要调用 step() 来表示一组动画完成,
+ * 可以在一组动画中调用任意多个动画方法,
+ * 一组动画中的所有动画会同时开始,
+ * 一组动画完成后才会进行下一组动画。
+ * @param options 指定当前组动画的配置
+ */
+ step(options?: CreateAnimationOptions): void;
+ /**
+ * 导出动画操作
+ *
+ * 注意: export 方法每次调用后会清掉之前的动画操作
+ */
+ export(): Animator;
+ /** 透明度,参数范围 0~1 */
+ opacity(value: number): Animation;
+ /** 颜色值 */
+ backgroundColor(color: string): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ width(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ height(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ top(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ left(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ bottom(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ right(length: number): Animation;
+ /** deg的范围-180~180,从原点顺时针旋转一个deg角度 */
+ rotate(deg: number): Animation;
+ /** deg的范围-180~180,在X轴旋转一个deg角度 */
+ rotateX(deg: number): Animation;
+ /** deg的范围-180~180,在Y轴旋转一个deg角度 */
+ rotateY(deg: number): Animation;
+ /** deg的范围-180~180,在Z轴旋转一个deg角度 */
+ rotateZ(deg: number): Animation;
+ /** 同transform-function rotate3d */
+ rotate3d(x: number, y: number, z: number, deg: number): Animation;
+ /**
+ * 一个参数时,表示在X轴、Y轴同时缩放sx倍数;
+ * 两个参数时表示在X轴缩放sx倍数,在Y轴缩放sy倍数
+ */
+ scale(sx: number, sy?: number): Animation;
+ /** 在X轴缩放sx倍数 */
+ scaleX(sx: number): Animation;
+ /** 在Y轴缩放sy倍数 */
+ scaleY(sy: number): Animation;
+ /** 在Z轴缩放sy倍数 */
+ scaleZ(sz: number): Animation;
+ /** 在X轴缩放sx倍数,在Y轴缩放sy倍数,在Z轴缩放sz倍数 */
+ scale3d(sx: number, sy: number, sz: number): Animation;
+ /**
+ * 一个参数时,表示在X轴偏移tx,单位px;
+ * 两个参数时,表示在X轴偏移tx,在Y轴偏移ty,单位px。
+ */
+ translate(tx: number, ty?: number): Animation;
+ /**
+ * 在X轴偏移tx,单位px
+ */
+ translateX(tx: number): Animation;
+ /**
+ * 在Y轴偏移tx,单位px
+ */
+ translateY(ty: number): Animation;
+ /**
+ * 在Z轴偏移tx,单位px
+ */
+ translateZ(tz: number): Animation;
+ /**
+ * 在X轴偏移tx,在Y轴偏移ty,在Z轴偏移tz,单位px
+ */
+ translate3d(tx: number, ty: number, tz: number): Animation;
+ /**
+ * 参数范围-180~180;
+ * 一个参数时,Y轴坐标不变,X轴坐标延顺时针倾斜ax度;
+ * 两个参数时,分别在X轴倾斜ax度,在Y轴倾斜ay度
+ */
+ skew(ax: number, ay?: number): Animation;
+ /** 参数范围-180~180;Y轴坐标不变,X轴坐标延顺时针倾斜ax度 */
+ skewX(ax: number): Animation;
+ /** 参数范围-180~180;X轴坐标不变,Y轴坐标延顺时针倾斜ay度 */
+ skewY(ay: number): Animation;
+ /**
+ * 同transform-function matrix
+ */
+ matrix(
+ a: number,
+ b: number,
+ c: number,
+ d: number,
+ tx: number,
+ ty: number
+ ): Animation;
+ /** 同transform-function matrix3d */
+ matrix3d(
+ a1: number,
+ b1: number,
+ c1: number,
+ d1: number,
+ a2: number,
+ b2: number,
+ c2: number,
+ d2: number,
+ a3: number,
+ b3: number,
+ c3: number,
+ d3: number,
+ a4: number,
+ b4: number,
+ c4: number,
+ d4: number
+ ): Animation;
+ }
+ //#endregion
+
+ //#region 画布 https://docs.alipay.com/mini/api/ui-canvas
+ interface ToTempFilePathOptions extends BaseOptions {
+ x: number; // 画布 x 轴起点,默认为 0
+ y: number; // 画布 y 轴起点,默认为 0
+ width: number; // 画布宽度,默认为 canvas 宽度 - x
+ height: number; // 画布高度,默认为 canvas 高度 - y
+ destWidth: number; // 输出的图片宽度,默认为 width
+ destHeight: number; // 输出的图片高度,默认为 height
+ }
+ type Color = string | number[] | number | CanvasAction;
+
+ interface CanvasAction {
+ /**
+ * 创建一个颜色的渐变点。
+ * 小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染。
+ *
+ * @param stop 渐变点位置,值必须在 [0,1] 范围内
+ * @param color 颜色值
+ */
+ addColorStop(stop: number, color: Color): void;
+ }
+
+ interface TextMetrics {
+ width: number;
+ }
+
+ interface ConvasContext {
+ font: string;
+ /**
+ * 把当前画布的内容导出生成图片,并返回文件路径。
+ */
+ toTempFilePath(options?: Partial): void;
+ /**
+ * textAlign 是 Canvas 2D API 描述绘制文本时,文本的对齐方式的属性。注意,该对齐是基于
+ * CanvasRenderingContext2D.fillText 方法的x的值。所以如果 textAlign="center",那么该文本将画在 x-50%*width
+ */
+ setTextAlign(textAlign: 'left' | 'right' | 'center' | 'start' | 'end'): void;
+ /**
+ * textBaseline 是 Canvas 2D API 描述绘制文本时,当前文本基线的属性。
+ */
+ setTextBaseline(textBaseline: 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom'): void;
+ /**
+ * 设置填充色。
+ *
+ * 如果没有设置 fillStyle,则默认颜色为 black。
+ */
+ setFillStyle(color: Color): void;
+ /**
+ * 设置边框颜色。
+ *
+ * 如果没有设置 strokeStyle,则默认颜色为 black。
+ */
+ setStrokeStyle(color: Color): void;
+ /**
+ * 设置阴影样式。
+ * 如果没有设置,offsetX 的默认值为 0, offsetY 的默认值为 0, blur 的默认值为 0,color 的默认值为 black。
+ * @param offsetX 阴影相对于形状水平方向的偏移
+ * @param offsetY 阴影相对于形状竖直方向的偏移
+ * @param blur 0~100 阴影的模糊级别,值越大越模糊
+ * @param color 阴影颜色
+ */
+ setShadow(offsetX: number, offsetY: number, blur: number, color: Color): void;
+
+ /**
+ * 创建一个线性的渐变色。
+ *
+ * @param x0 起点 x 坐标
+ * @param y0 起点 y 坐标
+ * @param x1 终点 x 坐标
+ * @param y1 终点 y 坐标
+ */
+ createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasAction;
+
+ /**
+ * 创建一个圆形的渐变色。
+ * 起点在圆心,终点在圆环。
+ * 需要使用 addColorStop() 来指定渐变点,至少需要两个。
+ * @param x 圆心 x 坐标
+ * @param y 圆心 y 坐标
+ * @param r 圆半径
+ * @returns
+ */
+ createCircularGradient(x: number, y: number, r: number): CanvasAction;
+
+ /**
+ * 设置线条的宽度。
+ * @param lineWidth 线条宽度,单位为 px
+ */
+ setLineWidth(lineWidth: number): void;
+
+ /**
+ * 设置线条的端点样式。
+ *
+ * @param lineCap 线条的结束端点样式
+ */
+ setLineCap(lineCap: 'round' | 'butt' | 'square'): void;
+
+ /**
+ * 设置线条的交点样式。
+ *
+ * @param lineJoin 线条的结束交点样式
+ */
+ setLineJoin(lineJoin: 'round' | 'bevel' | 'miter'): void;
+
+ /**
+ * 设置最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离。 当 setLineJoin() 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示
+ *
+ * @param miterLimit 最大斜接长度
+ */
+ setMiterLimit(miterLimit: number): void;
+
+ /**
+ * 创建一个矩形。
+ *
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ rect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 填充矩形。
+ * 用 setFillStyle() 设置矩形的填充色,如果没设置则默认是 black。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ fillRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 画一个矩形(非填充)。
+ * 用 setFillStroke() 设置矩形线条的颜色,如果没设置默认是 black。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ strokeRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 清除画布上在该矩形区域内的内容。
+ * clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,可以对 canvas 加了一层背景色。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ clearRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 对当前路径中的内容进行填充。默认的填充色为黑色。
+ *
+ */
+ fill(): void;
+
+ /**
+ * 画出当前路径的边框。默认 black。
+ * stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去
+ */
+ stroke(): void;
+
+ /**
+ * 关闭一个路径
+ * 关闭路径会连接起点和终点。
+ * 如果关闭路径后没有调用 fill() 或者 stroke() 并开启了新的路径,那之前的路径将不会被渲染。
+ */
+ beginPath(): void;
+
+ /**
+ * 关闭一个路径
+ * 关闭路径会连接起点和终点。
+ *
+ */
+ closePath(): void;
+
+ /**
+ * 把路径移动到画布中的指定点,不创建线条。
+ * 用 stroke() 方法来画线条
+ * @param x 目标位置 x 坐标
+ * @param y 目标位置 y 坐标
+ */
+ moveTo(x: number, y: number): void;
+
+ /**
+ * lineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线。
+ * 用 stroke() 方法来画线条
+ *
+ * @param x 目标位置 x 坐标
+ * @param y 目标位置 y 坐标
+ */
+ lineTo(x: number, y: number): void;
+
+ /**
+ * 画一条弧线。
+ * 创建一个圆可以用 arc() 方法指定其实弧度为0,终止弧度为 2 * Math.PI。
+ *
+ * @param x
+ * @param y
+ * @param r
+ * @param sAngle
+ * @param eAngle
+ */
+ arc(x: number, y: number, r: number, sAngle: number, eAngle: number): void;
+
+ /**
+ * 创建三次方贝塞尔曲线路径。
+ * 曲线的起始点为路径中前一个点。
+ * @param cp1x
+ * @param cp1y
+ * @param cp2x
+ * @param cp2y
+ * @param x
+ * @param y
+ */
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
+
+ /**
+ * 将当前创建的路径设置为当前剪切路径。
+ *
+ */
+ clip(): void;
+
+ /**
+ * 创建二次贝塞尔曲线路径。
+ * 曲线的起始点为路径中前一个点。
+ * @param cpx 贝塞尔控制点 x 坐标
+ * @param cpy 贝塞尔控制点 y 坐标
+ * @param x 结束点 x 坐标
+ * @param y 结束点 y 坐标
+ */
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
+
+ /**
+ * 在调用scale方法后,之后创建的路径其横纵坐标会被缩放。多次调用scale,倍数会相乘。
+ *
+ * @param scaleWidth 横坐标缩放倍数 (1 = 100%,0.5 = 50%,2 = 200%)
+ * @param scaleHeight 纵坐标轴缩放倍数 (1 = 100%,0.5 = 50%,2 = 200%)
+ */
+ scale(scaleWidth: number, scaleHeight: number): void;
+
+ /**
+ * 以原点为中心,原点可以用 translate方法修改。顺时针旋转当前坐标轴。多次调用rotate,旋转的角度会叠加。
+ *
+ * @param rotate 旋转角度,以弧度计(degrees * Math.PI/180;degrees 范围为0~360)
+ */
+ rotate(rotate: number): void;
+
+ /**
+ * 对当前坐标系的原点(0, 0)进行变换,默认的坐标系原点为页面左上角。
+ *
+ * @param x 水平坐标平移量
+ * @param y 竖直坐标平移量
+ */
+ translate(x: number, y: number): void;
+
+ /**
+ * 设置字体大小。
+ *
+ * @param fontSize 字号
+ */
+ setFontSize(fontSize: number): void;
+
+ /**
+ * 在画布上绘制被填充的文本。
+ *
+ * @param text 文本
+ * @param x 绘制文本的左上角 x 坐标
+ * @param y 绘制文本的左上角 y 坐标
+ */
+ fillText(text: string, x: number, y: number): void;
+
+ /**
+ * 绘制图像,图像保持原始尺寸。
+ *
+ * @param imageResource 图片资源, 只支持线上 cdn 地址或离线包地址,线上 cdn 需返回头 Access-Control-Allow-Origin: *
+ * @param x 图像左上角 x 坐标
+ * @param y 图像左上角 y 坐标
+ * @param width 图像宽度
+ * @param height 图像高度
+ */
+ drawImage(imageResource: string, x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 设置全局画笔透明度。
+ *
+ * @param alpha 透明度,0 表示完全透明,1 表示不透明 范围 [0, 1]
+ */
+ setGlobalAlpha(alpha: number): void;
+
+ /**
+ * 设置虚线的样式
+ *
+ * @param segments 一组描述交替绘制线段和间距(坐标空间单位)长度的数字。 如果数组元素的数量是奇数, 数组的元素会被复制并重复。例如, [5, 15, 25] 会变成 [5, 15, 25, 5, 15, 25]。
+ */
+ setLineDash(segments: number[]): void;
+
+ /**
+ * 使用矩阵多次叠加当前变换的方法,矩阵由方法的参数进行描述。你可以缩放、旋转、移动和倾斜上下文。
+ *
+ * @param scaleX 水平缩放
+ * @param skewX 水平倾斜
+ * @param skewY 垂直倾斜
+ * @param scaleY 垂直缩放
+ * @param translateX 水平移动
+ * @param translateY 垂直移动
+ */
+ transform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
+
+ /**
+ * 使用单位矩阵重新设置(覆盖)当前的变换并调用变换的方法,此变换由方法的变量进行描述。
+ *
+ * @param scaleX 水平缩放
+ * @param skewX 水平倾斜
+ * @param skewY 垂直倾斜
+ * @param scaleY 垂直缩放
+ * @param translateX 水平移动
+ * @param translateY 垂直移动
+ */
+ setTransform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
+
+ /**
+ * 保存当前的绘图上下文。
+ *
+ */
+ save(): void;
+
+ /**
+ * 恢复之前保存的绘图上下文。
+ */
+ restore(): void;
+
+ /**
+ * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
+ * 绘图上下文需要由 my.createCanvasContext(canvasId) 来创建。
+ * @param [reserve] 本次绘制是否接着上一次绘制,即 reserve 参数为 false 时则在本次调用 drawCanvas绘制之前 native 层应先清空画布再继续绘制;若 reserver 参数为true 时,则保留当前画布上的内容,本次调用drawCanvas绘制的内容覆盖在上面,默认 false
+ */
+ draw(reserve?: boolean): void;
+
+ measureText(text: string): TextMetrics;
+ }
+ /**
+ * 创建 canvas 绘图上下文
+ *
+ * 该绘图上下文只作用于对应 canvasId 的
+ */
+ function createCanvasContext(canvasId: string): ConvasContext;
+ //#endregion
+
+ //#region 地图 https://docs.alipay.com/mini/api/ui-map
+ interface GetCenterLocationOptions extends BaseOptions {
+ success?(res: { longitude: string; latitude: string; }): void;
+ }
+
+ interface MapContext extends BaseOptions {
+ /**
+ * 获取当前地图中心的经纬度,返回 gcj02 坐标系的值,可以用于 my.openLocation
+ *
+ * @param options
+ */
+ getCenterLocation(options: GetCenterLocationOptions): void;
+ /**
+ * 将地图中心移动到当前定位点,需要配合 map 组件的 show-location 使用
+ */
+ moveToLocation(): void;
+ }
+
+ /**
+ * 创建并返回一个 map 上下文对象 mapContext。
+ *
+ * @param mapId
+ * @returns
+ */
+ function createMapContext(mapId: string): MapContext;
+
+ //#endregion
+
+ //#region 键盘 https://docs.alipay.com/mini/api/ui-hidekeyboard
+ /**
+ * 隐藏键盘
+ *
+ */
+ function hideKeyboard(): void;
+ //#endregion
+
+ //#region 滚动 https://docs.alipay.com/mini/api/scroll
+ interface PageScrollToOptions {
+ scrollTop: number; // 滚动到页面的目标位置,单位 px
+ }
+
+ /**
+ * 滚动到页面的目标位置
+ *
+ * @param options
+ */
+ function pageScrollTo(options: PageScrollToOptions): void;
+ //#endregion
+
+ //#region 节点查询 https://docs.alipay.com/mini/api/selector-query
+ interface RectArea {
+ /** 节点的左边界坐标 */
+ left: number;
+ /** 节点的右边界坐标 */
+ right: number;
+ /** 节点的上边界坐标 */
+ top: number;
+ /** 节点的下边界坐标 */
+ bottom: number;
+ /** 节点的宽度 */
+ width: number;
+ /** 节点的高度 */
+ height: number;
+ }
+ interface NodesRefRect extends RectArea {
+ /** 节点的ID */
+ id: string;
+ /** 节点的dataset */
+ dataset: any;
+ }
+ interface NodeRefOffset {
+ /** 节点的ID */
+ id: string;
+ /** 节点的dataset */
+ dataset: any;
+ /** 节点的水平滚动位置 */
+ scrollLeft: number;
+ /** 节点的竖直滚动位置 */
+ scrollTop: number;
+ }
+ interface NodesRef {
+ /**
+ * 添加节点的布局位置的查询请求,相对于显示区域,以像素为单位。
+ * 其功能类似于DOM的getBoundingClientRect。
+ * 返回值是nodesRef对应的selectorQuery。
+ * 返回的节点信息中,每个节点的位置用
+ * left、right、top、bottom、width、height字段描述。
+ * 如果提供了callback回调函数,在执行selectQuery的exec方法后
+ * 节点信息会在callback中返回。
+ */
+ boundingClientRect(
+ callback?: (rect: T) => void
+ ): SelectorQuery;
+ /**
+ * 添加节点的滚动位置查询请求,以像素为单位。
+ * 节点必须是scroll-view或者viewport。
+ * 返回值是nodesRef对应的selectorQuery。
+ * 返回的节点信息中,每个节点的滚动位置用scrollLeft、scrollHeight字段描述。
+ * 如果提供了callback回调函数,在执行selectQuery的exec方法后,节点信息会在callback中返回。
+ */
+ scrollOffset(callback?: (rect: NodeRefOffset) => void): SelectorQuery;
+ // /**
+ // * 获取节点的相关信息,需要获取的字段在fields中指定。
+ // * 返回值是nodesRef对应的selectorQuery。
+ // */
+ // fields(
+ // fields: NodeRefFieldsOptions,
+ // callback?: (result: any) => void
+ // ): SelectorQuery;
+ }
+ /**
+ * SelectorQuery对象实例
+ */
+ interface SelectorQuery {
+ // /**
+ // * 将选择器的选取范围更改为自定义组件component内
+ // * (初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点
+ // * @version 1.6.0
+ // */
+ // in(component: Component