{"_id":"@ahmttyydn/openapi-parser","_rev":"7-069de48793f924e39903329e656bfe4d","name":"@ahmttyydn/openapi-parser","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@ahmttyydn/openapi-parser","version":"1.0.0","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.0","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/scalar/scalar","bugs":{"url":"https://github.com/scalar/scalar/issues/new/choose"},"dist":{"shasum":"ad0b287f4a1137b8bb3ee93e25eeda5dd982b0da","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.0.tgz","fileCount":211,"integrity":"sha512-7Y2bRWlElih7s0iojBQ4lLzNcL1zbU7D1sAhqDQBg5C1Vq9VyZ0Nry7OCrF4E7ra4UuI2b/0t5BM5Il/HMY3Cg==","signatures":[{"sig":"MEUCIQCgj0Vb3KWLNyHOMiB7P3RYgyy0MVZ1lnPiqyksqpiCeQIgGUfaafZ2feV5Wvqw2amo/NL/D8jYorzULfZdJ2Wk39Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2452329},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"},"_resolved":"/private/var/folders/6s/_0b0836n1t9dc5prz2rp43h80000gn/T/5634c3ecfc7b1518e3517abb50086710/ahmttyydn-openapi-parser-1.0.0.tgz","_integrity":"sha512-7Y2bRWlElih7s0iojBQ4lLzNcL1zbU7D1sAhqDQBg5C1Vq9VyZ0Nry7OCrF4E7ra4UuI2b/0t5BM5Il/HMY3Cg==","repository":{"url":"git+https://github.com/scalar/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.6.2","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.0","@ahmttyydn/json-magic":"1.0.0","@ahmttyydn/openapi-types":"1.0.0","@ahmttyydn/openapi-upgrader":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.0","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.0_1775418725778_0.8132880618826162","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ahmttyydn/openapi-parser","version":"1.0.1","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.1","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"dist":{"shasum":"c37628ec7092ec7966b3b7c67613df38acb45b02","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.1.tgz","fileCount":211,"integrity":"sha512-xlNWTt3G2WPGixSXq/NnCS0hAonHZUfBZfSHvI7lw4Io0JanEzvLO1zvMfs9r7L+g5pqZkvMFLcXtLLb/Oecyg==","signatures":[{"sig":"MEYCIQDEKGA0/oMTZG9/PTDwJOHmpTpTDnE4ys0o1UWNi+8iDAIhAJAc4RIuz+eSgJhLrmlR8+ankSMnzm+tVsiJjVBp/mgE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2452332},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"_resolved":"/tmp/1c0bfc57ab8e1f54298a31e327350afb/ahmttyydn-openapi-parser-1.0.1.tgz","_integrity":"sha512-xlNWTt3G2WPGixSXq/NnCS0hAonHZUfBZfSHvI7lw4Io0JanEzvLO1zvMfs9r7L+g5pqZkvMFLcXtLLb/Oecyg==","repository":{"url":"git+https://github.com/ahmtydn/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.11.0","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.1","@ahmttyydn/json-magic":"1.0.1","@ahmttyydn/openapi-types":"1.0.1","@ahmttyydn/openapi-upgrader":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.1","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.1_1775438316987_0.5445463600633544","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ahmttyydn/openapi-parser","version":"1.0.2","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.2","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"dist":{"shasum":"2338197af2168603b32e8a440b8f9209bedcaf37","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.2.tgz","fileCount":211,"integrity":"sha512-TJJhoiYduS4jY+BvS0qhHy5M0tBv0BHrB5krcRJCKprXmW82lVcjgWnNsFuGz/r5eXsjWoRcJtsKMqD/Yab1fA==","signatures":[{"sig":"MEQCIAeToesM1E6AwS3YmZ+s0Y6ff/5D6oVZtKXb9nEr2yLWAiA6c78eUGghA0SHoxhf/F13YfB1x3pGAe++iS7J5b8WZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2452332},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"_resolved":"/tmp/f04ae0b35ede83233a2670b9aa44672a/ahmttyydn-openapi-parser-1.0.2.tgz","_integrity":"sha512-TJJhoiYduS4jY+BvS0qhHy5M0tBv0BHrB5krcRJCKprXmW82lVcjgWnNsFuGz/r5eXsjWoRcJtsKMqD/Yab1fA==","repository":{"url":"git+https://github.com/ahmtydn/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.11.0","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.2","@ahmttyydn/json-magic":"1.0.2","@ahmttyydn/openapi-types":"1.0.2","@ahmttyydn/openapi-upgrader":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.2","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.2_1775439153719_0.5935231435645201","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ahmttyydn/openapi-parser","version":"1.0.4","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.4","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"dist":{"shasum":"407117b85a44c0ff23ee07e263aa653bd7b3f930","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.4.tgz","fileCount":211,"integrity":"sha512-La0LiM+t1ZG6xxDcRcrbFoWl1UF2RRdm4AlJCcEtbssHYpqWXlHY/7WJ5GCn5XARIWdCZCQxKwAp3uAWihtb4g==","signatures":[{"sig":"MEUCIQCdRoubnp8vaizk7aVwlF3aF9ukksx/mZGClFp+SDph+QIgMwkKw7JwxjYElMtEUnB9fsuhEdw29YzY3X6oxeKAT6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2452333},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"_resolved":"/tmp/4c511416bd30315f5a4b33679f258871/ahmttyydn-openapi-parser-1.0.4.tgz","_integrity":"sha512-La0LiM+t1ZG6xxDcRcrbFoWl1UF2RRdm4AlJCcEtbssHYpqWXlHY/7WJ5GCn5XARIWdCZCQxKwAp3uAWihtb4g==","repository":{"url":"git+https://github.com/ahmtydn/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.11.0","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.4","@ahmttyydn/json-magic":"1.0.4","@ahmttyydn/openapi-types":"1.0.4","@ahmttyydn/openapi-upgrader":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.4","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.4_1775441069033_0.2224501057855388","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ahmttyydn/openapi-parser","version":"1.0.6","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.6","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"dist":{"shasum":"48726b449f82a50e7b1d635fa3635a86eec3a54e","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.6.tgz","fileCount":211,"integrity":"sha512-lPovoYfsQxMx1NlcGyhf+2aJ8hOvn+qFgux5fLGTQK7msveC5MhXp6vaLZM7SdphJz+bt8TecxHb7e7ig0ZWAw==","signatures":[{"sig":"MEUCIFoM5lR6X2eJ//nwubtEoBe2ayfw9tShWHL3CCxfpLhHAiEA/HY4+CwhYS7CFYzC2YtCqF1MXeAoVIY1e9LylsYMnkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2452333},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"_resolved":"/tmp/457f1f8b2311de90d2b602380bd00a5c/ahmttyydn-openapi-parser-1.0.6.tgz","_integrity":"sha512-lPovoYfsQxMx1NlcGyhf+2aJ8hOvn+qFgux5fLGTQK7msveC5MhXp6vaLZM7SdphJz+bt8TecxHb7e7ig0ZWAw==","repository":{"url":"git+https://github.com/ahmtydn/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.11.0","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.6","@ahmttyydn/json-magic":"1.0.6","@ahmttyydn/openapi-types":"1.0.6","@ahmttyydn/openapi-upgrader":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.6","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.6_1775488435829_0.5879468312667766","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@ahmttyydn/openapi-parser","version":"1.0.8","keywords":["openapi","scalar","swagger","parser","typescript"],"author":{"url":"https://github.com/scalar","name":"Scalar"},"license":"MIT","_id":"@ahmttyydn/openapi-parser@1.0.8","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"dist":{"shasum":"029c4ff58e75543bd1926c9561e5a0ff9ad13221","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.8.tgz","fileCount":211,"integrity":"sha512-YibZxc4UhZY0AHaGzCGKMy666A/uW1VrMi2KsA4DzLce/nhX14mG3JKOau5zwMSL5Mu7eVEVqVm75bbLoEA1Og==","signatures":[{"sig":"MEUCIQCpnnTKHHtq3gft6fm9Hc0yQZu4TE54oMVFnpp7msON8wIgT7BwAIFdZ2jnT5r9ebBkz5ozqPSTaJnanlC51Q2RxiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2452333},"main":"./dist/index.js","type":"module","_from":"file:ahmttyydn-openapi-parser-1.0.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./plugins/fetch-urls":{"types":"./dist/plugins/fetch-urls/index.d.ts","import":"./dist/plugins/fetch-urls/index.js","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"types":"./dist/plugins/read-files/index.d.ts","import":"./dist/plugins/read-files/index.js","default":"./dist/plugins/read-files/index.js"}},"scripts":{"test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","types:check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"_resolved":"/tmp/d84c5b3e02bdee90987ba508d363c6a2/ahmttyydn-openapi-parser-1.0.8.tgz","_integrity":"sha512-YibZxc4UhZY0AHaGzCGKMy666A/uW1VrMi2KsA4DzLce/nhX14mG3JKOau5zwMSL5Mu7eVEVqVm75bbLoEA1Og==","repository":{"url":"git+https://github.com/ahmtydn/scalar.git","type":"git","directory":"packages/openapi-parser"},"_npmVersion":"11.11.0","description":"modern OpenAPI parser written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.0","leven":"^4.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","ajv-draft-04":"^1.0.0","@ahmttyydn/helpers":"1.0.8","@ahmttyydn/json-magic":"1.0.8","@ahmttyydn/openapi-types":"1.0.8","@ahmttyydn/openapi-upgrader":"1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.0","just-diff":"^6.0.2","@types/node":"^24.1.0","@ahmttyydn/types":"1.0.8","@apidevtools/swagger-parser":"10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-parser_1.0.8_1775513428366_0.7981124875393288","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@ahmttyydn/openapi-parser","description":"modern OpenAPI parser written in TypeScript","license":"MIT","author":{"name":"Scalar","url":"https://github.com/scalar"},"homepage":"https://github.com/ahmtydn/scalar","bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"repository":{"type":"git","url":"git+https://github.com/ahmtydn/scalar.git","directory":"packages/openapi-parser"},"keywords":["openapi","scalar","swagger","parser","typescript"],"version":"1.0.9","engines":{"node":">=22"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./plugins/fetch-urls":{"import":"./dist/plugins/fetch-urls/index.js","types":"./dist/plugins/fetch-urls/index.d.ts","default":"./dist/plugins/fetch-urls/index.js"},"./plugins/read-files":{"import":"./dist/plugins/read-files/index.js","types":"./dist/plugins/read-files/index.d.ts","default":"./dist/plugins/read-files/index.js"}},"sideEffects":false,"dependencies":{"ajv":"^8.17.1","ajv-draft-04":"^1.0.0","ajv-formats":"^3.0.1","jsonpointer":"^5.0.1","leven":"^4.0.0","yaml":"^2.8.0","@ahmttyydn/helpers":"1.0.9","@ahmttyydn/json-magic":"1.0.9","@ahmttyydn/openapi-upgrader":"1.0.9","@ahmttyydn/openapi-types":"1.0.9"},"devDependencies":{"@apidevtools/swagger-parser":"10.1.0","@types/node":"^24.1.0","just-diff":"^6.0.2","vite":"8.0.0","@ahmttyydn/types":"1.0.9"},"scripts":{"build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","test":"NODE_OPTIONS=--max_old_space_size=8192 vitest","types:check":"tsc --noEmit"},"_id":"@ahmttyydn/openapi-parser@1.0.9","_integrity":"sha512-ui++7A8wX2hWdT+xUrcl+YdKLgrqzaMveVJ8v0JItC2kH7GeGUXH5j96uGOy2WVwUYXBEkquPw8mpvu/rU9i+A==","_resolved":"/tmp/5c6d5967b2a55f726fa2bc99c44a250a/ahmttyydn-openapi-parser-1.0.9.tgz","_from":"file:ahmttyydn-openapi-parser-1.0.9.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-ui++7A8wX2hWdT+xUrcl+YdKLgrqzaMveVJ8v0JItC2kH7GeGUXH5j96uGOy2WVwUYXBEkquPw8mpvu/rU9i+A==","shasum":"47c40bf93e507d545abfaf26a5978d5673f80012","tarball":"https://registry.npmjs.org/@ahmttyydn/openapi-parser/-/openapi-parser-1.0.9.tgz","fileCount":211,"unpackedSize":2452333,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmttyydn%2fopenapi-parser@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCLr9pQmNEA3DxiayJvHJSCPxJE0nySt9i4jevkdqZ1DgIhAKdEepY/BYMnhrZ9/jzvkfCyitpAMhsD1W/sQw2CEIJq"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d175840c-dcc2-439c-8e14-4316139fa39c"}},"directories":{},"maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openapi-parser_1.0.9_1775514701512_0.8483569344347786"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T19:52:05.658Z","modified":"2026-04-06T22:31:42.000Z","1.0.0":"2026-04-05T19:52:05.948Z","1.0.1":"2026-04-06T01:18:37.156Z","1.0.2":"2026-04-06T01:32:33.887Z","1.0.4":"2026-04-06T02:04:29.206Z","1.0.6":"2026-04-06T15:13:56.000Z","1.0.8":"2026-04-06T22:10:28.536Z","1.0.9":"2026-04-06T22:31:41.696Z"},"bugs":{"url":"https://github.com/ahmtydn/scalar/issues/new/choose"},"author":{"name":"Scalar","url":"https://github.com/scalar"},"license":"MIT","homepage":"https://github.com/ahmtydn/scalar","keywords":["openapi","scalar","swagger","parser","typescript"],"repository":{"type":"git","url":"git+https://github.com/ahmtydn/scalar.git","directory":"packages/openapi-parser"},"description":"modern OpenAPI parser written in TypeScript","maintainers":[{"name":"ahmttyydn","email":"ahmttyydn@gmail.com"}],"readme":"# Scalar OpenAPI Parser\n\n[![Version](https://img.shields.io/npm/v/%40scalar/openapi-parser)](https://www.npmjs.com/package/@ahmttyydn/openapi-parser)\n[![Downloads](https://img.shields.io/npm/dm/%40scalar/openapi-parser)](https://www.npmjs.com/package/@ahmttyydn/openapi-parser)\n[![License](https://img.shields.io/npm/l/%40scalar%2Fopenapi-parser)](https://www.npmjs.com/package/@ahmttyydn/openapi-parser)\n[![Discord](https://img.shields.io/discord/1135330207960678410?style=flat&color=5865F2)](https://discord.gg/scalar)\n\nModern OpenAPI parser written in TypeScript with support for OpenAPI 3.2, 3.1, 3.0 and Swagger 2.0.\n\n## Installation\n\n```bash\nnpm add @ahmttyydn/openapi-parser\n```\n\n## Usage\n\n### Validate\n\n```ts\nimport { validate } from '@ahmttyydn/openapi-parser'\n\nconst file = `{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"title\": \"Hello World\",\n    \"version\": \"1.0.0\"\n  },\n  \"paths\": {}\n}`\n\nconst { valid, errors } = await validate(file)\n\nconsole.log(valid)\n\nif (!valid) {\n  console.log(errors)\n}\n```\n\n### Resolve references\n\n```ts\nimport { dereference } from '@ahmttyydn/openapi-parser'\n\nconst specification = `{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"title\": \"Hello World\",\n    \"version\": \"1.0.0\"\n  },\n  \"paths\": {}\n}`\n\nconst { schema, errors } = await dereference(specification)\n```\n\n### Track references\n\nThe `dereference` function accepts an `onDereference` callback option that gets called whenever a reference is resolved. This can be useful for tracking which schemas are being dereferenced:\n\n```ts\nimport { dereference } from '@ahmttyydn/openapi-parser'\n\nconst { schema, errors } = await dereference(specification, {\n  onDereference: ({ schema, ref }) => {\n    //\n  },\n})\n```\n\n### Modify an OpenAPI document\n\n```ts\nimport { filter } from '@ahmttyydn/openapi-parser'\n\nconst specification = `{\n  \"openapi\": \"3.1.0\",\n  \"info\": {\n    \"title\": \"Hello World\",\n    \"version\": \"1.0.0\"\n  },\n  \"paths\": {}\n}`\n\nconst { specification } = filter(\n  specification,\n  (schema) => !schema?.['x-internal'],\n)\n```\n\n### Upgrade your OpenAPI document\n\nThere's an `upgrade` command to upgrade all your OpenAPI documents to the latest OpenAPI version.\n\n```ts\nimport { upgrade } from '@ahmttyydn/openapi-parser'\n\nconst { specification } = upgrade({\n  swagger: '2.0',\n  info: {\n    title: 'Hello World',\n    version: '1.0.0',\n  },\n  paths: {},\n})\n\nconsole.log(specification.openapi)\n// Output: 3.1.0\n```\n\n### Sanitize your OpenAPI document\n\nThe `sanitize()` utility helps ensure your OpenAPI document is valid and complete.\nIt automatically adds any missing required properties like the OpenAPI version and info object, collects operation tags\nand adds them to the global tags array and normalizes security scheme types.\n\nThis makes your document as OpenAPI-compliant as possible with minimal effort, handling many common specification\nrequirements automatically.\n\n> ⚠️ This doesn't support Swagger 2.0 documents.\n\n```ts\nimport { sanitize } from '@ahmttyydn/openapi-parser'\n\nconst result = sanitize({\n  info: {\n    title: 'Hello World',\n  },\n})\n\nconsole.log(result)\n```\n\n### Then/Catch syntax\n\nIf you're more the then/catch type of guy, that's fine:\n\n```ts\nimport { validate } from '@ahmttyydn/openapi-parser'\n\nconst specification = …\n\nvalidate(specification, {\n  throwOnError: true,\n})\n.then(result => {\n  // Success\n})\n.catch(error => {\n  // Failure\n})\n```\n\n### TypeScript\n\nIf you just look for our types, you can install the package separately:\n\n```bash\nnpm add @ahmttyydn/openapi-types\n```\n\nAnd use it like this:\n\n```ts\nimport type { OpenAPI } from '@ahmttyydn/openapi-types'\n\nconst file: OpenAPI.Document = {\n  openapi: '3.1.0',\n  info: {\n    title: 'Hello World',\n    version: '1.0.0',\n  },\n  paths: {},\n}\n```\n\n### Advanced: URL and file references\n\nYou can reference other files, too. To do that, the parser needs to know what files are available.\n\n```ts\nimport { bundle } from \"@ahmttyydn/json-magic/bundle\"\nimport { fetchUrls } from \"@ahmttyydn/json-magic/bundle/plugins/browser\"\nimport { readFiles } from \"@ahmttyydn/json-magic/bundle/plugins/node\"\nimport { dereference } from '@ahmttyydn/openapi-parser'\n\n// Load a file and all referenced files\nconst data = await bundle('./openapi.yaml', {\n  plugins: [\n    readFiles(),\n    fetchUrls({\n      limit: 5,\n    }),\n  ],\n})\n\n// Instead of just passing a single specification, pass the whole data object\nconst result = await dereference(data)\n```\n\nAs you see, `bundle()` supports plugins. You can write your own plugin, if you'd like to fetch API definitions from another data source, for example your database. Look at the source code of the `readFiles` to learn how this could look like.\n\n#### Directly load URLs\n\nOnce the `fetchUrls` plugin is loaded, you can also just pass an URL:\n\n```ts\nimport { bundle } from \"@ahmttyydn/json-magic/bundle\"\nimport { fetchUrls, parseJson, parseYaml } from \"@ahmttyydn/json-magic/bundle/plugins/browser\"\nimport { readFiles } from \"@ahmttyydn/json-magic/bundle/plugins/node\"\nimport { dereference } from '@ahmttyydn/openapi-parser'\n\n// Load a file and all referenced files\nconst data = await bundle(\n  'https://registry.scalar.com/@scalar/apis/galaxy?format=yaml',\n  {\n    plugins: [readFiles(), fetchUrls(), parseYaml(), parseJson()],\n  },\n)\n```\n\n#### Intercept HTTP requests\n\nIf you're using the package in a browser environment, you may run into CORS issues when fetching from URLs. You can intercept the requests, for example to use a proxy, though:\n\n```ts\nimport { bundle } from \"@ahmttyydn/json-magic/bundle\"\nimport { fetchUrls, parseJson, parseYaml } from \"@ahmttyydn/json-magic/bundle/plugins/browser\"\nimport { readFiles } from \"@ahmttyydn/json-magic/bundle/plugins/node\"\nimport { dereference } from '@ahmttyydn/openapi-parser'\n\n// Load a file and all referenced files\nconst result = await bundle(\n  'https://registry.scalar.com/@scalar/apis/galaxy?format=yaml',\n  {\n    plugins: [\n      fetchUrls({\n        fetch: (url) => fetch(url.replace('BANANA.net', 'jsdelivr.net')),\n      }).get('https://cdn.BANANA.net/npm/@ahmttyydn/galaxy/dist/latest.yaml'),\n    ],\n  },\n)\n```\n\n#### Migration from the load method\n\nIf you were previously using the `load()` method and want to migrate to the latest bundle method, the following diff illustrates the changes to apply.\n\n```diff\n-import { dereference, load } from '@ahmttyydn/openapi-parser'\n-import { fetchUrls } from '@ahmttyydn/openapi-parser/plugins/fetch-urls'\n+import { bundle } from \"@ahmttyydn/json-magic/bundle\"\n+import { fetchUrls, parseJson, parseYaml } from \"@ahmttyydn/json-magic/bundle/plugins/browser\"\n+import { readFiles } from \"@ahmttyydn/json-magic/bundle/plugins/node\"\n+import { dereference } from '@ahmttyydn/openapi-parser'\n\n// Load a file and all referenced files\n-const { filesystem } = await load(\n+const result = await bundle(\n  'https://registry.scalar.com/@scalar/apis/galaxy?format=yaml',\n  {\n    plugins: [\n      fetchUrls({\n        fetch: (url) => fetch(url.replace('BANANA.net', 'jsdelivr.net')),\n      }).get('https://cdn.BANANA.net/npm/@ahmttyydn/galaxy/dist/latest.yaml'),\n    ],\n  },\n)\n```\n\n## Community\n\nWe are API nerds. You too? Let's chat on Discord: <https://discord.gg/scalar>\n\n## Thank you\n\nThanks a ton for all the help and inspiration:\n\n- [@philsturgeon](https://github.com/philsturgeon) to make sure we build something we won't hate.\n- We took a lot of inspiration from [@seriousme](https://github.com/seriousme) and his package [openapi-schema-validator](https://github.com/seriousme/openapi-schema-validator) early-on.\n- You could consider this package the modern successor of [@apidevtools/swagger-parser](https://github.com/APIDevTools/swagger-parser), we even test against it to make sure we're getting the same results (where intended).\n- We stole a lot of example documents from [@mermade](https://github.com/mermade) to test against.\n- Thanks [@baywet](https://github.com/baywet) for adding OpenAPI 3.2 support.\n\n## License\n\nThe source code in this repository is licensed under [MIT](https://github.com/ahmtydn/scalar/blob/main/LICENSE).\n","readmeFilename":"README.md"}