{"_id":"graphbrainz","_rev":"54-123a7486629a2de44c87192b87d9c964","name":"graphbrainz","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","dist-tags":{"latest":"9.0.0","next":"9.0.0-beta.2"},"versions":{"2.0.0":{"name":"graphbrainz","version":"2.0.0","description":"GraphQL server for accessing the MusicBrainz API.","main":"lib/index.js","files":["lib","scripts","Procfile","schema.json"],"engines":{"node":"^4.3.0","npm":"^3.10.5"},"scripts":{"build":"npm run build:lib && npm run update-schema","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":[],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"4359401dfc67b5421cb4479ef136e8bc63e59e3a","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.0.0","_shasum":"11648c643565a0ea2783a6ad790c100d571866e5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"11648c643565a0ea2783a6ad790c100d571866e5","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.0.0.tgz","integrity":"sha512-2lpNrTqeXozDd/CQ6DzPrFsiz6qjpJdtHKLtJT9R7HTxeFujqEqOHrdVaI01wvQjm6z0ZRDJbdWZfqVAX/PO7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKo7sDoXugdCjMB6m4Hnevs9kb/sxSIdvs4I9uX6DnnAIhAL2fUnH4baEchtzFn+mHnQ6jgyyvMybXNMFHUnQtzDFa"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.0.0.tgz_1480124554678_0.3974871102254838"},"directories":{}},"2.1.0":{"name":"graphbrainz","version":"2.1.0","description":"An [Express][] server and middleware for querying [MusicBrainz][] using [GraphQL][].","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json"],"engines":{"node":"^4.3.0","npm":"^3.10.5"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"doctoc --title \"## Contents\" README.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":[],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"1262953a92ee880781c90e03e98332de35e0c300","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.1.0","_shasum":"7488d42d7256ef2de534e0a2a60a8631f6b73eac","_from":".","_npmVersion":"3.10.10","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"7488d42d7256ef2de534e0a2a60a8631f6b73eac","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.1.0.tgz","integrity":"sha512-Ipv9J7hEfW3YTlH+cih5A2yNKL6bL99LLmE0oV71JLJRvVMhNZ0gATmQQxmP1hoCKmBKLjkLDW/YUnn/p87xlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDDl/sXjy1iG+F/EawZnn4M0pM9pL15rENMRrUyPbqHAiBuxJQx37PJ+1aKIrUEUV8GeSfyyECkgX0mxIlzo65/qQ=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-2.1.0.tgz_1480126920115_0.11486105970107019"},"directories":{}},"2.1.1":{"name":"graphbrainz","version":"2.1.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"doctoc --title \"## Contents\" README.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"7048c6ae4619bd3e1ccde47a68cf53b6b851372d","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.1.1","_shasum":"c7d7b195350ec660c1da7be8cfd93151d0f2d25d","_from":".","_npmVersion":"3.10.5","_nodeVersion":"4.4.7","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"c7d7b195350ec660c1da7be8cfd93151d0f2d25d","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.1.1.tgz","integrity":"sha512-iOdpKy86cduhOU1wZpIgO0oLm+AHGnF4qkAjcnrsJ/h58C1FNcy2P+yLcGQpFLiG1BZmQa2rraY7BugeAxM/Hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFmoW1mWtmshswKpBu+9RQNzFgF4vxKQyTWZetbIFG7AiAFIyDcDJCazxbmNL3JH0YAyByBQeljt9T/GlbuWf60Dw=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-2.1.1.tgz_1480157877893_0.7945145168341696"},"directories":{}},"2.2.0":{"name":"graphbrainz","version":"2.2.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"doctoc --title \"## Contents\" README.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"6f5601ec19333dc17babf0018754b7cb59e24f72","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.2.0","_shasum":"fb9736b8745cdac50747250d9e2e72eccb54a0d7","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"fb9736b8745cdac50747250d9e2e72eccb54a0d7","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.2.0.tgz","integrity":"sha512-tWebLfTZVevnjfe9Btv1NtxNVFPDmSTPpHDDFtwjxbmPuhkxNPWy4za30lJKSiShoxCwPRQ7K8mMeW06FWsEDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKVwYRiLdaZ5euARc2cNSK+HFfev3XCFWMMyo6W/qdJAiBQbJpXvgYocvCycPaw35Y4HldLLp8kq/pbD7zyBitkVw=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.2.0.tgz_1480341143827_0.06241882126778364"},"directories":{}},"2.2.1":{"name":"graphbrainz","version":"2.2.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"doctoc --title \"## Contents\" README.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"2cf576a0187153ebdce545b95d54d3c34fc14e77","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.2.1","_shasum":"3f2f0723b5faa2a00eaa83b9dc6636b93fbc4c0e","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"3f2f0723b5faa2a00eaa83b9dc6636b93fbc4c0e","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.2.1.tgz","integrity":"sha512-xX7civbSFR0rHRKPW+q7TjP7qUA3WOiuViOKXc0wjakb4x+fuL5Zg2GcugQ5QzmQxSAhw44k8qqx2PczXOg/dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhjBCJOYnGn7GRXfTGiyRuCPBX1iJzOt+xZq5CyjeDdQIgOvbWUfyMgENX+TpNCwieiN4B5F0cVTbpasH6CqfD5Q8="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-2.2.1.tgz_1480343165390_0.03035788075067103"},"directories":{}},"2.3.0":{"name":"graphbrainz","version":"2.3.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"doctoc --title \"## Contents\" README.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run update-schema:json && npm run update-schema:md","update-schema:json":"npm run -s print-schema:json > schema.json","update-schema:md":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > schema.md"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"8d73ed123328c3a432236188ea6e0f568c6abd00","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.3.0","_shasum":"2942babd73d329222d12e96ff2bc3018f8cd726b","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"2942babd73d329222d12e96ff2bc3018f8cd726b","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.3.0.tgz","integrity":"sha512-Nq9CYcGUDICbXt3WnwGkCGfcvl18n3CDNtsoNf39hwCMpOTSO8Bl11qONRndErbTURBD5gJOkrZ1kFn9fvvelA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCplNTwmV2T6hibKOnWQmqQE2843ikyG4aBitVrRc97QgIhAKgn8fcy6WGy8JBZVeKM1XMANQTO7ewxnyH5FKzQM3LS"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-2.3.0.tgz_1480344332535_0.13565953797660768"},"directories":{}},"2.4.0":{"name":"graphbrainz","version":"2.4.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"3dd50e175b11aebd9906b407aeb967742e991020","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.4.0","_shasum":"79ef273994f66996653a0b2203ccb1394bcd0c92","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"79ef273994f66996653a0b2203ccb1394bcd0c92","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.4.0.tgz","integrity":"sha512-rdZDS0pfAbaAtxPtojf4TOT9/bvVyUuetvaGNTw6oBbbMxtCE+a5n/ikWj1Cn7ZhS306QernJfy53cw1cxCfpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB76fS1SILSJhLe0N43Doc72Fsffu2YScLEJq6BwpR+UAiB47QNJU6oXx+gkuyRJK9FC5KvWgI0FYQ6lgblAX88EkA=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.4.0.tgz_1480392313203_0.018697550985962152"},"directories":{}},"2.4.1":{"name":"graphbrainz","version":"2.4.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"b0319ffb39653914722906cd9f40ad2347eaa206","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.4.1","_shasum":"e472723a6431a03a462c09784f91113011a7f64f","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"e472723a6431a03a462c09784f91113011a7f64f","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.4.1.tgz","integrity":"sha512-v41iEhwubMV62PiedRXRJ9/NoliX+u435tRJy7y7aPz6xsCNrmwQQlCJrrdHn6gBLCxtzPcjSweptAvOibgAZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXpZIrfhSydjhPmgNN8ZyTvK0y/tgW+NbAf/Yq9ecfwgIgagv4XkRi5FRGwb8IpkhI6Qe4bMg3BigpuBMfmhnGnWM="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.4.1.tgz_1480407295833_0.05671896110288799"},"directories":{}},"2.4.2":{"name":"graphbrainz","version":"2.4.2","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"9e75127d0d2bee9bff7a60daf1c107dcc2d90b32","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.4.2","_shasum":"0316adb7fcf2e636220ecdf3e0d6ba54016105c8","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"0316adb7fcf2e636220ecdf3e0d6ba54016105c8","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.4.2.tgz","integrity":"sha512-U7Zw3Dk2+S/pIi4zxELPyffjGSqmPaByiVUReQj1rQPE4Up2nTWdFJbk4rPFtSEJHnvonwEozRHdBfJyU8YDZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSPIouiWCOiYKmB26g2Bx8DXHevsc0+UboLqqYO94AFAIgFdop7rSB31SjRH9QEoa+mmiHijHDTeTnOO8Sj/liZzE="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.4.2.tgz_1480472430765_0.12678120424970984"},"directories":{}},"2.5.0":{"name":"graphbrainz","version":"2.5.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"22a2eea2d38951c16ad0fa5ec20581d64a78492b","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@2.5.0","_shasum":"3996bb7e0455f7c7500765bd95a06e6f3a0b89dd","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"3996bb7e0455f7c7500765bd95a06e6f3a0b89dd","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-2.5.0.tgz","integrity":"sha512-BbwfIMOi4VIUO5vLsSThzZWRd5q9f0TXdM0HaMfUB/4BSwQiNWRcuGKtxRNfZ+xbgBPF+WdshOfmK846piYQuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+nVuZoOTTtUcPijUIaS6eHCfYCCK3zFtZADY5ldENWAIgKevSEPs5EeZGMg+fQF5D2tnha0W0mCnRlgfodTer+oY="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-2.5.0.tgz_1480494150379_0.8999772917013615"},"directories":{}},"3.0.0":{"name":"graphbrainz","version":"3.0.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"bb762f135fa16ca5db3c34204595201c688dee16","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@3.0.0","_shasum":"928c57f71e90bdd48ed132a58415d4cec60e6d5b","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"928c57f71e90bdd48ed132a58415d4cec60e6d5b","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-3.0.0.tgz","integrity":"sha512-nqrvEc8LzEybUN5m4M5MSiTZ35tXu4i6kd9iD/bZ6+kmwTwrODxtj7DATD2YqvZdKG4PTaU6msUbk8S4cy3z9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICq8bYanG6K4ndFKdMIUvJ6U8gCrRZetWch9WqgbpFy4AiByXn//30nZbrrBGQ0L0PMFG6nIRtshwX5KcwPOXXTGCg=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-3.0.0.tgz_1480668529346_0.21168929408304393"},"directories":{}},"3.0.1":{"name":"graphbrainz","version":"3.0.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","check":"npm run lint && npm run test","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run check && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"mocha --compilers js:babel-register","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","chai":"^3.5.0","doctoc":"^1.2.0","marked":"^0.3.6","mocha":"^3.2.0","nodemon":"^1.11.0","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"gitHead":"05edff83980f5467d42d3044f654f1faa9290711","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@3.0.1","_shasum":"8b822e4a093ad29755fde5ac3a8c00b2a1d6b388","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"8b822e4a093ad29755fde5ac3a8c00b2a1d6b388","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-3.0.1.tgz","integrity":"sha512-dJCU9CD3FR2yoItCF3k24EESvF8XYr3Eu9y1GN1Yof3uXGBGHnV6M2xE5LrHJdAQeg4Qu7KvxTnvFLl7CxlJoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFDDedTIKwoy9zCCCG0BUCxwFTEFQNXj9YMtn5ybMNpQAiAMTyyemmncYwgolWmbqPIAWMqV4TwYW1vFQa7PmraX7Q=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-3.0.1.tgz_1480668656667_0.45020930166356266"},"directories":{}},"3.1.0":{"name":"graphbrainz","version":"3.1.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=cache ava","test:record":"rimraf test/fixtures && npm run test:only -- --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"33d45710fe843a38d334da4e27bebb5e1fa68180","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@3.1.0","_shasum":"3424ded8c47cfd04cba4b035bed7a5c44da559f7","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"3424ded8c47cfd04cba4b035bed7a5c44da559f7","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-3.1.0.tgz","integrity":"sha512-N32jwXZLaNvozZPTX3v8F8FuuJBAAcu6f1ISKxIuaUb3GLl8z9AbTSl4DZopWOTZzuM3UdV4mhRaRuaw2wtV6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg6TVprfmsvaAB4337O55eHl1vpdg9wUTmyNaFXwUDFgIhAL3KnVoVtoZqfHjML935oZ9PalJapOYXg67bFHWqbOmK"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-3.1.0.tgz_1481100386923_0.8999414371792227"},"directories":{}},"3.1.1":{"name":"graphbrainz","version":"3.1.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=cache ava","test:record":"rimraf test/fixtures && npm run test:only -- --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","chalk":"^1.1.3","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"ed2c68ef226c511ae9f956a88b29f09cca2a65db","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@3.1.1","_shasum":"fe681b672c034543ba79818866485b4bb1bb1d4a","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"fe681b672c034543ba79818866485b4bb1bb1d4a","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-3.1.1.tgz","integrity":"sha512-25s/qJNx655+BJfhaQ4z6QbT0ZNgrSAN0XJGBC2gOKwAVa+8E4v93B3h+9Mizg1EOMpYudAYbjRKmWnhBVcBkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmyMSFcBkW3Ka8oBQknc+o6E9ZjgfUiZHJv/crfaKN3AiAbZrr1fAR+3cITL5f30v1mf7JRBJjF4Rdw2KwPz1li/A=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-3.1.1.tgz_1481237433398_0.39530325261875987"},"directories":{}},"4.0.0":{"name":"graphbrainz","version":"4.0.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"9f3122c9c68ba323b6d31e3504e9818f61b570bd","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.0.0","_shasum":"735efa2a4eca0f32060ba72da73edcb398a3254d","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"735efa2a4eca0f32060ba72da73edcb398a3254d","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.0.0.tgz","integrity":"sha512-A+wupsV6+Fvb/yhiu+sf14nFvn8elE6p2BKq6AJhYBny0bLCJ0fQ03EJJXAEEM/07XYD2gKIBmF5m7g8n70XGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4n4hWA4N3RQFweZ3ZCgT2w/9LI7ZbVhvT9HtrFnUubQIgGaS7GzIiLzsealqhJHUsCPXOokw4yfi3XfM3FzZGBs4="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-4.0.0.tgz_1481338949458_0.25777821033261716"},"directories":{}},"4.1.0":{"name":"graphbrainz","version":"4.1.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"fdac30b9994a33eb434156a2c0cb2d458900c7e8","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.1.0","_shasum":"27040fc73f320dd3c69d7d4a5449439a31efb235","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"27040fc73f320dd3c69d7d4a5449439a31efb235","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.1.0.tgz","integrity":"sha512-Ka+aq27ltEXF3oYLTmBhu/IOrsAlTCDkuNlRXU4m8SdlPWSCo7QOvIfK5xRlGGUEzMqxgQann4bFgVrLgQAs8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5xOx//nVtZ4hivedo/VoskJrKjGT3I6K8RN4ATmlhcAiBa2ssmhIpWRHwD2GgQRc0IyP0a8KLMA17RxmcQB62Kww=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-4.1.0.tgz_1481392697290_0.943421134725213"},"directories":{}},"4.2.0":{"name":"graphbrainz","version":"4.2.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"c4c023c75017fd97cecabf769e812252afe4bce8","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.2.0","_shasum":"a724f56e11cbc5062816ea3346f42d439ea2fd02","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"a724f56e11cbc5062816ea3346f42d439ea2fd02","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.2.0.tgz","integrity":"sha512-YpfIxxHf3jLa/zHNO7Wudde4a5J+pTsXlDO8iaT174p66/plCi9tucIWsNucyQHaoBkKAEX5yR9RixjZkkpZFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAI1IOWc5ZRQ7L/2Xvr95DJQAJKjs/8pInc1hjzW2rkDAiB+zrFGKkKwRcBUySVqWnqZ6s8pYniv20PSLIccf6gDng=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-4.2.0.tgz_1481490864730_0.9267652661073953"},"directories":{}},"4.3.0":{"name":"graphbrainz","version":"4.3.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"fb6d9d8b989931c5af96d26805d9bba650fda061","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.3.0","_shasum":"ee033f147741d4700b34c56a234231f2a460db64","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"ee033f147741d4700b34c56a234231f2a460db64","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.3.0.tgz","integrity":"sha512-CRnkOZPuZ1iWBPwzX+/0paNx+Oaol43lZ+u2lwYIhbH48569m8HbjSbL1ViHp1VqPLrddnD+mOKU8UUYnUsSAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBky8ctM8LN0iLmq6oNu2D4PwBStOCWjNB1c3bD9kkSLAiAyQYIlLkzHyUIAfgdW6+PLczyqUFRR1Y4yQ1Lob2pUJA=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-4.3.0.tgz_1481515698783_0.9127972507849336"},"directories":{}},"4.3.1":{"name":"graphbrainz","version":"4.3.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.1.3","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"9247d34f8c7932685f9f8ebf54eb4c76f973d434","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.3.1","_shasum":"4805d8ef0cbe78d3fe2f7e4dd8947c9a4f31362f","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"4805d8ef0cbe78d3fe2f7e4dd8947c9a4f31362f","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.3.1.tgz","integrity":"sha512-7XFXphtBAuxijhRg6/qskJDvBIe7yMiw5iOvNGwW3aqL/yFWbQONNmxfK8inhuyYC9nzQXRLhl7Age3kW5viTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGJq8PLjAN2E/WcKHnQfkI4b+BA7mKkL/cRIp4cKMrzAiBjjeA9X0N6FYwGhLrB6xQhTnBpsdhAMBbJpeEEfjrq8Q=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-4.3.1.tgz_1481519659455_0.6567504950799048"},"directories":{}},"4.4.0":{"name":"graphbrainz","version":"4.4.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.2.1","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"8bc710091ced24ac69f95ffc9d8236e327d51707","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.4.0","_shasum":"9454a320d00dc934698d418e2c786e335d7a78eb","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"9454a320d00dc934698d418e2c786e335d7a78eb","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.4.0.tgz","integrity":"sha512-/4/M3su5P0WCRDS2YCqjroZkye3koenwTKr7FmfzMPspT3HAxSZtAUz286np9uAIQMc+NEYFO5oXK2cTfDDmgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBlW3g/j//yy7TJN2OVOi4ocktZbJZHfRM8aMuMM9JhQAiEA2Gq8bg6jdc489QizAr6hduuxPcwTmF5RZcFNdUwB4MY="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-4.4.0.tgz_1481533662975_0.050801041070371866"},"directories":{}},"4.5.0":{"name":"graphbrainz","version":"4.5.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"pre-commit":["build:docs","lint"],"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.3.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.0"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","pre-commit":"^1.2.1","rimraf":"^2.5.4","sepia":"^2.0.2","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"b16873f2965c407d0949410185e586efe16cceb8","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@4.5.0","_shasum":"5fcd5ac5bf0ff72640b968dd22f5287c4f966f44","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"5fcd5ac5bf0ff72640b968dd22f5287c4f966f44","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-4.5.0.tgz","integrity":"sha512-2VDMF5NeXj4784ZIxFkZGityuK0iRT3StyCtRCjkpzPauRvMRKYJGDRc7i6gwhx43fpMl9WTrY9oKrjlHKE4IQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhhNdWA/go/8UIfPUH3Bm2ZIU0Kys4pVdMl9hxFC/NBAiB5KsxUIzZtkxnvNyzUTA4qbRcYizQPWltfdGj/8fx/OQ=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-4.5.0.tgz_1481693079982_0.15034392708912492"},"directories":{}},"5.0.0":{"name":"graphbrainz","version":"5.0.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.4.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","rimraf":"^2.5.4","sepia":"^2.0.2","sinon":"^1.17.6","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"c12e97f83da91cbcbbbe00adaa9cadb653d0bfcc","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.0.0","_shasum":"e97888f29e57d590a72a6facd7830833b290bfc4","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"e97888f29e57d590a72a6facd7830833b290bfc4","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.0.0.tgz","integrity":"sha512-/rnj/HBwRpyqJEYCZoZWCPZMpt7Q24Zfx7K15uwMq+9CHX7gAJxp01zPVVDzOfiG5F3AdnMUBaafZvUk9TTJlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA8YH+1JTrObT8YHt6C6KxveCrC0cMdSbwOpThLeBAqVAiEAqKTY8G3w2Pxv3A3/DAZeuSKC2FAokgIFYlZA4rKTbKk="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-5.0.0.tgz_1482211440262_0.4167877375148237"},"directories":{}},"5.0.1":{"name":"graphbrainz","version":"5.0.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean && npm run build","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.4.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","rimraf":"^2.5.4","sepia":"^2.0.2","sinon":"^1.17.6","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"bbefb27cea050d43dc5d39bf851f22bb22a142c1","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.0.1","_shasum":"ae5a89f6306f231028c0cd9aaccdc82f8a88457a","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"ae5a89f6306f231028c0cd9aaccdc82f8a88457a","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.0.1.tgz","integrity":"sha512-dyPpB20yg01c1BqErqvNa+xbU9ml1B9QwdI4nEHbqIeU4JKrzjPtRpH28g7cgBXsg2vPF4LBiE7QtoGCVf5Uew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKMtGKsT58Faz1GCswhJxvBBKBQIz/rPoF50vjBTxw7QIgTfgt3+S5RxlzX7oSGbJV98YCYYDTqPkOtoVD8d3L30w="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-5.0.1.tgz_1482211778921_0.16155377216637135"},"directories":{}},"5.0.2":{"name":"graphbrainz","version":"5.0.2","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.4.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","rimraf":"^2.5.4","sepia":"^2.0.2","sinon":"^1.17.6","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"2b69904ff8ea0c82afbeb78ebc39a1e01eb4f17c","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.0.2","_shasum":"96b48fed89e1b58faf8a8dad9e0a32ad926f07ec","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"96b48fed89e1b58faf8a8dad9e0a32ad926f07ec","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.0.2.tgz","integrity":"sha512-h2/g75ksrKRO9+bm36dliCpYe1uiHLHAlKK9zZgnXUhXr/dYxKp260H1RwGBW4w1rxM0kUkZwLIYferSSf8b5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuESZOYvgPxbYXN225XdNgVRB9WYS7g84EJ2XETpDBxAIhALyb5FSoyi1gajSToUzoK8wYcLUJqns966WFTLnOTYfv"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-5.0.2.tgz_1482213076283_0.6518098199740052"},"directories":{}},"5.0.3":{"name":"graphbrainz","version":"5.0.3","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"babel-node scripts/render-types.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.18.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.2.0","debug":"^2.4.3","dotenv":"^2.0.0","es6-error":"^4.0.0","express":"^4.14.0","express-graphql":"^0.6.1","graphql":"^0.8.2","graphql-relay":"^0.4.4","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.3.0","request":"^2.79.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.17.0","babel-cli":"^6.18.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^3.0.0","babel-plugin-transform-runtime":"^6.15.0","babel-preset-es2015":"^6.18.0","babel-preset-stage-2":"^6.18.0","babel-register":"^6.18.0","coveralls":"^2.11.15","cross-env":"^3.1.3","doctoc":"^1.2.0","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.0.0","rimraf":"^2.5.4","sepia":"^2.0.2","sinon":"^1.17.6","snazzy":"^5.0.0","standard":"^8.6.0"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"cfc1b5cc474727bb835e130f5491acec87e3ae7f","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.0.3","_shasum":"daa458785b8e30bd6cd34171b40a4586b2689439","_from":".","_npmVersion":"4.0.2","_nodeVersion":"4.4.6","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"daa458785b8e30bd6cd34171b40a4586b2689439","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.0.3.tgz","integrity":"sha512-5ByyaXtDj/kZlwE3xQoL5mfG3QAnTBsqOYkTKofMOJJBVtnsckY4M+0AmcYgv0to6F2dMXJsHO/fuBFBtVNusA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjHYwsULBLfLAYrcd+/b5DmZEBcZ1o+69PzT98Ahr7ogIhANxwRME8ofqPAOY0RNtdM7gYoaHvhzgAwBzZlOJ0YtJz"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-5.0.3.tgz_1482286002822_0.5548272973392159"},"directories":{}},"5.1.0":{"name":"graphbrainz","version":"5.1.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":"^4.3.0, ^6.2.0","npm":"^3.8.0, ^4.0.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./schema.json > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.23.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^2.6.3","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.2","express-graphql":"^0.6.3","graphql":"^0.9.1","graphql-relay":"^0.5.1","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.4.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.18.2","babel-cli":"^6.24.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^4.0.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.0","babel-preset-stage-2":"^6.22.0","babel-register":"^6.24.0","coveralls":"^2.12.0","cross-env":"^3.2.4","doctoc":"^1.3.0","graphql-markdown":"^1.0.2","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.1.2","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^2.0.0","snazzy":"^6.0.0","standard":"^9.0.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"0bf6f8a45a20f9ba649a1738a8c6db7760bfe9a3","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.1.0","_shasum":"c7e557e834818490fb80812db8db7380375cd659","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"c7e557e834818490fb80812db8db7380375cd659","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.1.0.tgz","integrity":"sha512-FEz7GkKaM4A55y/btOGEkHFbhdVy7gVX9/T56Hqt5JGo+CUvtm/s2MqQFkFbYQNiUxicg5ZhSEH40mBLbtgBSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB20sWx3btnqxNT0Cw69dGgjjJWLQnkYeNpYQKkLa+3UAiEAum/3Iop0Pen/qiNzHQ3/OyaqTXPCgRiOEqi5dGywk/s="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-5.1.0.tgz_1489909790312_0.16734892572276294"},"directories":{}},"5.1.1":{"name":"graphbrainz","version":"5.1.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./schema.json > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.23.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^2.6.3","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.2","express-graphql":"^0.6.3","graphql":"^0.9.1","graphql-relay":"^0.5.1","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.4.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.18.2","babel-cli":"^6.24.0","babel-eslint":"^7.1.1","babel-plugin-istanbul":"^4.0.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.0","babel-preset-stage-2":"^6.22.0","babel-register":"^6.24.0","coveralls":"^2.12.0","cross-env":"^3.2.4","doctoc":"^1.3.0","graphql-markdown":"^1.1.1","marked":"^0.3.6","nodemon":"^1.11.0","nyc":"^10.1.2","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^2.0.0","snazzy":"^6.0.0","standard":"^9.0.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"cf0b52b1eab6577327823f79ed18f24e2f6e9630","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.1.1","_shasum":"e1bb976149235984abe2ea4858c913b0a0c08457","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"e1bb976149235984abe2ea4858c913b0a0c08457","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.1.1.tgz","integrity":"sha512-B483H8aNOX+5RNCGw2SPrsm0WvHqgVYO6mGJNU+RuV0gHfZq7JfklMg4VrTOIzwaWGLNxOxPwLzOs6rOahxObw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGooDx7qLgIzOOIGhHcoeRe+LgKyXnq4A2tTFtisBQ03AiEAxyAi/glZ8OxRbo3zimLIXyhzFxzyzw7XIWxJigr5laU="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-5.1.1.tgz_1489911076526_0.23204327234998345"},"directories":{}},"5.1.2":{"name":"graphbrainz","version":"5.1.2","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.3.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.23.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^2.6.3","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.2","express-graphql":"^0.6.4","graphql":"^0.9.2","graphql-relay":"^0.5.1","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.4.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.18.2","babel-cli":"^6.24.0","babel-eslint":"^7.2.1","babel-plugin-istanbul":"^4.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.0","babel-preset-stage-2":"^6.22.0","babel-register":"^6.24.0","coveralls":"^2.13.0","cross-env":"^4.0.0","doctoc":"^1.3.0","graphql-markdown":"^2.0.0","nodemon":"^1.11.0","nyc":"^10.2.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^2.1.0","snazzy":"^6.0.0","standard":"^9.0.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"64c624c5745f0533d3ef6509a9b8bb01ed4a3e8d","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.1.2","_shasum":"4a2545b632a846c25a8df3c12c5616c09aa64b72","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"4a2545b632a846c25a8df3c12c5616c09aa64b72","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.1.2.tgz","integrity":"sha512-lzywNSi2o5gHqamU6yEhS8Ad/Xr5NGU/7pjh0StenaTlmLNpWKuJMdmbW4wyv309Lv40JQJhKUy6HGfM72qXUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDymxras2tJOE8mvDPojHmltiws4EYzIRcwqJ72XBBm1AiAYO2ORBm5WfNsW/hA0Efo5FdEezFdZaH5nKMUwDVp2ug=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/graphbrainz-5.1.2.tgz_1491282215561_0.9657009304501116"},"directories":{}},"5.1.3":{"name":"graphbrainz","version":"5.1.3","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"lib/index.js"},"files":["lib","scripts","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.6.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.23.0","compression":"^1.6.2","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^2.6.6","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.2","express-graphql":"^0.6.4","graphql":"^0.9.4","graphql-relay":"^0.5.1","lru-cache":"^4.0.1","pascalcase":"^0.1.1","qs":"^6.4.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-istanbul":"^4.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^2.13.1","cross-env":"^4.0.0","doctoc":"^1.3.0","graphql-markdown":"^2.1.0","nodemon":"^1.11.0","nyc":"^10.2.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^2.1.0","snazzy":"^7.0.0","standard":"^10.0.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"3d41c0e3f35e88005672e407d4399d924125bcea","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@5.1.3","_shasum":"cbf8f2f7d53cc32a7180aa73eed6fe16f71cb3c5","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"shasum":"cbf8f2f7d53cc32a7180aa73eed6fe16f71cb3c5","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-5.1.3.tgz","integrity":"sha512-KjEKcGBHZsktnikvu6wUm4iYt082P8yWzwPyk9b1yEnePjlOr8sRBHBqiyPxlOC9Hmnq9ZVcF6ltkS+Cp126CA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcW75PY1HT91T5ZPKJijtqlmDStOlu5NPX4W9uIZeZoAIhAMV17OfrTod1O3U2/drOjsAX6DBROHqhYnap8RQvAQr3"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/graphbrainz-5.1.3.tgz_1493347243170_0.47529869223944843"},"directories":{}},"6.0.0":{"name":"graphbrainz","version":"6.0.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.6.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^2.2.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"759310a2a6f30ac4f97f9c8f224541700b19a972","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@6.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-sdB19XqbeqAFCDVsVZt/mhQqdxBe7/myU65wdSWsKdfSZ5HKaHAW80poDW84qqhhZHP7zliNjBC9uro+rVHIzw==","shasum":"b9229fac474757b56943ff235ab066f2f1501ec5","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-6.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBce1tRA3NKypi+oa5vPOCaPPEy1j14dVJEX1O7ZELgOAiBtK2LhUngSXJJ8w1FAsskxQF+gDT9lNRfzQbfoWSLqKw=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-6.0.0.tgz_1507260826643_0.6080217806156725"},"directories":{}},"6.1.0":{"name":"graphbrainz","version":"6.1.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=4.6.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types","build:docs:readme":"doctoc --title \"## Contents\" README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^2.2.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"687ca437083f8303b371fa19fcee45994c3ef3d5","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@6.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-G6xK2Rfn4pMJSi+pES1hEt1yJg9SOTqVpbZB6AoW+/NAGkWSH2bJHO9gitFRFFyHOItqN8rCDd5Myvo12WEG6A==","shasum":"674d843d3cec4146520817ab3eeff7ebb5ce6d10","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-6.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBSaPhIGsjZTOQ/CdUbSQj+4uggVmgg2j4LX90BOEskAiEA47A8C7m8RTMk84xn98Jr/7rob01kW7QqxpG4w5ZlxuI="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-6.1.0.tgz_1507344408221_0.5792673456016928"},"directories":{}},"7.0.0-0":{"name":"graphbrainz","version":"7.0.0-0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","deep-diff":"^0.3.8","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.5.1","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^3.1.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"086b7469e158651c0a12035c88a0706a009369b4","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.0.0-0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-PWcwGV65vgo7slkSneh7zzaT05iPNoSJBqqMtRuEuauK6kRmg2A8K4v04WjF4gxlrc/pFtBom/AEVi8P8lTFOg==","shasum":"6cf25136f17890fadaafb7f364d009df5e69f194","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.0.0-0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZWR0VpRmA7wZnUPWQtRohtkYOS892g1jWteZ1qqb03AiEAx1pCjEr9r8wkkTVcr/gdOihL7mYGl4tb6NwJpyk5uMY="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.0.0-0.tgz_1508400399293_0.09473585709929466"},"directories":{}},"7.0.0-1":{"name":"graphbrainz","version":"7.0.0-1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","deep-diff":"^0.3.8","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.5.1","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^3.1.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"a7183cc15c9b771de6dd714d8c3afd52b3ee6203","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.0.0-1","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-Yy3boApsDBeHoKpV9lX2ehj34bcE66DoNaDDzKNHkw7r3TxmIeV6B4Q5xmaFX+ToBGf/4rtV+JFezjJpHty4hg==","shasum":"dfa7182e8283b516b2ca0689e8bb54f0b60bb113","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.0.0-1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4szDGPzNPiDwkZ+3u1V5uIGoVC+Lhr7+i6iPX8qQJEAiA2R6QYCLNavsAwCJ6LQL4ettumvPol+ok4QempZDyMdQ=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.0.0-1.tgz_1508402871484_0.9710077429190278"},"directories":{}},"7.0.0-2":{"name":"graphbrainz","version":"7.0.0-2","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","deep-diff":"^0.3.8","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.5.1","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^3.1.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"03dc01193464c8cdea5c9756208dd2076de5063a","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.0.0-2","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-Ite5baG8Aarv/W6O9LHpLnNIss6ZU4K4M7oB+36KWq7y3do5W4g6sR7HWGB/O1gNiTSVmIx3Jlfl2Ewg++jkHQ==","shasum":"408b382a3bd93ca493c53a94213b868137320a26","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.0.0-2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqnp9tqAB6uLjC7QwPeOcaEWiqsrKlRjgDdyICkp8e+QIgPdRvaaeXUSWKflop0Xxs06FuXF2pDupfgCcgCEhzNWg="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.0.0-2.tgz_1508469547477_0.28954574349336326"},"directories":{}},"7.0.0-3":{"name":"graphbrainz","version":"7.0.0-3","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","deep-diff":"^0.3.8","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.15.4","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.5.1","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.22.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.0.5","doctoc":"^1.3.0","graphql-markdown":"^3.1.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"7f49ccf117ac388d7cd1d3b2e66ab9b04817e99a","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.0.0-3","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-UsI0CXjsKiej9aqKsjFv6v31jbYSAxDnBcWsU3caBs/NtcmqyWeP3byC4i+Pe7ieiDCnlfjyqZg6KxoHxsG8Hg==","shasum":"9881efbb2d05c5525dd5cc47adc543ff1bb58981","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.0.0-3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbLOrks6tY3nYR6Vg39iIdzhKO2G2xhdOsrhk01dHqkwIhAKNyCuyAVrILM+QkzpuClXsGOF6fZeFrQnYcw9FgEgex"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.0.0-3.tgz_1508474606120_0.4966907773632556"},"directories":{}},"7.0.0":{"name":"graphbrainz","version":"7.0.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown --require babel-register --prologue 'You may also be interested in reading the [schema in GraphQL syntax](schema.md).' ./src/schema.js > docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","deep-diff":"^0.3.8","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.6.1","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.0","doctoc":"^1.3.0","eslint-plugin-markdown":"^1.0.0-beta.6","graphql-markdown":"^3.1.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.1","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"62495c490d734d6c5c054a81e174582857995305","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-dTZIE1J4fZ2O6yBqILhw+jqQYSvnvOpAukZQZXZobrQ60QU8L1wJOGndVUs5RCBNfx9xFUkuaQzODQmGoTNG9Q==","shasum":"bf6244d7fee36552fa71bdc479deecd607d4960a","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGL720BBneVNklvfqrew9fSzIhVXuY/GXUyY1hT9FmyDAiAQORCKu+Vlq0CGt71T2WsuRTva7Igp4OB2GSbA6PNyAw=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.0.0.tgz_1508905991568_0.590106301009655"},"directories":{}},"7.1.0":{"name":"graphbrainz","version":"7.1.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.7.0","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.1","doctoc":"^1.3.0","eslint-plugin-markdown":"^1.0.0-beta.6","graphql-markdown":"^3.2.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.2","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"c21009b5c4076340804284b26c522fdec5e7219c","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-nxmW1ycEazxcL8fLv9WM7sO6JS7d2ewJ0R778xSVerMbBdaolzWhOMlVRgJilRYpRUd89361qbN/7bU/BaTL/Q==","shasum":"ebb4af94a65556dd4b88fbb268f5f12059579d20","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHT4/9/FA7e37q+n9Eod5I+dtdsgP9tewZq7/nKX1XZAiBJLmN/jA5LsuIlxjj3+e+6QEg2zVEyYfIcLiTepFoe8A=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.1.0.tgz_1509834980501_0.6742684894707054"},"directories":{}},"7.1.1":{"name":"graphbrainz","version":"7.1.1","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","lint":"standard --verbose | snazzy","lint:fix":"standard --verbose --fix","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.7.0","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.1","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.1","doctoc":"^1.3.0","eslint-plugin-markdown":"^1.0.0-beta.6","graphql-markdown":"^3.2.0","nodemon":"^1.11.0","nyc":"^11.1.0","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.0.2","snazzy":"^7.0.0","standard":"^10.0.3"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"50888c9fb9940b594d51aefc3a52a4b7d8f95ef8","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-6CsvZhCyW1BrKTbiDKLlLnuNusxE1i/lHqe8I/9iaM4s9XjVQXAXBpUkcNNYksZtEtXE+MVuXwTV+UxuZ6Zgvw==","shasum":"f13204641829e5ed265f1c397f4a70b07e3fe80f","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF+cwuPnPMl9U5Cb2SY16A+S8mjp3snVeRwe4cwS9iGaAiEAn2F6WZ7BUb0WjQub9jNNydJFK3FjEMX4F7ivbaBUsG4="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.1.1.tgz_1509912199605_0.35660694004036486"},"directories":{}},"7.2.0":{"name":"graphbrainz","version":"7.2.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.7.2","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.2","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.1","doctoc":"^1.3.0","eslint":"^4.11.0","eslint-config-prettier":"^2.7.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^5.2.1","eslint-plugin-prettier":"^2.3.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","graphql-markdown":"^3.2.0","nodemon":"^1.11.0","nyc":"^11.3.0","prettier":"^1.8.2","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.1.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"2d0bd82c8b5b0d932aa8abaec594020a11f7a570","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.2.0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-V/0JSDvLzA1wfJJXkRPn6RRvUgf2XmjrV4QvB/H/IqHw3Ss15qJ6OCbDm3HpQPd6W51Yk8hl7gqY3ZPzXFhV6Q==","shasum":"3762f93a4469280f662c314a46818b35ce9bd1ce","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTWTzU4n48jJwmpnOrrw5KSoH3bsvJKIVap2idGkBUIAIhAO+pgopOrKs+KB9/6dK2ih3OpmWs1b4Wgiy33Bfv/18p"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.2.0.tgz_1510994817750_0.48046502424404025"},"directories":{}},"7.3.0-0":{"name":"graphbrainz","version":"7.3.0-0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.7.2","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.2","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.1","doctoc":"^1.3.0","eslint":"^4.11.0","eslint-config-prettier":"^2.7.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^5.2.1","eslint-plugin-prettier":"^2.3.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","graphql-markdown":"^3.2.0","nodemon":"^1.11.0","nyc":"^11.3.0","prettier":"github:prettier/prettier#4b070c3","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.1.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"9ddb4aab67537ec16da0fbfb810dec5955d0c4b7","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.3.0-0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-uwupyBJ8V9VJjWc4sT6uzyGgBT+iAka4E+yNLmaTS/zo79CZOBFWQcDqfyHnF4hgR1lz+R3LT4ui9IlwC30pHw==","shasum":"2e6e26e4d14565ce0df24289612155b90fecf8be","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.3.0-0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOB1hVRWm7XLrvay/RDy4gsr/cbU05ekqvSI2x600HFAiATK7UtGApAcrIZUgkXSIp5f1St3E3UqyqZMrkIovvOGg=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.3.0-0.tgz_1511049089880_0.4436219341587275"},"directories":{}},"7.3.0":{"name":"graphbrainz","version":"7.3.0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=6.0.0","npm":">=3.8.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --serial","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.0","cors":"^2.8.4","dashify":"^0.2.2","dataloader":"^1.3.0","debug":"^3.0.0","dotenv":"^4.0.0","es6-error":"^4.0.2","express":"^4.16.2","express-graphql":"^0.6.7","graphql":"^0.11.7","graphql-relay":"^0.5.2","graphql-tools":"^2.7.2","lru-cache":"^4.1.1","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.0","request":"^2.81.0","retry":"^0.10.1"},"devDependencies":{"ava":"^0.23.0","babel-cli":"^6.24.1","babel-eslint":"^8.0.2","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-register":"^6.24.1","coveralls":"^3.0.0","cross-env":"^5.1.1","doctoc":"^1.3.0","eslint":"^4.11.0","eslint-config-prettier":"^2.7.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^5.2.1","eslint-plugin-prettier":"^2.3.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","graphql-markdown":"^3.2.0","nodemon":"^1.11.0","nyc":"^11.3.0","prettier":"github:prettier/prettier#4b070c3","rimraf":"^2.6.1","sepia":"^2.0.2","sinon":"^4.1.2"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"6d22f0c5b6455d5ecf68212fb06389dc814b2818","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@7.3.0","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-lfCTKej1R3UsxyL1vmqhD0cuIY6WnhqwZGJkfDRslJmePwujkq6SaeTRViF5XxUIQRvxOoHS9i6iD9lKG/tDyg==","shasum":"d6a419ea4ea272bc59cf33a72b6c497365f72c96","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-7.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4iS624Z8s3KmX+oc/a6xJKzEaPUiOMIsQkse4QrngyAIhAKmpl4z/8lvJrE+JQv8AQsv8dp00nOWLcfPoUz+rFTcO"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz-7.3.0.tgz_1511052137757_0.8828438019845635"},"directories":{}},"8.0.0-0":{"name":"graphbrainz","version":"8.0.0-0","description":"An Express server and middleware for querying the MusicBrainz API using GraphQL.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0-0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"readme":"# GraphBrainz\n\n[![build status](https://img.shields.io/travis/exogen/graphbrainz/master.svg)](https://travis-ci.org/exogen/graphbrainz)\n[![coverage](https://img.shields.io/codecov/c/github/exogen/graphbrainz.svg)](https://codecov.io/gh/exogen/graphbrainz)\n[![Greenkeeper badge](https://badges.greenkeeper.io/exogen/graphbrainz.svg)](https://greenkeeper.io/)\n[![npm version](https://img.shields.io/npm/v/graphbrainz.svg)](https://www.npmjs.com/package/graphbrainz)\n[![license](https://img.shields.io/npm/l/graphbrainz.svg)](https://github.com/exogen/graphbrainz/blob/master/LICENSE)\n\nA [GraphQL][] schema, [Express][] server, and middleware for querying the\n[MusicBrainz][] API. It features an [extensible](./docs/extensions) schema to\nadd integration with Last.fm, fanart.tv, and more!\n\n```sh\nnpm install graphbrainz --save\n```\n\n**[Try out the live demo!][demo]** :bulb: Use the “Docs” sidebar, the\n[schema][], or the [types][] docs to help construct your query.\n\n## Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Usage](#usage)\n  - [As a standalone server](#as-a-standalone-server)\n  - [As middleware](#as-middleware)\n  - [As a client](#as-a-client)\n  - [Environment Variables](#environment-variables)\n  - [Debugging](#debugging)\n- [Example Queries](#example-queries)\n  - [Pagination](#pagination)\n- [Questions](#questions)\n- [Schema](#schema)\n  - [Extending the schema](#extending-the-schema)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Usage\n\nThis package can be used both as a standalone GraphQL server and as Express\nmiddleware supplying a GraphQL endpoint.\n\n### As a standalone server\n\nRun the included `graphbrainz` executable to start the server. The server\nis configured using [environment variables](#environment-variables).\n\n```sh\n$ graphbrainz\nListening on port 3000.\n```\n\nDevelopment mode features like JSON pretty printing and the [GraphiQL][]\ninterface will be enabled unless the server is run with `NODE_ENV=production`.\n\nNote that if you are not running the standalone server within another Node\nproject, you may wish to install this package globally so that the `graphbrainz`\nscript is globally available:\n\n```sh\nnpm install -g graphbrainz\n```\n\n### As middleware\n\nIf you have an existing Express server and want to add this GraphQL service as\nan endpoint, or you just want more customization, use the middleware.\n\n```js\nimport express from 'express';\nimport graphbrainz from 'graphbrainz';\n\nconst app = express();\n\n// Use the default options:\napp.use('/graphbrainz', graphbrainz());\n\n// or, pass some options:\napp.use('/graphbrainz', graphbrainz({\n  client: new MusicBrainz({ ... }),\n  graphiql: true,\n  ...\n}));\n\napp.listen(3000);\n```\n\nThe `graphbrainz` middleware function accepts the following options:\n\n* **`client`**: A custom API client instance to use. See the\n  [client submodule](src/api/client.js) for help with creating a custom instance.\n  You probably only need to do this if you want to adjust the rate limit and retry\n  behavior.\n* Any remaining options are passed along to the standard GraphQL middleware.\n  See the [express-graphql][] documentation for more information.\n\n### As a client\n\nIf you just want to make queries from your app without running a separate server\nor exposing a GraphQL endpoint, use the GraphBrainz schema with a library like\n[GraphQL.js][graphql-js]. You just need to create the `context` object that the\nGraphBrainz resolvers expect, like so:\n\n```js\nimport { graphql } from 'graphql';\nimport { MusicBrainz } from 'graphbrainz/lib/api';\nimport createContext from 'graphbrainz/lib/context';\nimport schema from 'graphbrainz/lib/schema';\n\nconst client = new MusicBrainz();\nconst context = createContext({ client })\n\ngraphql(schema, `\n  {\n    lookup {\n      releaseGroup(mbid: \"99599db8-0e36-4a93-b0e8-350e9d7502a9\") {\n        title\n      }\n    }\n  }\n`, null, context).then(result => {\n  const { releaseGroup } = result.data.lookup;\n  console.log(`The album title is “${releaseGroup.title}”.`);\n}).catch(err => {\n  console.error(err);\n});\n```\n\n### Environment Variables\n\n* **`MUSICBRAINZ_BASE_URL`**: The base MusicBrainz API URL to use. Change this\n  if you are running your own MusicBrainz mirror. Defaults to `http://musicbrainz.org/ws/2/`.\n* **`GRAPHBRAINZ_PATH`**: The URL route at which to expose the GraphQL endpoint,\n  if running the standalone server. Defaults to `/`.\n* **`GRAPHBRAINZ_CORS_ORIGIN`**: The value of the `origin` option to pass to the\n  [CORS][cors] middleware. Valid values are `true` to reflect the request\n  origin, a specific origin string to allow, `*` to allow all origins, and\n  `false` to disable CORS (the default).\n* **`GRAPHBRAINZ_CACHE_SIZE`**: The maximum number of REST API responses to\n  cache. Increasing the cache size and TTL will greatly lower query execution\n  time for complex queries involving frequently accessed entities. Defaults to\n  `8192`.\n* **`GRAPHBRAINZ_CACHE_TTL`**: The maximum age of REST API responses in the\n  cache, in milliseconds. Responses older than this will be disposed of (and\n  re-requested) the next time they are accessed. Defaults to `86400000` (one\n  day).\n* **`GRAPHBRAINZ_GRAPHIQL`**: Set this to `true` if you want to force the\n  [GraphiQL][] interface to be available even in production mode.\n* **`GRAPHBRAINZ_EXTENSIONS`**: A JSON array of module paths to load as\n  [extensions](./docs/extensions).\n* **`PORT`**: Port number to use, if running the standalone server.\n\nWhen running the standalone server, [dotenv][] is used to load these variables\nfrom a `.env` file, if one exists in the current working directory. This just\nmakes it more convenient to launch the server with certain settings. See the\n[dotenv][] package for more information.\n\n### Debugging\n\nThe `DEBUG` environment variable can be used to enable logging for all (or just\nsome) of this package’s submodules:\n\n```sh\n$ DEBUG=graphbrainz:* graphbrainz\n```\n\nSee the [debug][] package for more information.\n\n## Example Queries\n\nNirvana albums and each album’s singles ([try it](https://graphbrainz.herokuapp.com/?query=query%20NirvanaAlbumSingles%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225b11f4ce-a62d-471e-81fc-a69a8278c7da%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20releaseGroups(type%3A%20ALBUM)%20%7B%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20relationships%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20releaseGroups(type%3A%20%22single%20from%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20ReleaseGroup%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=NirvanaAlbumSingles)):\n\n```graphql\nquery NirvanaAlbumSingles {\n  lookup {\n    artist(mbid: \"5b11f4ce-a62d-471e-81fc-a69a8278c7da\") {\n      name\n      releaseGroups(type: ALBUM) {\n        edges {\n          node {\n            title\n            firstReleaseDate\n            relationships {\n              releaseGroups(type: \"single from\") {\n                edges {\n                  node {\n                    target {\n                      ... on ReleaseGroup {\n                        title\n                        firstReleaseDate\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Pagination\n\nThe first five labels with “Apple” in the name ([try it](https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5) {\n      ...labelResults\n    }\n  }\n}\n\nfragment labelResults on LabelConnection {\n  pageInfo {\n    endCursor\n  }\n  edges {\n    cursor\n    node {\n      mbid\n      name\n      type\n      area {\n        name\n      }\n    }\n  }\n}\n```\n\n…and the next five, using the `endCursor` from the previous result ([try it](https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205%2C%20after%3A%20%22YXJyYXljb25uZWN0aW9uOjQ%3D%22)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5, after: \"YXJyYXljb25uZWN0aW9uOjQ=\") {\n      ...labelResults\n    }\n  }\n}\n```\n\nWho the members of the band on an Apple Records release married, and when\n([try it](https://graphbrainz.herokuapp.com/?query=query%20AppleRecordsMarriages%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%20Records%22%2C%20first%3A%201)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20disambiguation%0A%20%20%20%20%20%20%20%20%20%20country%0A%20%20%20%20%20%20%20%20%20%20releases(first%3A%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20date%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20artists%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...bandMembers%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20bandMembers%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(direction%3A%20%22backward%22%2C%20type%3A%20%22member%20of%20band%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...marriages%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20marriages%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(type%3A%20%22married%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20direction%0A%20%20%20%20%20%20%20%20%20%20begin%0A%20%20%20%20%20%20%20%20%20%20end%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleRecordsMarriages)):\n\n```graphql\nquery AppleRecordsMarriages {\n  search {\n    labels(query: \"Apple Records\", first: 1) {\n      edges {\n        node {\n          name\n          disambiguation\n          country\n          releases(first: 1) {\n            edges {\n              node {\n                title\n                date\n                artists {\n                  edges {\n                    node {\n                      name\n                      ...bandMembers\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment bandMembers on Artist {\n  relationships {\n    artists(direction: \"backward\", type: \"member of band\") {\n      edges {\n        node {\n          type\n          target {\n            ... on Artist {\n              name\n              ...marriages\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment marriages on Artist {\n  relationships {\n    artists(type: \"married\") {\n      edges {\n        node {\n          type\n          direction\n          begin\n          end\n          target {\n            ... on Artist {\n              name\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nImages of Tom Petty provided by various extensions ([try it](https://graphbrainz.herokuapp.com/?query=query%20TomPettyImages%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225ca3f318-d028-4151-ac73-78e2b2d6cdcc%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20mediaWikiImages%20%7B%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20objectName%0A%20%20%20%20%20%20%20%20descriptionHTML%0A%20%20%20%20%20%20%20%20licenseShortName%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20fanArt%20%7B%0A%20%20%20%20%20%20%20%20thumbnails%20%7B%0A%20%20%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20%20%20likeCount%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20theAudioDB%20%7B%0A%20%20%20%20%20%20%20%20logo%0A%20%20%20%20%20%20%20%20biography%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=TomPettyImages)):\n\n```graphql\nquery TomPettyImages {\n  lookup {\n    artist(mbid: \"5ca3f318-d028-4151-ac73-78e2b2d6cdcc\") {\n      name\n      mediaWikiImages {\n        url\n        objectName\n        descriptionHTML\n        licenseShortName\n      }\n      fanArt {\n        thumbnails {\n          url\n          likeCount\n        }\n      }\n      theAudioDB {\n        logo\n        biography\n      }\n    }\n  }\n}\n```\n\nYou can find more example queries in the [schema tests][].\n\n## Questions\n\n**What’s with the cumbersome `edges`/`node` nesting? Why `first`/`after`\ninstead of `limit`/`offset`? Why `mbid` instead of `id`?**\n\nYou can thank [Relay][] for that; these are properties of a Relay-compliant\nschema. The schema was originally designed to be more user-friendly, but in the\nend I decided that being compatible with Relay was a worthwhile feature. I\nagree, it’s ugly.\n\nThe GraphBrainz schema includes an extra `nodes` field on every connection type.\nIf you only want the nodes and no other fields on `edges`, you can use `nodes`\nas a shortcut.\n\nDon’t forget that you can also use [GraphQL aliases][aliases] to rename fields\nto your liking. For example, the following query renames `edges`, `node`, and\n`mbid` to `results`, `releaseGroup`, and `id`, respectively:\n\n```graphql\nquery ChristmasAlbums {\n  search {\n    releaseGroups(query: \"Christmas\") {\n      results: edges {\n        releaseGroup: node {\n          id: mbid\n          title\n        }\n      }\n    }\n  }\n}\n```\n\n**Why does my query take so long?**\n\nIt’s likely that your query requires multiple round trips to the MusicBrainz\nREST API, which is subject to [rate limiting][]. While the query resolver tries\nvery hard to fetch only the data necessary, and with the smallest number of\nAPI requests, it is not 100% optimal (yet). Make sure you are only requesting\nthe fields you need and a reasonable level of nested entities – unless you are\nwilling to wait.\n\nYou can also set up a [local MusicBrainz mirror][mirror] and configure\nGraphBrainz to use that with no rate limiting.\n\n## Schema\n\nThe [types][] document is the easiest to browse representation of the schema, or\nyou can read the [schema in GraphQL syntax][schema].\n\n### Extending the schema\n\nThe GraphBrainz schema can easily be extended to add integrations with\nthird-party services. See the [Extensions](./docs/extensions) docs for more\ninfo.\n\n[demo]: https://graphbrainz.herokuapp.com/\n[Express]: http://expressjs.com/\n[MusicBrainz]: https://musicbrainz.org/\n[GraphQL]: http://graphql.org/\n[express-graphql]: https://www.npmjs.com/package/express-graphql\n[dotenv]: https://www.npmjs.com/package/dotenv\n[debug]: https://www.npmjs.com/package/debug\n[GraphiQL]: https://github.com/graphql/graphiql\n[graphql-js]: https://github.com/graphql/graphql-js\n[Relay]: https://facebook.github.io/relay/\n[schema]: docs/schema.md\n[types]: docs/types.md\n[rate limiting]: https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting\n[mirror]: https://musicbrainz.org/doc/MusicBrainz_Server/Setup\n[aliases]: http://graphql.org/learn/queries/#aliases\n[schema tests]: test/_schema.js\n[cors]: https://github.com/expressjs/cors\n","readmeFilename":"README.md","gitHead":"80495a33f081d39d25b33fa29a45f28049b4dee3","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.0-0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-sYg0ZQePlgijTK5iJ6+P5DmFqVP1LhBzBw/NxRbOp5PpzXPefAiIlhdS32OxSncP+2d2SMB/YV1rc0RaccOyMA==","shasum":"f0e130771f42e1ebf0033dd83d329ded95b29970","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.0-0.tgz","fileCount":144,"unpackedSize":913561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZfljCRA9TVsSAnZWagAACDIQAJvS9aHcBUMFlckVmhqc\nUb7lO2EJQKWb0ZMIB2c1gzLWFw+PdNa2B6oD2+6OjvsarowYx0z7NuzHjS2s\nyeTcFEKpXsCXPecMQpJpQCfRJpy+BpmpQqyBcpOBdU2PLF43AJGOt9jT1yQx\nAQNGQppLAhapzvu8VGNbJaSn7+LilIr/u6x8phm7lB4Jd+VvoTJWXn853Y8H\nGQxsr/Iul7qN8xdFU2YODPoCiU7DPon6NzzttKKhP2thMdUB4iOHjhSfYLpS\nVkBhvF690M7kxl3UqBxgEOoL8nZ8ne6wpcMK3KpA3UOoT5/dDrcOgRANNTrA\nwybTYJW5G7jzYpF881JHRvO0gekOcvo28xXgSi1YA/rbNG9HmUNWnhGflGAN\ngvpyQEbTss/EFz/zSlORAgI+NwcxtCCIENsopN2x1UHlbot1Uy8vukzymbQG\nSUx292JOouBL0zTIMpf8eaBC2Bh5z0TcYMqN8oN9iPyFHCvK3jDGiTCBtR5k\n2hkUrWl0XQVg7hm/EWsQdQZcHjUy10hiaJ3nMXMfna9ZYy7v1jAIpyJz9gg1\nNxiZD2wfZjOuDxrxx7lAtuvq2/t/OrKhKOD9Rfc/v5vE04RahhZAMXssSRe2\nBDAazCG5hwUcpF7YqLbN9DvIlIH0pMPyuJIfyf588U8cUlqY7ngdtfSgjgQB\nNW66\r\n=XAEW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEA/vylBrB2hRzUk88HjkgB7h93m5mj+4sIcjcV5hHCyAiEAkDPhNsILkNmzclkQ3etjKAU256klDTHEoTq0q5IfwMg="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.0-0_1533409635020_0.5354538535117119"},"_hasShrinkwrap":false},"8.0.0":{"name":"graphbrainz","version":"8.0.0","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"ff828699a00e2fc093239af472f6c1f91178cd3b","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-7gG6v6P5Rb4DnF5hmbyiU3DMQusdE73OunzVMVHs//6ncQvhqLd1DO/01528cAGhNwk8UkvKAPudI+12tQ2DCg==","shasum":"9a1758320715fb861bd0059f8b7169b92fd06f02","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.0.tgz","fileCount":144,"unpackedSize":913569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZirvCRA9TVsSAnZWagAA750P/RKQXl6wEPGKdjFPUy1I\nMRaS8N8OXYuxU0wBagJJ3ZCfjWpwtSL3VAkieAomouJ+5s/QTnTxxiNqZ2EQ\ncKlo2GGqQ+KveLeMRTEUa8x04OBmUMLl+J0UB/aBli26GHRkm40s3hWSTtRT\n44QGovAyzwcYoGcQnHQK2JIc4ZmEaiTpKyvAt7Hj7CUrFHd3AwZadcsPSMmO\nrv4Eyhn9pcJR4ainI8yp6fPOUEINRPdq7tLs3pXItXMRQBwJ+VaemtBDXva9\nXvN3F7YSe3I2Ni8GxV0wRiymL5vspM3GjGN95ArVSKW9cAlnQ8gqJAQZjFgs\n3x3mmBZ1t634D+kF5wY2Jt7+MFY2ccXUPKp0+CBG0jTMhkuMhEex/VnwTV/g\nNMo4Y+7xVrqI9MLBOFrc6e9SkFxTNNYt14qz5YhxXOzj7hlenh0RuTq2lKpt\nO7IK3iv7a950nmNCBlYwld6//3DHfpAqKvbfE7m3pGFpgL1Ib0zmdNy69amW\ntz0LryhXhM0THnr4BZzrF8yfZDkx6FzNyGWJtoufWFEiHfZHHDg3mnAne4jr\nM+HPQu32XB4IHnc2bgOigJWCSwJetCTWH9siV+Px8AABknmNsUmDqhUsz47x\nRoOSa9qKyC4ez9oELycl7NJJuB6CtgH7kR2slgLVCq5u7JrXN7Um6CzOimgH\n4Jdq\r\n=e5aB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE7jHGNqb2qDcQdHISEyJEGnX/Ydhr0NkBYXAZBLEdNxAiBVCzOqE5rEVoj82H90QoNo2TNC1JkhRI3uK/JTTXbo1Q=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.0_1533422318889_0.6751168506810183"},"_hasShrinkwrap":false},"8.0.1":{"name":"graphbrainz","version":"8.0.1","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"e696ffc70edd460bd33e03486820f7d829952172","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.1","_npmVersion":"5.10.0","_nodeVersion":"8.9.4","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-5yT4SHqabNA6FxwUU25VqainTGVCqEUvXoa5r8MwSel/C6G07w2Qwby/Hjia9k4RIjyRNeP+IyLehvsX5IQ0JQ==","shasum":"a7e7f72326b1526bfa410ba388912b6bc424f379","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.1.tgz","fileCount":144,"unpackedSize":913581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJba/ayCRA9TVsSAnZWagAAQAIP/iDWOG9MstnhNS7C+ekX\nsjCinskVuSJ3S4nj0PLbg4OONGQzR65RdSfVjTTs8ibcYf6yUQ+bw2C6ASZ4\n/vHcobiuJD3TG5/dLgG5xCyiRe6b2bIh6mS41Z1z45RNt7GiMtTpnQ4YUvRF\np/mGp+gJMXT4fPjqAtJrQM4i5/eYkxrTBnAgGl8/ZHYbGvtELTUUsxkvoz5Y\nrLcS+A+cs00zJDT3/di77jcCQxNKIOEkt9QYbsTwXzG1Enh4zpl881zdKQap\nKQYyoOroHDVxd8IZ3H+n8/aRhqJzHum784WK3kq1SLfJjs5r4T7jgEuBIwwM\nUFIdfEBAM/LdFgraOv0RtFQ8VouMSxFZNscjyuc5FQ2suPXkzUUMp7fzDR3B\nw8uBjVmLTR6WEVUYYGSvduL3maFrVC3Nq+srwB3HNRFY7GsL6pSJcmiO2RLp\np4+JxYQuooff4eaiS5mLBcfC7e6BC1KOejDvi3x7OdDGxJ+cwn19xYoFP94g\n6eGyHVLRoXJfMvjrOjWY3Izjy2RTm+i6GvqQgF/AY81DBRBbdqtXNi6Z2r8H\nfsOce2kxJwxKBZ+6/TJwKIMUW10tRit69sG+tmrUNoQ3c2V1EH3MVq/vHwWx\nZ6NImY+wcL1QbzvKxeU7+99yubQEbHwqEYI+RMaxmI1pZtj75Pvjv6YUJxPl\nrg6Q\r\n=WfgW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHSIiTEm0JwIBSDVaS8K/EUZHV/0YsO2E5JQ7TeF7cyQIgCv0jDFw2UFCjnFv0Sv+Z8H/k7L4jnVS6DY9F5TmraMY="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.1_1533802161382_0.015390619061078414"},"_hasShrinkwrap":false},"8.0.2":{"name":"graphbrainz","version":"8.0.2","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"50c3223e6a1565726e2be683416fa2673534da27","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.2","_npmVersion":"5.10.0","_nodeVersion":"8.9.4","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-LBBBxuoz/RevM4dNag/kYOAvxc9mCuk3PQE4ispCT5q+Jww5LvF6ZfYmF/TiQu7gzQThanSpssZAa2YAorHvhg==","shasum":"67edd3fca69021fdcbcb928715301e5a54faf18c","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.2.tgz","fileCount":144,"unpackedSize":914104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbkLjCRA9TVsSAnZWagAAR90QAJKg0sQcvYsS99I/gGfv\n7SqBLwz58KNVtMRPIZ5jQOv6MZw3i/LX9AOJSfuaqn3dlNQLA2JaDgjMizlh\n2b3MJap/HVZq4ImdalcF90VRwfi+1+MKzPWMkIeUcJFUDl5xD4je44uS3fnk\nsdmSwxVySRGhd8U7KywHXGcJKul1vPSwxv1NkO/xxLj8AYHUGixY1LFS8XL5\nHFWmULseKwg1sHf8R+bbCtAfSbt1gTOQkyqYCi9jeWVVpbSdT+jJ6D8b8aB2\n8VOCEMtv5aWUV3Zcv6D0pdJ6fAAjhGlBNUZmyWJfbmSofKshfX4UFXhP4m9j\n6pDTIg4Xu+So1VSHmNyua3L5zoPihSPzA9fEphONwSWFOyvKmCzikjNy2Fa2\nnAtZZtf6UzPKfdETlKKLvBAjfcVvZgCMxRCatCL6wReIVvP5YrmcHBSu1fKB\nSx4kskZidCZzyoAsJxsjNpK13QuN0xIPyGWPOYm4CebLnFvQ5eU6Zo0aD2/s\npNGgipkNdd6eb3fBTsZkm404VTzJkR+Fg9d/fehuDy29zmSYEHkNRtTOBSs6\n7LWM0m/LLMqPQafwLSlS0iks/oDOkKUjI8RRTlpRIHHAfy7rGiZhpVfki5Ah\nCwHhpqcJcXVkN9rTt4lWaQatLgBGnR4ZXajjhvYay6XDfYocifXta1ycW5H6\nnEto\r\n=fQ/I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfvWU8lg962oKIV+FRpi3Td2xjKSIpndpQiBw0nynZAAIgNd9JtbhbRbck11J71mk7Hfm/3MBBmk2sMsQ0JvA1OZc="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.2_1533952738932_0.2714736351778493"},"_hasShrinkwrap":false},"8.0.3":{"name":"graphbrainz","version":"8.0.3","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"files":["extensions","lib","scripts","src",".babelrc","cli.js","Procfile","schema.json","yarn.lock"],"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"fc6f1337b6dde5f177ce8ff281c309f97d8d6c53","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-+oq7YzdoH93jqSYpnx7dvWQ4XUAv1SjD5M/0uxBiqhyB5XEC0pgXHfmDZzodPApcmuXtpF6WTD7Pf/yfoQnIYQ==","shasum":"2dfde837c050e2425a36d31bd1526223e5f46512","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.3.tgz","fileCount":144,"unpackedSize":915095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdO4tCRA9TVsSAnZWagAAQLYQAJyZXmqaLsLPXN0oiKy1\n5j/VnOZZzSOC1kiVzACUof5Y2mKzlmRFuEskgf7rhOykaOLs1D+OPGyrw+5M\nbhvNMUO/eE/kS+idUNVCzNzW0mmOZYnAU2XOPCtqJvjhSkzoCrr1SuS534w9\npwqWqM6V5Wzq1i1ZblG2rUOO2HPW5GK6NmIhzupOXsZ2yaKCmw/YwLIebnEk\n+U0F7/+LCIsJ3LiR69DhvpP//6nTZivPY7c0nYhfR7JpDgDwGw8blpLJmY6/\nBL/99Gml6PcMD/mm+/eL48d1u57CsrDsRkEf34zBh452MedEkf2uESP29dIX\nsoQA4793CiddrYaly73b2EdrvZxwYDHSXIKOvjuKdqsANiZa/bGIs9uKoOOw\ny4xAd3WXxQ3U+m0ND3WCD4zCEMUT4Y0TsnlLBpbR9DQrk7KYj/8sf1v7cp6o\nSoA7H4nIB5fvBZSX4OogB/9EL1sSalY0S+n9USQhCJ+lxBKVQTRRS7hlwFhN\npL+dsEF8w23fK1ZqcxZ5RLVOWxGSK9pdRWW/3J+9qUKZ0QJD2wjKxXFRLGjA\nDwsHyGiiQkER9sBwQXdLZeEX1JRBgatrkrHmIaxSOjQescyNFuV8UNjO5V/G\nssSKV71pE9MUJkyNqeoPBjpkpjgDOaKZd4iG/lylGOU0VlXXKarDBtAMp6zi\n22KY\r\n=m5ll\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHadvowQfegtD8kQn6zQ5W14QDDNoixbekkclSMmglNcAiAsFVLg+IWesq1DSbf1tu2K9tZ1B6Zafq+cARqxFdeVhQ=="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.3_1534389805113_0.7734893785685075"},"_hasShrinkwrap":false},"8.0.4":{"name":"graphbrainz","version":"8.0.4","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","postinstall":"postinstall-build lib --script build:lib","prepublish":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava --concurrency 1","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","postinstall-build":"^5.0.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"6d3d5a595beb946e4d93a4059762b0680572f756","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.8.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-CfJ7h6D1HZPtpIWzOxB6Bm5KpXj3WQiycjBNGp+VLPW9Yg6OaVFPXAMc+wEQsUVqGXxTxPgtGsa8IEQrD8xRQw==","shasum":"37e7b7f6641f2cc0f26867a259c7faeb0c64b42a","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.0.4.tgz","fileCount":144,"unpackedSize":915432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnuZmCRA9TVsSAnZWagAAkn4P+wSTYDLPp07aIC42Stzt\n042a5JW7TQFgy6f4xFXMvHlxflurA20xPNQ8B9uqReCjLhGK5e6j7o//eY2u\n7ZxIlykcZZ6DF4LP1oJ1mZVygzzyJxFPBLI+GGP5sIKul+2AUSjhJpsMhrMY\nAPIoBLtAUtHuQbRwlakT46ZasTMfLsIyFF+eY1RRjiGP4/OhZzoe1ZP/pwAY\nXKj9kPEAAZrhFjjEyJ3WxrK8OVaMT+tJUI1QMktkqzq7KzDa4qmT4z5Ye6Qn\nCPCGjQ+v5ex/3yv0qKhbf1qcF7QoD81wb3EjcFChyJDBDL5Ya48Mkm0yjZSo\n7wKdvkoY483hAS0Q5PEFQG1/hkw1zn84tadX57W2KbvVgKp6Bcp3LYRtiU/x\nP1Y5WsvKSsMQLiwrMLzfFWp2AHumDg03Y+LEZRQ8ub4tG7AhhqK8UNJAtYJD\n0+M8S5b29BMNd9ORF/LDSsa6lPZPlxVGrI77wkdC6gNyvmWRiC8G40yiEhN2\nh/OF25BWBZjfp/dDYk/U18ZLtzEMSEYadb7W8e9PngJc0NAfCOrxZvO+zKco\nUK5tLye5Pkv1X1nATv0VaUZvEy0B6EesTXycQAJFNayJsb1ZMQD4UezA5NCK\nA6BnDq3EzSQgP8aVLuS/uLIR1UxiWxmUcMaAzvCuBX+i09pCKcgM2xlUoRk6\nlJin\r\n=HBQl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsZnawRBX9GxCWki9ZeCl+y7CZ6Vk31eo7mpYCLU525gIgMVorbugXUL6dnuhGnKy92zTnGea77LHPU43z4oxlnkI="}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.0.4_1537140325534_0.09676089386349607"},"_hasShrinkwrap":false},"8.1.0":{"name":"graphbrainz","version":"8.1.0","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","main":"lib/index.js","bin":{"graphbrainz":"cli.js"},"engines":{"node":">=8.10.0","npm":">=5.2.0"},"scripts":{"build":"npm run build:lib && npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"babel-node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./src/schema.js --require babel-register --no-title --update-file docs/types.md","build:lib":"babel --out-dir lib src","clean":"npm run clean:lib","clean:lib":"rm -rf lib","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","prepare":"npm run clean:lib && npm run build:lib","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"babel-node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node lib/index.js","start:dev":"nodemon --exec babel-node src/index.js","test":"npm run lint && npm run test:coverage","test:coverage":"cross-env NODE_ENV=test nyc npm run test:only","test:only":"cross-env VCR_MODE=playback ava","test:record":"cross-env VCR_MODE=record ava --concurrency 1","test:record-new":"cross-env VCR_MODE=cache ava --concurrency 1","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"http://brianbeck.com/"},"repository":{"type":"git","url":"git+https://github.com/exogen/graphbrainz.git"},"license":"MIT","dependencies":{"babel-runtime":"^6.25.0","compression":"^1.7.3","cors":"^2.8.4","dashify":"^1.0.0","dataloader":"^1.4.0","debug":"^3.0.0","dotenv":"^6.0.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.6.12","graphql":"^0.13.2","graphql-relay":"^0.5.5","graphql-tools":"^3.1.1","lru-cache":"^4.1.3","pascalcase":"^0.1.1","qs":"^6.5.2","request":"^2.87.0","retry":"^0.12.0"},"devDependencies":{"ava":"^0.25.0","babel-cli":"^6.24.1","babel-eslint":"^8.2.6","babel-plugin-istanbul":"^4.1.6","babel-plugin-syntax-object-rest-spread":"^6.13.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-register":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","doctoc":"^1.3.1","eslint":"^5.3.0","eslint-config-prettier":"^2.9.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-markdown":"^1.0.0-beta.6","eslint-plugin-node":"^7.0.1","eslint-plugin-prettier":"^2.6.2","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","graphql-markdown":"^4.0.0","nodemon":"^1.18.3","nyc":"^12.0.2","prettier":"^1.14.0","replayer":"^2.2.3","rimraf":"^2.6.1","sinon":"^6.1.4"},"standard":{"parser":"babel-eslint"},"ava":{"require":["dotenv/config","babel-register"]},"nyc":{"include":["src/**"],"reporter":["lcov","text"],"all":true,"cache":true,"sourceMap":false,"instrument":false},"gitHead":"24ebfa1b513be4e4629b54d248b2aaeefa0b0196","bugs":{"url":"https://github.com/exogen/graphbrainz/issues"},"_id":"graphbrainz@8.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"dist":{"integrity":"sha512-k3Pa+r8wJ3fmy6RAzbzEC6Q2/PbOKz70+vlGlNwMi2Tv3ojN5pIr/mYzGqUgEaY+jOGJ+T7x5NDbSjNjjbmAFA==","shasum":"97a5c6adc02a4d5e9463dbdc812d5e3f53aa1393","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-8.1.0.tgz","fileCount":146,"unpackedSize":909307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnzPPCRA9TVsSAnZWagAA/JMP/3bnrcr4GaOZYwwiRVSp\nNXf3xxrr7Tp+j6cmdtlaIqTFRpEyxSdPXLp6DIzvIcOScNRdOC8IXzZxWnza\np6b+HPYYSNWFguifaVOkURijUWJ6k6SL5iYAWjCc2ixpm9/FJG68rY4E6LwR\n1GjYsrCNQoZWRFnGiDBqpasRXfjS6Ojv+kZXz9nAac6LiQGKjqiq6e+uV4nj\niC0AquWCrrUpFHmaQqIHLXvF2FHkSkPMzRZZMmn7ZOgzWnmpJddhjgEOS2de\nQiC5AxgEtJ/b1VpdwQsdpZUhrAeClfUJ4w4503I4Qx13chC2HVxWP12jLq2y\np0+Rq2QvjgENe+CFuFgToG68IlV5Y0oRhu10kBz8Y9WgWmPLRrEQLA7uv9bw\nRc8QSG6Eez/tcZjFLMtiY5XLByDYCIKCE3TUtbLjk1ERpihtLVFYugTvG/r+\npszsXBubbu2IJRdeI+dWh8UPg2hvzrCMLYHyG6IuW0KY9fM75EIzZvNPmOm0\n2VmXmuFPmvPyx281r8dVXvKKx+Vh1YF30wsgGARxhB7RCnBU83R9SEWLqmDV\nkhmpaSW+BZPZGfiap9VCV+5gr4PGT+9K1VZt9rtiStWNsrbE4DLoTjNyAm/H\njKE8CW/BIpKsj7//eKMVk1G7F962sn/YFykIssTbuy5Mvd45jFVrlTGnJNBl\nuum3\r\n=VI/e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEGJvsMRIsdnJ4IZoqTsTWpxcZBFCqosRi5sAtkP0p/QIhAJzuDBDPd6uEzAi8yCDb3UAO8d4H+s17daloknYxE60E"}]},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_8.1.0_1537160143077_0.8760050881429355"},"_hasShrinkwrap":false},"9.0.0-beta.1":{"name":"graphbrainz","version":"9.0.0-beta.1","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"https://brianbeck.com/"},"repository":{"type":"git","url":"https://github.com/exogen/graphbrainz.git"},"license":"MIT","engines":{"node":">=12.18.0","npm":">=6.0.0"},"type":"module","main":"./src/index.js","exports":{".":"./src/index.js","./extensions/cover-art-archive":"./extensions/cover-art-archive.js","./extensions/fanart-tv":"./extensions/fanart-tv.js","./extensions/mediawiki":"./extensions/mediawiki.js","./extensions/the-audio-db":"./extensions/the-audio-db.js","./package.json":"./package.json","./schema.json":"./schema.json"},"bin":{"graphbrainz":"cli.js"},"scripts":{"build":"npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./schema.json --no-title --update-file docs/types.md","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node cli.js","start:dev":"nodemon cli.js","test":"npm run lint && npm run test:coverage","test:coverage":"c8 --all npm run test:only","test:only":"cross-env NOCK_MODE=play ava","test:record":"cross-env NOCK_MODE=record ava --concurrency=1 --timeout=1m","test:record-new":"cross-env NOCK_MODE=cache ava --concurrency=1 --timeout=1m","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"ava":{"require":["dotenv/config"]},"ava-nock":{"fixtureDir":"fixtures","pathFilter":["(([?&]api_key=)(\\w+))|((/json/)(\\w+)(/[\\w-]+-mb\\.php))","$2$5*$7"]},"dependencies":{"@graphql-tools/schema":"^7.1.3","compression":"^1.7.3","cors":"^2.8.4","dashify":"^2.0.0","dataloader":"^2.0.0","debug":"^4.3.1","dotenv":"^8.2.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.12.0","got":"^11.8.2","graphql":"^15.5.0","graphql-relay":"^0.6.0","lru-cache":"^6.0.0","pascalcase":"^1.0.0","read-pkg-up":"^8.0.0"},"devDependencies":{"ava":"^3.15.0","ava-nock":"^2.0.0","c8":"^7.7.1","coveralls":"^3.0.2","cross-env":"^7.0.3","doctoc":"^2.0.0","eslint":"^7.24.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^5.1.0","graphql-markdown":"^6.0.0","nodemon":"^2.0.7","prettier":"^2.2.1","rimraf":"^3.0.2","sinon":"^10.0.0"},"readmeFilename":"README.md","readme":"# GraphBrainz\n\n[![build status](https://img.shields.io/travis/exogen/graphbrainz/master.svg)](https://travis-ci.org/exogen/graphbrainz)\n[![coverage](https://img.shields.io/codecov/c/github/exogen/graphbrainz.svg)](https://codecov.io/gh/exogen/graphbrainz)\n[![npm version](https://img.shields.io/npm/v/graphbrainz.svg)](https://www.npmjs.com/package/graphbrainz)\n[![license](https://img.shields.io/npm/l/graphbrainz.svg)](https://github.com/exogen/graphbrainz/blob/master/LICENSE)\n\nA [GraphQL][] schema, [Express][] server, and middleware for querying the\n[MusicBrainz][] API. It features an [extensible](./docs/extensions) schema to\nadd integration with Discogs, Spotify, Last.fm, fanart.tv, and more!\n\n```sh\nnpm install graphbrainz --save\n```\n\n**[Try out the live demo!][demo]** :bulb: Use the “Docs” sidebar, the\n[schema][], or the [types][] docs to help construct your query.\n\n## Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Usage](#usage)\n  - [As a standalone server](#as-a-standalone-server)\n  - [As middleware](#as-middleware)\n  - [As a client](#as-a-client)\n  - [Environment Variables](#environment-variables)\n  - [Debugging](#debugging)\n- [Example Queries](#example-queries)\n  - [Pagination](#pagination)\n- [Questions](#questions)\n- [Schema](#schema)\n  - [Extending the schema](#extending-the-schema)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Usage\n\nThis package can be used both as a standalone GraphQL server and as Express\nmiddleware supplying a GraphQL endpoint.\n\n### As a standalone server\n\nRun the included `graphbrainz` executable to start the server. The server is\nconfigured using [environment variables](#environment-variables).\n\n```sh\n$ graphbrainz\nListening on port 3000.\n```\n\nDevelopment mode features like JSON pretty printing and the [GraphiQL][]\ninterface will be enabled unless the server is run with `NODE_ENV=production`.\n\nNote that if you are not running the standalone server within another Node\nproject, you may wish to install this package globally so that the `graphbrainz`\nscript is globally available:\n\n```sh\nnpm install -g graphbrainz\n```\n\n### As middleware\n\nIf you have an existing Express server and want to add this GraphQL service as\nan endpoint, or you just want more customization, use the middleware.\n\n```js\nimport express from 'express';\nimport { middleware as graphbrainz } from 'graphbrainz';\n\nconst app = express();\n\n// Use the default options:\napp.use('/graphbrainz', graphbrainz());\n\n// or, pass some options:\napp.use('/graphbrainz', graphbrainz({\n  client: new MusicBrainz({ ... }),\n  graphiql: true,\n  ...\n}));\n\napp.listen(3000);\n```\n\nThe `graphbrainz` middleware function accepts the following options:\n\n- **`client`**: A custom API client instance to use. See the\n  [client submodule](src/api/client.js) for help with creating a custom\n  instance. You probably only need to do this if you want to adjust the rate\n  limit and retry behavior.\n- Any remaining options are passed along to the standard GraphQL middleware. See\n  the [express-graphql][] documentation for more information.\n\n### As a client\n\nIf you just want to make queries from your app without running a separate server\nor exposing a GraphQL endpoint, use the GraphBrainz schema with a library like\n[GraphQL.js][graphql-js]. You just need to create the `context` object that the\nGraphBrainz resolvers expect, like so:\n\n```js\nimport { graphql } from 'graphql';\nimport { MusicBrainz, createContext, baseSchema } from 'graphbrainz';\n\nconst client = new MusicBrainz();\nconst context = createContext({ client });\n\ngraphql(\n  schema,\n  `\n    {\n      lookup {\n        releaseGroup(mbid: \"99599db8-0e36-4a93-b0e8-350e9d7502a9\") {\n          title\n        }\n      }\n    }\n  `,\n  null,\n  context\n)\n  .then((result) => {\n    const { releaseGroup } = result.data.lookup;\n    console.log(`The album title is “${releaseGroup.title}”.`);\n  })\n  .catch((err) => {\n    console.error(err);\n  });\n```\n\n### Environment Variables\n\n- **`MUSICBRAINZ_BASE_URL`**: The base MusicBrainz API URL to use. Change this\n  if you are running your own MusicBrainz mirror. Defaults to\n  `http://musicbrainz.org/ws/2/`.\n- **`GRAPHBRAINZ_PATH`**: The URL route at which to expose the GraphQL endpoint,\n  if running the standalone server. Defaults to `/`.\n- **`GRAPHBRAINZ_CORS_ORIGIN`**: The value of the `origin` option to pass to the\n  [CORS][cors] middleware. Valid values are `true` to reflect the request\n  origin, a specific origin string to allow, `*` to allow all origins, and\n  `false` to disable CORS (the default).\n- **`GRAPHBRAINZ_CACHE_SIZE`**: The maximum number of REST API responses to\n  cache. Increasing the cache size and TTL will greatly lower query execution\n  time for complex queries involving frequently accessed entities. Defaults to\n  `8192`.\n- **`GRAPHBRAINZ_CACHE_TTL`**: The maximum age of REST API responses in the\n  cache, in milliseconds. Responses older than this will be disposed of (and\n  re-requested) the next time they are accessed. Defaults to `86400000` (one\n  day).\n- **`GRAPHBRAINZ_GRAPHIQL`**: Set this to `true` if you want to force the\n  [GraphiQL][] interface to be available even in production mode.\n- **`GRAPHBRAINZ_EXTENSIONS`**: A JSON array of module paths to load as\n  [extensions](./docs/extensions).\n- **`PORT`**: Port number to use, if running the standalone server.\n\nWhen running the standalone server, [dotenv][] is used to load these variables\nfrom a `.env` file, if one exists in the current working directory. This just\nmakes it more convenient to launch the server with certain settings. See the\n[dotenv][] package for more information.\n\n### Debugging\n\nThe `DEBUG` environment variable can be used to enable logging for all (or just\nsome) of this package’s submodules:\n\n```sh\n$ DEBUG=graphbrainz:* graphbrainz\n```\n\nSee the [debug][] package for more information.\n\n## Example Queries\n\nNirvana albums and each album’s singles\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20NirvanaAlbumSingles%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225b11f4ce-a62d-471e-81fc-a69a8278c7da%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20releaseGroups(type%3A%20ALBUM)%20%7B%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20relationships%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20releaseGroups(type%3A%20%22single%20from%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20ReleaseGroup%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=NirvanaAlbumSingles>)):\n\n```graphql\nquery NirvanaAlbumSingles {\n  lookup {\n    artist(mbid: \"5b11f4ce-a62d-471e-81fc-a69a8278c7da\") {\n      name\n      releaseGroups(type: ALBUM) {\n        edges {\n          node {\n            title\n            firstReleaseDate\n            relationships {\n              releaseGroups(type: \"single from\") {\n                edges {\n                  node {\n                    target {\n                      ... on ReleaseGroup {\n                        title\n                        firstReleaseDate\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Pagination\n\nThe first five labels with “Apple” in the name\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5) {\n      ...labelResults\n    }\n  }\n}\n\nfragment labelResults on LabelConnection {\n  pageInfo {\n    endCursor\n  }\n  edges {\n    cursor\n    node {\n      mbid\n      name\n      type\n      area {\n        name\n      }\n    }\n  }\n}\n```\n\n…and the next five, using the `endCursor` from the previous result\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205%2C%20after%3A%20%22YXJyYXljb25uZWN0aW9uOjQ%3D%22)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5, after: \"YXJyYXljb25uZWN0aW9uOjQ=\") {\n      ...labelResults\n    }\n  }\n}\n```\n\nWho the members of the band on an Apple Records release married, and when\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleRecordsMarriages%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%20Records%22%2C%20first%3A%201)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20disambiguation%0A%20%20%20%20%20%20%20%20%20%20country%0A%20%20%20%20%20%20%20%20%20%20releases(first%3A%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20date%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20artists%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...bandMembers%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20bandMembers%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(direction%3A%20%22backward%22%2C%20type%3A%20%22member%20of%20band%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...marriages%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20marriages%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(type%3A%20%22married%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20direction%0A%20%20%20%20%20%20%20%20%20%20begin%0A%20%20%20%20%20%20%20%20%20%20end%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleRecordsMarriages>)):\n\n```graphql\nquery AppleRecordsMarriages {\n  search {\n    labels(query: \"Apple Records\", first: 1) {\n      edges {\n        node {\n          name\n          disambiguation\n          country\n          releases(first: 1) {\n            edges {\n              node {\n                title\n                date\n                artists {\n                  edges {\n                    node {\n                      name\n                      ...bandMembers\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment bandMembers on Artist {\n  relationships {\n    artists(direction: \"backward\", type: \"member of band\") {\n      edges {\n        node {\n          type\n          target {\n            ... on Artist {\n              name\n              ...marriages\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment marriages on Artist {\n  relationships {\n    artists(type: \"married\") {\n      edges {\n        node {\n          type\n          direction\n          begin\n          end\n          target {\n            ... on Artist {\n              name\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nImages of Tom Petty provided by various extensions\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20TomPettyImages%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225ca3f318-d028-4151-ac73-78e2b2d6cdcc%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20mediaWikiImages%20%7B%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20objectName%0A%20%20%20%20%20%20%20%20descriptionHTML%0A%20%20%20%20%20%20%20%20licenseShortName%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20fanArt%20%7B%0A%20%20%20%20%20%20%20%20thumbnails%20%7B%0A%20%20%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20%20%20likeCount%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20theAudioDB%20%7B%0A%20%20%20%20%20%20%20%20logo%0A%20%20%20%20%20%20%20%20biography%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=TomPettyImages>)):\n\n```graphql\nquery TomPettyImages {\n  lookup {\n    artist(mbid: \"5ca3f318-d028-4151-ac73-78e2b2d6cdcc\") {\n      name\n      mediaWikiImages {\n        url\n        objectName\n        descriptionHTML\n        licenseShortName\n      }\n      fanArt {\n        thumbnails {\n          url\n          likeCount\n        }\n      }\n      theAudioDB {\n        logo\n        biography\n      }\n    }\n  }\n}\n```\n\nYou can find more example queries in the [schema tests][].\n\n## Questions\n\n**What’s with the cumbersome `edges`/`node` nesting? Why `first`/`after` instead\nof `limit`/`offset`? Why `mbid` instead of `id`?**\n\nYou can thank [Relay][] for that; these are properties of a Relay-compliant\nschema. The schema was originally designed to be more user-friendly, but in the\nend I decided that being compatible with Relay was a worthwhile feature. I\nagree, it’s ugly.\n\nThe GraphBrainz schema includes an extra `nodes` field on every connection type.\nIf you only want the nodes and no other fields on `edges`, you can use `nodes`\nas a shortcut.\n\nDon’t forget that you can also use [GraphQL aliases][aliases] to rename fields\nto your liking. For example, the following query renames `edges`, `node`, and\n`mbid` to `results`, `releaseGroup`, and `id`, respectively:\n\n```graphql\nquery ChristmasAlbums {\n  search {\n    releaseGroups(query: \"Christmas\") {\n      results: edges {\n        releaseGroup: node {\n          id: mbid\n          title\n        }\n      }\n    }\n  }\n}\n```\n\n**Why does my query take so long?**\n\nIt’s likely that your query requires multiple round trips to the MusicBrainz\nREST API, which is subject to [rate limiting][]. While the query resolver tries\nvery hard to fetch only the data necessary, and with the smallest number of API\nrequests, it is not 100% optimal (yet). Make sure you are only requesting the\nfields you need and a reasonable level of nested entities – unless you are\nwilling to wait.\n\nYou can also set up a [local MusicBrainz mirror][mirror] and configure\nGraphBrainz to use that with no rate limiting.\n\n## Schema\n\nThe [types][] document is the easiest to browse representation of the schema, or\nyou can read the [schema in GraphQL syntax][schema].\n\n### Extending the schema\n\nThe GraphBrainz schema can easily be extended to add integrations with\nthird-party services. See the [Extensions](./docs/extensions) docs for more\ninfo.\n\n[demo]: https://graphbrainz.herokuapp.com/\n[express]: http://expressjs.com/\n[musicbrainz]: https://musicbrainz.org/\n[graphql]: http://graphql.org/\n[express-graphql]: https://www.npmjs.com/package/express-graphql\n[dotenv]: https://www.npmjs.com/package/dotenv\n[debug]: https://www.npmjs.com/package/debug\n[graphiql]: https://github.com/graphql/graphiql\n[graphql-js]: https://github.com/graphql/graphql-js\n[relay]: https://facebook.github.io/relay/\n[schema]: docs/schema.md\n[types]: docs/types.md\n[rate limiting]: https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting\n[mirror]: https://musicbrainz.org/doc/MusicBrainz_Server/Setup\n[aliases]: http://graphql.org/learn/queries/#aliases\n[schema tests]: test/_schema.js\n[cors]: https://github.com/expressjs/cors\n","licenseText":"MIT License\n\nCopyright (c) 2016 Brian Beck\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"graphbrainz@9.0.0-beta.1","dist":{"shasum":"636b7ed2c85bc4285139b0c67d379ebfc3e8bacf","integrity":"sha512-4cU1axFBxErnCXcu0qZAJYb53OnSMMbe4x4SPeAYYFTRdw/3jgVouwtrayEkyUirboFCrKIQrqX6447J4uCxlw==","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-9.0.0-beta.1.tgz","fileCount":86,"unpackedSize":539317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdpAWCRA9TVsSAnZWagAAd2cP/RPUvGLGvaLPNQNWYPez\nBk+LWU5Y++bDM1Hyh/JZC5b3NoGhlOFQfGifuipfYAb1RWYUvLCcG73g8Xx0\nvaAeEz2p2Q/L4/17MPHswhp6/nJqC7AA2hX+uDPKybNm2naU2kmzi9pPbZPb\njfxji2nfL0KtVjJLgq6i2wxcMBoNsBRTBYP0CDpEQRh7UXNG5GMFzE40wbaH\nYjMa453xXnUodh6D71fmZTJZg4TS4C7o53e7kqzlzS9PTZd1HhsnjgP2onpF\n5Dntq30aVg2KwltSDv3zmt/BlkoBpOZaW/rqORMPid7sgwQ1IPM1Xl0yFZni\nf0u3nNgQV2ZghI5cNKTnIPjCqZaKFHAz4YdXE7Y6jH6WeDesL+EFN3SxNmgL\nHoiKzqtAWrpmbtWT2Gn+ruM/TrLY/XVTd/yvR2jaNZlgxmtqor2NIQdcob6a\nUtH61iWmoZRuRJeerLHCp70CNbv7+OD2YuyZVHKD/PVePQjdF8a/ZNq14ar8\niytqpAUvSScUs2uSUHAQ6aCXWfjrnIBPEeHMyZUYRh0eUD3G0b5vuWJZfjOj\nh/w+rfdIzi/2iX4/cT8C3PJOcQzcc224nRejCXmNLHzEtrvuHe4x3MaSemis\now2idUvfjFQcfgvvTPtYevUNq8JNto43mWz+Xy++dtQmOhbwoCCvQvL8RGpu\nxGs4\r\n=z18Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjGJjYl54UWx+34mUH1eWHGEsdRyU9o7lb9ZbQM8qiRgIgfThMdbeecyJyjw6hNCaFfjSFgcEM9RUdlVhfTA6uIjA="}]},"_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"directories":{},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_9.0.0-beta.1_1618382869529_0.5450003686747404"},"_hasShrinkwrap":false},"9.0.0-beta.2":{"name":"graphbrainz","version":"9.0.0-beta.2","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"https://brianbeck.com/"},"repository":{"type":"git","url":"https://github.com/exogen/graphbrainz.git"},"license":"MIT","engines":{"node":">=12.18.0","npm":">=6.0.0"},"type":"module","main":"./src/index.js","exports":{".":"./src/index.js","./extensions/cover-art-archive":"./extensions/cover-art-archive.js","./extensions/fanart-tv":"./extensions/fanart-tv.js","./extensions/mediawiki":"./extensions/mediawiki.js","./extensions/the-audio-db":"./extensions/the-audio-db.js","./package.json":"./package.json","./schema.json":"./schema.json"},"bin":{"graphbrainz":"cli.js"},"scripts":{"build":"npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./schema.json --no-title --update-file docs/types.md","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node cli.js","start:dev":"nodemon cli.js","test":"npm run lint && npm run test:coverage","test:coverage":"c8 --all npm run test:only","test:only":"cross-env NOCK_MODE=play ava","test:record":"cross-env NOCK_MODE=record ava --concurrency=1 --timeout=1m","test:record-new":"cross-env NOCK_MODE=cache ava --concurrency=1 --timeout=1m","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"ava":{"require":["dotenv/config"]},"ava-nock":{"fixtureDir":"fixtures","pathFilter":["(([?&]api_key=)(\\w+))|((/json/)(\\w+)(/[\\w-]+-mb\\.php))","$2$5*$7"]},"dependencies":{"@graphql-tools/schema":"^7.1.3","compression":"^1.7.3","cors":"^2.8.4","dashify":"^2.0.0","dataloader":"^2.0.0","debug":"^4.3.1","dotenv":"^8.2.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.12.0","got":"^11.8.2","graphql":"^15.5.0","graphql-relay":"^0.6.0","lru-cache":"^6.0.0","pascalcase":"^1.0.0","read-pkg-up":"^8.0.0"},"devDependencies":{"ava":"^3.15.0","ava-nock":"^2.0.0","c8":"^7.7.1","coveralls":"^3.0.2","cross-env":"^7.0.3","doctoc":"^2.0.0","eslint":"^7.24.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^5.1.0","graphql-markdown":"^6.0.0","nodemon":"^2.0.7","prettier":"^2.2.1","rimraf":"^3.0.2","sinon":"^10.0.0"},"readmeFilename":"README.md","readme":"# GraphBrainz\n\n[![build status](https://img.shields.io/travis/exogen/graphbrainz/master.svg)](https://travis-ci.org/exogen/graphbrainz)\n[![coverage](https://img.shields.io/codecov/c/github/exogen/graphbrainz.svg)](https://codecov.io/gh/exogen/graphbrainz)\n[![npm version](https://img.shields.io/npm/v/graphbrainz.svg)](https://www.npmjs.com/package/graphbrainz)\n[![license](https://img.shields.io/npm/l/graphbrainz.svg)](https://github.com/exogen/graphbrainz/blob/master/LICENSE)\n\nA [GraphQL][] schema, [Express][] server, and middleware for querying the\n[MusicBrainz][] API. It features an [extensible](./docs/extensions) schema to\nadd integration with Discogs, Spotify, Last.fm, fanart.tv, and more!\n\n```sh\nnpm install graphbrainz --save\n```\n\n**[Try out the live demo!][demo]** :bulb: Use the “Docs” sidebar, the\n[schema][], or the [types][] docs to help construct your query.\n\n## Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Usage](#usage)\n  - [As a standalone server](#as-a-standalone-server)\n  - [As middleware](#as-middleware)\n  - [As a client](#as-a-client)\n  - [Environment Variables](#environment-variables)\n  - [Debugging](#debugging)\n- [Example Queries](#example-queries)\n  - [Pagination](#pagination)\n- [Questions](#questions)\n- [Schema](#schema)\n  - [Extending the schema](#extending-the-schema)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Usage\n\nThis package can be used both as a standalone GraphQL server and as Express\nmiddleware supplying a GraphQL endpoint.\n\n### As a standalone server\n\nRun the included `graphbrainz` executable to start the server. The server is\nconfigured using [environment variables](#environment-variables).\n\n```sh\n$ graphbrainz\nListening on port 3000.\n```\n\nDevelopment mode features like JSON pretty printing and the [GraphiQL][]\ninterface will be enabled unless the server is run with `NODE_ENV=production`.\n\nNote that if you are not running the standalone server within another Node\nproject, you may wish to install this package globally so that the `graphbrainz`\nscript is globally available:\n\n```sh\nnpm install -g graphbrainz\n```\n\n### As middleware\n\nIf you have an existing Express server and want to add this GraphQL service as\nan endpoint, or you just want more customization, use the middleware.\n\n```js\nimport express from 'express';\nimport { middleware as graphbrainz } from 'graphbrainz';\n\nconst app = express();\n\n// Use the default options:\napp.use('/graphbrainz', graphbrainz());\n\n// or, pass some options:\napp.use('/graphbrainz', graphbrainz({\n  client: new MusicBrainz({ ... }),\n  graphiql: true,\n  ...\n}));\n\napp.listen(3000);\n```\n\nThe `graphbrainz` middleware function accepts the following options:\n\n- **`client`**: A custom API client instance to use. See the\n  [client submodule](src/api/client.js) for help with creating a custom\n  instance. You probably only need to do this if you want to adjust the rate\n  limit and retry behavior.\n- Any remaining options are passed along to the standard GraphQL middleware. See\n  the [express-graphql][] documentation for more information.\n\n### As a client\n\nIf you just want to make queries from your app without running a separate server\nor exposing a GraphQL endpoint, use the GraphBrainz schema with a library like\n[GraphQL.js][graphql-js]. You just need to create the `context` object that the\nGraphBrainz resolvers expect, like so:\n\n```js\nimport { graphql } from 'graphql';\nimport { MusicBrainz, createContext, baseSchema } from 'graphbrainz';\n\nconst client = new MusicBrainz();\nconst context = createContext({ client });\n\ngraphql(\n  schema,\n  `\n    {\n      lookup {\n        releaseGroup(mbid: \"99599db8-0e36-4a93-b0e8-350e9d7502a9\") {\n          title\n        }\n      }\n    }\n  `,\n  null,\n  context\n)\n  .then((result) => {\n    const { releaseGroup } = result.data.lookup;\n    console.log(`The album title is “${releaseGroup.title}”.`);\n  })\n  .catch((err) => {\n    console.error(err);\n  });\n```\n\n### Environment Variables\n\n- **`MUSICBRAINZ_BASE_URL`**: The base MusicBrainz API URL to use. Change this\n  if you are running your own MusicBrainz mirror. Defaults to\n  `http://musicbrainz.org/ws/2/`.\n- **`GRAPHBRAINZ_PATH`**: The URL route at which to expose the GraphQL endpoint,\n  if running the standalone server. Defaults to `/`.\n- **`GRAPHBRAINZ_CORS_ORIGIN`**: The value of the `origin` option to pass to the\n  [CORS][cors] middleware. Valid values are `true` to reflect the request\n  origin, a specific origin string to allow, `*` to allow all origins, and\n  `false` to disable CORS (the default).\n- **`GRAPHBRAINZ_CACHE_SIZE`**: The maximum number of REST API responses to\n  cache. Increasing the cache size and TTL will greatly lower query execution\n  time for complex queries involving frequently accessed entities. Defaults to\n  `8192`.\n- **`GRAPHBRAINZ_CACHE_TTL`**: The maximum age of REST API responses in the\n  cache, in milliseconds. Responses older than this will be disposed of (and\n  re-requested) the next time they are accessed. Defaults to `86400000` (one\n  day).\n- **`GRAPHBRAINZ_GRAPHIQL`**: Set this to `true` if you want to force the\n  [GraphiQL][] interface to be available even in production mode.\n- **`GRAPHBRAINZ_EXTENSIONS`**: A JSON array of module paths to load as\n  [extensions](./docs/extensions).\n- **`PORT`**: Port number to use, if running the standalone server.\n\nWhen running the standalone server, [dotenv][] is used to load these variables\nfrom a `.env` file, if one exists in the current working directory. This just\nmakes it more convenient to launch the server with certain settings. See the\n[dotenv][] package for more information.\n\n### Debugging\n\nThe `DEBUG` environment variable can be used to enable logging for all (or just\nsome) of this package’s submodules:\n\n```sh\n$ DEBUG=graphbrainz:* graphbrainz\n```\n\nSee the [debug][] package for more information.\n\n## Example Queries\n\nNirvana albums and each album’s singles\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20NirvanaAlbumSingles%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225b11f4ce-a62d-471e-81fc-a69a8278c7da%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20releaseGroups(type%3A%20ALBUM)%20%7B%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20relationships%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20releaseGroups(type%3A%20%22single%20from%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20ReleaseGroup%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=NirvanaAlbumSingles>)):\n\n```graphql\nquery NirvanaAlbumSingles {\n  lookup {\n    artist(mbid: \"5b11f4ce-a62d-471e-81fc-a69a8278c7da\") {\n      name\n      releaseGroups(type: ALBUM) {\n        edges {\n          node {\n            title\n            firstReleaseDate\n            relationships {\n              releaseGroups(type: \"single from\") {\n                edges {\n                  node {\n                    target {\n                      ... on ReleaseGroup {\n                        title\n                        firstReleaseDate\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Pagination\n\nThe first five labels with “Apple” in the name\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5) {\n      ...labelResults\n    }\n  }\n}\n\nfragment labelResults on LabelConnection {\n  pageInfo {\n    endCursor\n  }\n  edges {\n    cursor\n    node {\n      mbid\n      name\n      type\n      area {\n        name\n      }\n    }\n  }\n}\n```\n\n…and the next five, using the `endCursor` from the previous result\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205%2C%20after%3A%20%22YXJyYXljb25uZWN0aW9uOjQ%3D%22)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5, after: \"YXJyYXljb25uZWN0aW9uOjQ=\") {\n      ...labelResults\n    }\n  }\n}\n```\n\nWho the members of the band on an Apple Records release married, and when\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleRecordsMarriages%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%20Records%22%2C%20first%3A%201)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20disambiguation%0A%20%20%20%20%20%20%20%20%20%20country%0A%20%20%20%20%20%20%20%20%20%20releases(first%3A%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20date%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20artists%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...bandMembers%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20bandMembers%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(direction%3A%20%22backward%22%2C%20type%3A%20%22member%20of%20band%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...marriages%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20marriages%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(type%3A%20%22married%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20direction%0A%20%20%20%20%20%20%20%20%20%20begin%0A%20%20%20%20%20%20%20%20%20%20end%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleRecordsMarriages>)):\n\n```graphql\nquery AppleRecordsMarriages {\n  search {\n    labels(query: \"Apple Records\", first: 1) {\n      edges {\n        node {\n          name\n          disambiguation\n          country\n          releases(first: 1) {\n            edges {\n              node {\n                title\n                date\n                artists {\n                  edges {\n                    node {\n                      name\n                      ...bandMembers\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment bandMembers on Artist {\n  relationships {\n    artists(direction: \"backward\", type: \"member of band\") {\n      edges {\n        node {\n          type\n          target {\n            ... on Artist {\n              name\n              ...marriages\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment marriages on Artist {\n  relationships {\n    artists(type: \"married\") {\n      edges {\n        node {\n          type\n          direction\n          begin\n          end\n          target {\n            ... on Artist {\n              name\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nImages of Tom Petty provided by various extensions\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20TomPettyImages%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225ca3f318-d028-4151-ac73-78e2b2d6cdcc%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20mediaWikiImages%20%7B%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20objectName%0A%20%20%20%20%20%20%20%20descriptionHTML%0A%20%20%20%20%20%20%20%20licenseShortName%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20fanArt%20%7B%0A%20%20%20%20%20%20%20%20thumbnails%20%7B%0A%20%20%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20%20%20likeCount%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20theAudioDB%20%7B%0A%20%20%20%20%20%20%20%20logo%0A%20%20%20%20%20%20%20%20biography%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=TomPettyImages>)):\n\n```graphql\nquery TomPettyImages {\n  lookup {\n    artist(mbid: \"5ca3f318-d028-4151-ac73-78e2b2d6cdcc\") {\n      name\n      mediaWikiImages {\n        url\n        objectName\n        descriptionHTML\n        licenseShortName\n      }\n      fanArt {\n        thumbnails {\n          url\n          likeCount\n        }\n      }\n      theAudioDB {\n        logo\n        biography\n      }\n    }\n  }\n}\n```\n\nYou can find more example queries in the [schema tests][].\n\n## Questions\n\n**What’s with the cumbersome `edges`/`node` nesting? Why `first`/`after` instead\nof `limit`/`offset`? Why `mbid` instead of `id`?**\n\nYou can thank [Relay][] for that; these are properties of a Relay-compliant\nschema. The schema was originally designed to be more user-friendly, but in the\nend I decided that being compatible with Relay was a worthwhile feature. I\nagree, it’s ugly.\n\nThe GraphBrainz schema includes an extra `nodes` field on every connection type.\nIf you only want the nodes and no other fields on `edges`, you can use `nodes`\nas a shortcut.\n\nDon’t forget that you can also use [GraphQL aliases][aliases] to rename fields\nto your liking. For example, the following query renames `edges`, `node`, and\n`mbid` to `results`, `releaseGroup`, and `id`, respectively:\n\n```graphql\nquery ChristmasAlbums {\n  search {\n    releaseGroups(query: \"Christmas\") {\n      results: edges {\n        releaseGroup: node {\n          id: mbid\n          title\n        }\n      }\n    }\n  }\n}\n```\n\n**Why does my query take so long?**\n\nIt’s likely that your query requires multiple round trips to the MusicBrainz\nREST API, which is subject to [rate limiting][]. While the query resolver tries\nvery hard to fetch only the data necessary, and with the smallest number of API\nrequests, it is not 100% optimal (yet). Make sure you are only requesting the\nfields you need and a reasonable level of nested entities – unless you are\nwilling to wait.\n\nYou can also set up a [local MusicBrainz mirror][mirror] and configure\nGraphBrainz to use that with no rate limiting.\n\n## Schema\n\nThe [types][] document is the easiest to browse representation of the schema, or\nyou can read the [schema in GraphQL syntax][schema].\n\n### Extending the schema\n\nThe GraphBrainz schema can easily be extended to add integrations with\nthird-party services. See the [Extensions](./docs/extensions) docs for more\ninfo.\n\n[demo]: https://graphbrainz.herokuapp.com/\n[express]: http://expressjs.com/\n[musicbrainz]: https://musicbrainz.org/\n[graphql]: http://graphql.org/\n[express-graphql]: https://www.npmjs.com/package/express-graphql\n[dotenv]: https://www.npmjs.com/package/dotenv\n[debug]: https://www.npmjs.com/package/debug\n[graphiql]: https://github.com/graphql/graphiql\n[graphql-js]: https://github.com/graphql/graphql-js\n[relay]: https://facebook.github.io/relay/\n[schema]: docs/schema.md\n[types]: docs/types.md\n[rate limiting]: https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting\n[mirror]: https://musicbrainz.org/doc/MusicBrainz_Server/Setup\n[aliases]: http://graphql.org/learn/queries/#aliases\n[schema tests]: test/_schema.js\n[cors]: https://github.com/expressjs/cors\n","licenseText":"MIT License\n\nCopyright (c) 2016 Brian Beck\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"graphbrainz@9.0.0-beta.2","dist":{"shasum":"1417afc08c1ea950107a3baa51a67c80814dd219","integrity":"sha512-CnlUaK/vStAbU0NTcbLZsMoKIWp0zuLc0gw0+njEEmS42hYQogmzkHBf1ozj1ogLte3xTGXDy4IeV2GsqfKQ5Q==","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-9.0.0-beta.2.tgz","fileCount":86,"unpackedSize":539352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdpEpCRA9TVsSAnZWagAAMr4P/1Vhe/NWrBNKX4aGiZ83\nExJjCfMEthzuUg5yMIXYbRMTKE/GcQemCGCj3VhDjsIf34aJoSzdTNLjyp3A\nLLYyP9AItRyIBFD4gXcF+l63B2Nb10a+HG9LXW94ymKCadGP3/O0l+Tl7213\nt2jIfvPsVz8O79PE8niWeWD+I83dvrmFydy4ff61hndETSWGzyjfVZ5rBUhG\nx2ny/9/YLgDfO8WR1lbozxaLKZph5wPY8Nk4u3A4UPX10Np7QKlhjc05yBGM\n3pauokYkT7alFTz59r0+pki3Sz1o6EKe608BF/2gWzKN56ZeD82/sE5RAsxl\nrYGg3TSSA9E24Y1WiBLh86ETHz5F6VGgPcVYm/RgXaVpgNXtkOsQeOyGWl0K\niuIaR0DOaWitDBFdhwiKj5dBLqGHeEoDUcbOJ1+FlxW541E/vUYVw0DE7fZQ\nn64qcqTZ09Q2fW+685EQHd7zt5Kcz/xHdGBWJm826qyW65BHDwOrE9RVHTt/\nQxp8QIUzyebFy1EbO/vTQStcTEUeZxixeNtbUOy0LpZnhcEKJdnRR0e0Nhfj\n2wmchkxEb/zbH4wTE0nEh2KnHKC+He1s16H5Qa3EfxHBjy8JjWdFKD1Mk8FC\nkVgoxPW72S39r7Sf/9lVbBUyNTy/jbG7ZeyXi90dlvWqJSPxQ8nGX/jGv/Os\nBWn5\r\n=2xdi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICyf9BwTmwOG6QZN9lvRg5+ZTRema+FEjXWu59lok0F9AiA91WJ/Ob+zKsWsG8C/+fTICWyPHSCZyAiCJIPJn3H9pg=="}]},"_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"directories":{},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_9.0.0-beta.2_1618383145027_0.5856982925008614"},"_hasShrinkwrap":false},"9.0.0":{"name":"graphbrainz","version":"9.0.0","description":"A GraphQL schema, Express server, and middleware for querying the MusicBrainz.","keywords":["musicbrainz","graphql","api","express","middleware","relay"],"homepage":"https://github.com/exogen/graphbrainz","author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"https://brianbeck.com/"},"repository":{"type":"git","url":"https://github.com/exogen/graphbrainz.git"},"license":"MIT","engines":{"node":">=12.18.0","npm":">=6.0.0"},"type":"module","main":"./src/index.js","exports":{".":"./src/index.js","./extensions/cover-art-archive":"./extensions/cover-art-archive.js","./extensions/fanart-tv":"./extensions/fanart-tv.js","./extensions/mediawiki":"./extensions/mediawiki.js","./extensions/the-audio-db":"./extensions/the-audio-db.js","./package.json":"./package.json","./schema.json":"./schema.json"},"bin":{"graphbrainz":"cli.js"},"scripts":{"build":"npm run update-schema && npm run build:docs","build:docs":"npm run build:docs:readme && npm run build:docs:schema && npm run build:docs:types && npm run build:docs:extensions","build:docs:extensions":"node scripts/build-extension-docs.js","build:docs:readme":"doctoc --notitle README.md docs/extensions/README.md","build:docs:schema":"printf '# GraphQL Schema\\n\\n%s\n' \"$(npm run -s print-schema:md)\" > docs/schema.md","build:docs:types":"graphql-markdown ./schema.json --no-title --update-file docs/types.md","deploy":"./scripts/deploy.sh","format":"npm run lint:fix","lint":"eslint .","lint:fix":"eslint --fix .","preversion":"npm run update-schema && npm run build:docs && git add schema.json docs","print-schema":"node scripts/print-schema.js","print-schema:json":"npm run print-schema -- --json","print-schema:md":"printf '```graphql\\n%s\\n```' \"$(npm run -s print-schema)\"","start":"node cli.js","start:dev":"nodemon cli.js","test":"npm run lint && npm run test:coverage","test:coverage":"c8 --all npm run test:only","test:only":"cross-env NOCK_MODE=play ava","test:record":"cross-env NOCK_MODE=record ava --concurrency=1 --timeout=1m","test:record-new":"cross-env NOCK_MODE=cache ava --concurrency=1 --timeout=1m","test:watch":"npm run test:only -- --watch","update-schema":"npm run -s print-schema:json > schema.json"},"ava":{"require":["dotenv/config"]},"ava-nock":{"fixtureDir":"fixtures","pathFilter":["(([?&]api_key=)(\\w+))|((/json/)(\\w+)(/[\\w-]+-mb\\.php))","$2$5*$7"]},"dependencies":{"@graphql-tools/schema":"^7.1.3","compression":"^1.7.3","cors":"^2.8.4","dashify":"^2.0.0","dataloader":"^2.0.0","debug":"^4.3.1","dotenv":"^8.2.0","es6-error":"^4.1.1","express":"^4.16.3","express-graphql":"^0.12.0","got":"^11.8.2","graphql":"^15.5.0","graphql-relay":"^0.6.0","lru-cache":"^6.0.0","pascalcase":"^1.0.0","read-pkg-up":"^8.0.0"},"devDependencies":{"ava":"^3.15.0","ava-nock":"^2.1.0","c8":"^7.7.1","coveralls":"^3.0.2","cross-env":"^7.0.3","doctoc":"^2.0.0","eslint":"^7.24.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^5.1.0","graphql-markdown":"^6.0.0","nodemon":"^2.0.7","prettier":"^2.2.1","rimraf":"^3.0.2","sinon":"^10.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2016 Brian Beck\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"graphbrainz@9.0.0","dist":{"shasum":"334821f664316c45eb09abaf698abb54a17573d3","integrity":"sha512-15oUlzHEbOwPWMTSO3DV51+QCKzoS18iamugz7hj2mBGtdClmBXBiuRGlBn19gCmVkCnA0gPui2EmEyA2TcmZA==","tarball":"https://registry.npmjs.org/graphbrainz/-/graphbrainz-9.0.0.tgz","fileCount":86,"unpackedSize":539723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeRTmCRA9TVsSAnZWagAApB0P/Ax4eAxbl8f8vOxP2vrd\nFgIWgtGHiVsqMTg06wjMeRZSXDGbdZTDsL3PpHBrL4uJn0f34S/YKBRQiYmI\n6bIkDJmB9F800vJBeTrDoEdSHMPMTcqiT9QtDveRCA6pwV15bZpHw/KY9pCV\nE6Tg+qaZ/C8oMRfsH7YybfS0B7Yjai5GrK2oksiez91hjk5ySTppmPTtQ612\nt8JrrKb360bFdMSfn6IlGGL0qGawIZE8fxnFnJfOEGhebUJoPyXM/ZZ8REJD\nqpltHHnYI301/VAcPRudQmSuMc8nYLAFEGavL9Nf2yz3QVgw7d9fQZ7hXuMl\nZX9DNL4Ph/DfbJZxvyOQX1OV+oJtYPHlLQ/RxTlWjBupTGSovmHVAUlliFly\n38tu7y5EM4XlTGMiJtklrz5F2l3m2DIhJ+vHUG9Sh/mZXQfVdOsodXWRv03U\nPPAvP5YtVAnHaw1aGpBRaEYbB3BH6kw7B35SFtsX/E1WEdwLD5nd5qkcxBp4\n/jLkMIMOhSszLdPMAEF4DVlkMMrFvJqZQiZGy/J02QpQ1wWFbZu/nWnwKOLd\nVU66qhm4JhUPfIopMmZjCtnjlLmJu/f2oT3gp8RimU1nwZN2G55gibd0EM6u\nYCyDL9cyZt5ElqP5SIjMlke4WazhHwHsKSsGWGwPByW4CcHsbAvUyndivlb4\nvQ0+\r\n=Rjd1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICLZLMVuG3nJ+G7f9liGD9tRqvjyU9BnzGqOx6BQRVYFAiEA/lUzbd2f1kFaHpHeAncFzoGRl7353lvU+Fh4tPIGdWU="}]},"_npmUser":{"name":"exogen","email":"exogen@gmail.com"},"directories":{},"maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphbrainz_9.0.0_1618547942249_0.9530326026099005"},"_hasShrinkwrap":false}},"readme":"# GraphBrainz\n\n[![build status](https://img.shields.io/travis/exogen/graphbrainz/master.svg)](https://travis-ci.org/exogen/graphbrainz)\n[![coverage](https://img.shields.io/codecov/c/github/exogen/graphbrainz.svg)](https://codecov.io/gh/exogen/graphbrainz)\n[![npm version](https://img.shields.io/npm/v/graphbrainz.svg)](https://www.npmjs.com/package/graphbrainz)\n[![license](https://img.shields.io/npm/l/graphbrainz.svg)](https://github.com/exogen/graphbrainz/blob/master/LICENSE)\n\nA [GraphQL][] schema, [Express][] server, and middleware for querying the\n[MusicBrainz][] API. It features an [extensible](./docs/extensions) schema to\nadd integration with Discogs, Spotify, Last.fm, fanart.tv, and more!\n\n**[Try out the live demo!][demo]** :bulb: Use the “Docs” sidebar, the\n[schema][], or the [types][] docs to help construct your query.\n\n## Install\n\nInstall with npm:\n\n```sh\nnpm install graphbrainz --save\n```\n\nInstall with Yarn:\n\n```sh\nyarn add graphbrainz\n```\n\n_GraphBrainz is written and distributed as native ECMAScript modules\n(ESM) and requires a compatible version of Node.js_\n\n## Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Usage](#usage)\n  - [As a standalone server](#as-a-standalone-server)\n  - [As middleware](#as-middleware)\n  - [As a client](#as-a-client)\n  - [Environment Variables](#environment-variables)\n  - [Debugging](#debugging)\n- [Example Queries](#example-queries)\n  - [Pagination](#pagination)\n- [Questions](#questions)\n- [Schema](#schema)\n  - [Extending the schema](#extending-the-schema)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Usage\n\nThis package can be used both as a standalone GraphQL server and as Express\nmiddleware supplying a GraphQL endpoint.\n\n### As a standalone server\n\nRun the included `graphbrainz` executable to start the server. The server is\nconfigured using [environment variables](#environment-variables).\n\n```sh\n$ graphbrainz\nListening on port 3000.\n```\n\nDevelopment mode features like JSON pretty printing and the [GraphiQL][]\ninterface will be enabled unless the server is run with `NODE_ENV=production`.\n\nNote that if you are not running the standalone server within another Node\nproject, you may wish to install this package globally so that the `graphbrainz`\nscript is globally available:\n\n```sh\nnpm install -g graphbrainz\n```\n\n### As middleware\n\nIf you have an existing Express server and want to add this GraphQL service as\nan endpoint, or you just want more customization, use the middleware.\n\n```js\nimport express from 'express';\nimport { middleware as graphbrainz } from 'graphbrainz';\n\nconst app = express();\n\n// Use the default options:\napp.use('/graphbrainz', graphbrainz());\n\n// or, pass some options:\napp.use('/graphbrainz', graphbrainz({\n  client: new MusicBrainz({ ... }),\n  graphiql: true,\n  ...\n}));\n\napp.listen(3000);\n```\n\nThe `graphbrainz` middleware function accepts the following options:\n\n- **`client`**: A custom API client instance to use. See the\n  [client submodule](src/api/client.js) for help with creating a custom\n  instance. You probably only need to do this if you want to adjust the rate\n  limit and retry behavior.\n- Any remaining options are passed along to the standard GraphQL middleware. See\n  the [express-graphql][] documentation for more information.\n\n### As a client\n\nIf you just want to make queries from your app without running a separate server\nor exposing a GraphQL endpoint, use the GraphBrainz schema with a library like\n[GraphQL.js][graphql-js]. You just need to create the `context` object that the\nGraphBrainz resolvers expect, like so:\n\n```js\nimport { graphql } from 'graphql';\nimport { MusicBrainz, createContext, baseSchema } from 'graphbrainz';\n\nconst client = new MusicBrainz();\nconst context = createContext({ client });\n\ngraphql(\n  schema,\n  `\n    {\n      lookup {\n        releaseGroup(mbid: \"99599db8-0e36-4a93-b0e8-350e9d7502a9\") {\n          title\n        }\n      }\n    }\n  `,\n  null,\n  context\n)\n  .then((result) => {\n    const { releaseGroup } = result.data.lookup;\n    console.log(`The album title is “${releaseGroup.title}”.`);\n  })\n  .catch((err) => {\n    console.error(err);\n  });\n```\n\n### Environment Variables\n\n- **`MUSICBRAINZ_BASE_URL`**: The base MusicBrainz API URL to use. Change this\n  if you are running your own MusicBrainz mirror. Defaults to\n  `http://musicbrainz.org/ws/2/`.\n- **`GRAPHBRAINZ_PATH`**: The URL route at which to expose the GraphQL endpoint,\n  if running the standalone server. Defaults to `/`.\n- **`GRAPHBRAINZ_CORS_ORIGIN`**: The value of the `origin` option to pass to the\n  [CORS][cors] middleware. Valid values are `true` to reflect the request\n  origin, a specific origin string to allow, `*` to allow all origins, and\n  `false` to disable CORS (the default).\n- **`GRAPHBRAINZ_CACHE_SIZE`**: The maximum number of REST API responses to\n  cache. Increasing the cache size and TTL will greatly lower query execution\n  time for complex queries involving frequently accessed entities. Defaults to\n  `8192`.\n- **`GRAPHBRAINZ_CACHE_TTL`**: The maximum age of REST API responses in the\n  cache, in milliseconds. Responses older than this will be disposed of (and\n  re-requested) the next time they are accessed. Defaults to `86400000` (one\n  day).\n- **`GRAPHBRAINZ_GRAPHIQL`**: Set this to `true` if you want to force the\n  [GraphiQL][] interface to be available even in production mode.\n- **`GRAPHBRAINZ_EXTENSIONS`**: A JSON array of module paths to load as\n  [extensions](./docs/extensions).\n- **`PORT`**: Port number to use, if running the standalone server.\n\nWhen running the standalone server, [dotenv][] is used to load these variables\nfrom a `.env` file, if one exists in the current working directory. This just\nmakes it more convenient to launch the server with certain settings. See the\n[dotenv][] package for more information.\n\n### Debugging\n\nThe `DEBUG` environment variable can be used to enable logging for all (or just\nsome) of this package’s submodules:\n\n```sh\n$ DEBUG=graphbrainz:* graphbrainz\n```\n\nSee the [debug][] package for more information.\n\n## Example Queries\n\nNirvana albums and each album’s singles\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20NirvanaAlbumSingles%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225b11f4ce-a62d-471e-81fc-a69a8278c7da%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20releaseGroups(type%3A%20ALBUM)%20%7B%0A%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20relationships%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20releaseGroups(type%3A%20%22single%20from%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20ReleaseGroup%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20firstReleaseDate%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=NirvanaAlbumSingles>)):\n\n```graphql\nquery NirvanaAlbumSingles {\n  lookup {\n    artist(mbid: \"5b11f4ce-a62d-471e-81fc-a69a8278c7da\") {\n      name\n      releaseGroups(type: ALBUM) {\n        edges {\n          node {\n            title\n            firstReleaseDate\n            relationships {\n              releaseGroups(type: \"single from\") {\n                edges {\n                  node {\n                    target {\n                      ... on ReleaseGroup {\n                        title\n                        firstReleaseDate\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Pagination\n\nThe first five labels with “Apple” in the name\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5) {\n      ...labelResults\n    }\n  }\n}\n\nfragment labelResults on LabelConnection {\n  pageInfo {\n    endCursor\n  }\n  edges {\n    cursor\n    node {\n      mbid\n      name\n      type\n      area {\n        name\n      }\n    }\n  }\n}\n```\n\n…and the next five, using the `endCursor` from the previous result\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleLabels%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%22%2C%20first%3A%205%2C%20after%3A%20%22YXJyYXljb25uZWN0aW9uOjQ%3D%22)%20%7B%0A%20%20%20%20%20%20...labelResults%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20labelResults%20on%20LabelConnection%20%7B%0A%20%20pageInfo%20%7B%0A%20%20%20%20endCursor%0A%20%20%7D%0A%20%20edges%20%7B%0A%20%20%20%20cursor%0A%20%20%20%20node%20%7B%0A%20%20%20%20%20%20mbid%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20type%0A%20%20%20%20%20%20area%20%7B%0A%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleLabels>)):\n\n```graphql\nquery AppleLabels {\n  search {\n    labels(query: \"Apple\", first: 5, after: \"YXJyYXljb25uZWN0aW9uOjQ=\") {\n      ...labelResults\n    }\n  }\n}\n```\n\nWho the members of the band on an Apple Records release married, and when\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20AppleRecordsMarriages%20%7B%0A%20%20search%20%7B%0A%20%20%20%20labels(query%3A%20%22Apple%20Records%22%2C%20first%3A%201)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20disambiguation%0A%20%20%20%20%20%20%20%20%20%20country%0A%20%20%20%20%20%20%20%20%20%20releases(first%3A%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20date%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20artists%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...bandMembers%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20bandMembers%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(direction%3A%20%22backward%22%2C%20type%3A%20%22member%20of%20band%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...marriages%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afragment%20marriages%20on%20Artist%20%7B%0A%20%20relationships%20%7B%0A%20%20%20%20artists(type%3A%20%22married%22)%20%7B%0A%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%20%20%20%20direction%0A%20%20%20%20%20%20%20%20%20%20begin%0A%20%20%20%20%20%20%20%20%20%20end%0A%20%20%20%20%20%20%20%20%20%20target%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20...%20on%20Artist%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=AppleRecordsMarriages>)):\n\n```graphql\nquery AppleRecordsMarriages {\n  search {\n    labels(query: \"Apple Records\", first: 1) {\n      edges {\n        node {\n          name\n          disambiguation\n          country\n          releases(first: 1) {\n            edges {\n              node {\n                title\n                date\n                artists {\n                  edges {\n                    node {\n                      name\n                      ...bandMembers\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment bandMembers on Artist {\n  relationships {\n    artists(direction: \"backward\", type: \"member of band\") {\n      edges {\n        node {\n          type\n          target {\n            ... on Artist {\n              name\n              ...marriages\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nfragment marriages on Artist {\n  relationships {\n    artists(type: \"married\") {\n      edges {\n        node {\n          type\n          direction\n          begin\n          end\n          target {\n            ... on Artist {\n              name\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nImages of Tom Petty provided by various extensions\n([try it](<https://graphbrainz.herokuapp.com/?query=query%20TomPettyImages%20%7B%0A%20%20lookup%20%7B%0A%20%20%20%20artist(mbid%3A%20%225ca3f318-d028-4151-ac73-78e2b2d6cdcc%22)%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20mediaWikiImages%20%7B%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20objectName%0A%20%20%20%20%20%20%20%20descriptionHTML%0A%20%20%20%20%20%20%20%20licenseShortName%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20fanArt%20%7B%0A%20%20%20%20%20%20%20%20thumbnails%20%7B%0A%20%20%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20%20%20likeCount%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20theAudioDB%20%7B%0A%20%20%20%20%20%20%20%20logo%0A%20%20%20%20%20%20%20%20biography%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&operationName=TomPettyImages>)):\n\n```graphql\nquery TomPettyImages {\n  lookup {\n    artist(mbid: \"5ca3f318-d028-4151-ac73-78e2b2d6cdcc\") {\n      name\n      mediaWikiImages {\n        url\n        objectName\n        descriptionHTML\n        licenseShortName\n      }\n      fanArt {\n        thumbnails {\n          url\n          likeCount\n        }\n      }\n      theAudioDB {\n        logo\n        biography\n      }\n    }\n  }\n}\n```\n\nYou can find more example queries in the [schema tests][].\n\n## Questions\n\n**What’s with the cumbersome `edges`/`node` nesting? Why `first`/`after` instead\nof `limit`/`offset`? Why `mbid` instead of `id`?**\n\nYou can thank [Relay][] for that; these are properties of a Relay-compliant\nschema. The schema was originally designed to be more user-friendly, but in the\nend I decided that being compatible with Relay was a worthwhile feature. I\nagree, it’s ugly.\n\nThe GraphBrainz schema includes an extra `nodes` field on every connection type.\nIf you only want the nodes and no other fields on `edges`, you can use `nodes`\nas a shortcut.\n\nDon’t forget that you can also use [GraphQL aliases][aliases] to rename fields\nto your liking. For example, the following query renames `edges`, `node`, and\n`mbid` to `results`, `releaseGroup`, and `id`, respectively:\n\n```graphql\nquery ChristmasAlbums {\n  search {\n    releaseGroups(query: \"Christmas\") {\n      results: edges {\n        releaseGroup: node {\n          id: mbid\n          title\n        }\n      }\n    }\n  }\n}\n```\n\n**Why does my query take so long?**\n\nIt’s likely that your query requires multiple round trips to the MusicBrainz\nREST API, which is subject to [rate limiting][]. While the query resolver tries\nvery hard to fetch only the data necessary, and with the smallest number of API\nrequests, it is not 100% optimal (yet). Make sure you are only requesting the\nfields you need and a reasonable level of nested entities – unless you are\nwilling to wait.\n\nYou can also set up a [local MusicBrainz mirror][mirror] and configure\nGraphBrainz to use that with no rate limiting.\n\n## Schema\n\nThe [types][] document is the easiest to browse representation of the schema, or\nyou can read the [schema in GraphQL syntax][schema].\n\n### Extending the schema\n\nThe GraphBrainz schema can easily be extended to add integrations with\nthird-party services. See the [Extensions](./docs/extensions) docs for more\ninfo.\n\n[demo]: https://graphbrainz.herokuapp.com/\n[express]: http://expressjs.com/\n[musicbrainz]: https://musicbrainz.org/\n[graphql]: http://graphql.org/\n[express-graphql]: https://www.npmjs.com/package/express-graphql\n[dotenv]: https://www.npmjs.com/package/dotenv\n[debug]: https://www.npmjs.com/package/debug\n[graphiql]: https://github.com/graphql/graphiql\n[graphql-js]: https://github.com/graphql/graphql-js\n[relay]: https://facebook.github.io/relay/\n[schema]: docs/schema.md\n[types]: docs/types.md\n[rate limiting]: https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting\n[mirror]: https://musicbrainz.org/doc/MusicBrainz_Server/Setup\n[aliases]: http://graphql.org/learn/queries/#aliases\n[schema tests]: test/_schema.js\n[cors]: https://github.com/expressjs/cors\n","maintainers":[{"name":"exogen","email":"exogen@gmail.com"}],"time":{"modified":"2022-06-18T13:51:33.443Z","created":"2016-11-26T01:42:34.925Z","2.0.0":"2016-11-26T01:42:34.925Z","2.1.0":"2016-11-26T02:22:02.238Z","2.1.1":"2016-11-26T10:58:00.076Z","2.2.0":"2016-11-28T13:52:24.115Z","2.2.1":"2016-11-28T14:26:07.648Z","2.3.0":"2016-11-28T14:45:34.476Z","2.4.0":"2016-11-29T04:05:13.442Z","2.4.1":"2016-11-29T08:14:56.064Z","2.4.2":"2016-11-30T02:20:30.986Z","2.5.0":"2016-11-30T08:22:30.604Z","3.0.0":"2016-12-02T08:48:51.495Z","3.0.1":"2016-12-02T08:50:56.898Z","3.1.0":"2016-12-07T08:46:28.795Z","3.1.1":"2016-12-08T22:50:34.252Z","4.0.0":"2016-12-10T03:02:31.485Z","4.1.0":"2016-12-10T17:58:19.316Z","4.2.0":"2016-12-11T21:14:24.976Z","4.3.0":"2016-12-12T04:08:19.014Z","4.3.1":"2016-12-12T05:14:19.700Z","4.4.0":"2016-12-12T09:07:45.096Z","4.5.0":"2016-12-14T05:24:40.233Z","5.0.0":"2016-12-20T05:24:00.507Z","5.0.1":"2016-12-20T05:29:41.277Z","5.0.2":"2016-12-20T05:51:16.527Z","5.0.3":"2016-12-21T02:06:44.974Z","5.1.0":"2017-03-19T07:49:50.546Z","5.1.1":"2017-03-19T08:11:18.490Z","5.1.2":"2017-04-04T05:03:37.743Z","5.1.3":"2017-04-28T02:40:43.431Z","6.0.0":"2017-10-06T03:33:46.890Z","6.1.0":"2017-10-07T02:46:48.334Z","7.0.0-0":"2017-10-19T08:06:39.427Z","7.0.0-1":"2017-10-19T08:47:51.618Z","7.0.0-2":"2017-10-20T03:19:07.625Z","7.0.0-3":"2017-10-20T04:43:26.209Z","7.0.0":"2017-10-25T04:33:11.652Z","7.1.0":"2017-11-04T22:36:20.663Z","7.1.1":"2017-11-05T20:03:19.777Z","7.2.0":"2017-11-18T08:46:57.967Z","7.3.0-0":"2017-11-18T23:51:30.058Z","7.3.0":"2017-11-19T00:42:17.852Z","8.0.0-0":"2018-08-04T19:07:15.200Z","8.0.0":"2018-08-04T22:38:39.060Z","8.0.1":"2018-08-09T08:09:21.557Z","8.0.2":"2018-08-11T01:58:59.058Z","8.0.3":"2018-08-16T03:23:25.243Z","8.0.4":"2018-09-16T23:25:25.794Z","8.1.0":"2018-09-17T04:55:43.287Z","9.0.0-beta.1":"2021-04-14T06:47:49.718Z","9.0.0-beta.2":"2021-04-14T06:52:25.165Z","9.0.0":"2021-04-16T04:39:02.452Z"},"homepage":"https://github.com/exogen/graphbrainz","keywords":["musicbrainz","graphql","api","express","middleware","relay"],"repository":{"type":"git","url":"https://github.com/exogen/graphbrainz.git"},"author":{"name":"Brian Beck","email":"exogen@gmail.com","url":"https://brianbeck.com/"},"license":"MIT","readmeFilename":"README.md"}