diff --git a/.circleci/config.yml b/.circleci/config.yml index 6b50d57..382ecf2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -86,6 +86,5 @@ workflows: filters: *filter-only-master context: sem-rel-json-schema-tools requires: - - hold - build - test diff --git a/package-lock.json b/package-lock.json index da51d39..39dbffe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -655,6 +655,21 @@ "chalk": "^3.0.0" } }, + "@json-schema-spec/json-pointer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@json-schema-spec/json-pointer/-/json-pointer-0.1.2.tgz", + "integrity": "sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==" + }, + "@json-schema-tools/dereferencer": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@json-schema-tools/dereferencer/-/dereferencer-1.0.15.tgz", + "integrity": "sha512-qqWLXD/6pugmMwyStn8K4uP2DNmBEyAJa173us8GYMd6DJ+KU1b0tnSlJ3865Z+ee9i1vWnlUGjvYWLaEMjlvQ==", + "requires": { + "@json-schema-spec/json-pointer": "^0.1.2", + "@json-schema-tools/traverse": "^1.3.1", + "node-fetch": "^2.6.0" + } + }, "@json-schema-tools/meta-schema": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@json-schema-tools/meta-schema/-/meta-schema-1.0.10.tgz", @@ -3604,6 +3619,11 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", diff --git a/package.json b/package.json index 809f483..4f467a1 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "typescript": "^3.9.6" }, "dependencies": { + "@json-schema-tools/dereferencer": "^1.0.15", "@json-schema-tools/transpiler": "^1.2.1", "lodash": "^4.17.15", "node-typescript-compiler": "^2.1.2" diff --git a/src/index.ts b/src/index.ts index eb3bdf7..759586b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,6 +6,7 @@ import { camelCase, snakeCase, upperFirst } from "lodash"; import * as fs from "fs"; import { promisify } from "util"; import { JSONMetaSchema } from "@json-schema-tools/meta-schema"; +import Dereferencer from "@json-schema-tools/dereferencer"; const readFile = promisify(fs.readFile); const writeFile = promisify(fs.writeFile); @@ -119,7 +120,15 @@ export const prepare: PluginFunction = async (pluginConfig, context): Promise