From b8357bf2c966b3f52429c51c8bc6e4f2cb1e71b1 Mon Sep 17 00:00:00 2001 From: Pawel Uchida-Psztyc Date: Fri, 3 Nov 2023 10:09:17 -0700 Subject: [PATCH 1/2] chore: updating the AMF library Signed-off-by: Pawel Uchida-Psztyc --- .eslintrc.js | 90 ++- .../demo-server/api/amf-service/amf-parser.js | 98 +-- .../api/amf-service/amf-service.js | 64 +- .../demo-server/api/amf-service/api-search.js | 55 +- package-lock.json | 663 +++++++++++------- package.json | 2 +- 6 files changed, 601 insertions(+), 371 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 621f00eab..f85c9e0d0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,64 +1,68 @@ // eslint-disable-next-line no-undef module.exports = { - 'env': { - 'browser': true, - 'es2021': true, - 'mocha': true, + env: { + browser: true, + es2021: true, + mocha: true, }, - 'extends': 'eslint:recommended', - 'parserOptions': { - 'ecmaVersion': 12, - 'sourceType': 'module', + extends: 'eslint:recommended', + parserOptions: { + ecmaVersion: 12, + sourceType: 'module', }, - 'rules': { + rules: { 'accessor-pairs': 'error', 'array-bracket-newline': 'error', 'array-bracket-spacing': ['error', 'never'], 'array-callback-return': 'error', 'array-element-newline': [ - 'error', { - 'ArrayExpression': 'consistent', - 'ArrayPattern': { 'multiline': true }, + 'error', + { + ArrayExpression: 'consistent', + ArrayPattern: { multiline: true }, }, ], 'arrow-body-style': 'error', 'arrow-parens': 'error', 'arrow-spacing': [ - 'error', { - 'after': true, - 'before': true, + 'error', + { + after: true, + before: true, }, ], 'block-scoped-var': 'error', 'block-spacing': 'error', 'brace-style': ['error', '1tbs'], - 'camelcase': 'error', + camelcase: 'error', 'capitalized-comments': 'off', 'class-methods-use-this': 'error', 'comma-dangle': 'off', 'comma-spacing': [ - 'error', { - 'after': true, - 'before': false, + 'error', + { + after: true, + before: false, }, ], 'comma-style': ['error', 'last'], - 'complexity': 'error', + complexity: 'error', 'computed-property-spacing': ['error', 'never'], 'consistent-return': [ - 'error', { - 'treatUndefinedAsUnspecified': false, + 'error', + { + treatUndefinedAsUnspecified: false, }, ], 'consistent-this': 'error', - 'curly': 'error', + curly: 'error', 'default-case': 'error', 'default-case-last': 'error', 'default-param-last': 'error', 'dot-location': 'error', 'dot-notation': 'error', 'eol-last': 'error', - 'eqeqeq': 'error', + eqeqeq: 'error', 'func-call-spacing': 'error', 'func-name-matching': 'error', 'func-names': 'error', @@ -71,14 +75,15 @@ module.exports = { 'id-length': 'off', 'id-match': 'error', 'implicit-arrow-linebreak': ['error', 'beside'], - 'indent': 'off', + indent: 'off', 'init-declarations': 'off', 'jsx-quotes': 'error', 'key-spacing': 'error', 'keyword-spacing': [ - 'error', { - 'after': true, - 'before': true, + 'error', + { + after: true, + before: true, }, ], 'line-comment-position': 'error', @@ -204,13 +209,13 @@ module.exports = { 'prefer-spread': 'error', 'prefer-template': 'error', 'quote-props': 'off', - 'quotes': ['error', 'single'], - 'radix': 'error', + quotes: ['error', 'single'], + radix: 'error', 'require-atomic-updates': 'error', 'require-await': 'error', 'require-unicode-regexp': 'off', 'rest-spread-spacing': 'error', - 'semi': 'error', + semi: 'error', 'semi-spacing': 'error', 'semi-style': ['error', 'last'], 'sort-keys': 'off', @@ -221,11 +226,12 @@ module.exports = { 'space-infix-ops': 'off', 'space-unary-ops': 'error', 'spaced-comment': ['error', 'always'], - 'strict': 'error', + strict: 'error', 'switch-colon-spacing': [ - 'error', { - 'after': true, - 'before': false, + 'error', + { + after: true, + before: false, }, ], 'symbol-description': 'error', @@ -236,6 +242,18 @@ module.exports = { 'wrap-iife': 'error', 'wrap-regex': 'off', 'yield-star-spacing': 'error', - 'yoda': ['error', 'never'], + yoda: ['error', 'never'], }, + overrides: [ + { + files: ['demo/demo-server/api/amf-service/*.js'], + env: { + node: true, + browser: false, + }, + globals: { + process: true, + }, + }, + ], }; diff --git a/demo/demo-server/api/amf-service/amf-parser.js b/demo/demo-server/api/amf-service/amf-parser.js index 86393fb4c..906480b7d 100644 --- a/demo/demo-server/api/amf-service/amf-parser.js +++ b/demo/demo-server/api/amf-service/amf-parser.js @@ -1,66 +1,76 @@ +// eslint-disable-next-line no-undef const amf = require('amf-client-js'); -// import amf from 'amf-client-js'; -amf.plugins.document.WebApi.register(); -amf.plugins.document.Vocabularies.register(); -amf.plugins.features.AMFValidation.register(); -let initied = false; -async function validateDoc(type, doc) { - let validateProfile; - switch (type) { - case 'RAML 1.0': validateProfile = amf.ProfileNames.RAML; break; - case 'RAML 0.8': validateProfile = amf.ProfileNames.RAML08; break; - case 'OAS 1.0': - case 'OAS 2.0': - case 'OAS 3.0': - validateProfile = amf.ProfileNames.OAS; - break; +/** @typedef {import('amf-client-js').AMFConfiguration} AMFConfiguration */ + +/** + * @typedef ApiSearchResult + * @property {string} type + */ + +/** + * @typedef ParserApiConfiguration + * @property {string} source + * @property {ApiSearchResult} from + */ + +const { + RAMLConfiguration, + OASConfiguration, + AsyncAPIConfiguration, + RenderOptions, + PipelineId, +} = amf; + +/** + * @param {string} vendor + * @returns {AMFConfiguration} + */ +const getConfiguration = (vendor) => { + switch (vendor) { + case 'RAML 0.8': return RAMLConfiguration.RAML08(); + case 'RAML 1.0': return RAMLConfiguration.RAML10(); + case 'OAS 2.0': return OASConfiguration.OAS20(); + case 'OAS 3.0': return OASConfiguration.OAS30(); + case 'ASYNC 2.0': return AsyncAPIConfiguration.Async20(); + default: throw new Error(`Unknown vendor: ${vendor}`); } - const result = await amf.AMF.validate(doc, validateProfile); - process.send({ validation: result.toString() }); -} +}; + /** * AMF parser to be called in a child process. * * AMF can in extreme cases takes forever to parse API data if, for example, - * RAML type us defined as a number of union types. It may sometimes cause - * the process to crash. To protect the renderer proces this is run as forked + * RAML type is defined as a number of union types. It may sometimes cause + * the process to crash. To protect the renderer process this is run as forked * process. * - * @param {Object} data + * @param {ParserApiConfiguration} data */ -async function processData(data) { +const processData = async (data) => { const sourceFile = data.source; - const type = data.from.type; - const contentType = data.from.contentType; - const validate = data.validate; - if (!initied) { - await amf.Core.init(); - } - /* eslint-disable-next-line require-atomic-updates */ - initied = true; - const file = `file://${sourceFile}`; - const parser = amf.Core.parser(type, contentType); - let doc = await parser.parseFileAsync(file); - if (validate) { - await validateDoc(type, doc); - } + const { type } = data.from; - const resolver = amf.Core.resolver(type); - doc = resolver.resolve(doc, 'editing'); - const generator = amf.Core.generator('AMF Graph', 'application/ld+json'); - const opts = amf.render.RenderOptions().withSourceMaps.withCompactUris; - return await generator.generateString(doc, opts); -} + const ro = new RenderOptions(). + withSourceMaps(). + withCompactUris(); + const apiConfiguration = getConfiguration(type).withRenderOptions(ro); + const client = apiConfiguration.baseUnitClient(); + const file = `file://${sourceFile}`; + const result = await client.parse(file); + const transformed = client.transform(result.baseUnit, PipelineId.Editing); + return client.render(transformed.baseUnit, 'application/ld+json'); +}; process.on('message', async (data) => { + const typed = /** @type ParserApiConfiguration */ (data); try { - const api = await processData(data); + const api = await processData(typed); process.send({ api }); } catch (cause) { - let m = `AMF parser: Unable to parse API ${data.source}.\n`; + let m = `AMF parser: Unable to parse API ${typed.source}.\n`; m += cause.s$1 || cause.message; process.send({ error: m }); } diff --git a/demo/demo-server/api/amf-service/amf-service.js b/demo/demo-server/api/amf-service/amf-service.js index 84424cc78..18183eb07 100644 --- a/demo/demo-server/api/amf-service/amf-service.js +++ b/demo/demo-server/api/amf-service/amf-service.js @@ -1,3 +1,4 @@ +/* eslint-disable class-methods-use-this */ import tmp from 'tmp'; import { Duplex } from 'stream'; import unzipper from 'unzipper'; @@ -41,19 +42,20 @@ import { ApiSearch } from './api-search.js'; */ export class AmfService { /** - * The same as with constructror but resets the sate. + * The same as with constructor but resets the sate. * @param {Buffer|String} source Location of the API file on the disk or * buffer of a file. If the source is a file and it's not a zip file then * it must be the API file. * @param {?Object} opts Process options: * - zip {Boolean} - if true it treats the source as a zip data. Files are - * unzzipped to a temporary location before processing. + * unzipped to a temporary location before processing. * - validate {Boolean} - if true it validates the API when parsing. * Validation is made in the `parse` phase and results (as string) are stored * in `validationResult` property of the service. */ setSource(source, opts) { if (!opts) { + // eslint-disable-next-line no-param-reassign opts = {}; } this.source = source; @@ -82,6 +84,7 @@ export class AmfService { */ this._tmpIsFile = false; } + /** * Returns current working directory. * @return {String} @@ -107,12 +110,12 @@ export class AmfService { this._mainFile = undefined; } - async cleanup() { + cleanup() { this._cancelMonitorParser(); this._cancelParseProcTimeout(); const proc = this._parserProc; if (!proc) { - return await this.cancel(); + return this.cancel(); } return new Promise((resolve) => { this._killParser(); @@ -121,16 +124,17 @@ export class AmfService { }); }); } + /** * Prepares the file to be processed. - * @return {Promise} + * @returns {Promise} */ async prepare() { if (this.isZip) { - return await this._prepareZip(); + return this._prepareZip(); } if (this.source instanceof Buffer) { - return await this._prepareBuffer(); + return this._prepareBuffer(); } const stat = await fs.stat(this.source); if (stat.isDirectory()) { @@ -139,6 +143,7 @@ export class AmfService { this._workingDir = path.dirname(this.source); this._mainFile = path.basename(this.source); } + return Promise.resolve(); } async _prepareZip() { @@ -155,22 +160,23 @@ export class AmfService { this._workingDir = path.dirname(location); this._mainFile = path.basename(location); } + /** * Resolves the API structure and tries to find main API file. * - * @return {Promise>} If promise resolves to an array it means + * @return {Promise} If promise resolves to an array it means * that API type could not be determined automatically. */ async resolve() { if (this._tmpIsFile) { - return; + return undefined; } if (!this._workingDir) { await this._cleanTempFiles(); - throw new Error(`prepare() function not called`); + throw new Error('prepare() function not called'); } if (this._mainFile) { - return; + return undefined; } const search = new ApiSearch(this._workingDir); try { @@ -186,7 +192,9 @@ export class AmfService { await this._cleanTempFiles(); throw cause; } + return undefined; } + /** * Parses API data using AMF parser. * @param {String=} mainFile Main API file to use. @@ -195,14 +203,14 @@ export class AmfService { async parse(mainFile) { if (!this._workingDir) { await this._cleanTempFiles(); - throw new Error(`prepare() function not called`); + throw new Error('prepare() function not called'); } if (mainFile && typeof mainFile === 'string') { this._mainFile = mainFile; } if (!this._mainFile) { await this._cleanTempFiles(); - throw new Error(`resolve() function not called`); + throw new Error('resolve() function not called'); } const search = new ApiSearch(this._workingDir); const apiLocation = path.join(this._workingDir, this._mainFile); @@ -217,8 +225,9 @@ export class AmfService { throw cause; } } + /** - * Unzpis the source to a tem folder. + * Unzips the source to a tem folder. * @return {Promise} */ async _unzipSource() { @@ -236,11 +245,12 @@ export class AmfService { async _tmpBuffer(buffer) { this.tmpobj = tmp.fileSync(); this._tmpIsFile = true; - const fd = this.tmpobj.fd; + const { fd } = this.tmpobj; await fs.write(fd, buffer); await fs.close(fd); return this.tmpobj.name; } + /** * Unzips API folder and returns path to the folder in tmp location. * @param {ArrayBuffer} buffer Zip data @@ -264,11 +274,12 @@ export class AmfService { stream.pipe(extractor); }); } + /** * The zip may have source files enclosed in a folder. * This will look for a folder in the root path and will copy sources from it. * - * @param {String} destination A place where the zip sources has been + * @param {string} destination A place where the zip sources has been * extracted. * @return {Promise} */ @@ -284,6 +295,7 @@ export class AmfService { await fs.copy(dirPath, destination); } } + /** * Removes created temporary directory. * @return {Promise} @@ -306,11 +318,11 @@ export class AmfService { if (this._parserProc) { if (this._parserProc.connected) { return this._parserProc; - } else { - this._killParser(); } + this._killParser(); + } - const env = Object.assign({ NODE_OPTIONS: '--max-old-space-size=4096' }, process.env); + const env = { NODE_OPTIONS: '--max-old-space-size=4096', ...process.env }; const options = { execArgv: [], env @@ -368,6 +380,7 @@ export class AmfService { clearTimeout(this._parserMinitorTimeout); } } + /** * Runs the parser. * @@ -381,12 +394,13 @@ export class AmfService { const callbacks = { onmessage: (result) => { if (result.validation) { + // eslint-disable-next-line no-console console.log(result.validation); return; } this._cancelParseProcTimeout(); - this._parserProc.removeAllListeners('message', callbacks.onmessage); - this._parserProc.removeAllListeners('error', callbacks.onerror); + this._parserProc.removeAllListeners('message'); + this._parserProc.removeAllListeners('error'); this._parserProcCb = undefined; this._monitorParserProc(); this._killParser(); @@ -398,8 +412,8 @@ export class AmfService { }, onerror: (err) => { this._cancelParseProcTimeout(); - this._parserProc.removeAllListeners('message', callbacks.onmessage); - this._parserProc.removeAllListeners('error', callbacks.onerror); + this._parserProc.removeAllListeners('message'); + this._parserProc.removeAllListeners('error'); this._parserProcCb = undefined; this._monitorParserProc(); reject(new Error(err.message || 'Unknown error')); @@ -409,8 +423,8 @@ export class AmfService { const proc = this._createParserProcess(); this._setParserProcTimeout(() => { reject(new Error('API parsing timeout')); - this._parserProc.removeAllListeners('message', callbacks.onmessage); - this._parserProc.removeAllListeners('error', callbacks.onerror); + this._parserProc.removeAllListeners('message'); + this._parserProc.removeAllListeners('error'); this._monitorParserProc(); }); proc.on('message', callbacks.onmessage); diff --git a/demo/demo-server/api/amf-service/api-search.js b/demo/demo-server/api/amf-service/api-search.js index d771398b8..f7379ee52 100644 --- a/demo/demo-server/api/amf-service/api-search.js +++ b/demo/demo-server/api/amf-service/api-search.js @@ -1,3 +1,5 @@ +/* eslint-disable no-continue */ +/* eslint-disable class-methods-use-this */ import fs from 'fs-extra'; import path from 'path'; /** @@ -10,6 +12,7 @@ export class ApiSearch { constructor(dir) { this._workingDir = dir; } + /** * Finds main API name. * @@ -24,7 +27,7 @@ export class ApiSearch { * If it returns undefined than the process failed and API main file cannot * be determined. * - * @return {Promise|String|undefined>} + * @returns {Promise} */ async findApiFile() { const items = await fs.readdir(this._workingDir); @@ -52,47 +55,50 @@ export class ApiSearch { if (files.length) { return this._decideMainFile(files); } + return undefined; } /** * Decides which file to use as API main file. - * @param {Array} files A file or list of files. - * @return {Promise} + * @param {string[]} files A file or list of files. + * @return {Promise} */ async _decideMainFile(files) { const root = this._workingDir; - const fullPathFiles = files.map((item) => { - return { - absolute: path.join(root, item), - relative: item - }; - }); + const fullPathFiles = files.map((item) => ({ + absolute: path.join(root, item), + relative: item, + })); const list = await this._findWebApiFile(fullPathFiles); if (!list) { return files; } return list; } + /** * Reads all files and looks for 'RAML 0.8' or 'RAML 1.0' header which * is a WebApi. - * @param {Array} files List of candidates - * @param {?Array} results List od results - * @return {Promise} + * @param {{ absolute: string; relative: string; }[]} files List of candidates + * @param {any[]=} results List od results + * @return {Promise} */ async _findWebApiFile(files, results) { if (!results) { + // eslint-disable-next-line no-param-reassign results = []; } const f = files.shift(); if (!f) { if (!results.length) { + // eslint-disable-next-line no-param-reassign results = undefined; } if (results && results.length === 1) { + // eslint-disable-next-line prefer-destructuring, no-param-reassign results = results[0]; } - return results; + return /** @type string */ (/** @type unknown */ (results)); } try { const type = await this._readApiType(f.absolute); @@ -102,19 +108,22 @@ export class ApiSearch { } return await this._findWebApiFile(files, results); } catch (e) { + // eslint-disable-next-line no-console console.warn('Unable to find file type', e); } + return undefined; } + /** * Reads API type from the API main file. - * @param {String} file File location - * @return {Promise} + * @param {string} file File location + * @returns {Promise} */ async _readApiType(file) { const size = 100; // todo (pawel): This works 100% for RAML files as they have to have a // type and version in the file header. However JSON OAS can have version - // definition anythere in the JSON object. It works for lot of APIs + // definition anywhere in the JSON object. It works for lot of APIs // but it may be broken for some APIs. // It should read and parse JSON files and look for the version value. // Leaving it here for performance reasons. @@ -131,7 +140,7 @@ export class ApiSearch { const v = match[1].trim(); return { type: `OAS ${v}`, - contentType: 'application/json' + contentType: 'application/json', }; } const oasMatch = data.match(/(?:openapi|swagger)[^\s*]?:(?:\s*)("|')?(\d\.\d)("|')?/im); @@ -139,7 +148,7 @@ export class ApiSearch { const v = oasMatch[2].trim(); return { type: `OAS ${v}`, - contentType: 'application/yaml' + contentType: 'application/yaml', }; } const header = data.split('\n')[0].substr(2).trim(); @@ -149,14 +158,16 @@ export class ApiSearch { if (header === 'RAML 1.0' || header === 'RAML 0.8') { return { type: header, - contentType: 'application/raml' + contentType: 'application/raml', }; } - if (header.indexOf('RAML 1.0 Overlay') === 0 || - header.indexOf('RAML 1.0 Extension') === 0) { + if ( + header.indexOf('RAML 1.0 Overlay') === 0 || + header.indexOf('RAML 1.0 Extension') === 0 + ) { return { type: 'RAML 1.0', - contentType: 'application/raml' + contentType: 'application/raml', }; } throw new Error('Unsupported API file'); diff --git a/package-lock.json b/package-lock.json index 68018f615..81ef6fd14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "@web/test-runner": "^0.12.5", "@web/test-runner-playwright": "0.8.10", "@web/test-runner-visual-regression": "^0.6.4", - "amf-client-js": "^4.6.0", + "amf-client-js": "^5.4.4", "body-parser": "^1.19.0", "deepmerge": "^4.2.1", "es-dev-server": "^2.1.0", @@ -609,6 +609,12 @@ "resolved": "https://registry.npmjs.org/@advanced-rest-client/uuid-generator/-/uuid-generator-3.1.2.tgz", "integrity": "sha512-eP3Yo04FiQao7mPEhG37ESG1zYNB5uQ03dB3FlCvaZoUs4qGduBr7SRHdFENcGJlxCkwhY0QVKFfuaZZValPTA==" }, + "node_modules/@aml-org/amf-antlr-parsers": { + "version": "0.7.25", + "resolved": "https://registry.npmjs.org/@aml-org/amf-antlr-parsers/-/amf-antlr-parsers-0.7.25.tgz", + "integrity": "sha512-JEwX1Ja8SFbcYboOEbZ+t//w1sWULGKRV3x0moDpKR+MWjL69FWy484/u0GXHBYdydtbGHM4NcKltYNOaH5Bmw==", + "dev": true + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -1122,6 +1128,19 @@ "node": ">= 10.0.0" } }, + "node_modules/@api-components/api-model-generator/node_modules/amf-client-js": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-4.7.8.tgz", + "integrity": "sha512-Wd6USEvxelx6DAzyILciPEWPmNRDkhN2ldBY0F8n5HrTjfRNvY/jEkV/pF/pj/WnLKtDI3cbMkMK2kzQOyF6fA==", + "dev": true, + "dependencies": { + "ajv": "6.12.6", + "amf-shacl-node": "2.0.0" + }, + "bin": { + "amf": "bin/amf" + } + }, "node_modules/@api-components/api-model-generator/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -3047,9 +3066,9 @@ } }, "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "dev": true, "engines": { "node": ">=0.1.90" @@ -3867,9 +3886,9 @@ } }, "node_modules/@comunica/actor-init-sparql/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { "cliui": "^8.0.1", @@ -6889,9 +6908,9 @@ "dev": true }, "node_modules/@types/http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.4.tgz", + "integrity": "sha512-UeasLdPPSfmX45RH6h1lo932WfQUTuc1adQCpPioqRRVBM25dWwIPDBhM0CjWbdflmvr8vIzQg48yk1JzylhXg==", "dev": true, "dependencies": { "@types/node": "*" @@ -7052,13 +7071,13 @@ "dev": true }, "node_modules/@types/n3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", - "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-6PDn2/tUtveGQONiFJDOpl2Aa/YnmwQhdQ8SznUJVFmjI/NEBBdNhnkmYeEFmvOQbhbIeGR+SfmTk71TdqJ5mg==", "dev": true, "dependencies": { - "@types/node": "*", - "rdf-js": "^4.0.2" + "@rdfjs/types": "^1.1.0", + "@types/node": "*" } }, "node_modules/@types/node": { @@ -7153,9 +7172,9 @@ } }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "node_modules/@types/serve-static": { @@ -7194,20 +7213,26 @@ "dev": true }, "node_modules/@types/spark-md5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.2.tgz", - "integrity": "sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.3.tgz", + "integrity": "sha512-Uocq0wrVjF//W7IQGDvGm7K14MvzWNl95xjiQHZkmX+BX0deJyN7UKTaBUGUIINqzKwhi41ysk5aD4Q5d+ZDvw==", "dev": true }, "node_modules/@types/sparqljs": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", - "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.7.tgz", + "integrity": "sha512-5Vqh2FvlfqDsMhQLVuf7uU0+wcG7eVCPg8Irttma56fh5E9yrkih1k+Y17+KqXqp1Eg4UVNxFc4u4YndfgeJaQ==", "dev": true, "dependencies": { "rdf-js": "^4.0.2" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.4.tgz", + "integrity": "sha512-HlJjF3wxV4R2VQkFpKe0YqJLilYNgtRtsqqZtby7RkVsSs+i+vbyzjtUwpFEdUCKcrGzCiEJE7F/0mKjh0sunA==", + "dev": true + }, "node_modules/@types/uglify-js": { "version": "3.17.1", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.1.tgz", @@ -7218,9 +7243,9 @@ } }, "node_modules/@types/uritemplate": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.4.tgz", - "integrity": "sha512-1D8mJEeQEXynoPQKJkneIK+tXaM2Qnk6c80RBQPV/O2ToypI4mlqXy5jojnYKjTX2Q+EMNMOWt0wNdLbb2MUpA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.5.tgz", + "integrity": "sha512-QzBlDy2bmD7WQB1q++EOFXGa42NtQpWbO4XPGY0Y5/0Eyb7z5je0625eSypMJiAqXmLrj76X0xlZNndeXGpNYQ==", "dev": true }, "node_modules/@types/uuid": { @@ -7248,27 +7273,27 @@ } }, "node_modules/@types/xml": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.8.tgz", - "integrity": "sha512-IptEZBtDwSPayCP8FmbordhAdjdxsif4zH29xTbBRacZeCHFHZp8OxyG1/CrS8AS0MziJUPTGWCTKbYtvHGYPg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.10.tgz", + "integrity": "sha512-fNVNc7SBoHyGPPyKfUPuBeq6h9+h/pH+CJd/ehB8tdbaD07Ch4iVVI/qloC78I5i5ccC3QOKC9yZucibM2Tf0Q==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", "dev": true }, "node_modules/@types/yauzl": { @@ -7941,13 +7966,13 @@ } }, "node_modules/amf-client-js": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-4.7.8.tgz", - "integrity": "sha512-Wd6USEvxelx6DAzyILciPEWPmNRDkhN2ldBY0F8n5HrTjfRNvY/jEkV/pF/pj/WnLKtDI3cbMkMK2kzQOyF6fA==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-5.4.4.tgz", + "integrity": "sha512-k2UxZloAHdt3TBdFE1/QYnu85WWf4cZ6gWwf2leN8YWXx0srCSG8zjGjg2paRDlMh1SP9me5Iu2QZupmJzYzrQ==", "dev": true, "dependencies": { - "ajv": "6.12.6", - "amf-shacl-node": "2.0.0" + "@aml-org/amf-antlr-parsers": "0.7.25", + "ajv": "6.12.6" }, "bin": { "amf": "bin/amf" @@ -8280,15 +8305,15 @@ } }, "node_modules/asynciterator": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.8.0.tgz", - "integrity": "sha512-bD34LqKHJnkB77MHjL3hOAUOcy9dbB+3lHvL+EiJpD3k2Nyq3i1dCk5adMisB2rwlrHVu/+XRhOdPZL9hzpsfw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.8.1.tgz", + "integrity": "sha512-SmdG0FUY3pYGOZZGdYq8Qb/DCRDXBFZUk08V1/4lbBXdAQvcC3Kxzz9FUDPBTik7VAVltt4cZirAPtJv3gOpEw==", "dev": true }, "node_modules/asyncjoin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.1.1.tgz", - "integrity": "sha512-8IqFEIQ3HVec3dLQBvLRx/EFDOof8o+r4nCahRGqGE6WDPTXk7IBEaL6clPZ87DHku7u4yxHGzGWqMN08YwErg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.1.2.tgz", + "integrity": "sha512-zi6B+C3GgEu8qrmFn3gDd58cbGNaNFW3s8DJmCxUOjQwqWZcQO6dEoZBWl56+QGQyX0da0FRX1fsAyYB9LmwJA==", "dev": true, "dependencies": { "asynciterator": "^3.6.0" @@ -9691,9 +9716,9 @@ } }, "node_modules/componentsjs/node_modules/@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", "dev": true }, "node_modules/componentsjs/node_modules/lru-cache": { @@ -9709,9 +9734,9 @@ } }, "node_modules/componentsjs/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -10324,12 +10349,54 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { - "node-fetch": "2.6.7" + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/cross-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/cross-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/cross-spawn": { @@ -12721,9 +12788,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "dev": true, "funding": [ { @@ -13548,9 +13615,9 @@ "dev": true }, "node_modules/http-link-header": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", - "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.1.tgz", + "integrity": "sha512-mW3N/rTYpCn99s1do0zx6nzFZSwLH9HGfUM4ZqLWJ16ylmYaC2v5eYGqrNTQlByx8AzUgGI+V/32gXPugs1+Sw==", "dev": true, "engines": { "node": ">=6.0.0" @@ -14709,9 +14776,9 @@ } }, "node_modules/jsonld-context-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", - "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.3.3.tgz", + "integrity": "sha512-H+REInOx7XI2ciF8wJV31D20Bh+ofBmEjN2Tkds51vypqDJIiD341E5g+hYyrEInIKRnbW58TN/Ehz+ACT0l0w==", "dev": true, "dependencies": { "@types/http-link-header": "^1.0.1", @@ -15792,16 +15859,20 @@ } }, "node_modules/logform": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", - "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", "dev": true, "dependencies": { - "@colors/colors": "1.5.0", + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, "node_modules/loupe": { @@ -16621,9 +16692,9 @@ } }, "node_modules/n3": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", - "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.2.tgz", + "integrity": "sha512-BxSM52wYFqXrbQQT5WUEzKUn6qpYV+2L4XZLfn3Gblz2kwZ09S+QxC33WNdVEQy2djenFL8SNkrjejEKlvI6+Q==", "dev": true, "dependencies": { "queue-microtask": "^1.1.2", @@ -16658,20 +16729,50 @@ } }, "node_modules/n3/node_modules/readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", + "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", - "process": "^0.11.10" + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/n3/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/n3/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/nan-x": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nan-x/-/nan-x-1.0.2.tgz", @@ -18882,9 +18983,9 @@ } }, "node_modules/rdf-data-factory": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", - "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", "dev": true, "dependencies": { "@rdfjs/types": "*" @@ -18922,9 +19023,9 @@ } }, "node_modules/rdf-object": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", - "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -18983,9 +19084,9 @@ } }, "node_modules/rdf-string": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.2.tgz", - "integrity": "sha512-tr0aStKYRmT6ShmGsA4HikIn6O3ZkCBSLWsRbeKhlPVPZodl0QNuws6HuJdD1rUyo9+MNiDw+3wvFSUz6Iwv/g==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -19003,9 +19104,9 @@ } }, "node_modules/rdf-terms": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", - "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -19234,9 +19335,9 @@ "dev": true }, "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", @@ -20094,9 +20195,9 @@ } }, "node_modules/safe-stable-stringify": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", - "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", "dev": true, "engines": { "node": ">=10" @@ -20108,9 +20209,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true }, "node_modules/sax-stream": { @@ -20740,6 +20841,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/sparqlee/-/sparqlee-1.10.0.tgz", "integrity": "sha512-rKuyXIIyEsRsACZC86yrN0m/rUhKZQl6HfqeIqAC+5WXE08PB/tGQ9RPxiwo+P6u6QEk2Sd/h6Yq1pnT0607JA==", + "deprecated": "Sparqlee has been moved to @comunica/expression-evaluator", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -20766,12 +20868,12 @@ "dev": true }, "node_modules/sparqljs": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.6.2.tgz", - "integrity": "sha512-KQEJPaOMeeDpdYYuiFb3JEErRLL8XqX4G7sdhZyHC6Qn4+PEMUff/EjUGkwcJ6aCC0JCTIgxDpRdE3+GFXpdxw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.1.tgz", + "integrity": "sha512-I1jYMtcwDkgCEqQ4eQuQIhB8hFAlRAJ6YDXDcV54XztaJaYRFqJlidHt77S3j8Mfh6kY6GK04dXPEIopxbEeuQ==", "dev": true, "dependencies": { - "rdf-data-factory": "^1.1.1" + "rdf-data-factory": "^1.1.2" }, "bin": { "sparqljs": "bin/sparql-to-json" @@ -21056,9 +21158,9 @@ } }, "node_modules/stream-to-string": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", - "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", "dev": true, "dependencies": { "promise-polyfill": "^1.1.6" @@ -22019,10 +22121,13 @@ } }, "node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", - "dev": true + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/tsconfig-paths": { "version": "3.14.1", @@ -22896,12 +23001,12 @@ } }, "node_modules/winston": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", - "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz", + "integrity": "sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==", "dev": true, "dependencies": { - "@colors/colors": "1.5.0", + "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", @@ -22918,9 +23023,9 @@ } }, "node_modules/winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz", + "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==", "dev": true, "dependencies": { "logform": "^2.3.2", @@ -22928,7 +23033,7 @@ "triple-beam": "^1.3.0" }, "engines": { - "node": ">= 6.4.0" + "node": ">= 12.0.0" } }, "node_modules/winston-transport/node_modules/inherits": { @@ -22938,9 +23043,9 @@ "dev": true }, "node_modules/winston-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", @@ -22993,9 +23098,9 @@ "dev": true }, "node_modules/winston/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", @@ -24331,6 +24436,12 @@ "resolved": "https://registry.npmjs.org/@advanced-rest-client/uuid-generator/-/uuid-generator-3.1.2.tgz", "integrity": "sha512-eP3Yo04FiQao7mPEhG37ESG1zYNB5uQ03dB3FlCvaZoUs4qGduBr7SRHdFENcGJlxCkwhY0QVKFfuaZZValPTA==" }, + "@aml-org/amf-antlr-parsers": { + "version": "0.7.25", + "resolved": "https://registry.npmjs.org/@aml-org/amf-antlr-parsers/-/amf-antlr-parsers-0.7.25.tgz", + "integrity": "sha512-JEwX1Ja8SFbcYboOEbZ+t//w1sWULGKRV3x0moDpKR+MWjL69FWy484/u0GXHBYdydtbGHM4NcKltYNOaH5Bmw==", + "dev": true + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -24834,6 +24945,16 @@ "fs-extra": "^10.0.0" }, "dependencies": { + "amf-client-js": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-4.7.8.tgz", + "integrity": "sha512-Wd6USEvxelx6DAzyILciPEWPmNRDkhN2ldBY0F8n5HrTjfRNvY/jEkV/pF/pj/WnLKtDI3cbMkMK2kzQOyF6fA==", + "dev": true, + "requires": { + "ajv": "6.12.6", + "amf-shacl-node": "2.0.0" + } + }, "fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -26245,9 +26366,9 @@ } }, "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "dev": true }, "@commitlint/cli": { @@ -26842,9 +26963,9 @@ "dev": true }, "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -29340,9 +29461,9 @@ "dev": true }, "@types/http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.4.tgz", + "integrity": "sha512-UeasLdPPSfmX45RH6h1lo932WfQUTuc1adQCpPioqRRVBM25dWwIPDBhM0CjWbdflmvr8vIzQg48yk1JzylhXg==", "dev": true, "requires": { "@types/node": "*" @@ -29503,13 +29624,13 @@ "dev": true }, "@types/n3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", - "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-6PDn2/tUtveGQONiFJDOpl2Aa/YnmwQhdQ8SznUJVFmjI/NEBBdNhnkmYeEFmvOQbhbIeGR+SfmTk71TdqJ5mg==", "dev": true, "requires": { - "@types/node": "*", - "rdf-js": "^4.0.2" + "@rdfjs/types": "^1.1.0", + "@types/node": "*" } }, "@types/node": { @@ -29604,9 +29725,9 @@ } }, "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "@types/serve-static": { @@ -29645,20 +29766,26 @@ "dev": true }, "@types/spark-md5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.2.tgz", - "integrity": "sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.3.tgz", + "integrity": "sha512-Uocq0wrVjF//W7IQGDvGm7K14MvzWNl95xjiQHZkmX+BX0deJyN7UKTaBUGUIINqzKwhi41ysk5aD4Q5d+ZDvw==", "dev": true }, "@types/sparqljs": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", - "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.7.tgz", + "integrity": "sha512-5Vqh2FvlfqDsMhQLVuf7uU0+wcG7eVCPg8Irttma56fh5E9yrkih1k+Y17+KqXqp1Eg4UVNxFc4u4YndfgeJaQ==", "dev": true, "requires": { "rdf-js": "^4.0.2" } }, + "@types/triple-beam": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.4.tgz", + "integrity": "sha512-HlJjF3wxV4R2VQkFpKe0YqJLilYNgtRtsqqZtby7RkVsSs+i+vbyzjtUwpFEdUCKcrGzCiEJE7F/0mKjh0sunA==", + "dev": true + }, "@types/uglify-js": { "version": "3.17.1", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.1.tgz", @@ -29669,9 +29796,9 @@ } }, "@types/uritemplate": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.4.tgz", - "integrity": "sha512-1D8mJEeQEXynoPQKJkneIK+tXaM2Qnk6c80RBQPV/O2ToypI4mlqXy5jojnYKjTX2Q+EMNMOWt0wNdLbb2MUpA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.5.tgz", + "integrity": "sha512-QzBlDy2bmD7WQB1q++EOFXGa42NtQpWbO4XPGY0Y5/0Eyb7z5je0625eSypMJiAqXmLrj76X0xlZNndeXGpNYQ==", "dev": true }, "@types/uuid": { @@ -29699,27 +29826,27 @@ } }, "@types/xml": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.8.tgz", - "integrity": "sha512-IptEZBtDwSPayCP8FmbordhAdjdxsif4zH29xTbBRacZeCHFHZp8OxyG1/CrS8AS0MziJUPTGWCTKbYtvHGYPg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.10.tgz", + "integrity": "sha512-fNVNc7SBoHyGPPyKfUPuBeq6h9+h/pH+CJd/ehB8tdbaD07Ch4iVVI/qloC78I5i5ccC3QOKC9yZucibM2Tf0Q==", "dev": true, "requires": { "@types/node": "*" } }, "@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", "dev": true }, "@types/yauzl": { @@ -30258,13 +30385,13 @@ "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==" }, "amf-client-js": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-4.7.8.tgz", - "integrity": "sha512-Wd6USEvxelx6DAzyILciPEWPmNRDkhN2ldBY0F8n5HrTjfRNvY/jEkV/pF/pj/WnLKtDI3cbMkMK2kzQOyF6fA==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-5.4.4.tgz", + "integrity": "sha512-k2UxZloAHdt3TBdFE1/QYnu85WWf4cZ6gWwf2leN8YWXx0srCSG8zjGjg2paRDlMh1SP9me5Iu2QZupmJzYzrQ==", "dev": true, "requires": { - "ajv": "6.12.6", - "amf-shacl-node": "2.0.0" + "@aml-org/amf-antlr-parsers": "0.7.25", + "ajv": "6.12.6" } }, "amf-json-ld-lib": { @@ -30514,15 +30641,15 @@ } }, "asynciterator": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.8.0.tgz", - "integrity": "sha512-bD34LqKHJnkB77MHjL3hOAUOcy9dbB+3lHvL+EiJpD3k2Nyq3i1dCk5adMisB2rwlrHVu/+XRhOdPZL9hzpsfw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.8.1.tgz", + "integrity": "sha512-SmdG0FUY3pYGOZZGdYq8Qb/DCRDXBFZUk08V1/4lbBXdAQvcC3Kxzz9FUDPBTik7VAVltt4cZirAPtJv3gOpEw==", "dev": true }, "asyncjoin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.1.1.tgz", - "integrity": "sha512-8IqFEIQ3HVec3dLQBvLRx/EFDOof8o+r4nCahRGqGE6WDPTXk7IBEaL6clPZ87DHku7u4yxHGzGWqMN08YwErg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.1.2.tgz", + "integrity": "sha512-zi6B+C3GgEu8qrmFn3gDd58cbGNaNFW3s8DJmCxUOjQwqWZcQO6dEoZBWl56+QGQyX0da0FRX1fsAyYB9LmwJA==", "dev": true, "requires": { "asynciterator": "^3.6.0" @@ -31611,9 +31738,9 @@ }, "dependencies": { "@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", "dev": true }, "lru-cache": { @@ -31626,9 +31753,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -32117,12 +32244,45 @@ } }, "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dev": true, "requires": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" + }, + "dependencies": { + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } } }, "cross-spawn": { @@ -34002,9 +34162,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "dev": true }, "for-in": { @@ -34624,9 +34784,9 @@ } }, "http-link-header": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", - "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.1.tgz", + "integrity": "sha512-mW3N/rTYpCn99s1do0zx6nzFZSwLH9HGfUM4ZqLWJ16ylmYaC2v5eYGqrNTQlByx8AzUgGI+V/32gXPugs1+Sw==", "dev": true }, "https-proxy-agent": { @@ -35464,9 +35624,9 @@ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" }, "jsonld-context-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", - "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.3.3.tgz", + "integrity": "sha512-H+REInOx7XI2ciF8wJV31D20Bh+ofBmEjN2Tkds51vypqDJIiD341E5g+hYyrEInIKRnbW58TN/Ehz+ACT0l0w==", "dev": true, "requires": { "@types/http-link-header": "^1.0.1", @@ -36333,12 +36493,13 @@ } }, "logform": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", - "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", "dev": true, "requires": { - "@colors/colors": "1.5.0", + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", @@ -36989,9 +37150,9 @@ } }, "n3": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", - "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.2.tgz", + "integrity": "sha512-BxSM52wYFqXrbQQT5WUEzKUn6qpYV+2L4XZLfn3Gblz2kwZ09S+QxC33WNdVEQy2djenFL8SNkrjejEKlvI6+Q==", "dev": true, "requires": { "queue-microtask": "^1.1.2", @@ -37009,15 +37170,31 @@ } }, "readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", + "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", "dev": true, "requires": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", - "process": "^0.11.10" + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" } } } @@ -38690,9 +38867,9 @@ } }, "rdf-data-factory": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", - "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", "dev": true, "requires": { "@rdfjs/types": "*" @@ -38730,9 +38907,9 @@ } }, "rdf-object": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", - "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -38791,9 +38968,9 @@ } }, "rdf-string": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.2.tgz", - "integrity": "sha512-tr0aStKYRmT6ShmGsA4HikIn6O3ZkCBSLWsRbeKhlPVPZodl0QNuws6HuJdD1rUyo9+MNiDw+3wvFSUz6Iwv/g==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -38811,9 +38988,9 @@ } }, "rdf-terms": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", - "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -38998,9 +39175,9 @@ "dev": true }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -39653,9 +39830,9 @@ } }, "safe-stable-stringify": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", - "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", "dev": true }, "safer-buffer": { @@ -39664,9 +39841,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true }, "sax-stream": { @@ -40227,12 +40404,12 @@ } }, "sparqljs": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.6.2.tgz", - "integrity": "sha512-KQEJPaOMeeDpdYYuiFb3JEErRLL8XqX4G7sdhZyHC6Qn4+PEMUff/EjUGkwcJ6aCC0JCTIgxDpRdE3+GFXpdxw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.1.tgz", + "integrity": "sha512-I1jYMtcwDkgCEqQ4eQuQIhB8hFAlRAJ6YDXDcV54XztaJaYRFqJlidHt77S3j8Mfh6kY6GK04dXPEIopxbEeuQ==", "dev": true, "requires": { - "rdf-data-factory": "^1.1.1" + "rdf-data-factory": "^1.1.2" } }, "sparqljson-parse": { @@ -40472,9 +40649,9 @@ "dev": true }, "stream-to-string": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", - "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", "dev": true, "requires": { "promise-polyfill": "^1.1.6" @@ -41220,9 +41397,9 @@ } }, "triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "dev": true }, "tsconfig-paths": { @@ -41948,12 +42125,12 @@ } }, "winston": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", - "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz", + "integrity": "sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==", "dev": true, "requires": { - "@colors/colors": "1.5.0", + "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", @@ -41979,9 +42156,9 @@ "dev": true }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -42007,9 +42184,9 @@ } }, "winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz", + "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==", "dev": true, "requires": { "logform": "^2.3.2", @@ -42024,9 +42201,9 @@ "dev": true }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", diff --git a/package.json b/package.json index 6ffba537d..8008b2376 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "@web/test-runner": "^0.12.5", "@web/test-runner-playwright": "0.8.10", "@web/test-runner-visual-regression": "^0.6.4", - "amf-client-js": "^4.6.0", + "amf-client-js": "^5.4.4", "body-parser": "^1.19.0", "deepmerge": "^4.2.1", "es-dev-server": "^2.1.0", From 69474a82f5e9295ab4347eda762bd7c07ad33dd4 Mon Sep 17 00:00:00 2001 From: Pawel Uchida-Psztyc Date: Mon, 6 Nov 2023 17:01:36 -0800 Subject: [PATCH 2/2] chore: adding OAS 3 to the demo parser Signed-off-by: Pawel Uchida-Psztyc --- demo/demo-server/api/amf-service/amf-parser.js | 8 ++++++-- demo/demo-server/api/amf-service/api-search.js | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/demo/demo-server/api/amf-service/amf-parser.js b/demo/demo-server/api/amf-service/amf-parser.js index 906480b7d..638743861 100644 --- a/demo/demo-server/api/amf-service/amf-parser.js +++ b/demo/demo-server/api/amf-service/amf-parser.js @@ -30,8 +30,12 @@ const getConfiguration = (vendor) => { switch (vendor) { case 'RAML 0.8': return RAMLConfiguration.RAML08(); case 'RAML 1.0': return RAMLConfiguration.RAML10(); - case 'OAS 2.0': return OASConfiguration.OAS20(); - case 'OAS 3.0': return OASConfiguration.OAS30(); + case 'OAS 2.0': + case 'OAS 2': + return OASConfiguration.OAS20(); + case 'OAS 3.0': + case 'OAS 3': + return OASConfiguration.OAS30(); case 'ASYNC 2.0': return AsyncAPIConfiguration.Async20(); default: throw new Error(`Unknown vendor: ${vendor}`); } diff --git a/demo/demo-server/api/amf-service/api-search.js b/demo/demo-server/api/amf-service/api-search.js index f7379ee52..1a8796c52 100644 --- a/demo/demo-server/api/amf-service/api-search.js +++ b/demo/demo-server/api/amf-service/api-search.js @@ -132,8 +132,8 @@ export class ApiSearch { await fs.close(fd); const data = result.buffer.toString().trim(); if (data[0] === '{') { - // OAS 1/2 - const match = data.match(/"swagger"(?:\s*)?:(?:\s*)"(.*)"/im); + // OAS 1/2/3 + const match = data.match(/"(?:openapi|swagger)"(?:\s*)?:(?:\s*)"([^"])/im); if (!match) { throw new Error('Expected OAS but could not find version header.'); }