JSPM

@scalar/openapi-upgrader

0.1.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 35971
  • Score
    100M100P100Q162901F
  • License MIT

Upgrade OpenAPI documents to the latest and greatest version

Package Exports

  • @scalar/openapi-upgrader
  • @scalar/openapi-upgrader/2.0-to-3.0
  • @scalar/openapi-upgrader/3.0-to-3.1
  • @scalar/openapi-upgrader/3.1-to-3.2

Readme

Scalar OpenAPI Upgrader

Version Downloads License Discord

Upgrade all your OpenAPI documents to the latest and greatest version

Installation

npm add @scalar/openapi-upgrader

Usage

import { upgrade } from '@scalar/openapi-upgrader'

const document = upgrade({
  swagger: '2.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
})

console.log(document.openapi)
// Output: 3.1.1

Experimental: Upgrade to OpenAPI 3.2

import { upgrade } from '@scalar/openapi-upgrader'

const OPENAPI_DOCUMENT = {
  swagger: '2.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
}

// We need to explicitly pass '3.2' to upgrade to OpenAPI 3.2
const document = upgrade(OPENAPI_DOCUMENT, '3.2')

console.log(document.openapi)
// Output: 3.2.0

CLI

npx @scalar/cli document upgrade swagger.json --output openapi.json

From Swagger 2.0 to OpenAPI 3.0

import { upgradeFromTwoToThree } from '@scalar/openapi-upgrader/2.0-to-3.0'

const document = upgradeFromTwoToThree({
  swagger: '2.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
})

console.log(document.openapi)
// Output: 3.0.4

From OpenAPI 3.0 to OpenAPI 3.1

import { upgradeFromThreeToThreeOne } from '@scalar/openapi-upgrader/3.0-to-3.1'

const document = upgradeFromThreeToThreeOne({
  openapi: '3.0.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
})

console.log(document.openapi)
// Output: 3.1.1

From OpenAPI 3.1 to OpenAPI 3.2

import { upgradeFromThreeOneToThreeTwo } from '@scalar/openapi-upgrader/3.1-to-3.2'

const document = upgradeFromThreeOneToThreeTwo({
  openapi: '3.1.0',
  info: {
    title: 'Hello World',
    version: '1.0.0',
  },
  paths: {},
})

console.log(document.openapi)
// Output: 3.2.0

Community

We are API nerds. You too? Let's chat on Discord: https://discord.gg/scalar

License

The source code in this repository is licensed under MIT.