{"_id":"@pyramation/json-schema-ref-parser","_rev":"1-5883a40d4e6546361f7fd4902f07c53d","name":"@pyramation/json-schema-ref-parser","dist-tags":{"latest":"9.0.6"},"versions":{"9.0.5":{"name":"@pyramation/json-schema-ref-parser","version":"9.0.5","description":"Parse, Resolve, and Dereference JSON Schema $ref pointers","keywords":["json","schema","jsonschema","json-schema","json-pointer","$ref","dereference","resolve"],"author":{"name":"James Messinger","url":"https://jamesmessinger.com"},"contributors":[{"name":"Boris Cherny","email":"boris@performancejs.com"}],"homepage":"https://apitools.dev/json-schema-ref-parser/","repository":{"type":"git","url":"git+https://github.com/APIDevTools/json-schema-ref-parser.git"},"license":"MIT","main":"lib/index.js","typings":"lib/index.d.ts","browser":{"fs":false},"scripts":{"clean":"shx rm -rf .nyc_output coverage","lint":"eslint lib test/fixtures test/specs","test":"npm run test:node && npm run test:typescript && npm run test:browser && npm run lint","test:node":"mocha","test:browser":"karma start --single-run","test:typescript":"tsc --noEmit --strict --lib esnext,dom test/specs/typescript-definition.spec.ts","coverage":"npm run coverage:node && npm run coverage:browser","coverage:node":"nyc node_modules/mocha/bin/mocha","coverage:browser":"npm run test:browser -- --coverage","upgrade":"npm-check -u && npm audit fix","bump":"bump --tag --push --all","release":"npm run upgrade && npm run clean && npm test && npm run bump"},"devDependencies":{"@babel/polyfill":"^7.10.4","@jsdevtools/eslint-config":"^1.0.5","@jsdevtools/host-environment":"^2.0.4","@jsdevtools/karma-config":"^3.1.7","@jsdevtools/version-bump-prompt":"^6.0.6","@types/json-schema":"^7.0.4","@types/node":"^14.0.23","chai":"^4.2.0","chai-subset":"^1.6.0","eslint":"^7.5.0","karma":"^5.0.2","karma-cli":"^2.0.0","mocha":"^8.0.1","npm-check":"^5.9.0","nyc":"^15.0.1","shx":"^0.3.2","typescript":"^3.9.7"},"dependencies":{"@jsdevtools/ono":"^7.1.3","call-me-maybe":"^1.0.1","js-yaml":"^3.13.1"},"gitHead":"1979495678a8c83066b6b2a69237b9fb9289bbf9","bugs":{"url":"https://github.com/APIDevTools/json-schema-ref-parser/issues"},"_id":"@pyramation/json-schema-ref-parser@9.0.5","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-R9z6aasTZwSx3c5bInTYdjmxnBC73yQDl1+Iad7KMH29wxSi3NbhZPdHrfYT8NrsmpwT6adDPgHAT+YHb2lLgA==","shasum":"36bebdd429802b0d31ce8e4cecfdb1301b5e0eed","tarball":"https://registry.npmjs.org/@pyramation/json-schema-ref-parser/-/json-schema-ref-parser-9.0.5.tgz","fileCount":24,"unpackedSize":136282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWSzykBvfhl8YejOy2Ha+K+tN4k9QtaKzoAYNckJkRMgIhAPEy1Xoc+4Lgrwstdv76fwnmsugQDX/E9GHD7AmYOOWJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA8q8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhvA/5AazU7tdiZk566clECHwSjKFqsSHbpDdRmGUZJdOM0iKX+kUw\r\nZf474BKTgRIWfay9ZtfuCwJCuAu7tKldai0T/d+P7WbQryO3n1+T39ylRnPZ\r\nuwnfyfCAAp4ghvhnBiX7tcNVdLzlLoCtJnghIc5AOmZj64gYjAb0lZIG/tb+\r\nuYqSbajVrf2mvROvepLqMtaMQH8UR0UfcmYjZwf97HqbSlR2bKnGLaUpzlln\r\nyOjA9pQqxP/HcNsX9hhoBDzh1ggXw/p9tt7lYKqW+S22ZoJSKQ35HozGdLtc\r\nWVt0WFu/mf9eXJvNqTzD1DKEGQbjMKy7BEIbeab3aaGwoto0gD5akGS5SkyQ\r\nnnrPbrcbX1aAXVhSzkQ2u7TMGCRGTg7wMjqVZl6/SOQB0aAcMRKaI3heWFQY\r\n1dNhPnt4ckmvXasWFsbz+zvHkOzsNzvRFYBQVCsS8pdryZx4cZsCWTLt5HMt\r\nebD/s60wC8mXSvYujMPUbnMzOQN+ts+qD9iPVMbTGKRtMmCw91+188LSfmUY\r\n4W3li/zCbNKA6mrubcAMYW5yoFvlS8Z3gLT9ThrQT88BaDBgE/V5hqsZPJYo\r\nwmcVeBKeEJwVNDaNkwi/cAbkd5UUawqXMIInfqt/LgwQ8HPJeNkVanRwDakv\r\n03rMlZABO1RWzkdmL4xXJER16RYdihrhxDY=\r\n=MgOG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"directories":{},"maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-schema-ref-parser_9.0.5_1661192892273_0.17096042878926387"},"_hasShrinkwrap":false},"9.0.6":{"name":"@pyramation/json-schema-ref-parser","version":"9.0.6","description":"Parse, Resolve, and Dereference JSON Schema $ref pointers","keywords":["json","schema","jsonschema","json-schema","json-pointer","$ref","dereference","resolve"],"author":{"name":"James Messinger","url":"https://jamesmessinger.com"},"contributors":[{"name":"Boris Cherny","email":"boris@performancejs.com"}],"homepage":"https://apitools.dev/json-schema-ref-parser/","repository":{"type":"git","url":"git+https://github.com/APIDevTools/json-schema-ref-parser.git"},"license":"MIT","main":"lib/index.js","typings":"lib/index.d.ts","browser":{"fs":false},"scripts":{"clean":"shx rm -rf .nyc_output coverage","lint":"eslint lib test/fixtures test/specs","test":"npm run test:node && npm run test:typescript && npm run test:browser && npm run lint","test:node":"mocha","test:browser":"karma start --single-run","test:typescript":"tsc --noEmit --strict --lib esnext,dom test/specs/typescript-definition.spec.ts","coverage":"npm run coverage:node && npm run coverage:browser","coverage:node":"nyc node_modules/mocha/bin/mocha","coverage:browser":"npm run test:browser -- --coverage","upgrade":"npm-check -u && npm audit fix","bump":"bump --tag --push --all","release":"npm run upgrade && npm run clean && npm test && npm run bump"},"devDependencies":{"@babel/polyfill":"^7.10.4","@jsdevtools/eslint-config":"^1.0.5","@jsdevtools/host-environment":"^2.0.4","@jsdevtools/karma-config":"^3.1.7","@jsdevtools/version-bump-prompt":"^6.0.6","@types/json-schema":"^7.0.4","@types/node":"^14.0.23","chai":"^4.2.0","chai-subset":"^1.6.0","eslint":"^7.5.0","karma":"^5.0.2","karma-cli":"^2.0.0","mocha":"^8.0.1","npm-check":"^5.9.0","nyc":"^15.0.1","shx":"^0.3.2","typescript":"^3.9.7"},"dependencies":{"@jsdevtools/ono":"^7.1.3","call-me-maybe":"^1.0.1","js-yaml":"^3.13.1"},"gitHead":"1979495678a8c83066b6b2a69237b9fb9289bbf9","bugs":{"url":"https://github.com/APIDevTools/json-schema-ref-parser/issues"},"_id":"@pyramation/json-schema-ref-parser@9.0.6","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-L5kToHAEc1Q87R8ZwWFaNa4tPHr8Hnm+U+DRdUVq3tUtk+EX4pCqSd34Z6EMxNi/bjTzt1syAG9J2Oo1YFlqSg==","shasum":"556e416ce7dcc15a3c1afd04d6a059e03ed09aeb","tarball":"https://registry.npmjs.org/@pyramation/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz","fileCount":24,"unpackedSize":136282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSlfdcHHFlunaZ0khXbpkvw+08+ZMkyOh6QJpAFHh/RAiBf7U9mj/oEdX9DO3NiNdZiRQ7bYqi8PY/I18JcPFHVaA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA8zSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo59xAAlXfAxP6KAAfM42GsnCJ4uAqBKupVbW3mXV3te39fTvdGWF6e\r\nRPaqiS36CUcXmVZ2g56AdGMnHCcZ3VZZhCef891LlvOStWHnMMUIxHlq3JSq\r\nIGrwPxfdt99VkwgYIS6I5r3pNF8n4g1/6ZybO0ZHDd7tFXbQRLim1XCPHSAm\r\nNrUYJp+6HcXYJVThCHvjS6Bnck9V2q5+DFKXGME7N4QVnvj0ZYsjRBTUwfW5\r\nI2zF6r8i0j/R+c1fXJl3qaISWO9yx5v3OsaOtvL4pxFtEU23ztTSQgun9qaf\r\nrbaws9gTCWLfV3R1AKPwEjkVb0nrsVMiuEz6jsZ6voiet6IURJuS74fI20b9\r\n934dHRQaCVFtQT+DEzs9sAmKkam/tnEi62/hRJncbErJCsiAKy+40ybHcjix\r\nRNJpbOEbrIEpwVhTYAlDQvC4cu6DO8nDR68ERaTeTcrduomSLopIMvGEIHBn\r\nGWVeEbZVhhgRuPL00Jf/s7z/zgZMFyHnZ2MvNL23cFQz/ruA4MKnjmuFpYqx\r\n9orIsIINmMN6StmUKa+zUzKyetun9ooc/VZnJVSsa6V/pQX7bM8ghjMGW0vA\r\nVzw5CKrbTXUUPxdm/EfPedD0ArUCyHIDmV+zEhDKvQYbjRhj9qUL2XXo41RE\r\n8L5mt50cczQ2gQ8xpsj3FbGm3ZJdW6e/W1s=\r\n=Ei5i\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"directories":{},"maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-schema-ref-parser_9.0.6_1661193426483_0.7392224332474002"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-22T18:28:12.273Z","9.0.5":"2022-08-22T18:28:12.468Z","modified":"2022-08-22T18:37:06.804Z","9.0.6":"2022-08-22T18:37:06.712Z"},"maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"description":"Parse, Resolve, and Dereference JSON Schema $ref pointers","homepage":"https://apitools.dev/json-schema-ref-parser/","keywords":["json","schema","jsonschema","json-schema","json-pointer","$ref","dereference","resolve"],"repository":{"type":"git","url":"git+https://github.com/APIDevTools/json-schema-ref-parser.git"},"contributors":[{"name":"Boris Cherny","email":"boris@performancejs.com"}],"author":{"name":"James Messinger","url":"https://jamesmessinger.com"},"bugs":{"url":"https://github.com/APIDevTools/json-schema-ref-parser/issues"},"license":"MIT","readme":"JSON Schema $Ref Parser\n============================\n#### Parse, Resolve, and Dereference JSON Schema $ref pointers\n\n[![Build Status](https://github.com/APIDevTools/json-schema-ref-parser/workflows/CI-CD/badge.svg?branch=master)](https://github.com/APIDevTools/json-schema-ref-parser/actions)\n[![Coverage Status](https://coveralls.io/repos/github/APIDevTools/json-schema-ref-parser/badge.svg?branch=master)](https://coveralls.io/github/APIDevTools/json-schema-ref-parser)\n\n[![npm](https://img.shields.io/npm/v/@apidevtools/json-schema-ref-parser.svg)](https://www.npmjs.com/package/@apidevtools/json-schema-ref-parser)\n[![Dependencies](https://david-dm.org/APIDevTools/json-schema-ref-parser.svg)](https://david-dm.org/APIDevTools/json-schema-ref-parser)\n[![License](https://img.shields.io/npm/l/@apidevtools/json-schema-ref-parser.svg)](LICENSE)\n[![Buy us a tree](https://img.shields.io/badge/Treeware-%F0%9F%8C%B3-lightgreen)](https://plant.treeware.earth/APIDevTools/json-schema-ref-parser)\n\n\n[![OS and Browser Compatibility](https://apitools.dev/img/badges/ci-badges-with-ie.svg)](https://github.com/APIDevTools/json-schema-ref-parser/actions)\n\n\nThe Problem:\n--------------------------\nYou've got a JSON Schema with `$ref` pointers to other files and/or URLs.  Maybe you know all the referenced files ahead of time.  Maybe you don't.  Maybe some are local files, and others are remote URLs.  Maybe they are a mix of JSON and YAML format.  Maybe some of the files contain cross-references to each other.\n\n```javascript\n{\n  \"definitions\": {\n    \"person\": {\n      // references an external file\n      \"$ref\": \"schemas/people/Bruce-Wayne.json\"\n    },\n    \"place\": {\n      // references a sub-schema in an external file\n      \"$ref\": \"schemas/places.yaml#/definitions/Gotham-City\"\n    },\n    \"thing\": {\n      // references a URL\n      \"$ref\": \"http://wayne-enterprises.com/things/batmobile\"\n    },\n    \"color\": {\n      // references a value in an external file via an internal reference\n      \"$ref\": \"#/definitions/thing/properties/colors/black-as-the-night\"\n    }\n  }\n}\n```\n\n\nThe Solution:\n--------------------------\nJSON Schema $Ref Parser is a full [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) and [JSON Pointer](https://tools.ietf.org/html/rfc6901) implementation that crawls even the most complex [JSON Schemas](http://json-schema.org/latest/json-schema-core.html) and gives you simple, straightforward JavaScript objects.\n\n- Use **JSON** or **YAML** schemas &mdash; or even a mix of both!\n- Supports `$ref` pointers to external files and URLs, as well as [custom sources](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) such as databases\n- Can [bundle](https://apitools.dev/json-schema-ref-parser/docs/ref-parser.html#bundlepath-options-callback) multiple files into a single schema that only has _internal_ `$ref` pointers\n- Can [dereference](https://apitools.dev/json-schema-ref-parser/docs/ref-parser.html#dereferencepath-options-callback) your schema, producing a plain-old JavaScript object that's easy to work with\n- Supports [circular references](https://apitools.dev/json-schema-ref-parser/docs/#circular-refs), nested references, back-references, and cross-references between files\n- Maintains object reference equality &mdash; `$ref` pointers to the same value always resolve to the same object instance\n- Tested in Node and all major web browsers on Windows, Mac, and Linux\n\n\nExample\n--------------------------\n\n```javascript\n$RefParser.dereference(mySchema, (err, schema) => {\n  if (err) {\n    console.error(err);\n  }\n  else {\n    // `schema` is just a normal JavaScript object that contains your entire JSON Schema,\n    // including referenced files, combined into a single object\n    console.log(schema.definitions.person.properties.firstName);\n  }\n})\n```\n\nOr use `async`/`await` syntax instead. The following example is the same as above:\n\n```javascript\ntry {\n  let schema = await $RefParser.dereference(mySchema);\n  console.log(schema.definitions.person.properties.firstName);\n}\ncatch(err) {\n  console.error(err);\n}\n```\n\nFor more detailed examples, please see the [API Documentation](https://apitools.dev/json-schema-ref-parser/docs/)\n\n\n\nInstallation\n--------------------------\nInstall using [npm](https://docs.npmjs.com/about-npm/):\n\n```bash\nnpm install @apidevtools/json-schema-ref-parser\n```\n\n\n\nUsage\n--------------------------\nWhen using JSON Schema $Ref Parser in Node.js apps, you'll probably want to use **CommonJS** syntax:\n\n```javascript\nconst $RefParser = require(\"@apidevtools/json-schema-ref-parser\");\n```\n\nWhen using a transpiler such as [Babel](https://babeljs.io/) or [TypeScript](https://www.typescriptlang.org/), or a bundler such as [Webpack](https://webpack.js.org/) or [Rollup](https://rollupjs.org/), you can use **ECMAScript modules** syntax instead:\n\n```javascript\nimport $RefParser from \"@apidevtools/json-schema-ref-parser\";\n```\n\n\n\nBrowser support\n--------------------------\nJSON Schema $Ref Parser supports recent versions of every major web browser.  Older browsers may require [Babel](https://babeljs.io/) and/or [polyfills](https://babeljs.io/docs/en/next/babel-polyfill).\n\nTo use JSON Schema $Ref Parser in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](http://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve).\n\n\n\nAPI Documentation\n--------------------------\nFull API documentation is available [right here](https://apitools.dev/json-schema-ref-parser/docs/)\n\n\n\nContributing\n--------------------------\nI welcome any contributions, enhancements, and bug-fixes.  [File an issue](https://github.com/APIDevTools/json-schema-ref-parser/issues) on GitHub and [submit a pull request](https://github.com/APIDevTools/json-schema-ref-parser/pulls).\n\n#### Building/Testing\nTo build/test the project locally on your computer:\n\n1. __Clone this repo__<br>\n`git clone https://github.com/APIDevTools/json-schema-ref-parser.git`\n\n2. __Install dependencies__<br>\n`npm install`\n\n3. __Run the tests__<br>\n`npm test`\n\n\n\nLicense\n--------------------------\nJSON Schema $Ref Parser is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want.\n\nThis package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/APIDevTools/json-schema-ref-parser) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.\n\n\n\nBig Thanks To\n--------------------------\nThanks to these awesome companies for their support of Open Source developers ❤\n\n[![Travis CI](https://jstools.dev/img/badges/travis-ci.svg)](https://travis-ci.com)\n[![SauceLabs](https://jstools.dev/img/badges/sauce-labs.svg)](https://saucelabs.com)\n[![Coveralls](https://jstools.dev/img/badges/coveralls.svg)](https://coveralls.io)\n","readmeFilename":"README.md"}