diff --git a/package-lock.json b/package-lock.json index 77bd02182..a7b9295f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2051,45 +2051,45 @@ } } }, + "@typescript-eslint/experimental-utils": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.31.0.tgz", + "integrity": "sha512-MI6IWkutLYQYTQgZ48IVnRXmLR/0Q6oAyJgiOror74arUMh7EWjJkADfirZhRsUMHeLJ85U2iySDwHTSnNi9vA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.31.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, "@typescript-eslint/parser": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.30.0.tgz", - "integrity": "sha512-9kDOxzp0K85UnpmPJqUzdWaCNorYYgk1yZmf4IKzpeTlSAclnFsrLjfwD9mQExctLoLoGAUXq1co+fbr+3HeFw==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.31.0.tgz", + "integrity": "sha512-uph+w6xUOlyV2DLSC6o+fBDzZ5i7+3/TxAsH4h3eC64tlga57oMb96vVlXoMwjR/nN+xyWlsnxtbDkB46M2EPQ==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.30.0", - "@typescript-eslint/typescript-estree": "2.30.0", + "@typescript-eslint/experimental-utils": "2.31.0", + "@typescript-eslint/typescript-estree": "2.31.0", "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.31.0.tgz", + "integrity": "sha512-vxW149bXFXXuBrAak0eKHOzbcu9cvi6iNcJDzEtOkRwGHxJG15chiAQAwhLOsk+86p9GTr/TziYvw+H9kMaIgA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^6.3.0", + "tsutils": "^3.17.1" }, "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.30.0.tgz", - "integrity": "sha512-L3/tS9t+hAHksy8xuorhOzhdefN0ERPDWmR9CclsIGOUqGKy6tqc/P+SoXeJRye5gazkuPO0cK9MQRnolykzkA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.30.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.30.0.tgz", - "integrity": "sha512-nI5WOechrA0qAhnr+DzqwmqHsx7Ulr/+0H7bWCcClDhhWkSyZR5BmTvnBEyONwJCTWHfc5PAQExX24VD26IAVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^6.3.0", - "tsutils": "^3.17.1" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -7061,21 +7061,28 @@ } }, "meow": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.0.tgz", - "integrity": "sha512-iIAoeI01v6pmSfObAAWFoITAA4GgiT45m4SmJgoxtZfvI0fyZwhV4d0lTwiUXvAKIPlma05Feb2Xngl52Mj5Cg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", "requires": { "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.1.1", + "camelcase-keys": "^6.2.2", "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.0.0", - "minimist-options": "^4.0.1", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.0", + "read-pkg-up": "^7.0.1", "redent": "^3.0.0", "trim-newlines": "^3.0.0", - "type-fest": "^0.8.1", - "yargs-parser": "^18.1.1" + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" + } } }, "merge-stream": { diff --git a/package.json b/package.json index f09d469e6..3744a39f7 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "dependencies": { "chalk": "^4.0.0", "js-yaml": "^3.13.1", - "meow": "^6.1.0", + "meow": "^6.1.1", "prettier": "^2.0.5" }, "devDependencies": { @@ -75,7 +75,7 @@ "@types/js-yaml": "^3.12.3", "@types/prettier": "^2.0.0", "@typescript-eslint/eslint-plugin": "^2.29.0", - "@typescript-eslint/parser": "^2.29.0", + "@typescript-eslint/parser": "^2.31.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.3", diff --git a/tests/v3/index.test.ts b/tests/v3/index.test.ts index 1a809f532..7de9bdc3d 100644 --- a/tests/v3/index.test.ts +++ b/tests/v3/index.test.ts @@ -43,6 +43,10 @@ describe("types", () => { }, string: { type: "string" }, string_ref: { $ref: "#/components/schemas/string" }, + nullable: { + type: "string", + nullable: true, + }, }, }, }; @@ -53,6 +57,7 @@ describe("types", () => { object: { string?: string }; string: string; string_ref: components['schemas']['string']; + nullable: string | null; } }`) ); @@ -72,6 +77,10 @@ describe("types", () => { }, number: { type: "number" }, number_ref: { $ref: "#/components/schemas/number" }, + nullable: { + type: "number", + nullable: true, + }, }, }, }; @@ -82,6 +91,7 @@ describe("types", () => { object: { integer?: number; number?: number } number: number; number_ref: components['schemas']['number']; + nullable: number | null; } }`) ); @@ -98,6 +108,7 @@ describe("types", () => { }, boolean: { type: "boolean" }, boolean_ref: { $ref: "#/components/schemas/boolean" }, + nullable: { type: "boolean", nullable: true }, }, }, }; @@ -108,6 +119,7 @@ describe("types", () => { object: { boolean?: boolean }; boolean: boolean; boolean_ref: components['schemas']['boolean']; + nullable: boolean | null; } }`) ); @@ -141,6 +153,13 @@ describe("types", () => { }, object_unknown: { type: "object" }, object_empty: {}, + nullable: { + type: "object", + properties: { + string: { type: "string" }, + }, + nullable: true, + }, }, }, }; @@ -156,6 +175,7 @@ describe("types", () => { object_ref: { number?: number }; object_unknown: { [key: string]: any }; object_empty: { [key: string]: any }; + nullable: { string?: string } | null; } }`) ); @@ -181,14 +201,20 @@ describe("types", () => { }, type: "object", }, - inferred_array: { - items: { $ref: "#/components/schemas/array" }, - }, + string: { type: "string" }, array_ref: { items: { $ref: "#/components/schemas/array" }, type: "array", }, + inferred_array: { + items: { $ref: "#/components/schemas/array" }, + }, + nullable: { + type: "array", + items: { type: "string" }, + nullable: true, + }, }, }, }; @@ -203,9 +229,10 @@ describe("types", () => { numbers?: number[]; refs?: components['schemas']['string'][]; }; - inferred_array: components['schemas']['array'][]; string: string; array_ref: components['schemas']['array'][]; + inferred_array: components['schemas']['array'][]; + nullable: string[] | null; } }`) );