From f0fc2bcf30810564fc9d93d2c685f9a51f880d9c Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Fri, 14 Nov 2025 08:01:01 +0100 Subject: [PATCH 01/14] feat: remove nunjucks support --- apps/generator/docs/typescript-support.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/generator/docs/typescript-support.md b/apps/generator/docs/typescript-support.md index 5c785cd3ca..a34e335c8e 100644 --- a/apps/generator/docs/typescript-support.md +++ b/apps/generator/docs/typescript-support.md @@ -3,11 +3,9 @@ title: "TypeScript support" weight: 150 --- -The AsyncAPI generator has TypeScript support for [hooks](#hooks) and Nunjucks's [filters](#filters). Assumptions: +The AsyncAPI generator has TypeScript support for [hooks](#hooks). Assumptions: - Installing the `typescript` package and creating the` tsconfig.json` file isn't necessary. - Source code of the hook/filter must have `.ts` extension. - Each package related to the typings for TypeScript like `@types/node` must be installed in the template under `dependencies` array. This is because the Generator transpiles the TypeScript code on-the-fly while rendering the template, and cannot use packages under `devDependencies`. -- Each template should have `@types/node` package installed to enable support for typings for Node. - - +- Each template should have `@types/node` package installed to enable support for typings for Node. \ No newline at end of file From 45dbbd82a6a18b81672a6674622a45dcd5f550c5 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 09:23:02 +0100 Subject: [PATCH 02/14] refactor --- Development.md | 2 +- README.md | 14 -- apps/generator/jest.config.js | 1 - apps/generator/lib/filtersRegistry.js | 134 ----------- apps/generator/lib/generator.js | 24 +- apps/generator/lib/renderer/nunjucks.js | 42 ---- .../lib/templates/config/validator.js | 6 +- apps/generator/lib/utils.js | 10 - apps/generator/package.json | 2 - .../__snapshots__/integration.test.js.snap | 10 - apps/generator/test/generator.test.js | 10 - apps/generator/test/integration.test.js | 12 - .../test/templateConfigValidator.test.js | 10 +- apps/generator/test/test-project/package.json | 1 - .../nunjucks-template/package-lock.json | 12 - .../nunjucks-template/package.json | 18 -- .../nunjucks-template/template/test-file.md | 5 - .../react-template/.ageneratorrc | 1 - apps/generator/test/utils.test.js | 30 --- apps/nunjucks-filters/docs/api.md | 118 --------- apps/nunjucks-filters/package.json | 55 ----- apps/nunjucks-filters/src/customFilters.js | 226 ------------------ .../src/customFilters.test.js | 213 ----------------- apps/nunjucks-filters/src/index.js | 6 - apps/nunjucks-filters/src/lodashFilters.js | 6 - .../src/lodashFilters.test.js | 6 - package.json | 4 - .../clients/kafka/java/quarkus/.ageneratorrc | 1 - .../clients/websocket/dart/.ageneratorrc | 1 - .../websocket/java/quarkus/.ageneratorrc | 1 - .../websocket/javascript/.ageneratorrc | 1 - .../clients/websocket/python/.ageneratorrc | 1 - 32 files changed, 9 insertions(+), 974 deletions(-) delete mode 100644 apps/generator/lib/filtersRegistry.js delete mode 100644 apps/generator/lib/renderer/nunjucks.js delete mode 100644 apps/generator/test/test-templates/nunjucks-template/package-lock.json delete mode 100644 apps/generator/test/test-templates/nunjucks-template/package.json delete mode 100644 apps/generator/test/test-templates/nunjucks-template/template/test-file.md delete mode 100644 apps/nunjucks-filters/docs/api.md delete mode 100644 apps/nunjucks-filters/package.json delete mode 100644 apps/nunjucks-filters/src/customFilters.js delete mode 100644 apps/nunjucks-filters/src/customFilters.test.js delete mode 100644 apps/nunjucks-filters/src/index.js delete mode 100644 apps/nunjucks-filters/src/lodashFilters.js delete mode 100644 apps/nunjucks-filters/src/lodashFilters.test.js diff --git a/Development.md b/Development.md index eebd7e7a58..9f20fc5033 100644 --- a/Development.md +++ b/Development.md @@ -58,7 +58,7 @@ You can also opt in to run the lint checks after the tests, by setting an enviro ### Manually testing with test templates -To test template features manually we have `react-template` and `nunjucks-template` in `apps/generator/test/templates`, you can use this templates to manually test your changes like this: +To test template features manually we have `react-template` in `apps/generator/test/templates`, you can use this template to manually test your changes like this: 1. Navigate to the generator directory: diff --git a/README.md b/README.md index 086ae8e6da..5cd89048e1 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,12 @@ This is a Monorepo managed using [Turborepo](https://turbo.build/) and contains 1. [Hooks](apps/hooks): This library contains generator filters that can be reused across multiple templates, helping to avoid redundant work. Hooks are designed to let template developers hook into the template generation process. For example, one can create a hook code that will be automatically invoked right after the template generation process has ended. -1. [Nunjucks-filters](apps/nunjucks-filters): This library contains generator filters that can be reused across multiple templates helping to avoid redundant work. These filters are designed specifically for Nunjucks templates and are included by default with the generator, so there's no need to add them to dependencies separately. - 1. [React-sdk](apps/react-sdk): AsyncAPI React SDK is a set of components/functions to use React as render engine for the generator. This is the library that undestand components from Generator's templates that are configured to use `react` render engine. 1. [Generator-helpers](packages/helpers): A utility library that provides helper functions and utilities to simplify template development. It reduces boilerplate and speeds up template creation. 1. [Generator-components](packages/components): A library of reusable components that can be shared across different templates, helping to avoid duplication and accelerate template development. -> [!IMPORTANT] -> **Deprecation Notice:** The Nunjucks renderer engine is deprecated and will be removed in future releases. We strongly recommend using the React renderer engine instead. You can find how to migrate from Nunjucks to React in the [migration guide](apps/generator/docs/nunjucks-depreciate.md) - ![npm](https://img.shields.io/npm/v/@asyncapi/generator?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/generator?style=for-the-badge) @@ -68,15 +63,6 @@ You can find above templates and the ones provided by the community in **[this l > [!IMPORTANT] > **Experimental Feature:** AsyncAPI Generator also comes with **baked-in templates** - official templates shipped directly inside the Generator (`@asyncapi/generator`). They cover code, docs, configs, and SDKs, and are maintained under [/packages/templates](packages/templates) directory, following a strict, opinionated structure for consistency and ease of maintenance. This feature is not recommended for production use. For those who want to try them out or learn more, see the [Baked-in templates documentation](https://www.asyncapi.com/docs/tools/generator/baked-in-templates). -## Filters - - `apps/nunjucks-filters` library contains generator filters that can be reused across multiple templates, helping to avoid redundant work. These filters are designed specifically for Nunjucks templates and are included by default with the generator, so there's no need to add them to dependencies separately. - -This library consists of: - -- Custom filters. Check out [API docs](apps/nunjucks-filters/docs/api.md) for complete list -- Lodash-powered filters. For the list of all available filters check [official docs](https://lodash.com/docs/) - ## Hooks The `apps/hooks` library contains generator filters that can be reused across multiple templates, helping to avoid redundant work. [Hooks](https://www.asyncapi.com/docs/tools/generator/hooks) are functions called by the generator at specific moments in the generation process. Hooks can be anonymous functions, but you can also assign them function names. These hooks can have arguments provided to them, or they may be expected to return a value. diff --git a/apps/generator/jest.config.js b/apps/generator/jest.config.js index 9baf4dad80..334e238445 100644 --- a/apps/generator/jest.config.js +++ b/apps/generator/jest.config.js @@ -4,6 +4,5 @@ module.exports = { moduleNameMapper: { '^nimma/legacy$': '../../node_modules/nimma/dist/legacy/cjs/index.js', '^nimma/(.*)': '../../node_modules/nimma/dist/cjs/$1', - '^@asyncapi/nunjucks-filters$': path.resolve(__dirname, '../nunjucks-filters'), }, }; diff --git a/apps/generator/lib/filtersRegistry.js b/apps/generator/lib/filtersRegistry.js deleted file mode 100644 index 47f88feaca..0000000000 --- a/apps/generator/lib/filtersRegistry.js +++ /dev/null @@ -1,134 +0,0 @@ -const path = require('path'); -const fs = require('fs'); -const xfs = require('fs.extra'); -const { isAsyncFunction, registerTypeScript } = require('./utils'); -const nunjucksFilters = require('@asyncapi/nunjucks-filters'); - -/** - * Registers all template filters. - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @param {Object} nunjucks Nunjucks environment. - * @param {Object} templateConfig Template configuration. - * @param {String} templateDir Directory where template is located. - * @param {String} filtersDir Directory where local filters are located. - */ -module.exports.registerFilters = async (nunjucks, templateConfig, templateDir, filtersDir) => { - await registerLocalFilters(nunjucks, templateDir, filtersDir); - registerConfigFilters(nunjucks, templateDir, templateConfig); - - // Register Nunjucks filters from the 'nunjucks-filters' module without needing to list them in package.json or .ageneratorrc file. - addFilters(nunjucks, nunjucksFilters); -}; - -/** - * Registers the local template filters. - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @private - * @param {Object} nunjucks Nunjucks environment. - * @param {String} templateDir Directory where template is located. - * @param {String} filtersDir Directory where local filters are located. - */ -function registerLocalFilters(nunjucks, templateDir, filtersDir) { - return new Promise((resolve, reject) => { - const localFilters = path.resolve(templateDir, filtersDir); - - if (!fs.existsSync(localFilters)) return resolve(); - - const walker = xfs.walk(localFilters, { - followLinks: false - }); - - walker.on('file', async (root, stats, next) => { - try { - const filePath = path.resolve( - templateDir, - path.resolve(root, stats.name) - ); - - registerTypeScript(filePath); - // If it's a module constructor, inject dependencies to ensure consistent usage in remote templates in other projects or plain directories. - delete require.cache[require.resolve(filePath)]; - const mod = require(filePath); - - addFilters(nunjucks, mod); - - next(); - } catch (e) { - reject(e); - } - }); - - walker.on('errors', (root, nodeStatsArray) => { - reject(nodeStatsArray); - }); - - walker.on('end', async () => { - resolve(); - }); - }); -} - -/** - * Registers the additionally configured filters. - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @private - * @param {Object} nunjucks Nunjucks environment. - * @param {String} templateDir Directory where template is located. - * @param {Object} templateConfig Template configuration. - */ -async function registerConfigFilters(nunjucks, templateDir, templateConfig) { - const confFilters = templateConfig.filters; - const DEFAULT_MODULES_DIR = 'node_modules'; - if (!Array.isArray(confFilters)) return; - - const promises = confFilters.map(async filtersModule => { - let mod; - let filterName = filtersModule; - try { - //first we try to grab module with filters by the module name - //this is when generation is used on production using remote templates - mod = require(filterName); - } catch (error) { - //in case template is local but was not installed in node_modules of the generator then we need to explicitly provide modules location - try { - filterName = path.resolve(templateDir, DEFAULT_MODULES_DIR, filtersModule); - mod = require(filterName); - } catch (e) { - //sometimes it may happen that template is located in node_modules with other templates and its filter package is on the same level as template, as it is shared with other templates - try { - filterName = path.resolve(templateDir, '../..', filtersModule); - mod = require(filterName); - } catch (error) { - //in rare cases, especially in isolated tests, it may happen that installation - //ends but is not yet fully completed, so initial require of the same path do not work - //but in next attempt it works - //we need to keep this workaround until we find a solution - mod = require(filterName); - } - } - } - return addFilters(nunjucks, mod); - }); - - await Promise.all(promises); -} - -/** - * Add filter functions to Nunjucks environment. Only owned functions from the module are added. - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @private - * @param {Object} nunjucks Nunjucks environment. - * @param {Object} filters Module with functions. - */ -function addFilters(nunjucks, filters) { - Object.getOwnPropertyNames(filters).forEach((key) => { - const value = filters[key]; - if (!(value instanceof Function)) return; - - if (isAsyncFunction(value)) { - nunjucks.addFilter(key, value, true); - } else { - nunjucks.addFilter(key, value); - } - }); -} diff --git a/apps/generator/lib/generator.js b/apps/generator/lib/generator.js index 93f6f72cc9..5a3f796022 100644 --- a/apps/generator/lib/generator.js +++ b/apps/generator/lib/generator.js @@ -12,7 +12,6 @@ const npmPath = requireg.resolve('npm').replace('index.js',''); const { isAsyncAPIDocument } = require('@asyncapi/parser/cjs/document'); const { configureReact, renderReact, saveRenderedReactContent } = require('./renderer/react'); -const { configureNunjucks, renderNunjucks } = require('./renderer/nunjucks'); const { validateTemplateConfig } = require('./templates/config/validator'); const { loadTemplateConfig } = require('./templates/config/loader'); const { isGenerationConditionMet } = require('./conditionalGeneration'); @@ -26,17 +25,14 @@ const { copyFile, exists, fetchSpec, - isReactTemplate, isJsFile, getTemplateDetails, convertCollectionToObject, } = require('./utils'); const { parse, usesNewAPI, getProperApiDocument } = require('./parser'); -const { registerFilters } = require('./filtersRegistry'); const { registerHooks } = require('./hooksRegistry'); const { definitions, flatten, shorthands } = require('@npmcli/config/lib/definitions'); -const FILTERS_DIRNAME = 'filters'; const HOOKS_DIRNAME = 'hooks'; const PACKAGE_JSON_FILENAME = 'package.json'; const GIT_IGNORE_FILENAME = '{.gitignore}'; @@ -325,9 +321,6 @@ class Generator { await this.parseInput(this.asyncapi, parseOptions); validateTemplateConfig(this.templateConfig, this.templateParams, this.asyncapi); await this.configureTemplate(); - if (!isReactTemplate(this.templateConfig)) { - await registerFilters(this.nunjucks, this.templateConfig, this.templateDir, FILTERS_DIRNAME); - } await registerHooks(this.hooks, this.templateConfig, this.templateDir, HOOKS_DIRNAME); await this.launchHook('generate:before'); } @@ -407,10 +400,8 @@ class Generator { * Configure the templates based the desired renderer. */ async configureTemplate() { - if (isReactTemplate(this.templateConfig) && this.compile) { + if (this.compile) { await configureReact(this.templateDir, this.templateContentDir, TRANSPILED_TEMPLATE_LOCATION); - } else { - this.nunjucks = configureNunjucks(this.debug, this.templateDir); } } @@ -876,11 +867,8 @@ class Generator { const renderContent = await this.renderFile(asyncapiDocument, templateFilePath, extraTemplateData); if (renderContent === undefined) { return; - } else if (isReactTemplate(this.templateConfig)) { - await saveRenderedReactContent(renderContent, outputpath, this.noOverwriteGlobs); - } else { - await writeFile(outputpath, renderContent); } + await saveRenderedReactContent(renderContent, outputpath, this.noOverwriteGlobs); } /** @@ -981,11 +969,7 @@ class Generator { * @return {Promise|undefined>} */ async renderFile(asyncapiDocument, filePath, extraTemplateData = {}) { - if (isReactTemplate(this.templateConfig)) { - return await renderReact(asyncapiDocument, filePath, extraTemplateData, this.templateDir, this.templateContentDir, TRANSPILED_TEMPLATE_LOCATION, this.templateParams, this.debug, this.originalAsyncAPI); - } - const templateString = await readFile(filePath, 'utf8'); - return renderNunjucks(asyncapiDocument, templateString, filePath, extraTemplateData, this.templateParams, this.originalAsyncAPI, this.nunjucks); + return await renderReact(asyncapiDocument, filePath, extraTemplateData, this.templateDir, this.templateContentDir, TRANSPILED_TEMPLATE_LOCATION, this.templateParams, this.debug, this.originalAsyncAPI); } /** @@ -999,7 +983,7 @@ class Generator { const nonRenderableFiles = this.templateConfig.nonRenderableFiles || []; return Array.isArray(nonRenderableFiles) && (nonRenderableFiles.some(globExp => minimatch(fileName, globExp)) || - (isReactTemplate(this.templateConfig) && !isJsFile(fileName))); + !isJsFile(fileName)); } /** diff --git a/apps/generator/lib/renderer/nunjucks.js b/apps/generator/lib/renderer/nunjucks.js deleted file mode 100644 index 6e174076d7..0000000000 --- a/apps/generator/lib/renderer/nunjucks.js +++ /dev/null @@ -1,42 +0,0 @@ -const Nunjucks = require('nunjucks'); -const nunjucksExport = module.exports; - -/** - * Configures Nunjucks templating system - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @private - * @param {boolean} debug flag - * @param {string} templateDir path - */ -nunjucksExport.configureNunjucks = (debug, templateDir) => { - const config = {}; - if (debug) config.dev = true; - - return new Nunjucks.Environment(new Nunjucks.FileSystemLoader(templateDir), config); -}; - -/** - * Renders the template with nunjucks and returns a string. - * @deprecated This method is deprecated. For more details, see the release notes: https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0 - * @param {import('@asyncapi/parser').AsyncAPIDocument} asyncapiDocument - * @param {string} templateString template filecontent to be rendered with nunjucks - * @param {string} filePath path to the template file - * @param {Object} extraTemplateData Extra data to pass to the template. - * @param {Object} templateParams provided template parameters - * @param {string} originalAsyncAPI - * @param {} nunjucks instance - * @return {Promise} - */ -nunjucksExport.renderNunjucks = (asyncapiDocument, templateString, filePath, extraTemplateData, templateParams, originalAsyncAPI, nunjucks) => { - return new Promise((resolve, reject) => { - nunjucks.renderString(templateString, { - asyncapi: asyncapiDocument, - params: templateParams, - originalAsyncAPI, - ...extraTemplateData - }, { path: filePath }, (err, result) => { - if (err) return reject(err); - resolve(result); - }); - }); -}; diff --git a/apps/generator/lib/templates/config/validator.js b/apps/generator/lib/templates/config/validator.js index 0a8c6661db..be32be254e 100644 --- a/apps/generator/lib/templates/config/validator.js +++ b/apps/generator/lib/templates/config/validator.js @@ -130,17 +130,17 @@ function isServerProtocolSupported(server, supportedProtocols, paramsServerName) } /** - * Checks if the the provided renderer are supported (no renderer are also supported, defaults to nunjucks) + * Checks if the provided renderer is supported (no renderer is also supported, defaults to react) * * @param {Object} templateConfig Template configuration. */ function isProvidedTemplateRendererSupported(templateConfig) { - const supportedRenderers = [undefined, 'react', 'nunjucks']; + const supportedRenderers = [undefined, 'react']; if (supportedRenderers.includes(templateConfig.renderer)) { return; } - throw new Error(`We do not support '${templateConfig.renderer}' as a renderer for a template. Only 'react' or 'nunjucks' are supported.`); + throw new Error(`We do not support '${templateConfig.renderer}' as a renderer for a template. Only 'react' is supported.`); } /** diff --git a/apps/generator/lib/utils.js b/apps/generator/lib/utils.js index e43d093639..c16f2df5c2 100644 --- a/apps/generator/lib/utils.js +++ b/apps/generator/lib/utils.js @@ -70,16 +70,6 @@ utils.isLocalTemplate = async (templatePath) => { return stats.isSymbolicLink(); }; -/** - * Returns whether or not the template is a react template - * - * @param {object} templateConfig - * @returns {boolean} Whether the template is a React template or not. - */ -utils.isReactTemplate = (templateConfig) => { - return templateConfig !== undefined && templateConfig.renderer === 'react'; -}; - /** * Fetches an AsyncAPI document from the given URL and return its content as string * diff --git a/apps/generator/package.json b/apps/generator/package.json index 877f307b7a..68557aaeaa 100644 --- a/apps/generator/package.json +++ b/apps/generator/package.json @@ -57,7 +57,6 @@ "@asyncapi/generator-hooks": "*", "@asyncapi/generator-react-sdk": "*", "@asyncapi/multi-parser": "^2.1.1", - "@asyncapi/nunjucks-filters": "*", "@asyncapi/parser": "^3.0.14", "@npmcli/arborist": "5.6.3", "@npmcli/config": "^8.0.2", @@ -73,7 +72,6 @@ "loglevel": "^1.6.8", "minimatch": "^3.0.4", "node-fetch": "^2.6.0", - "nunjucks": "^3.2.0", "requireg": "^0.2.2", "resolve-from": "^5.0.0", "resolve-pkg": "^2.0.0", diff --git a/apps/generator/test/__snapshots__/integration.test.js.snap b/apps/generator/test/__snapshots__/integration.test.js.snap index f875aa85cf..984518fb6f 100644 --- a/apps/generator/test/__snapshots__/integration.test.js.snap +++ b/apps/generator/test/__snapshots__/integration.test.js.snap @@ -407,13 +407,3 @@ components: bindingVersion: '0.1.0' " `; - -exports[`Integration testing generateFromFile() to make sure the result of the generation is not changend comparing to snapshot generated using Nunjucks template 1`] = ` -"This is a markdown file for my application. -App name is: **Dummy example with all spec features included** -Version v1 running on production mode - -HTML description: **<p>This is an example of AsyncAPI specification file that is suppose to include all possible features of the AsyncAPI specification. Do not use it on production.</p> -<p>It's goal is to support development of documentation and code generation with the <a href="https://github.com/asyncapi/generator/">AsyncAPI Generator</a> and <a href="https://github.com/search?q=topic%3Aasyncapi+topic%3Agenerator+topic%3Atemplate">Template projects</a></p> -**" -`; diff --git a/apps/generator/test/generator.test.js b/apps/generator/test/generator.test.js index ae0a7660f3..8d81ed9bf7 100644 --- a/apps/generator/test/generator.test.js +++ b/apps/generator/test/generator.test.js @@ -9,7 +9,6 @@ const dummyYAML = fs.readFileSync(path.resolve(__dirname, './docs/dummy.yml'), ' const logMessage = require('./../lib/logMessages.js'); jest.mock('../lib/utils'); -jest.mock('../lib/filtersRegistry'); jest.mock('../lib/hooksRegistry'); jest.mock('../lib/templates/config/validator'); jest.mock('../lib/templates/config/loader'); @@ -110,7 +109,6 @@ describe('Generator', () => { let asyncApiDocumentMock; let xfsMock; let util; - let filtersRegistry; let hooksRegistry; let templateConfigValidator; let templateConfigLoader; @@ -120,7 +118,6 @@ describe('Generator', () => { gen.installTemplate = jest.fn().mockResolvedValue({ name: 'nameOfTestTemplate', path: '/path/to/template/nameOfTestTemplate' }); gen.configureTemplate = jest.fn(); gen.registerHooks = jest.fn(); - gen.registerFilters = jest.fn(); gen.validateTemplateConfig = jest.fn(); gen.generateDirectoryStructure = jest.fn(); gen.launchHook = jest.fn(); @@ -130,7 +127,6 @@ describe('Generator', () => { beforeAll(() => { util = require('../lib/utils'); - filtersRegistry = require('../lib/filtersRegistry'); hooksRegistry = require('../lib/hooksRegistry'); templateConfigValidator = require('../lib/templates/config/validator'); templateConfigLoader = require('../lib/templates/config/loader'); @@ -150,7 +146,6 @@ describe('Generator', () => { expect(templateConfigLoader.loadTemplateConfig).toHaveBeenCalled(); expect(gen.configureTemplate).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.generateDirectoryStructure).toHaveBeenCalledWith(asyncApiDocumentMock); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); @@ -172,7 +167,6 @@ describe('Generator', () => { expect(templateConfigLoader.loadTemplateConfig).toHaveBeenCalled(); expect(gen.configureTemplate).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.generateDirectoryStructure).toHaveBeenCalledWith(asyncApiDocumentMock); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); @@ -192,7 +186,6 @@ describe('Generator', () => { expect(gen.installTemplate).toHaveBeenCalledWith(false); expect(gen.configureTemplate).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.generateDirectoryStructure).toHaveBeenCalledWith(asyncApiDocumentMock); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); @@ -213,7 +206,6 @@ describe('Generator', () => { expect(gen.installTemplate).toHaveBeenCalledWith(true); expect(templateConfigLoader.loadTemplateConfig).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.generateDirectoryStructure).toHaveBeenCalledWith(asyncApiDocumentMock); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); @@ -236,7 +228,6 @@ describe('Generator', () => { expect(gen.installTemplate).toHaveBeenCalledWith(false); expect(templateConfigLoader.loadTemplateConfig).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); expect(unixify(util.exists.mock.calls[0][0])).toEqual('/path/to/template/nameOfTestTemplate/template/file.js'); @@ -258,7 +249,6 @@ describe('Generator', () => { expect(gen.installTemplate).toHaveBeenCalledWith(false); expect(gen.configureTemplate).toHaveBeenCalled(); expect(hooksRegistry.registerHooks).toHaveBeenCalled(); - expect(filtersRegistry.registerFilters).toHaveBeenCalled(); expect(templateConfigValidator.validateTemplateConfig).toHaveBeenCalled(); expect(gen.launchHook).toHaveBeenCalledWith('generate:after'); expect(gen.originalAsyncAPI).toBe(dummyYAML); diff --git a/apps/generator/test/integration.test.js b/apps/generator/test/integration.test.js index 0c95805fc8..f7a8e1539e 100644 --- a/apps/generator/test/integration.test.js +++ b/apps/generator/test/integration.test.js @@ -12,7 +12,6 @@ const refSpecFolder = path.resolve(__dirname, './docs/'); const crypto = require('crypto'); const mainTestResultPath = path.resolve(__dirname, './temp/integrationTestResult'); const reactTemplate = path.resolve(__dirname, './test-templates/react-template'); -const nunjucksTemplate = path.resolve(__dirname, './test-templates/nunjucks-template'); //temp location where react template is copied for each test that does some mutation on template files const copyOfReactTemplate = path.resolve(__dirname, './temp/reactTemplate'); @@ -44,17 +43,6 @@ describe('Integration testing generateFromFile() to make sure the result of the } `; - it('generated using Nunjucks template', async () => { - const outputDir = generateFolderName(); - const generator = new Generator(nunjucksTemplate, outputDir, { - forceWrite: true, - templateParams: { version: 'v1', mode: 'production' } - }); - await generator.generateFromFile(dummySpecPath); - const file = await readFile(path.join(outputDir, testOutputFile), 'utf8'); - expect(file).toMatchSnapshot(); - }); - it('generate using React template', async () => { const outputDir = generateFolderName(); const generator = new Generator(reactTemplate, outputDir, { diff --git a/apps/generator/test/templateConfigValidator.test.js b/apps/generator/test/templateConfigValidator.test.js index b369da9174..1a448b183e 100644 --- a/apps/generator/test/templateConfigValidator.test.js +++ b/apps/generator/test/templateConfigValidator.test.js @@ -33,20 +33,12 @@ describe('Template Configuration Validator', () => { const isValid = validateTemplateConfig(templateConfig, templateParams, asyncapiDocument); expect(isValid).toStrictEqual(true); }); - it('Validation doesn\'t throw errors for correct nunjucks renderer', () => { - const templateParams = {}; - const templateConfig = { - renderer: 'nunjucks' - }; - const isValid = validateTemplateConfig(templateConfig, templateParams, asyncapiDocument); - expect(isValid).toStrictEqual(true); - }); it('Validation throw error if renderer not supported', () => { const templateParams = {}; const templateConfig = { renderer: 'non_existing' }; - expect(() => validateTemplateConfig(templateConfig, templateParams)).toThrow('We do not support \'non_existing\' as a renderer for a template. Only \'react\' or \'nunjucks\' are supported.'); + expect(() => validateTemplateConfig(templateConfig, templateParams)).toThrow('We do not support \'non_existing\' as a renderer for a template. Only \'react\' is supported.'); }); it('Validation throw error if template is not compatible because of generator version', () => { diff --git a/apps/generator/test/test-project/package.json b/apps/generator/test/test-project/package.json index 130239d59d..8a5c8543df 100644 --- a/apps/generator/test/test-project/package.json +++ b/apps/generator/test/test-project/package.json @@ -18,7 +18,6 @@ "moduleNameMapper": { "^nimma/legacy$": "/../../../../node_modules/nimma/dist/legacy/cjs/index.js", "^nimma/(.*)": "/../../../../node_modules/nimma/dist/cjs/$1", - "^@asyncapi/nunjucks-filters$": "/../../../nunjucks-filters" , "^@asyncapi/generator-react-sdk$": "/../../../react-sdk" } } diff --git a/apps/generator/test/test-templates/nunjucks-template/package-lock.json b/apps/generator/test/test-templates/nunjucks-template/package-lock.json deleted file mode 100644 index 5dd96d0446..0000000000 --- a/apps/generator/test/test-templates/nunjucks-template/package-lock.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "nunjucks-template", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "nunjucks-template", - "version": "0.0.1" - } - } -} diff --git a/apps/generator/test/test-templates/nunjucks-template/package.json b/apps/generator/test/test-templates/nunjucks-template/package.json deleted file mode 100644 index 4aca527254..0000000000 --- a/apps/generator/test/test-templates/nunjucks-template/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "nunjucks-template", - "version": "0.0.1", - "description": "Simple nunjucks-based template that showcases different generator features that we can test in integration tests", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "generator": { - "parameters": { - "version": { - "description": "Custom version to be used" - }, - "mode": { - "description": "development or production" - } - } - } -} \ No newline at end of file diff --git a/apps/generator/test/test-templates/nunjucks-template/template/test-file.md b/apps/generator/test/test-templates/nunjucks-template/template/test-file.md deleted file mode 100644 index 58eacdf4bc..0000000000 --- a/apps/generator/test/test-templates/nunjucks-template/template/test-file.md +++ /dev/null @@ -1,5 +0,0 @@ -This is a markdown file for my application. -App name is: **{{ asyncapi.info().title() }}** -Version {{params.version}} running on {{params.mode}} mode - -HTML description: **{{ asyncapi.info().description() | markdown2html }}** \ No newline at end of file diff --git a/apps/generator/test/test-templates/react-template/.ageneratorrc b/apps/generator/test/test-templates/react-template/.ageneratorrc index 0a97d4cb8c..a981519594 100644 --- a/apps/generator/test/test-templates/react-template/.ageneratorrc +++ b/apps/generator/test/test-templates/react-template/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 hooks: "@asyncapi/generator-hooks": createAsyncapiFile diff --git a/apps/generator/test/utils.test.js b/apps/generator/test/utils.test.js index fa2e72beaa..9ebc037073 100644 --- a/apps/generator/test/utils.test.js +++ b/apps/generator/test/utils.test.js @@ -96,34 +96,4 @@ describe('Utils', () => { expect(isJsFile).toBeFalsy(); }); }); - - describe('#isReactTemplate', () => { - it('should return true if it is a react template', () => { - const templateConfig = { - renderer: 'react' - }; - const isReactTemplate = utils.isReactTemplate(templateConfig); - expect(isReactTemplate).toBeTruthy(); - }); - - it('should return false if it is not a react template', () => { - const templateConfig = { - renderer: 'nunjucks' - }; - const isReactTemplate = utils.isReactTemplate(templateConfig); - expect(isReactTemplate).toBeFalsy(); - }); - - it('should return false if template config is not specified', () => { - const templateConfig = {}; - const isReactTemplate = utils.isReactTemplate(templateConfig); - expect(isReactTemplate).toBeFalsy(); - }); - - it('should return false if template config is undefined', () => { - const templateConfig = undefined; - const isReactTemplate = utils.isReactTemplate(templateConfig); - expect(isReactTemplate).toBeFalsy(); - }); - }); }); diff --git a/apps/nunjucks-filters/docs/api.md b/apps/nunjucks-filters/docs/api.md deleted file mode 100644 index 42644bd32d..0000000000 --- a/apps/nunjucks-filters/docs/api.md +++ /dev/null @@ -1,118 +0,0 @@ -## Functions - -
-
markdown2html()string
-

Turns Markdown into HTML

-
-
log()
-

Logs input to server logs to stdout

-
-
logError()
-

Logs input to server as error to stderr

-
-
getPayloadExamples()object
-

Extracts example from the message payload

-
-
getHeadersExamples()object
-

Extracts example from the message header

-
-
generateExample()string
-

Generate string with example from provided schema

-
-
oneLine()string
-

Turns multiline string into one liner

-
-
docline()string
-

Generate JSDoc from message properties of the header and the payload

-
-
replaceServerVariablesWithValues()string
-

Helper function to replace server variables in the url with actual values

-
-
- - - -## markdown2html() ⇒ string -Turns Markdown into HTML - -**Kind**: global function -**Returns**: string - HTML string -**Md**: string - String with valid Markdown syntax - - -## log() -Logs input to server logs to stdout - -**Kind**: global function -**Str**: string Info that is logged - - -## logError() -Logs input to server as error to stderr - -**Kind**: global function -**Str**: string Info that is logged - - -## getPayloadExamples() ⇒ object -Extracts example from the message payload - -**Kind**: global function -**Msg**: object - Parser Message function - - -## getHeadersExamples() ⇒ object -Extracts example from the message header - -**Kind**: global function -**Msg**: object - Parser Message function - - -## generateExample() ⇒ string -Generate string with example from provided schema - -**Kind**: global function -**Schema**: object - Schema object as JSON and not Schema model map -**Options**: object - Options object. Supported options are listed here https://github.com/Redocly/openapi-sampler#usage - - -## oneLine() ⇒ string -Turns multiline string into one liner - -**Kind**: global function -**Str**: string - Any multiline string - - -## docline() ⇒ string -Generate JSDoc from message properties of the header and the payload - -**Kind**: global function -**Returns**: string - JSDoc compatible entry -**Field**: object - Property object -**Fieldname**: string - Name of documented property -**Scopepropname**: string - Name of param for JSDocs -**Example** -```js -docline( - Schema { - _json: { - type: 'integer', - minimum: 0, - maximum: 100, - 'x-parser-schema-id': '' - } - }, - my-app-header, - options.message.headers -) - -Returned value will be -> * @param {integer} options.message.headers.my-app-header -``` - - -## replaceServerVariablesWithValues() ⇒ string -Helper function to replace server variables in the url with actual values - -**Kind**: global function -**Url**: string - url string -**Serverservervariables**: Object - Variables model map diff --git a/apps/nunjucks-filters/package.json b/apps/nunjucks-filters/package.json deleted file mode 100644 index c9e03b5137..0000000000 --- a/apps/nunjucks-filters/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@asyncapi/nunjucks-filters", - "version": "2.1.0", - "description": "Library with Nunjucks filters for templates using AsyncAPI Generator", - "private": false, - "main": "src/index.js", - "scripts": { - "test": "ava", - "docs": "jsdoc2md src/customFilters.js > docs/api.md", - "lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .", - "lint:fix": "eslint --fix --config ../../.eslintrc --ignore-path ../../.eslintignore .", - "generate:assets": "npm run docs", - "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/asyncapi/generator.git" - }, - "keywords": [ - "asyncapi", - "generator", - "nunjucks" - ], - "author": "Lukasz Gornicki ", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/asyncapi/generator/issues" - }, - "publishConfig": { - "access": "public" - }, - "homepage": "https://github.com/asyncapi/generator#readme", - "devDependencies": { - "@asyncapi/parser": "^1.15.1", - "ava": "^4.3.3", - "eslint": "^6.8.0", - "eslint-plugin-sonarjs": "^0.5.0", - "jsdoc-to-markdown": "^7.1.1" - }, - "dependencies": { - "lodash": "^4.17.15", - "markdown-it": "^12.3.2", - "openapi-sampler": "1.0.0-beta.17" - }, - "ava": { - "files": [ - "./src/*.test.js" - ] - }, - "release": { - "branches": [ - "master" - ] - } -} diff --git a/apps/nunjucks-filters/src/customFilters.js b/apps/nunjucks-filters/src/customFilters.js deleted file mode 100644 index 0914c821a6..0000000000 --- a/apps/nunjucks-filters/src/customFilters.js +++ /dev/null @@ -1,226 +0,0 @@ -const Markdown = require('markdown-it'); -const _ = require('lodash'); -const OpenAPISampler = require('openapi-sampler'); - -const filter = module.exports; - -/** - * Turns Markdown into HTML - * @md {string} - String with valid Markdown syntax - * @returns {string} HTML string - */ -function markdown2html(md) { - return Markdown().render(md || ''); -} -filter.markdown2html = markdown2html; - -/** - * Logs input to server logs to stdout - * @str {string} Info that is logged - */ -function log(str) { - console.log(str); -} -filter.log = log; - -/** - * Logs input to server as error to stderr - * @str {string} Info that is logged - */ -function logError(str) { - console.error(str); -} -filter.logError = logError; - -/** - * Extracts example from the message payload - * @msg {object} - Parser Message function - * @returns {object} - */ -function getPayloadExamples(msg) { - const examples = msg.examples(); - if (Array.isArray(examples) && examples.some(e => e.payload)) { - // Instead of flat or flatmap use this. - const messageExamples = _.flatMap(examples) - .map(e => { - if (!e.payload) return; - return { - name: e.name, - summary: e.summary, - example: e.payload, - }; - }) - .filter(Boolean); - - if (messageExamples.length > 0) { - return messageExamples; - } - } - - const payload = msg.payload(); - if (payload?.examples()) { - return payload.examples().map(example => ({ example })); - } -} -filter.getPayloadExamples = getPayloadExamples; - -/** - * Extracts example from the message header - * @msg {object} - Parser Message function - * @returns {object} - */ -function getHeadersExamples(msg) { - const examples = msg.examples(); - if (Array.isArray(examples) && examples.some(e => e.headers)) { - // Instead of flat or flatmap use this. - const messageExamples = _.flatMap(examples) - .map(e => { - if (!e.headers) return; - return { - name: e.name, - summary: e.summary, - example: e.headers, - }; - }) - .filter(Boolean); - - if (messageExamples.length > 0) { - return messageExamples; - } - } - - const headers = msg.headers(); - if (headers?.examples()) { - return headers.examples().map(example => ({ example })); - } -} -filter.getHeadersExamples = getHeadersExamples; - -/** - * Generate string with example from provided schema - * @schema {object} - Schema object as JSON and not Schema model map - * @options {object} - Options object. Supported options are listed here https://github.com/Redocly/openapi-sampler#usage - * @returns {string} - */ -function generateExample(schema, options) { - return JSON.stringify(OpenAPISampler.sample(schema, options || {}) || '', null, 2); -} -filter.generateExample = generateExample; - -/** - * Turns multiline string into one liner - * @str {string} - Any multiline string - * @returns {string} - */ -function oneLine(str) { - if (!str) return str; - return str.replace(/\n/g, ' '); -} -filter.oneLine = oneLine; - -/** - * Generate JSDoc from message properties of the header and the payload - * - * @example - * docline( - * Schema { - * _json: { - * type: 'integer', - * minimum: 0, - * maximum: 100, - * 'x-parser-schema-id': '' - * } - * }, - * my-app-header, - * options.message.headers - * ) - * - * Returned value will be -> * @param {integer} options.message.headers.my-app-header - * - * @field {object} - Property object - * @fieldName {string} - Name of documented property - * @scopePropName {string} - Name of param for JSDocs - * @returns {string} JSDoc compatible entry - */ -function docline(field, fieldName, scopePropName) { - /* eslint-disable sonarjs/cognitive-complexity */ - const getType = (f) => f.type() || 'string'; - const getDescription = (f) => f.description() ? ` - ${f.description().replace(/\r?\n|\r/g, '')}` : ''; - const getDefault = (f, type) => (f.default() && type === 'string') ? `'${f.default()}'` : f.default(); - const getPName = (pName) => pName ? `${pName}.` : ''; - - const buildLineCore = (type, def, pName, fName) => { - const paramName = `${pName}${fName}`; - const defaultValue = def !== undefined ? `=${def}` : ''; - return `* @param {${type}} ${paramName}${defaultValue}`; - }; - - const buildLine = (f, fName, pName) => { - const type = getType(f); - const def = getDefault(f, type); - const line = buildLineCore(type, def, getPName(pName), fName); - return line + (type === 'object' ? '' : getDescription(f)); - }; - - const buildObjectLines = (f, fName, pName) => { - const properties = f.properties(); - const mainLine = buildLine(f, fName, pName); - - return `${mainLine }\n${ Object.keys(properties).map((propName) => - buildLine(properties[propName], propName, `${getPName(pName)}${fName}`) - ).join('\n')}`; - }; - - return getType(field) === 'object' - ? buildObjectLines(field, fieldName, scopePropName) - : buildLine(field, fieldName, scopePropName); -} -filter.docline = docline; - -/** - * Helper function to replace server variables in the url with actual values - * @url {string} - url string - * @serverserverVariables {Object} - Variables model map - * @returns {string} - */ -function replaceServerVariablesWithValues(url, serverVariables) { - const getVariablesNamesFromUrl = (inputUrl) => { - const result = []; - let array = []; - - const regEx = /{([^}]+)}/g; - - while ((array = regEx.exec(inputUrl)) !== null) { - result.push([array[0], array[1]]); - } - - return result; - }; - - const getVariableValue = (object, variable) => { - const keyValue = object[variable]._json; - - if (keyValue) return keyValue.default ?? keyValue.enum?.[0]; - }; - - const urlVariables = getVariablesNamesFromUrl(url); - const declaredVariables = - urlVariables.filter(el => serverVariables.hasOwnProperty(el[1])); - - if (urlVariables.length !== 0 && declaredVariables.length !== 0) { - let value; - let newUrl = url; - - urlVariables.forEach(el => { - value = getVariableValue(serverVariables, el[1]); - - if (value) { - newUrl = newUrl.replace(el[0], value); - } - }); - return newUrl; - } - return url; -} - -filter.replaceServerVariablesWithValues = replaceServerVariablesWithValues; diff --git a/apps/nunjucks-filters/src/customFilters.test.js b/apps/nunjucks-filters/src/customFilters.test.js deleted file mode 100644 index dd1e4718dd..0000000000 --- a/apps/nunjucks-filters/src/customFilters.test.js +++ /dev/null @@ -1,213 +0,0 @@ -const test = require('ava'); -const { markdown2html, generateExample, getPayloadExamples, getHeadersExamples, oneLine, replaceServerVariablesWithValues } = require('./customFilters'); -const Message = require('@asyncapi/parser/lib/models/message'); -const ServerVariable = require('@asyncapi/parser/lib/models/server-variable'); - -const exampleName = 'example name'; -const exampleSummary = 'example summary'; - -function messageExampleMock(firstType = 'payload', secondType = 'payload') { - return [ - { - name: exampleName, - summary: exampleSummary, - [firstType]: { foo: 'bar' }, - }, - { - name: exampleName, - summary: exampleSummary, - [secondType]: { bar: 'foo' }, - }, - ]; -} - -test('markdown2html returns valid html', t => { - const is = t.is; - const value = markdown2html('**test**'); - const expected = '

test

\n'; - - is(value, expected); -}); - -test('generateExample returns valid example', t => { - const is = t.is; - const value = generateExample({ type: 'object', properties: { email: { type: 'string', format: 'email' } }, 'x-parser-schema-id': '' }); - const expected = '{\n "email": "user@example.com"\n}'; - - is(value, expected); -}); - -test('oneLine returns one liner string', t => { - const is = t.is; - const value = oneLine(`This is -multiline`); - const expected = 'This is multiline'; - - is(value, expected); -}); - -test('.getPayloadExamples() should return empty examples', t => { - const result = getPayloadExamples( - new Message({ - examples: messageExampleMock('headers', 'headers'), - }), - ); - t.is(result, undefined); -}); - -test('.getPayloadExamples() should return payload examples', t => { - const result = getPayloadExamples( - new Message({ - examples: messageExampleMock('payload', 'payload'), - }), - ); - t.deepEqual(result, messageExampleMock('example', 'example')); -}); - -test('.getPayloadExamples() should return examples from payload schema', t => { - const result = getPayloadExamples( - new Message({ - payload: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - }), - ); - t.deepEqual(result, [ - { - example: { foo: 'bar' }, - }, - { - example: { bar: 'foo' }, - }, - ]); -}); - -test('.getPayloadExamples() should return examples from payload schema - case when only headers examples are defined in `examples` field', t => { - const result = getPayloadExamples( - new Message({ - payload: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - examples: messageExampleMock('headers', 'headers'), - }), - ); - t.deepEqual(result, [ - { - example: { foo: 'bar' }, - }, - { - example: { bar: 'foo' }, - }, - ]); -}); - -test('.getPayloadExamples() should return examples for payload - case when at least one item in `examples` array has `payload` field with existing `payload.examples`', t => { - const result = getPayloadExamples( - new Message({ - payload: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - examples: messageExampleMock('headers', 'payload'), - }), - ); - t.deepEqual(result, [ - { - name: exampleName, - summary: exampleSummary, - example: { bar: 'foo' }, - }, - ]); -}); - -test('.getHeadersExamples() should return empty examples', t => { - const result = getHeadersExamples( - new Message({ - examples: messageExampleMock('payload', 'payload'), - }), - ); - t.is(result, undefined); -}); - -test('.getHeadersExamples() should return headers examples', t => { - const result = getHeadersExamples( - new Message({ - examples: messageExampleMock('headers', 'headers'), - }), - ); - t.deepEqual(result, messageExampleMock('example', 'example')); -}); - -test('.getHeadersExamples() should return examples from headers schema', t => { - const result = getHeadersExamples( - new Message({ - headers: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - }), - ); - t.deepEqual(result, [ - { - example: { foo: 'bar' }, - }, - { - example: { bar: 'foo' }, - }, - ]); -}); - -test('.getHeadersExamples() should return examples from headers schema - case when only payload examples are defined in `examples` field', t => { - const result = getHeadersExamples( - new Message({ - headers: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - examples: messageExampleMock('payload', 'payload'), - }), - ); - t.deepEqual(result, [ - { - example: { foo: 'bar' }, - }, - { - example: { bar: 'foo' }, - }, - ]); -}); - -test('.getHeadersExamples() should return examples for headers - case when at least one item in `examples` array has `headers` field with existing `headers.examples`', t => { - const result = getHeadersExamples( - new Message({ - headers: { - examples: [{ foo: 'bar' }, { bar: 'foo' }], - }, - examples: messageExampleMock('payload', 'headers'), - }), - ); - t.deepEqual(result, [ - { - name: exampleName, - summary: exampleSummary, - example: { bar: 'foo' }, - }, - ]); -}); - -test('.replaceServerVariablesWithValues() should replace placeholder with default value', t => { - const is = t.is; - const inputUrl = 'localhost:{port}'; - const serverVariables = { port: new ServerVariable({ default: '9092', enum: ['8080','8883'] }) }; - const expected = 'localhost:9092'; - const value = replaceServerVariablesWithValues(inputUrl, serverVariables); - - is(value, expected); -}); - -test('.replaceServerVariablesWithValues() should replace placeholder with first enum value when no default is specified', t => { - const is = t.is; - const inputUrl = 'localhost:{port}'; - const serverVariables = { port: new ServerVariable({ enum: ['8080','8883'] }) }; - const expected = 'localhost:8080'; - const value = replaceServerVariablesWithValues(inputUrl, serverVariables); - - is(value, expected); -}); \ No newline at end of file diff --git a/apps/nunjucks-filters/src/index.js b/apps/nunjucks-filters/src/index.js deleted file mode 100644 index 4b0ea87f9b..0000000000 --- a/apps/nunjucks-filters/src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const customFilters = require('./customFilters'); -const lodashFilters = require('./lodashFilters'); - -module.exports = { - ...lodashFilters, - ...customFilters}; \ No newline at end of file diff --git a/apps/nunjucks-filters/src/lodashFilters.js b/apps/nunjucks-filters/src/lodashFilters.js deleted file mode 100644 index aa015dd00a..0000000000 --- a/apps/nunjucks-filters/src/lodashFilters.js +++ /dev/null @@ -1,6 +0,0 @@ -const _ = require('lodash'); -const filter = module.exports; - -Object.getOwnPropertyNames(_).forEach((key) => { - if (_.isFunction(_[key])) filter[key] = _[key]; -}); \ No newline at end of file diff --git a/apps/nunjucks-filters/src/lodashFilters.test.js b/apps/nunjucks-filters/src/lodashFilters.test.js deleted file mode 100644 index eab4717202..0000000000 --- a/apps/nunjucks-filters/src/lodashFilters.test.js +++ /dev/null @@ -1,6 +0,0 @@ -const test = require('ava'); -const filter = require('./lodashFilters'); - -test('lodash isArray function is available and works as expected', t => { - t.truthy(filter.isArray([])); -}); diff --git a/package.json b/package.json index 79b83f17b5..ac06986a0c 100644 --- a/package.json +++ b/package.json @@ -20,10 +20,6 @@ "generator:lint": "turbo run lint --filter=@asyncapi/generator", "generator:lint:tpl:validator": "turbo run lint:tpl:validator --filter=@asyncapi/generator", "generator:update:snapshot": "turbo run test:integration:update --filter=@asyncapi/generator", - "nunjucks-filters:test": "turbo run test --filter=@asyncapi/nunjucks-filters", - "nunjucks-filters:docs": "turbo run docs --filter=@asyncapi/nunjucks-filters", - "nunjucks-filters:lint": "turbo run lint --filter=@asyncapi/nunjucks-filters", - "nunjucks-filters:lint:fix": "turbo run lint:fix --filter=@asyncapi/nunjucks-filters", "components:test": "turbo run test --filter=@asyncapi/generator-components", "components:build": "turbo run build --filter=@asyncapi/generator-components", "components:lint": "turbo run lint --filter=@asyncapi/generator-components", diff --git a/packages/templates/clients/kafka/java/quarkus/.ageneratorrc b/packages/templates/clients/kafka/java/quarkus/.ageneratorrc index 79ad07b277..237ba8b9cf 100644 --- a/packages/templates/clients/kafka/java/quarkus/.ageneratorrc +++ b/packages/templates/clients/kafka/java/quarkus/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 generator: '>=1.3.0 <3.0.0' parameters: diff --git a/packages/templates/clients/websocket/dart/.ageneratorrc b/packages/templates/clients/websocket/dart/.ageneratorrc index 18041f1c5b..16723a5400 100644 --- a/packages/templates/clients/websocket/dart/.ageneratorrc +++ b/packages/templates/clients/websocket/dart/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 parameters: server: diff --git a/packages/templates/clients/websocket/java/quarkus/.ageneratorrc b/packages/templates/clients/websocket/java/quarkus/.ageneratorrc index ab6936e472..4abf079787 100644 --- a/packages/templates/clients/websocket/java/quarkus/.ageneratorrc +++ b/packages/templates/clients/websocket/java/quarkus/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 generator: '>=1.3.0 <3.0.0' parameters: diff --git a/packages/templates/clients/websocket/javascript/.ageneratorrc b/packages/templates/clients/websocket/javascript/.ageneratorrc index 7b5a8e6fb5..a3f5ed0801 100644 --- a/packages/templates/clients/websocket/javascript/.ageneratorrc +++ b/packages/templates/clients/websocket/javascript/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 parameters: server: diff --git a/packages/templates/clients/websocket/python/.ageneratorrc b/packages/templates/clients/websocket/python/.ageneratorrc index 3c45ae84ec..8467d7f0b8 100644 --- a/packages/templates/clients/websocket/python/.ageneratorrc +++ b/packages/templates/clients/websocket/python/.ageneratorrc @@ -1,4 +1,3 @@ -renderer: react apiVersion: v3 parameters: server: From 703d0a64e66ba398b5df0531b9699123ef10af9a Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 09:29:51 +0100 Subject: [PATCH 03/14] refresh lock --- package-lock.json | 1504 ++++----------------------------------------- 1 file changed, 107 insertions(+), 1397 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8932f1d666..8431c461a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ }, "apps/generator": { "name": "@asyncapi/generator", - "version": "2.8.3", + "version": "2.8.4", "license": "Apache-2.0", "dependencies": { "@asyncapi/generator-components": "*", @@ -30,7 +30,6 @@ "@asyncapi/generator-hooks": "*", "@asyncapi/generator-react-sdk": "*", "@asyncapi/multi-parser": "^2.1.1", - "@asyncapi/nunjucks-filters": "*", "@asyncapi/parser": "^3.0.14", "@npmcli/arborist": "5.6.3", "@npmcli/config": "^8.0.2", @@ -46,7 +45,6 @@ "loglevel": "^1.6.8", "minimatch": "^3.0.4", "node-fetch": "^2.6.0", - "nunjucks": "^3.2.0", "requireg": "^0.2.2", "resolve-from": "^5.0.0", "resolve-pkg": "^2.0.0", @@ -192,6 +190,7 @@ "apps/nunjucks-filters": { "name": "@asyncapi/nunjucks-filters", "version": "2.1.0", + "extraneous": true, "license": "Apache-2.0", "dependencies": { "lodash": "^4.17.15", @@ -206,77 +205,6 @@ "jsdoc-to-markdown": "^7.1.1" } }, - "apps/nunjucks-filters/node_modules/@apidevtools/json-schema-ref-parser": { - "version": "9.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - } - }, - "apps/nunjucks-filters/node_modules/@apidevtools/json-schema-ref-parser/node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "apps/nunjucks-filters/node_modules/@asyncapi/parser": { - "version": "1.18.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^9.0.6", - "@asyncapi/specs": "^4.1.1", - "@fmvilas/pseudo-yaml-ast": "^0.3.1", - "ajv": "^6.10.1", - "js-yaml": "^3.13.1", - "json-to-ast": "^2.1.0", - "lodash.clonedeep": "^4.5.0", - "node-fetch": "^2.6.0", - "tiny-merge-patch": "^0.1.2" - } - }, - "apps/nunjucks-filters/node_modules/@asyncapi/specs": { - "version": "4.3.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.11" - } - }, - "apps/nunjucks-filters/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "apps/nunjucks-filters/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "apps/nunjucks-filters/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, "apps/react-sdk": { "name": "@asyncapi/generator-react-sdk", "version": "1.1.3", @@ -2498,10 +2426,6 @@ "parserapiv2": "npm:@asyncapi/parser@3.0.0-next-major-spec.8" } }, - "node_modules/@asyncapi/nunjucks-filters": { - "resolved": "apps/nunjucks-filters", - "link": true - }, "node_modules/@asyncapi/openapi-schema-parser": { "version": "3.0.24", "license": "Apache-2.0", @@ -6129,235 +6053,6 @@ "version": "2.8.1", "license": "0BSD" }, - "node_modules/@swc/core": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.29.tgz", - "integrity": "sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.21" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.11.29", - "@swc/core-darwin-x64": "1.11.29", - "@swc/core-linux-arm-gnueabihf": "1.11.29", - "@swc/core-linux-arm64-gnu": "1.11.29", - "@swc/core-linux-arm64-musl": "1.11.29", - "@swc/core-linux-x64-gnu": "1.11.29", - "@swc/core-linux-x64-musl": "1.11.29", - "@swc/core-win32-arm64-msvc": "1.11.29", - "@swc/core-win32-ia32-msvc": "1.11.29", - "@swc/core-win32-x64-msvc": "1.11.29" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.17" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.29.tgz", - "integrity": "sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.29.tgz", - "integrity": "sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.29.tgz", - "integrity": "sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.29.tgz", - "integrity": "sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.29.tgz", - "integrity": "sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.29.tgz", - "integrity": "sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.29.tgz", - "integrity": "sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.29.tgz", - "integrity": "sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.29.tgz", - "integrity": "sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.11.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.29.tgz", - "integrity": "sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0", - "optional": true, - "peer": true - }, - "node_modules/@swc/types": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.21.tgz", - "integrity": "sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==", - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, "node_modules/@tootallnate/once": { "version": "1.1.2", "dev": true, @@ -6747,10 +6442,6 @@ "dev": true, "license": "ISC" }, - "node_modules/a-sync-waterfall": { - "version": "1.0.1", - "license": "MIT" - }, "node_modules/abab": { "version": "2.0.6", "dev": true, @@ -6846,21 +6537,6 @@ "node": ">= 8.0.0" } }, - "node_modules/aggregate-error": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ajv": { "version": "8.17.1", "license": "MIT", @@ -7103,14 +6779,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-find-index": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-includes": { "version": "3.1.9", "dev": true, @@ -7132,14 +6800,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -7237,25 +6897,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrgv": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/arrify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/asap": { "version": "2.0.6", "license": "MIT" @@ -7318,104 +6959,8 @@ "gulp-header": "^1.7.1" } }, - "node_modules/ava": { - "version": "4.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.7.1", - "acorn-walk": "^8.2.0", - "ansi-styles": "^6.1.0", - "arrgv": "^1.0.2", - "arrify": "^3.0.0", - "callsites": "^4.0.0", - "cbor": "^8.1.0", - "chalk": "^5.0.1", - "chokidar": "^3.5.3", - "chunkd": "^2.0.1", - "ci-info": "^3.3.1", - "ci-parallel-vars": "^1.0.1", - "clean-yaml-object": "^0.1.0", - "cli-truncate": "^3.1.0", - "code-excerpt": "^4.0.0", - "common-path-prefix": "^3.0.0", - "concordance": "^5.0.4", - "currently-unhandled": "^0.4.1", - "debug": "^4.3.4", - "del": "^6.1.1", - "emittery": "^0.11.0", - "figures": "^4.0.1", - "globby": "^13.1.1", - "ignore-by-default": "^2.1.0", - "indent-string": "^5.0.0", - "is-error": "^2.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "matcher": "^5.0.0", - "mem": "^9.0.2", - "ms": "^2.1.3", - "p-event": "^5.0.1", - "p-map": "^5.4.0", - "picomatch": "^2.3.1", - "pkg-conf": "^4.0.0", - "plur": "^5.1.0", - "pretty-ms": "^7.0.1", - "resolve-cwd": "^3.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.5", - "strip-ansi": "^7.0.1", - "supertap": "^3.0.1", - "temp-dir": "^2.0.0", - "write-file-atomic": "^4.0.1", - "yargs": "^17.5.1" - }, - "bin": { - "ava": "entrypoints/cli.mjs" - }, - "engines": { - "node": ">=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=18" - }, - "peerDependencies": { - "@ava/typescript": "*" - }, - "peerDependenciesMeta": { - "@ava/typescript": { - "optional": true - } - } - }, - "node_modules/ava/node_modules/ci-info": { - "version": "3.9.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ava/node_modules/is-plain-object": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ava/node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", + "node_modules/available-typed-arrays": { + "version": "1.0.7", "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" @@ -7691,11 +7236,6 @@ "dev": true, "license": "MIT" }, - "node_modules/blueimp-md5": { - "version": "2.19.0", - "dev": true, - "license": "MIT" - }, "node_modules/brace-expansion": { "version": "1.1.12", "license": "MIT", @@ -7994,17 +7534,6 @@ "version": "1.0.2", "license": "MIT" }, - "node_modules/callsites": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/camel-case": { "version": "4.1.2", "license": "MIT", @@ -8080,28 +7609,6 @@ "node": ">= 10" } }, - "node_modules/cbor": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "nofilter": "^3.1.0" - }, - "engines": { - "node": ">=12.19" - } - }, - "node_modules/chalk": { - "version": "5.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/change-case": { "version": "4.1.2", "license": "MIT", @@ -8166,11 +7673,6 @@ "node": ">=10" } }, - "node_modules/chunkd": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/ci-info": { "version": "4.3.0", "funding": [ @@ -8184,11 +7686,6 @@ "node": ">=8" } }, - "node_modules/ci-parallel-vars": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/cjs-module-lexer": { "version": "1.4.3", "dev": true, @@ -8247,28 +7744,6 @@ "node": ">=0.10.0" } }, - "node_modules/clean-stack": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clean-yaml-object": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "dev": true, @@ -8280,21 +7755,6 @@ "node": ">=8" } }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-width": { "version": "3.0.0", "dev": true, @@ -8366,17 +7826,6 @@ "node": ">= 0.12.0" } }, - "node_modules/code-excerpt": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "convert-to-spaces": "^2.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/coffee-script": { "version": "1.12.7", "dev": true, @@ -8544,11 +7993,6 @@ "version": "1.0.1", "license": "ISC" }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/common-sequence": { "version": "2.0.2", "dev": true, @@ -8593,24 +8037,6 @@ "source-map": "^0.6.1" } }, - "node_modules/concordance": { - "version": "5.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "date-time": "^3.1.0", - "esutils": "^2.0.3", - "fast-diff": "^1.2.0", - "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "md5-hex": "^3.0.1", - "semver": "^7.3.2", - "well-known-symbols": "^2.0.0" - }, - "engines": { - "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14" - } - }, "node_modules/config-master": { "version": "3.1.0", "dev": true, @@ -8655,14 +8081,6 @@ "version": "2.0.0", "license": "MIT" }, - "node_modules/convert-to-spaces": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -8852,17 +8270,6 @@ "dev": true, "license": "MIT" }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/data-urls": { "version": "2.0.0", "dev": true, @@ -8921,17 +8328,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-time": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "time-zone": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/debug": { "version": "4.4.1", "license": "MIT", @@ -9058,104 +8454,6 @@ "node": ">=0.10.0" } }, - "node_modules/del": { - "version": "6.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/ignore": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/del/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/p-map": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, @@ -9214,17 +8512,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dmd": { "version": "6.2.3", "dev": true, @@ -9309,40 +8596,10 @@ "version": "1.5.190", "license": "ISC" }, - "node_modules/emittery": { - "version": "0.11.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, "node_modules/emoji-regex": { "version": "9.2.2", "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -9355,7 +8612,9 @@ }, "node_modules/entities": { "version": "2.1.0", + "dev": true, "license": "BSD-2-Clause", + "peer": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -9561,17 +8820,6 @@ "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/escodegen": { "version": "2.1.0", "dev": true, @@ -10219,26 +9467,6 @@ "version": "3.1.3", "license": "MIT" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "license": "MIT" @@ -10286,21 +9514,6 @@ "bser": "2.1.1" } }, - "node_modules/figures": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/file-entry-cache": { "version": "5.0.1", "dev": true, @@ -10450,10 +9663,6 @@ "node": ">=0.10.0" } }, - "node_modules/foreach": { - "version": "2.0.6", - "license": "MIT" - }, "node_modules/foreachasync": { "version": "3.0.0", "license": "Apache2" @@ -10875,54 +10084,17 @@ } }, "node_modules/globalthis": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "13.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "4.0.0", - "dev": true, + "version": "1.0.4", "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gopd": { @@ -10961,14 +10133,6 @@ "node": ">=0.10.0" } }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/gulp-header": { "version": "1.8.12", "dev": true, @@ -11262,14 +10426,6 @@ "node": ">= 4" } }, - "node_modules/ignore-by-default": { - "version": "2.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10 <11 || >=12 <13 || >=14" - } - }, "node_modules/ignore-walk": { "version": "5.0.1", "license": "ISC", @@ -11353,17 +10509,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/infer-owner": { "version": "1.0.4", "license": "ISC" @@ -11525,14 +10670,6 @@ "version": "1.1.3", "license": "BSD-3-Clause" }, - "node_modules/irregular-plurals": { - "version": "3.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-accessor-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", @@ -11724,28 +10861,6 @@ "node": ">= 0.4" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-error": { - "version": "2.2.2", - "dev": true, - "license": "MIT" - }, "node_modules/is-extendable": { "version": "0.1.1", "dev": true, @@ -11774,17 +10889,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-generator-fn": { "version": "2.1.0", "dev": true, @@ -11868,14 +10972,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "dev": true, @@ -11908,11 +11004,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-promise": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/is-regex": { "version": "1.2.1", "license": "MIT", @@ -12010,17 +11101,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-unicode-supported": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakmap": { "version": "2.0.2", "license": "MIT", @@ -12068,20 +11148,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/isarray": { "version": "1.0.0", "dev": true, @@ -13397,14 +12463,6 @@ "node": ">= 0.6.0" } }, - "node_modules/js-string-escape": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -13670,13 +12728,6 @@ "version": "2.3.1", "license": "MIT" }, - "node_modules/json-pointer": { - "version": "0.6.2", - "license": "MIT", - "dependencies": { - "foreach": "^2.0.4" - } - }, "node_modules/json-schema-migrate": { "version": "0.2.0", "license": "MIT", @@ -13892,7 +12943,9 @@ }, "node_modules/linkify-it": { "version": "3.0.3", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { "uc.micro": "^1.0.1" } @@ -13911,17 +12964,6 @@ "node": ">=0.10.0" } }, - "node_modules/load-json-file": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/locate-path": { "version": "5.0.0", "dev": true, @@ -14115,17 +13157,6 @@ "tmpl": "1.0.5" } }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -14151,7 +13182,9 @@ }, "node_modules/markdown-it": { "version": "12.3.2", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -14174,7 +13207,9 @@ }, "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", - "license": "Python-2.0" + "dev": true, + "license": "Python-2.0", + "peer": true }, "node_modules/markdown-link": { "version": "0.1.1", @@ -14220,20 +13255,6 @@ "node": ">= 12" } }, - "node_modules/matcher": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/math-intrinsics": { "version": "1.1.0", "license": "MIT", @@ -14246,49 +13267,17 @@ "dev": true, "license": "MIT" }, - "node_modules/md5-hex": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "blueimp-md5": "^2.10.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/mdurl": { "version": "1.0.1", - "license": "MIT" - }, - "node_modules/mem": { - "version": "9.0.2", "dev": true, "license": "MIT", - "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" - } + "peer": true }, "node_modules/merge-stream": { "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/micromatch": { "version": "4.0.8", "dev": true, @@ -14320,17 +13309,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimatch": { "version": "3.1.2", "license": "ISC", @@ -14687,34 +13665,10 @@ "dev": true, "license": "MIT" }, - "node_modules/node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, "node_modules/node-releases": { "version": "2.0.19", "license": "MIT" }, - "node_modules/nofilter": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.19" - } - }, "node_modules/nopt": { "version": "6.0.0", "license": "ISC", @@ -14917,36 +13871,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/nunjucks": { - "version": "3.2.4", - "license": "BSD-2-Clause", - "dependencies": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "commander": "^5.1.0" - }, - "bin": { - "nunjucks-precompile": "bin/precompile" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "chokidar": "^3.3.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/nunjucks/node_modules/commander": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/nwsapi": { "version": "2.2.20", "dev": true, @@ -15175,13 +14099,6 @@ "node": ">=6" } }, - "node_modules/openapi-sampler": { - "version": "1.0.0-beta.17", - "license": "MIT", - "dependencies": { - "json-pointer": "^0.6.0" - } - }, "node_modules/openapi-types": { "version": "12.1.3", "license": "MIT" @@ -15225,14 +14142,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-defer": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -15246,20 +14155,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-event": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "p-timeout": "^5.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -15278,46 +14173,21 @@ "p-try": "^2.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-timeout": { - "version": "5.1.0", + "node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "p-limit": "^2.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, "node_modules/p-try": { @@ -15425,14 +14295,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-ms": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/parse5": { "version": "6.0.1", "dev": true, @@ -15695,14 +14557,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.1.1", "license": "ISC" @@ -15733,86 +14587,6 @@ "node": ">= 6" } }, - "node_modules/pkg-conf": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.0.0", - "load-json-file": "^7.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/pkg-dir": { "version": "4.2.0", "dev": true, @@ -15824,20 +14598,6 @@ "node": ">=8" } }, - "node_modules/plur": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "irregular-plurals": "^3.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pony-cause": { "version": "1.1.1", "license": "0BSD", @@ -15904,20 +14664,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-ms": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-ms": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/proc-log": { "version": "2.0.1", "license": "ISC", @@ -16898,7 +15644,7 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/sane": { @@ -17189,31 +15935,6 @@ "version": "2.8.1", "license": "0BSD" }, - "node_modules/serialize-error": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.13.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/serialize-error/node_modules/type-fest": { - "version": "0.13.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/set-blocking": { "version": "2.0.0", "license": "ISC" @@ -17304,14 +16025,6 @@ "node": ">=0.10.0" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/side-channel": { "version": "1.1.0", "license": "MIT", @@ -17416,21 +16129,6 @@ "node": ">=6" } }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "license": "MIT", @@ -18105,20 +16803,6 @@ "node": ">=0.8.0" } }, - "node_modules/supertap": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^5.0.0", - "js-yaml": "^3.14.1", - "serialize-error": "^7.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -18325,14 +17009,6 @@ "version": "4.0.0", "license": "ISC" }, - "node_modules/temp-dir": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/temp-path": { "version": "1.0.0", "dev": true, @@ -18413,14 +17089,6 @@ "xtend": "~4.0.1" } }, - "node_modules/time-zone": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/tmp": { "version": "0.0.33", "dev": true, @@ -18667,6 +17335,76 @@ "darwin" ] }, + "node_modules/turbo-darwin-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.3.tgz", + "integrity": "sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/turbo-linux-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.3.tgz", + "integrity": "sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.3.tgz", + "integrity": "sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.3.tgz", + "integrity": "sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.3.tgz", + "integrity": "sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/type-check": { "version": "0.3.2", "dev": true, @@ -18819,7 +17557,9 @@ }, "node_modules/uc.micro": { "version": "1.0.6", - "license": "MIT" + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/uglify-js": { "version": "3.19.3", @@ -19117,17 +17857,6 @@ "node": ">= 4" } }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/v8-compile-cache": { "version": "2.4.0", "dev": true, @@ -19260,14 +17989,6 @@ "node": ">=10.4" } }, - "node_modules/well-known-symbols": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=6" - } - }, "node_modules/whatwg-encoding": { "version": "1.0.5", "dev": true, @@ -19745,20 +18466,9 @@ "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/components": { "name": "@asyncapi/generator-components", - "version": "0.3.0", + "version": "0.3.1", "license": "Apache-2.0", "dependencies": { "@asyncapi/generator-helpers": "*", @@ -19828,7 +18538,7 @@ "name": "core-template-client-websocket-dart", "license": "Apache-2.0", "dependencies": { - "@asyncapi/generator-components": "0.3.0", + "@asyncapi/generator-components": "0.3.1", "@asyncapi/generator-helpers": "0.2.0", "@asyncapi/generator-react-sdk": "*" }, @@ -19849,7 +18559,7 @@ "name": "core-template-client-websocket-java-quarkus", "license": "Apache-2.0", "dependencies": { - "@asyncapi/generator-components": "0.3.0", + "@asyncapi/generator-components": "0.3.1", "@asyncapi/generator-helpers": "0.2.0", "@asyncapi/generator-react-sdk": "^1.1.2" }, @@ -19872,7 +18582,7 @@ "name": "core-template-client-websocket-javascript", "license": "Apache-2.0", "dependencies": { - "@asyncapi/generator-components": "0.3.0", + "@asyncapi/generator-components": "0.3.1", "@asyncapi/generator-helpers": "0.2.0", "@asyncapi/generator-react-sdk": "*" }, @@ -19893,7 +18603,7 @@ "name": "core-template-client-websocket-python", "license": "Apache-2.0", "dependencies": { - "@asyncapi/generator-components": "0.3.0", + "@asyncapi/generator-components": "0.3.1", "@asyncapi/generator-helpers": "0.2.0", "@asyncapi/generator-react-sdk": "*" }, From 02d7166e8599e0070b4fdf53c51702b8e5d26934 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 10:06:17 +0100 Subject: [PATCH 04/14] docs --- apps/generator/docs/api.md | 2 +- apps/generator/docs/asyncapi-document.md | 2 +- apps/generator/docs/configuration-file.md | 4 - apps/generator/docs/file-templates.md | 60 +------- .../generator/docs/generator-template-java.md | 2 - apps/generator/docs/generator-template.md | 5 +- apps/generator/docs/index.md | 4 +- .../docs/migration-nunjucks-react.md | 144 ------------------ apps/generator/docs/nunjucks-render-engine.md | 83 ---------- apps/generator/docs/react-render-engine.md | 6 +- apps/generator/docs/template-development.md | 9 +- apps/generator/docs/template.md | 4 +- 12 files changed, 13 insertions(+), 312 deletions(-) delete mode 100644 apps/generator/docs/migration-nunjucks-react.md delete mode 100644 apps/generator/docs/nunjucks-render-engine.md diff --git a/apps/generator/docs/api.md b/apps/generator/docs/api.md index 5293295743..54a77d00ec 100644 --- a/apps/generator/docs/api.md +++ b/apps/generator/docs/api.md @@ -367,7 +367,7 @@ Parse the generator input based on the template `templateConfig.apiVersion` valu * generator.configureTemplate()** : -Configure the templates based the desired renderer. +Configure the templates. **Kind**: instance method of [`Generator`](#Generator) diff --git a/apps/generator/docs/asyncapi-document.md b/apps/generator/docs/asyncapi-document.md index ac88a721a9..de5314fa1d 100644 --- a/apps/generator/docs/asyncapi-document.md +++ b/apps/generator/docs/asyncapi-document.md @@ -21,7 +21,7 @@ In the following sections, you'll learn about the inner working of the generator 3. The **Parser** validates the **AsyncAPI Document** using additional schema-related plugins, either the OpenAPI schema, RAML data types, or Avro schema. 4. If the **Parser** determines that the **AsyncAPI Document** is valid, it manipulates the original JSON/YAML document and provides a set of helper functions in return, bundling them together into an **asyncapi** variable that is an instance of [**AsyncAPIDocument**](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#asyncapidocument). 5. At this point, the **Generator** passes the **originalAsyncAPI** and the **asyncapi** which make up part of the **[Template Context](template-context)** to the **Render Engine**. -6. The **Template Context** is accessible to the template files that are passed to either the [react](react-render-engine) or [nunjucks](nunjucks-render-engine) **Render Engines**. +6. The **Template Context** is accessible to the template files that are passed to the [react](react-render-engine) **Render Engine**. ```mermaid graph LR diff --git a/apps/generator/docs/configuration-file.md b/apps/generator/docs/configuration-file.md index a84133cd3c..49b4ee86c3 100644 --- a/apps/generator/docs/configuration-file.md +++ b/apps/generator/docs/configuration-file.md @@ -21,7 +21,6 @@ metadata: target: javascript stack: express -renderer: react apiVersion: v3 supportedProtocols: - amqp @@ -86,7 +85,6 @@ Alternatively, you can include your configuration in the `generator` property of "target": "javascript", "stack": "express" }, - "renderer": "react", "apiVersion": "v3", "supportedProtocols": ["amqp", "mqtt"], "parameters": { @@ -150,7 +148,6 @@ The `generator` property from `package.json` file must contain a JSON object and | `metadata.protocol` | String | **Required for `client`/`sdk`**. The protocol this template targets (e.g., `websocket`, `kafka`). Not used for `docs`/`config`. | | `metadata.target` | String | **Required**. The output language or format (e.g., `javascript`, `html`, `yaml`). | | `metadata.stack` | String | Optional. The stack or framework (e.g., `express`, `quarkus`). Only for `client`/`sdk`. | -| `renderer` | String | Its value can be either `react` or `nunjucks` (default). | | `apiVersion` | String | Determines which **major** version of the [Parser-API](https://github.com/asyncapi/parser-api) the template uses. For example, `v2` for `v2.x.x`. If not specified, the Generator assumes the template is not compatible with the Parser-API so it will use the [Parser-JS v1 API](https://github.com/asyncapi/parser-js/tree/v1.18.1#api-documentation). For templates that need to support AsyncAPI specification v3 make sure to use `v3` [Parser-API](https://github.com/asyncapi/parser-api). If the template uses a version of the Parser-API that is not supported by the Generator, the Generator will throw an error. | | `supportedProtocols` | [String] | A list with all the protocols this template supports. | | `parameters` | Object[String, Object] | An object with all the parameters that can be passed when generating the template. When using the command line, it's done by indicating `--param name=value` or `-p name=value`. | @@ -166,7 +163,6 @@ The `generator` property from `package.json` file must contain a JSON object and | `conditionalGeneration[filePath/directoryName].validation` | Object (JSON Schema fragment) | The validation defines the condition under which the file or directory will be generated. It must be a valid JSON Schema fragment that validates the value of the parameter. For example, if you want to include a folder only when includeDocs is true, use "validation": `{ "const": true }`. You can also use more complex validation logic, like "enum": ["yes", "true"] or "type": "string" with a "pattern" constraint. If the parameter fails validation, the file or folder will not be included in the generated output. This allows for powerful and flexible control over template generation based on user input. | | `nonRenderableFiles` | [String] | A list of file paths or [globs](https://en.wikipedia.org/wiki/Glob_(programming)) that must be copied "as-is" to the target directory, i.e., without performing any rendering process. This is useful when you want to copy binary files. | | `generator` | [String] | A string representing the generator version-range the template is compatible with. This value must follow the [semver](https://nodejs.dev/learn/semantic-versioning-using-npm) syntax. E.g., `>=1.0.0`, `>=1.0.0 <=2.0.0`, `~1.0.0`, `^1.0.0`, `1.0.0`, etc. [Read more about semver](https://docs.npmjs.com/about-semantic-versioning). | -| `filters` | [String] | A list of modules containing functions that can be used as Nunjucks filters. In case of external modules, remember they need to be added as a dependency in `package.json` of your template. | | `hooks` | Object[String, String] or Object[String, Array[String]] | A list of modules containing hooks, except for the ones you keep locally in your template in the default location. For each module you must specify the exact name of the hook that should be used in the template. For a single hook, you can specify it as a string; for more hooks, you must pass an array of strings. In the case of external modules, remember they need to be added as a dependency in `package.json` of your template. There is also [an official hooks library](hooks#official-library) always included in the generator. As this is a library of multiple hooks, you still need to explicitly specify in the configuration which one you want to use. Use `@asyncapi/generator-hooks` as the library name. | ## Special parameters diff --git a/apps/generator/docs/file-templates.md b/apps/generator/docs/file-templates.md index 2b5c05431e..1c0b858572 100644 --- a/apps/generator/docs/file-templates.md +++ b/apps/generator/docs/file-templates.md @@ -3,67 +3,9 @@ title: "File templates" weight: 140 --- -## Generating files with the Nunjucks render engine - -> **Note**: This section applies only to the Nunjucks render engine. For information on using the React render engine, refer to the [Generating files with the React render engine](#generating-files-with-the-react-render-engine) section below. - -> **Note**: Nunjucks renderer engine is deprecated and will be removed in the future. Use the React renderer engine instead. For more details read notes from release [@asyncapi/generator@2.6.0](https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0). - -It is possible to generate files for each specific object in your AsyncAPI documentation using the Nunjucks render engine. For example, you can specify a filename like `$$channel$$.js` to generate a file for each channel defined in your AsyncAPI. The following file-template names and extra variables are available: - - - `$$channel$$`, within the template-file you have access to two variables [`channel`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#channel) and [`channelName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#channels). Where the `channel` contains the current channel being rendered. - - `$$message$$`, within the template-file you have access to two variables [`message`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#message) and [`messageName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#message). Where `message` contains the current message being rendered. - - `$$schema$$`, within the template-file you have access to two variables [`schema`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schema) and [`schemaName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schema). Where `schema` contains the current schema being rendered. Only schemas from [Components object](https://www.asyncapi.com/docs/reference/specification/latest#componentsObject) are used. - - `$$everySchema$$`, within the template-file you have access to two variables [`schema`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schema) and [`schemaName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schemas). Where `schema` contains the current schema being rendered. Every [Schema object](https://www.asyncapi.com/docs/specifications/2.0.0/#schemaObject) from the entire AsyncAPI file is used. - - `$$objectSchema$$`, within the template-file you have access to two variables [`schema`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schema) and [`schemaName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#schemas). Where `schema` contains the current schema being rendered. All the [Schema objects](https://www.asyncapi.com/docs/reference/specification/latest#multiFormatSchemaObject) with type object is used. - - `$$parameter$$`, within the template-file you have access to two variables [`parameter`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#channelparameter) and [`parameterName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#channelparameters). Where the `parameter` contains the current parameter being rendered. - - `$$securityScheme$$`, within the template-file you have access to two variables [`securityScheme`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#securityscheme) and [`securitySchemeName`](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#securityschemes). Where `securityScheme` contains the current security scheme being rendered. - -The file name will be equal to `*Name` variable. - -### Example - -The file name is `$$schema$$.txt`, the content of this file is: -``` -Schema name is '{{schemaName}}' and properties are: -{% for propName, prop in schema.properties() %} -- {{prop.uid()}} -{% endfor %} -``` - -With the following AsyncAPI: -``` -components: - schemas: - peoplePayload: - type: object - properties: - event: - $ref: "#/components/schemas/people" - people: - type: object - properties: - id: - type: integer -``` - -The generator creates two files `peoplePayload.txt` and `people.txt` with the following content: -``` -Schema name is 'peoplePayload' and properties are: -- people -``` - -and -``` -Schema name is 'people' and properties are: -- id -``` - -> You can see an example of a file template that uses the Nunjucks render engine [here](https://github.com/asyncapi/template-for-generator-templates/tree/nunjucks/template/schemas). - ## Generating files with the React render engine -The above method of rendering **file templates** only works for the Nunjucks render engine. To use the React render engine, you need to follow a different approach. The React render engine allows for a more generic way to render multiple files by returning an array of `File` components in the rendering component. This can be particularly useful for complex templates or when you need to generate a large number of files with varying content. +The React render engine allows for a more generic way to render multiple files by returning an array of `File` components in the rendering component. This can be particularly useful for complex templates or when you need to generate a large number of files with varying content. ### Example 1: Rendering hardcoded files diff --git a/apps/generator/docs/generator-template-java.md b/apps/generator/docs/generator-template-java.md index aefe2ef383..776586bfea 100644 --- a/apps/generator/docs/generator-template-java.md +++ b/apps/generator/docs/generator-template-java.md @@ -61,7 +61,6 @@ Add the following code snippet to your package.json file: "version": "0.0.1", "description": "A template that generates a Java MQTT client using MQTT.", "generator": { - "renderer": "react", "apiVersion": "v1", "generator": ">=1.10.0 <2.0.0", "supportedProtocols": ["mqtt"] @@ -287,7 +286,6 @@ In **package.json** define a script property that you invoke by calling `npm run "version": "0.0.1", "description": "A template that generates a Java MQTT client using MQTT.", "generator": { - "renderer": "react", "apiVersion": "v1", "generator": ">=1.10.0 <2.0.0", "supportedProtocols": ["mqtt"], diff --git a/apps/generator/docs/generator-template.md b/apps/generator/docs/generator-template.md index 497c282a9d..f1eec45982 100644 --- a/apps/generator/docs/generator-template.md +++ b/apps/generator/docs/generator-template.md @@ -112,7 +112,6 @@ The **package.json** file is used to define the dependencies for your template. "version": "0.0.1", "description": "A template that generates a Python MQTT client using MQTT.", "generator": { - "renderer": "react", "apiVersion": "v1", "generator": ">=1.10.0 <2.0.0", "supportedProtocols": ["mqtt"] @@ -132,7 +131,6 @@ Here's what is contained in the code snippet above: - **version** - the current version of your template. - **description** - a description of what your template does. - **generator** - specify generator [specific configuration](https://www.asyncapi.com/docs/tools/generator/configuration-file). - - **renderer** - can either be [`react`](https://www.asyncapi.com/docs/tools/generator/react-render-engine) or [`nunjucks`](https://www.asyncapi.com/docs/tools/generator/nunjucks-render-engine). In this case the generator will pass your template to the react render engine to generate the output. - **apiVersion** - specifies which major version of the [Parser-API](https://github.com/asyncapi/parser-api) your template will use. - **generator** - a string representing the generator version-range your template is compatible with. - **supportedProtocols** - A list that specifies which protocols are supported by your template. @@ -328,7 +326,6 @@ In **package.json** you can have the scripts property that you invoke by calling "test": "npm run test:clean && npm run test:generate && npm run test:start" }, "generator": { - "renderer": "react", "apiVersion": "v1", "generator": ">=1.10.0 <2.0.0", "supportedProtocols": ["mqtt"] @@ -459,7 +456,7 @@ export default function ({ asyncapi, params }) { 4. Dynamically get the class name **TemperatureServiceClient** from the AsyncAPI document from the **info** object using the Parser API using the code: `asyncapi.info().title()` . It will return `Temperature Service`, then remove the spaces and add `Client` as a suffix. 5. There is no templating needed in the `__init__` function, there is only hardcoded information. -> If you're on the fence about which templating engine you should use in your template, check out the [React render engine](https://www.asyncapi.com/docs/tools/generator/react-render-engine) and [nunjucks render engine](https://www.asyncapi.com/docs/tools/generator/nunjucks-render-engine) documentation. +> If you're on the fence about which templating engine you should use in your template, check out the [React render engine](https://www.asyncapi.com/docs/tools/generator/react-render-engine) documentation. In the next section, you'll refactor your template to use React. #### 5c. Creating a reusable component diff --git a/apps/generator/docs/index.md b/apps/generator/docs/index.md index a80e025316..915e2084d1 100644 --- a/apps/generator/docs/index.md +++ b/apps/generator/docs/index.md @@ -24,8 +24,8 @@ The AsyncAPI generator is a tool that generates anything you want using the **[A 3. The **Parser** uses additional plugins such as the OpenAPI, RAML, or Avro schemas to validate custom schemas of message payloads defined in the **AsyncAPI Document**. 4. If the **Parser** determines that the original **AsyncAPI Document** is valid, it manipulates the document and returns a set of helper functions and properties and bundles them together into an **asyncapi** variable that is an instance of [**AsyncAPIDocument**](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#asyncapidocument). The **asyncapi** helper functions make it easier to access the contents of the AsyncAPI Document. 5. At this point, the **Generator** passes the **[asyncapi](generator/asyncapi-document#method-2-asyncapi-and-template)**, the **[originalAsyncAPI](generator/asyncapi-document#method-1-originalasyncapi-and-template)**, and the **params** which collectively make up the **[Template Context](generator/template-context)** to the **Render Engine**. -6. AsyncAPI has two **Render Engines**([react](generator/react-render-engine) and [nunjucks](generator/nunjucks-render-engine)). Depending on which one you've specified in your `package.json`, the **Generator** knows the right **Render Engine** to pass both the **Template Files** and the **Template Context**. -7. Once the **Render Engine** receives the **Template Files** and the **Template Context**, it injects all the dynamic values in your react or nunjucks based **Template Files** using the **Template Context**. As a result, the **Render Engine** generates **markdown**, **pdf**, **boilerplate code**, and **anything else** you specified to be generated as output. +6. AsyncAPI has a **Render Engine**([react](generator/react-render-engine)). The **Generator** passes both the **Template Files** and the **Template Context** to the **Render Engine**. +7. Once the **Render Engine** receives the **Template Files** and the **Template Context**, it injects all the dynamic values in your react based **Template Files** using the **Template Context**. As a result, the **Render Engine** generates **markdown**, **pdf**, **boilerplate code**, and **anything else** you specified to be generated as output. > You can generate anything you want using the generator as long as it can be defined in a **Template**. diff --git a/apps/generator/docs/migration-nunjucks-react.md b/apps/generator/docs/migration-nunjucks-react.md deleted file mode 100644 index 2c2ecdf858..0000000000 --- a/apps/generator/docs/migration-nunjucks-react.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "Migrating from Nunjucks to React render engine" -weight: 250 ---- - -The AsyncAPI Generator is moving away from Nunjucks templates in favor of React templates. This guide will help you migrate your existing Nunjucks templates to React. For a comprehensive understanding of why we introduced React as an alternative in 2021 and why we're now removing Nunjucks entirely, please read our article [React as a Generator Engine](https://www.asyncapi.com/blog/react-as-generator-engine). The principles discussed in this article still apply to our current transition. - -## Step-by-step migration guide - -### 1. Update package.json - -Change your template configuration in `package.json`: - -```json -{ -"generator": { -"renderer": "react" -} -} -``` - -Once the deprecation period has ended, and we remove the default Nunjucks, the React render engine will be used by default and this setting will no longer be needed to configure - -### 2. Install dependencies - -Install the necessary React dependencies: - -```bash -npm install @asyncapi/generator-react-sdk -``` - -### 3. File naming - -In Nunjucks, the template's filename directly corresponds to the output file. For example, a template named **index.html** will generate an **index.html** file. - -In React, the filename of the generated file is not controlled by the file itself, but rather by the `File` component. The React component itself can be named anything with a `.js` extension because the output filename is controlled by the `name` attribute of the `File` component used inside the template file. Below you can see some examples of filenames: - -Nunjucks: `index.html` -React: `index.js` or `index.html.js` or `anything-you-want.js` - -### 4. Basic template structure - -Nunjucks: -```js -

{{ asyncapi.info().title() }}

-

{{ asyncapi.info().description() }}

-``` - -React: -```js -import { File } from '@asyncapi/generator-react-sdk'; - -export default function({ asyncapi }) { - return ( - -

{asyncapi.info().title()}

-

{asyncapi.info().description()}

-
- ); -} -``` - -### 5. Macros and Partials - -Replace macros with React components: - -Nunjucks: -```js -{% macro renderChannel(channel) %} -
-

{{ channel.address() }}

-

{{ channel.description() }}

-
-{% endmacro %} - -{{ renderChannel(someChannel) }} -``` - -React: -```js -// components/Channel.js -import { Text } from '@asyncapi/generator-react-sdk'; - -export function Channel({ channel }) { - return ( - -
-

{channel.address()}

-

{channel.description()}

-
-
- ); -} - -// Main template -import { File, Text } from '@asyncapi/generator-react-sdk'; -import { Channel } from './components/Channel'; - -export default function({ asyncapi }) { - return ( - - -

Channels

-
- {asyncapi.channels().map(channel => ( - - ))} -
- ); -} -``` - -### 6. File template - -Check the [detailed guide on file templates](file-templates) to learn what is the difference between templating multiple file outputs in Nunjucks and React. - -### 7. Models generation - -If you have a template written with Nunjucks, it is almost certain that you have your own custom models, classes, or types templates in place. Instead of migrating them to React render engine we strongly advise you to delegate models generation to AsyncAPI Modelina project. Learn more about [how to add models generation using Modelina](https://www.asyncapi.com/docs/tools/generator/model-generation). - -## Additional Resources and Information - -### Template Examples -For a complete example of React features in use, please refer to the [AsyncAPI Template for Generator Templates](https://github.com/asyncapi/template-for-generator-templates). The `master` branch demonstrates all React features, while the `nunjucks` branch shows the old Nunjucks implementation. This comparison can be particularly helpful in understanding the differences and migration process. - -### Filters to Helpers -If you've been using Nunjucks filters placed in the `filters` directory, you can still use this functionality in React. However, they should be treated as normal functions that you import into your components. We recommend renaming the `filters` directory to `helpers` to better reflect their new usage in React. - -### Hooks Remain Unchanged -It's important to note that hooks remain unchanged in this migration process. Hooks are not related to the render engine functionality, so you can continue to use them as you have been. - -### Testing your migration - -After migrating, test your template thoroughly: - -1. Run the generator using your new React template -2. Compare the output with the previous Nunjucks template output -3. Check for any missing or incorrectly rendered content - -Consider implementing snapshot tests for your template before starting the migration. This will ease the review of changes in comparing the content rendered after render engine changes. Snapshot tests allow you to have tests that will persist expected output from Nunjucks template, and compare it with output generated after the migration. Check out an [example of such snapshot integration test for our internal react template we use for development and testing](https://github.com/asyncapi/generator/blob/master/apps/generator/test/integration.test.js#L66). - -## Conclusion - -Migrating from Nunjucks to React templates may require some initial effort, but it will result in more maintainable code. You can learn more about why we introduced the React render engine from article [React as a Generator Engine](https://www.asyncapi.com/blog/react-as-generator-engine). \ No newline at end of file diff --git a/apps/generator/docs/nunjucks-render-engine.md b/apps/generator/docs/nunjucks-render-engine.md deleted file mode 100644 index 207645f0c5..0000000000 --- a/apps/generator/docs/nunjucks-render-engine.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Nunjucks render engine" -weight: 120 ---- - -> **Note**: Nunjucks renderer engine is deprecated and will be removed in the future. Use the React renderer engine instead. For more details read notes from release [@asyncapi/generator@2.6.0](https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0). - -[Nunjucks](https://mozilla.github.io/nunjucks) is the default render engine, however, we strongly recommend adopting the [React](#react) engine. - -### Common assumptions - -1. Templates may contain [Nunjucks filters or helper functions](https://mozilla.github.io/nunjucks/templating.html#builtin-filters). [Read more about filters](#filters). -1. Templates may contain `partials` (reusable chunks). They must be stored in the `.partials` directory under the template directory. [Read more about partials](#partials). -1. Templates may contain multiple files. Unless stated otherwise, all files will be rendered. -1. The default variables you have access to in any the template file are the following: - - `asyncapi` that is a parsed spec file object. Read the [API](https://github.com/asyncapi/parser-api/blob/master/docs/api.md#asyncapidocument) of the Parser to understand what structure you have access to in this parameter. - - `originalAsyncAPI` that is an original spec file before it is parsed. - - `params` that contain the parameters provided when generating. - -### Partials - -Files from the `.partials` directory do not end up with other generated files in the target directory. In this directory you should keep reusable templates chunks that you can [include](https://mozilla.github.io/nunjucks/templating.html#include) in your templates. You can also put there [macros](https://mozilla.github.io/nunjucks/templating.html#macro) to use them in templates, like in below example: - -```html -{# tags.html #} -{% macro tags(tagList) %} -
- {% for tag in tagList %} - {{tag.name()}} - {% endfor %} -
-{% endmacro %} - -{# operations.html #} -{% from "./tags.html" import tags %} -{{ tags(operation.tags()) }} -``` - -### Filters - -A filter is a helper function that you can create to perform complex tasks. They are JavaScript files that register one or many [Nunjuck filters](https://mozilla.github.io/nunjucks/api.html#custom-filters). The generator parses all the files in the `filters` directory. Functions exported from these files are registered as filters. - -You can use the filter function in your template as in the following example: - -```js -const {{ channelName | camelCase }} = '{{ channelName }}'; -``` - -The generator also supports asynchronous filters. Asynchronous filters receive as the last argument a callback to resume rendering. Asynchronous filters must be annotated with the `async` keyword. Make sure to call the callback with two arguments: `callback(err, res)`. `err` can be `null`. See the following example of how to use asynchronous filters: - -```js -const filter = module.exports; - -async function asyncCamelCase(str, callback) { - try { - const result = // logic for camel casing str - callback(null, result); - } catch (error) { - callback(error); - } -} -filter.renderAsyncContent = renderAsyncContent; - -// using in template -{{ channelName | asyncCamelCase }} -``` - -Unfortunately, if you need to use Promise, filter still must be annotated with the `async` keyword: - -```js -async function asyncCamelCase(str, callback) { - return new Promise((resolve, reject) => { - // logic with callback - }); -} -``` - -In case you have more than one template and want to reuse filters, you can put them in a single library. You can configure such a library in the template configuration under `filters` property. To learn how to add such filters to configuration, [read more about the configuration file](configuration-file). - - -You can also use the official AsyncAPI [nunjucks-filters](https://github.com/asyncapi/generator/tree/master/apps/nunjucks-filters) which is included by default in the generator library. - -> **Note:** The nunjucks-filters is deprecated, and you should migrate to react-renderer instead. For more details, read notes from release [@asyncapi/generator@2.6.0](https://github.com/asyncapi/generator/releases/tag/%40asyncapi%2Fgenerator%402.6.0). diff --git a/apps/generator/docs/react-render-engine.md b/apps/generator/docs/react-render-engine.md index 1cf74b983e..41568961a9 100644 --- a/apps/generator/docs/react-render-engine.md +++ b/apps/generator/docs/react-render-engine.md @@ -5,12 +5,12 @@ weight: 110 [React](https://reactjs.org) is the render engine that we strongly suggest you should use for any new templates. The only reason it is not the default render engine is to stay backward compatible. -* It enables the possibility of [debugging](#debugging-react-template) your template (this is not possible with Nunjucks). +* It enables the possibility of [debugging](#debugging-react-template) your template. * It provides better error stack traces. * Provides better support for separating code into more manageable chunks/components. -* The readability of the template is much better compared to Nunjucks syntax. +* The readability of the template is much better. * Better tool support for development. -* Introduces testability of components which is not possible with Nunjucks. +* Introduces testability of components. When writing React templates you decide whether to use CommonJS, ES5, or ES6 modules since everything is bundled together before the rendering process takes over. We use our own React renderer which can be found in the [Generator React SDK](https://github.com/asyncapi/generator-react-sdk). There you can find information about how the renderer works or how we transpile your template files. diff --git a/apps/generator/docs/template-development.md b/apps/generator/docs/template-development.md index 4232225056..4a94190bb0 100644 --- a/apps/generator/docs/template-development.md +++ b/apps/generator/docs/template-development.md @@ -3,7 +3,7 @@ title: "Template development" weight: 80 --- > **Note** -> It is advised against attempting to manually template types and models from scratch using the AsyncAPI templating engines such as Nunjucks and React render engines. Instead, it is recommended to use [AsyncAPI Modelina](/docs/tools/generator/model-generation) a dedicated library for model generation. +> It is advised against attempting to manually template types and models from scratch using the AsyncAPI templating engines such as the React render engine. Instead, it is recommended to use [AsyncAPI Modelina](/docs/tools/generator/model-generation) a dedicated library for model generation. ## Minimum template requirements @@ -40,9 +40,7 @@ The following block shows an example `package.json` file that points to the [Rea ```json { "name": "myTemplate", - "generator": { - "renderer": "react" - }, + "generator": {}, "dependencies": { "@asyncapi/generator-react-sdk": "^0.2.25" } @@ -57,7 +55,6 @@ You must configure the generator's `package.json` file to contain JSON objects w |Name|Type|Description| |---|---|---| -|`renderer`| String | Its value can be either `react` or `nunjucks` (default). |`supportedProtocols`| [String] | A list with all the protocols this template supports. |`parameters`| Object[String, Object] | An object with all the parameters that can be passed when generating the template. When using the command line, it's done by indicating `--param name=value` or `-p name=value`. |`parameters[param].description`| String | A user-friendly description about the parameter. @@ -76,7 +73,6 @@ The following examples show some advanced configurations that we can use in our { "name": "myTemplate", "generator": { - "renderer": "react", "supportedProtocols": [ "mqtt" ] @@ -98,7 +94,6 @@ Additionally, we can also have a configuration called `parameters`, which is an { "name": "myTemplate", "generator": { - "renderer": "react", "supportedProtocols": [ "mqtt" ], diff --git a/apps/generator/docs/template.md b/apps/generator/docs/template.md index 7c12065ac5..bb26edc23f 100644 --- a/apps/generator/docs/template.md +++ b/apps/generator/docs/template.md @@ -45,8 +45,8 @@ You can store template projects on a local drive or as a `git` repository during 2. **asyncapi** (which is an instance of AsyncAPIDocument) is injected into your template file by default. 3. **params** are the parameters you pass to the AsyncAPI CLI. Later, you can also pass these **params** further to other components. 4. The generator passes both the **asyncapi**, the **originalAsyncAPI**, and the **params** to the **Template Context**. -5. Concurrently, the generator passes **Template files** to the **Render engine** as well. AsyncAPI uses two render engines — _react_ and _nunjucks_. -6. Once the Render Engine receives both the Template Files and the Template Context, it injects all the dynamic values into your react or nunjucks engine, based on the Template Files using the Template Context. +5. Concurrently, the generator passes **Template files** to the **Render engine** as well. AsyncAPI uses the _react_ render engine. +6. Once the Render Engine receives both the Template Files and the Template Context, it injects all the dynamic values into your react based Template Files using the Template Context. 7. The render engine generates whatever output you may have specified in your template. (i.e. code, documentation, diagrams, pdfs, applications, etc.) ```mermaid From 26cf0377ff32e312ee8c20b671e6976aaadc79b0 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 10:07:05 +0100 Subject: [PATCH 05/14] Update package-lock.json --- package-lock.json | 918 ++++++++-------------------------------------- 1 file changed, 154 insertions(+), 764 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8cfc32cd6..c5ef48a894 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,6 +74,24 @@ "npm": ">=8.19.0" } }, + "apps/generator/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "apps/generator/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "apps/hooks": { "name": "@asyncapi/generator-hooks", "version": "0.1.0", @@ -91,8 +109,6 @@ }, "apps/hooks/node_modules/jest": { "version": "27.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.3.1.tgz", - "integrity": "sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng==", "dev": true, "license": "MIT", "dependencies": { @@ -134,8 +150,6 @@ }, "apps/keeper/node_modules/@hyperjump/json-pointer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@hyperjump/json-pointer/-/json-pointer-1.1.1.tgz", - "integrity": "sha512-M0T3s7TC2JepoWPMZQn1W6eYhFh06OXwpMqL+8c5wMVpvnCKNsPgpu9u7WyCI03xVQti8JAeAy4RzUa6SYlJLA==", "license": "MIT", "funding": { "type": "github", @@ -144,8 +158,6 @@ }, "apps/keeper/node_modules/@hyperjump/json-schema": { "version": "1.16.2", - "resolved": "https://registry.npmjs.org/@hyperjump/json-schema/-/json-schema-1.16.2.tgz", - "integrity": "sha512-MJNvaEFc79+h5rvBPgAJK4OHEUr0RqsKcLC5rc3V9FEsJyQAjnP910deRFoZCE068kX/NrAPPhunMgUMwonPtg==", "license": "MIT", "dependencies": { "@hyperjump/json-pointer": "^1.1.0", @@ -166,8 +178,6 @@ }, "apps/keeper/node_modules/@hyperjump/pact": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@hyperjump/pact/-/pact-1.4.0.tgz", - "integrity": "sha512-01Q7VY6BcAkp9W31Fv+ciiZycxZHGlR2N6ba9BifgyclHYHdbaZgITo0U6QMhYRlem4k8pf8J31/tApxvqAz8A==", "license": "MIT", "funding": { "type": "github", @@ -176,8 +186,6 @@ }, "apps/keeper/node_modules/uuid": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -186,7 +194,7 @@ "bin": { "uuid": "dist/bin/uuid" } - } + }, "apps/react-sdk": { "name": "@asyncapi/generator-react-sdk", "version": "1.1.3", @@ -219,8 +227,6 @@ }, "apps/react-sdk/node_modules/@babel/core": { "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", @@ -250,8 +256,6 @@ }, "apps/react-sdk/node_modules/@babel/core/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "license": "ISC", "bin": { "semver": "bin/semver" @@ -259,8 +263,6 @@ }, "apps/react-sdk/node_modules/@jest/console": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", "dev": true, "license": "MIT", "dependencies": { @@ -277,8 +279,6 @@ }, "apps/react-sdk/node_modules/@jest/core": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", "dev": true, "license": "MIT", "dependencies": { @@ -317,8 +317,6 @@ }, "apps/react-sdk/node_modules/@jest/core/node_modules/jest-config": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, "license": "MIT", "dependencies": { @@ -355,8 +353,6 @@ }, "apps/react-sdk/node_modules/@jest/environment": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", "dev": true, "license": "MIT", "dependencies": { @@ -371,8 +367,6 @@ }, "apps/react-sdk/node_modules/@jest/fake-timers": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", "dev": true, "license": "MIT", "dependencies": { @@ -389,8 +383,6 @@ }, "apps/react-sdk/node_modules/@jest/globals": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", "dev": true, "license": "MIT", "dependencies": { @@ -404,8 +396,6 @@ }, "apps/react-sdk/node_modules/@jest/reporters": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", "dev": true, "license": "MIT", "dependencies": { @@ -443,8 +433,6 @@ }, "apps/react-sdk/node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -453,8 +441,6 @@ }, "apps/react-sdk/node_modules/@jest/source-map": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -468,8 +454,6 @@ }, "apps/react-sdk/node_modules/@jest/source-map/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -478,8 +462,6 @@ }, "apps/react-sdk/node_modules/@jest/test-result": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", "dev": true, "license": "MIT", "dependencies": { @@ -494,8 +476,6 @@ }, "apps/react-sdk/node_modules/@jest/test-sequencer": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", "dev": true, "license": "MIT", "dependencies": { @@ -511,8 +491,6 @@ }, "apps/react-sdk/node_modules/@jest/transform": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", "dev": true, "license": "MIT", "dependencies": { @@ -538,8 +516,6 @@ }, "apps/react-sdk/node_modules/@jest/transform/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -548,8 +524,6 @@ }, "apps/react-sdk/node_modules/@jest/types": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -565,8 +539,6 @@ }, "apps/react-sdk/node_modules/@sinonjs/fake-timers": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -575,8 +547,6 @@ }, "apps/react-sdk/node_modules/@types/yargs": { "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dev": true, "license": "MIT", "dependencies": { @@ -585,8 +555,6 @@ }, "apps/react-sdk/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -602,8 +570,6 @@ }, "apps/react-sdk/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -616,10 +582,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "apps/react-sdk/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, "apps/react-sdk/node_modules/babel-jest": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", "dev": true, "license": "MIT", "dependencies": { @@ -641,8 +610,6 @@ }, "apps/react-sdk/node_modules/babel-plugin-jest-hoist": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", "dev": true, "license": "MIT", "dependencies": { @@ -657,8 +624,6 @@ }, "apps/react-sdk/node_modules/babel-preset-jest": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", "dev": true, "license": "MIT", "dependencies": { @@ -674,8 +639,6 @@ }, "apps/react-sdk/node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { @@ -684,8 +647,6 @@ }, "apps/react-sdk/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "license": "MIT", "engines": { @@ -697,8 +658,6 @@ }, "apps/react-sdk/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -714,15 +673,11 @@ }, "apps/react-sdk/node_modules/cjs-module-lexer": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", "dev": true, "license": "MIT" }, "apps/react-sdk/node_modules/cliui": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "license": "ISC", "dependencies": { @@ -733,14 +688,10 @@ }, "apps/react-sdk/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "license": "MIT" }, "apps/react-sdk/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -754,8 +705,6 @@ }, "apps/react-sdk/node_modules/diff-sequences": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", "dev": true, "license": "MIT", "engines": { @@ -764,8 +713,6 @@ }, "apps/react-sdk/node_modules/emittery": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", "dev": true, "license": "MIT", "engines": { @@ -777,15 +724,11 @@ }, "apps/react-sdk/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "apps/react-sdk/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -797,9 +740,6 @@ }, "apps/react-sdk/node_modules/eslint": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { @@ -854,8 +794,6 @@ }, "apps/react-sdk/node_modules/eslint-plugin-sonarjs": { "version": "0.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.20.0.tgz", - "integrity": "sha512-BRhZ7BY/oTr6DDaxvx58ReTg7R+J8T+Y2ZVGgShgpml25IHBTIG7EudUtHuJD1zhtMgUEt59x3VNvUQRo2LV6w==", "dev": true, "license": "LGPL-3.0", "engines": { @@ -867,8 +805,6 @@ }, "apps/react-sdk/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -884,8 +820,6 @@ }, "apps/react-sdk/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -897,8 +831,6 @@ }, "apps/react-sdk/node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -915,8 +847,6 @@ }, "apps/react-sdk/node_modules/execa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "license": "MIT", "dependencies": { @@ -939,8 +869,6 @@ }, "apps/react-sdk/node_modules/expect": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", "dev": true, "license": "MIT", "dependencies": { @@ -957,8 +885,6 @@ }, "apps/react-sdk/node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "license": "MIT", "dependencies": { @@ -970,8 +896,6 @@ }, "apps/react-sdk/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -987,8 +911,6 @@ }, "apps/react-sdk/node_modules/flat-cache": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "license": "MIT", "dependencies": { @@ -1002,15 +924,11 @@ }, "apps/react-sdk/node_modules/flatted": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, "apps/react-sdk/node_modules/get-stream": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "license": "MIT", "dependencies": { @@ -1025,8 +943,6 @@ }, "apps/react-sdk/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -1038,8 +954,6 @@ }, "apps/react-sdk/node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1054,8 +968,6 @@ }, "apps/react-sdk/node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1064,8 +976,6 @@ }, "apps/react-sdk/node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -1074,8 +984,6 @@ }, "apps/react-sdk/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -1084,8 +992,6 @@ }, "apps/react-sdk/node_modules/istanbul-lib-instrument": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -1100,8 +1006,6 @@ }, "apps/react-sdk/node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -1110,8 +1014,6 @@ }, "apps/react-sdk/node_modules/jest": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1128,8 +1030,6 @@ }, "apps/react-sdk/node_modules/jest-changed-files": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1143,8 +1043,6 @@ }, "apps/react-sdk/node_modules/jest-cli": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", "dev": true, "license": "MIT", "dependencies": { @@ -1171,8 +1069,6 @@ }, "apps/react-sdk/node_modules/jest-cli/node_modules/jest-config": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, "license": "MIT", "dependencies": { @@ -1209,8 +1105,6 @@ }, "apps/react-sdk/node_modules/jest-diff": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "dev": true, "license": "MIT", "dependencies": { @@ -1225,8 +1119,6 @@ }, "apps/react-sdk/node_modules/jest-docblock": { "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", "dev": true, "license": "MIT", "dependencies": { @@ -1238,8 +1130,6 @@ }, "apps/react-sdk/node_modules/jest-each": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", "dev": true, "license": "MIT", "dependencies": { @@ -1255,8 +1145,6 @@ }, "apps/react-sdk/node_modules/jest-environment-jsdom": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1274,8 +1162,6 @@ }, "apps/react-sdk/node_modules/jest-environment-node": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", "dev": true, "license": "MIT", "dependencies": { @@ -1292,8 +1178,6 @@ }, "apps/react-sdk/node_modules/jest-get-type": { "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", "dev": true, "license": "MIT", "engines": { @@ -1302,8 +1186,6 @@ }, "apps/react-sdk/node_modules/jest-haste-map": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", "dev": true, "license": "MIT", "dependencies": { @@ -1330,8 +1212,6 @@ }, "apps/react-sdk/node_modules/jest-jasmine2": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", "dev": true, "license": "MIT", "dependencies": { @@ -1360,8 +1240,6 @@ }, "apps/react-sdk/node_modules/jest-leak-detector": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", "dev": true, "license": "MIT", "dependencies": { @@ -1374,8 +1252,6 @@ }, "apps/react-sdk/node_modules/jest-matcher-utils": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, "license": "MIT", "dependencies": { @@ -1390,8 +1266,6 @@ }, "apps/react-sdk/node_modules/jest-message-util": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, "license": "MIT", "dependencies": { @@ -1411,8 +1285,6 @@ }, "apps/react-sdk/node_modules/jest-mock": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, "license": "MIT", "dependencies": { @@ -1425,8 +1297,6 @@ }, "apps/react-sdk/node_modules/jest-regex-util": { "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", "dev": true, "license": "MIT", "engines": { @@ -1435,8 +1305,6 @@ }, "apps/react-sdk/node_modules/jest-resolve": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1455,8 +1323,6 @@ }, "apps/react-sdk/node_modules/jest-resolve-dependencies": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", "dev": true, "license": "MIT", "dependencies": { @@ -1470,8 +1336,6 @@ }, "apps/react-sdk/node_modules/jest-runner": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1502,8 +1366,6 @@ }, "apps/react-sdk/node_modules/jest-runner/node_modules/jest-config": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, "license": "MIT", "dependencies": { @@ -1540,8 +1402,6 @@ }, "apps/react-sdk/node_modules/jest-runtime": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", "dev": true, "license": "MIT", "dependencies": { @@ -1582,8 +1442,6 @@ }, "apps/react-sdk/node_modules/jest-runtime/node_modules/jest-config": { "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, "license": "MIT", "dependencies": { @@ -1620,8 +1478,6 @@ }, "apps/react-sdk/node_modules/jest-serializer": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", "dev": true, "license": "MIT", "dependencies": { @@ -1634,8 +1490,6 @@ }, "apps/react-sdk/node_modules/jest-snapshot": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", "dev": true, "license": "MIT", "dependencies": { @@ -1662,8 +1516,6 @@ }, "apps/react-sdk/node_modules/jest-util": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1680,8 +1532,6 @@ }, "apps/react-sdk/node_modules/jest-validate": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1698,8 +1548,6 @@ }, "apps/react-sdk/node_modules/jest-watcher": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1717,8 +1565,6 @@ }, "apps/react-sdk/node_modules/jest-worker": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1730,10 +1576,19 @@ "node": ">= 10.13.0" } }, + "apps/react-sdk/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "apps/react-sdk/node_modules/jsdoc-api": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.1.1.tgz", - "integrity": "sha512-yas9E4h8NHp1CTEZiU/DPNAvLoUcip+Hl8Xi1RBYzHqSrgsF+mImAZNtwymrXvgbrgl4bNGBU9syulM0JzFeHQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1753,8 +1608,6 @@ }, "apps/react-sdk/node_modules/jsdoc-to-markdown": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.3.tgz", - "integrity": "sha512-JGYYd5xygnQt1DIxH+HUI+X/ynL8qWihzIF0n15NSCNtM6MplzawURRcaLI2WkiS2hIjRIgsphCOfM7FkaWiNg==", "dev": true, "license": "MIT", "dependencies": { @@ -1775,15 +1628,11 @@ }, "apps/react-sdk/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "apps/react-sdk/node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1796,8 +1645,6 @@ }, "apps/react-sdk/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -1812,8 +1659,6 @@ }, "apps/react-sdk/node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { @@ -1830,8 +1675,6 @@ }, "apps/react-sdk/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1846,8 +1689,6 @@ }, "apps/react-sdk/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -1862,8 +1703,6 @@ }, "apps/react-sdk/node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -1872,8 +1711,6 @@ }, "apps/react-sdk/node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { @@ -1882,8 +1719,6 @@ }, "apps/react-sdk/node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, "license": "MIT", "dependencies": { @@ -1898,8 +1733,6 @@ }, "apps/react-sdk/node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -1911,8 +1744,6 @@ }, "apps/react-sdk/node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -1921,8 +1752,6 @@ }, "apps/react-sdk/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", "engines": { @@ -1931,8 +1760,6 @@ }, "apps/react-sdk/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -1940,8 +1767,6 @@ }, "apps/react-sdk/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -1955,8 +1780,6 @@ }, "apps/react-sdk/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -1968,15 +1791,11 @@ }, "apps/react-sdk/node_modules/throat": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true, "license": "MIT" }, "apps/react-sdk/node_modules/ts-jest": { "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", "dev": true, "license": "MIT", "dependencies": { @@ -2004,8 +1823,6 @@ }, "apps/react-sdk/node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -2017,8 +1834,6 @@ }, "apps/react-sdk/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -2030,8 +1845,6 @@ }, "apps/react-sdk/node_modules/v8-to-istanbul": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", "dev": true, "license": "ISC", "dependencies": { @@ -2045,8 +1858,6 @@ }, "apps/react-sdk/node_modules/v8-to-istanbul/node_modules/source-map": { "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -2055,8 +1866,6 @@ }, "apps/react-sdk/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "license": "MIT", "dependencies": { @@ -2070,8 +1879,6 @@ }, "apps/react-sdk/node_modules/write-file-atomic": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "license": "ISC", "dependencies": { @@ -2083,15 +1890,11 @@ }, "apps/react-sdk/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true, "license": "ISC" }, "apps/react-sdk/node_modules/yargs": { "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "license": "MIT", "dependencies": { @@ -2113,8 +1916,6 @@ }, "apps/react-sdk/node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "license": "ISC", "engines": { @@ -2123,8 +1924,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", "engines": { @@ -2133,8 +1932,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { @@ -2147,8 +1944,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { @@ -2160,8 +1955,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", "dependencies": { @@ -2176,8 +1969,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", "dependencies": { @@ -2189,8 +1980,6 @@ }, "apps/react-sdk/node_modules/yargs/node_modules/yargs-parser": { "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "license": "ISC", "dependencies": { @@ -2203,8 +1992,6 @@ }, "apps/react-sdk/node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -2240,6 +2027,20 @@ "url": "https://github.com/sponsors/philsturgeon" } }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@apidevtools/openapi-schemas": { "version": "2.1.0", "license": "MIT", @@ -2282,6 +2083,20 @@ "url": "https://github.com/sponsors/philsturgeon" } }, + "node_modules/@apidevtools/swagger-parser/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@apidevtools/swagger-parser/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@asyncapi/avro-schema-parser": { "version": "3.0.24", "license": "Apache-2.0", @@ -2333,6 +2148,20 @@ "node": ">=18" } }, + "node_modules/@asyncapi/modelina/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@asyncapi/modelina/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@asyncapi/multi-parser": { "version": "2.2.0", "license": "Apache-2.0", @@ -2382,6 +2211,20 @@ "node-fetch": "2.6.7" } }, + "node_modules/@asyncapi/parser/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@asyncapi/parser/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@asyncapi/parser/node_modules/node-fetch": { "version": "2.6.7", "license": "MIT", @@ -2438,6 +2281,20 @@ "webapi-parser": "^0.5.0" } }, + "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@asyncapi/specs": { "version": "6.8.1", "license": "Apache-2.0", @@ -4039,8 +3896,6 @@ }, "node_modules/@cnakazawa/watch": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4074,8 +3929,6 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { @@ -4093,8 +3946,6 @@ }, "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4106,8 +3957,6 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -4116,8 +3965,6 @@ }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4140,8 +3987,6 @@ }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -4155,10 +4000,13 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, "node_modules/@eslint/eslintrc/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4170,8 +4018,6 @@ }, "node_modules/@eslint/eslintrc/node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4188,8 +4034,6 @@ }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4204,25 +4048,30 @@ }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { "node": ">= 4" } }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -4234,32 +4083,18 @@ }, "node_modules/@eslint/js": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fmvilas/pseudo-yaml-ast": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@fmvilas/pseudo-yaml-ast/-/pseudo-yaml-ast-0.3.1.tgz", - "integrity": "sha512-8OAB74W2a9M3k9bjYD8AjVXkX+qO8c0SqNT5HlgOqx7AxSw8xdksEcZp7gFtfi+4njSxT6+76ZR+1ubjAwQHOg==", - "dev": true, - "dependencies": { - "yaml-ast-parser": "0.0.43" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4273,8 +4108,6 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4287,16 +4120,11 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, "node_modules/@hyperjump/browser": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@hyperjump/browser/-/browser-1.3.1.tgz", - "integrity": "sha512-Le5XZUjnVqVjkgLYv6yyWgALat/0HpB1XaCPuCZ+GCFki9NvXloSZITIJ0H+wRW7mb9At1SxvohKBbNQbrr/cw==", "license": "MIT", "peer": true, "dependencies": { @@ -4315,8 +4143,6 @@ }, "node_modules/@hyperjump/browser/node_modules/@hyperjump/json-pointer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@hyperjump/json-pointer/-/json-pointer-1.1.1.tgz", - "integrity": "sha512-M0T3s7TC2JepoWPMZQn1W6eYhFh06OXwpMqL+8c5wMVpvnCKNsPgpu9u7WyCI03xVQti8JAeAy4RzUa6SYlJLA==", "license": "MIT", "peer": true, "funding": { @@ -4398,8 +4224,6 @@ }, "node_modules/@hyperjump/uri": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@hyperjump/uri/-/uri-1.3.1.tgz", - "integrity": "sha512-2ecKymxf6prQMgrNpAvlx4RhsuM5+PFT6oh6uUTZdv5qmBv0RZvxv8LJ7oR30ZxGhdPdZAl4We/1NFc0nqHeAw==", "license": "MIT", "funding": { "type": "github", @@ -4455,19 +4279,6 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "dev": true, @@ -6050,8 +5861,6 @@ }, "node_modules/@types/jest": { "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", "dev": true, "license": "MIT", "dependencies": { @@ -6061,8 +5870,6 @@ }, "node_modules/@types/jest/node_modules/@jest/types": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6078,8 +5885,6 @@ }, "node_modules/@types/jest/node_modules/@types/yargs": { "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dev": true, "license": "MIT", "dependencies": { @@ -6088,8 +5893,6 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -6104,8 +5907,6 @@ }, "node_modules/@types/jest/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -6121,8 +5922,6 @@ }, "node_modules/@types/jest/node_modules/diff-sequences": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", "dev": true, "license": "MIT", "engines": { @@ -6131,8 +5930,6 @@ }, "node_modules/@types/jest/node_modules/jest-diff": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "dev": true, "license": "MIT", "dependencies": { @@ -6147,8 +5944,6 @@ }, "node_modules/@types/jest/node_modules/jest-get-type": { "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", "dev": true, "license": "MIT", "engines": { @@ -6157,8 +5952,6 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, "license": "MIT", "dependencies": { @@ -6203,8 +5996,6 @@ }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true, "license": "MIT" }, @@ -6215,8 +6006,6 @@ }, "node_modules/@types/prop-types": { "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", "dev": true, "license": "MIT" }, @@ -6229,8 +6018,6 @@ }, "node_modules/@types/react": { "version": "17.0.87", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.87.tgz", - "integrity": "sha512-wpg9AbtJ6agjA+BKYmhG6dRWEU/2DHYwMzCaBzsz137ft6IyuqZ5fI4ic1DWL4DrI03Zy78IyVE6ucrXl0mu4g==", "dev": true, "license": "MIT", "dependencies": { @@ -6241,8 +6028,6 @@ }, "node_modules/@types/scheduler": { "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", "dev": true, "license": "MIT" }, @@ -6331,8 +6116,6 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true, "license": "ISC" }, @@ -6623,8 +6406,6 @@ }, "node_modules/arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "license": "MIT", "engines": { @@ -6633,8 +6414,6 @@ }, "node_modules/arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, "license": "MIT", "engines": { @@ -6643,8 +6422,6 @@ }, "node_modules/arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, "license": "MIT", "engines": { @@ -6696,8 +6473,6 @@ }, "node_modules/array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "license": "MIT", "engines": { @@ -6797,8 +6572,6 @@ }, "node_modules/assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, "license": "MIT", "engines": { @@ -6834,8 +6607,6 @@ }, "node_modules/atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, "license": "(MIT OR Apache-2.0)", "bin": { @@ -7053,8 +6824,6 @@ }, "node_modules/base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "license": "MIT", "dependencies": { @@ -7072,8 +6841,6 @@ }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { @@ -7085,8 +6852,6 @@ }, "node_modules/base/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -7195,8 +6960,6 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "license": "MIT", "dependencies": { @@ -7333,8 +7096,6 @@ }, "node_modules/cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7354,8 +7115,6 @@ }, "node_modules/cache-base/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -7481,8 +7240,6 @@ }, "node_modules/capture-exit": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "license": "ISC", "dependencies": { @@ -7587,8 +7344,6 @@ }, "node_modules/class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "license": "MIT", "dependencies": { @@ -7603,8 +7358,6 @@ }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { @@ -7616,8 +7369,6 @@ }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -7630,8 +7381,6 @@ }, "node_modules/class-utils/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -7751,8 +7500,6 @@ }, "node_modules/collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "license": "MIT", "dependencies": { @@ -7897,8 +7644,6 @@ }, "node_modules/component-emitter": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "dev": true, "license": "MIT", "funding": { @@ -7977,8 +7722,6 @@ }, "node_modules/copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "license": "MIT", "engines": { @@ -8027,8 +7770,6 @@ }, "node_modules/cross-env": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "license": "MIT", "dependencies": { @@ -8046,8 +7787,6 @@ }, "node_modules/cross-env/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -8061,8 +7800,6 @@ }, "node_modules/cross-env/node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -8071,8 +7808,6 @@ }, "node_modules/cross-env/node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -8084,8 +7819,6 @@ }, "node_modules/cross-env/node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -8159,8 +7892,6 @@ }, "node_modules/csstype": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true, "license": "MIT" }, @@ -8246,8 +7977,6 @@ }, "node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "license": "MIT", "engines": { @@ -8261,8 +7990,6 @@ }, "node_modules/decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, "license": "MIT", "engines": { @@ -8326,8 +8053,6 @@ }, "node_modules/define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8340,8 +8065,6 @@ }, "node_modules/define-property/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -8496,8 +8219,6 @@ }, "node_modules/end-of-stream": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "license": "MIT", "dependencies": { @@ -8869,8 +8590,6 @@ }, "node_modules/eslint-plugin-security": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", - "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -9003,19 +8722,6 @@ "node": ">=4" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, @@ -9147,8 +8853,6 @@ }, "node_modules/exec-sh": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", "dev": true, "license": "MIT" }, @@ -9223,8 +8927,6 @@ }, "node_modules/expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "license": "MIT", "dependencies": { @@ -9242,8 +8944,6 @@ }, "node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -9252,8 +8952,6 @@ }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { @@ -9265,8 +8963,6 @@ }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -9279,8 +8975,6 @@ }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -9339,8 +9033,6 @@ }, "node_modules/extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "license": "MIT", "dependencies": { @@ -9359,8 +9051,6 @@ }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { @@ -9651,8 +9341,6 @@ }, "node_modules/fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "license": "MIT", "dependencies": { @@ -9738,9 +9426,6 @@ }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, "license": "MIT", "optional": true, "os": [ @@ -9920,8 +9605,6 @@ }, "node_modules/get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, "license": "MIT", "engines": { @@ -10018,16 +9701,8 @@ "version": "4.2.11", "license": "ISC" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, @@ -10146,8 +9821,6 @@ }, "node_modules/has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "license": "MIT", "dependencies": { @@ -10161,8 +9834,6 @@ }, "node_modules/has-value/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -10171,8 +9842,6 @@ }, "node_modules/has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10185,8 +9854,6 @@ }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "license": "MIT", "dependencies": { @@ -10198,8 +9865,6 @@ }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10211,8 +9876,6 @@ }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "license": "MIT", "dependencies": { @@ -10585,8 +10248,6 @@ }, "node_modules/is-accessor-descriptor": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, "license": "MIT", "dependencies": { @@ -10687,8 +10348,6 @@ }, "node_modules/is-ci": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "license": "MIT", "dependencies": { @@ -10700,8 +10359,6 @@ }, "node_modules/is-ci/node_modules/ci-info": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true, "license": "MIT" }, @@ -10720,8 +10377,6 @@ }, "node_modules/is-data-descriptor": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, "license": "MIT", "dependencies": { @@ -10762,8 +10417,6 @@ }, "node_modules/is-descriptor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "license": "MIT", "dependencies": { @@ -11053,8 +10706,6 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, "license": "MIT", "engines": { @@ -12381,21 +12032,16 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "3.14.1", + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, - "node_modules/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "node_modules/js2xmlparser": { "version": "4.0.2", "dev": true, @@ -12627,8 +12273,6 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, "license": "MIT" }, @@ -12681,8 +12325,6 @@ }, "node_modules/json-stringify-deterministic": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/json-stringify-deterministic/-/json-stringify-deterministic-1.0.12.tgz", - "integrity": "sha512-q3PN0lbUdv0pmurkBNdJH3pfFvOTL/Zp0lquqpvcjfKzt6Y0j49EPHAmVHCAS4Ceq/Y+PejWTzyiVpoY71+D6g==", "license": "MIT", "engines": { "node": ">= 4" @@ -12695,19 +12337,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/json-to-ast": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", - "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", - "dev": true, - "dependencies": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/json5": { "version": "2.2.3", "license": "MIT", @@ -12791,8 +12420,6 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { @@ -12920,20 +12547,12 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, @@ -13096,8 +12715,6 @@ }, "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, "license": "MIT", "engines": { @@ -13106,8 +12723,6 @@ }, "node_modules/map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "license": "MIT", "dependencies": { @@ -13420,8 +13035,6 @@ }, "node_modules/nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "license": "MIT", "dependencies": { @@ -13443,8 +13056,6 @@ }, "node_modules/nanomatch/node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -13457,8 +13068,6 @@ }, "node_modules/nanomatch/node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "license": "MIT", "dependencies": { @@ -13470,8 +13079,6 @@ }, "node_modules/nanomatch/node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", "engines": { @@ -13822,8 +13429,6 @@ }, "node_modules/object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13837,8 +13442,6 @@ }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { @@ -13850,8 +13453,6 @@ }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -13901,8 +13502,6 @@ }, "node_modules/object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "license": "MIT", "dependencies": { @@ -13914,8 +13513,6 @@ }, "node_modules/object-visit/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -14081,8 +13678,6 @@ }, "node_modules/p-each-series": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true, "license": "MIT", "engines": { @@ -14094,8 +13689,6 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, "license": "MIT", "engines": { @@ -14270,6 +13863,20 @@ "@types/json-schema": "^7.0.11" } }, + "node_modules/parserapiv1/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/parserapiv1/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/parserapiv1/node_modules/jsonpath-plus": { "version": "7.2.0", "license": "MIT", @@ -14335,6 +13942,20 @@ "webapi-parser": "^0.5.0" } }, + "node_modules/parserapiv2/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/parserapiv2/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/parserapiv2/node_modules/jsonpath-plus": { "version": "7.2.0", "license": "MIT", @@ -14390,8 +14011,6 @@ }, "node_modules/pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, "license": "MIT", "engines": { @@ -14516,8 +14135,6 @@ }, "node_modules/posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, "license": "MIT", "engines": { @@ -14686,8 +14303,6 @@ }, "node_modules/pump": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { @@ -14755,18 +14370,6 @@ "node": ">= 6" } }, - "node_modules/ramldt2jsonschema/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/randomatic": { "version": "3.1.1", "dev": true, @@ -14910,8 +14513,6 @@ }, "node_modules/read-pkg": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "license": "MIT", "dependencies": { @@ -14926,8 +14527,6 @@ }, "node_modules/read-pkg-up": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "license": "MIT", "dependencies": { @@ -14944,15 +14543,11 @@ }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true, "license": "ISC" }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -14964,8 +14559,6 @@ }, "node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { @@ -14974,8 +14567,6 @@ }, "node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -15102,8 +14693,6 @@ }, "node_modules/regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "license": "MIT", "dependencies": { @@ -15116,8 +14705,6 @@ }, "node_modules/regex-not/node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -15130,8 +14717,6 @@ }, "node_modules/regex-not/node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "license": "MIT", "dependencies": { @@ -15143,8 +14728,6 @@ }, "node_modules/regex-not/node_modules/safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "license": "MIT", "dependencies": { @@ -15153,8 +14736,6 @@ }, "node_modules/regexp-tree": { "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, "license": "MIT", "bin": { @@ -15278,8 +14859,6 @@ }, "node_modules/require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true, "license": "ISC" }, @@ -15362,9 +14941,6 @@ }, "node_modules/resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true, "license": "MIT" }, @@ -15390,8 +14966,6 @@ }, "node_modules/ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, "license": "MIT", "engines": { @@ -15442,8 +15016,6 @@ }, "node_modules/rsvp": { "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true, "license": "MIT", "engines": { @@ -15536,8 +15108,6 @@ }, "node_modules/safe-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", "dev": true, "license": "MIT", "dependencies": { @@ -15570,9 +15140,6 @@ }, "node_modules/sane": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", "dev": true, "license": "MIT", "dependencies": { @@ -15595,8 +15162,6 @@ }, "node_modules/sane/node_modules/anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "license": "ISC", "dependencies": { @@ -15606,8 +15171,6 @@ }, "node_modules/sane/node_modules/braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "license": "MIT", "dependencies": { @@ -15628,8 +15191,6 @@ }, "node_modules/sane/node_modules/execa": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "license": "MIT", "dependencies": { @@ -15647,8 +15208,6 @@ }, "node_modules/sane/node_modules/fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15663,8 +15222,6 @@ }, "node_modules/sane/node_modules/get-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "license": "MIT", "dependencies": { @@ -15676,8 +15233,6 @@ }, "node_modules/sane/node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "license": "MIT", "dependencies": { @@ -15689,8 +15244,6 @@ }, "node_modules/sane/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "license": "MIT", "dependencies": { @@ -15702,8 +15255,6 @@ }, "node_modules/sane/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15715,8 +15266,6 @@ }, "node_modules/sane/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "license": "MIT", "engines": { @@ -15725,8 +15274,6 @@ }, "node_modules/sane/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -15735,8 +15282,6 @@ }, "node_modules/sane/node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", "engines": { @@ -15745,8 +15290,6 @@ }, "node_modules/sane/node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "license": "MIT", "dependencies": { @@ -15770,8 +15313,6 @@ }, "node_modules/sane/node_modules/micromatch/node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -15784,8 +15325,6 @@ }, "node_modules/sane/node_modules/normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "license": "MIT", "dependencies": { @@ -15797,8 +15336,6 @@ }, "node_modules/sane/node_modules/npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, "license": "MIT", "dependencies": { @@ -15810,8 +15347,6 @@ }, "node_modules/sane/node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "license": "MIT", "dependencies": { @@ -15913,8 +15448,6 @@ }, "node_modules/set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "license": "MIT", "dependencies": { @@ -16072,8 +15605,6 @@ }, "node_modules/snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "license": "MIT", "dependencies": { @@ -16092,8 +15623,6 @@ }, "node_modules/snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "license": "MIT", "dependencies": { @@ -16107,8 +15636,6 @@ }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { @@ -16120,8 +15647,6 @@ }, "node_modules/snapdragon-node/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -16130,8 +15655,6 @@ }, "node_modules/snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16143,8 +15666,6 @@ }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -16153,8 +15674,6 @@ }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { @@ -16166,8 +15685,6 @@ }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -16180,15 +15697,11 @@ }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -16256,9 +15769,6 @@ }, "node_modules/source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "license": "MIT", "dependencies": { @@ -16279,9 +15789,6 @@ }, "node_modules/source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true, "license": "MIT" }, @@ -16311,8 +15818,6 @@ }, "node_modules/split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "license": "MIT", "dependencies": { @@ -16324,8 +15829,6 @@ }, "node_modules/split-string/node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -16338,8 +15841,6 @@ }, "node_modules/split-string/node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "license": "MIT", "dependencies": { @@ -16384,8 +15885,6 @@ }, "node_modules/static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "license": "MIT", "dependencies": { @@ -16398,8 +15897,6 @@ }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { @@ -16411,8 +15908,6 @@ }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -16680,8 +16175,6 @@ }, "node_modules/strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "dev": true, "license": "MIT", "engines": { @@ -17039,8 +16532,6 @@ }, "node_modules/to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "license": "MIT", "dependencies": { @@ -17072,8 +16563,6 @@ }, "node_modules/to-regex/node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17086,8 +16575,6 @@ }, "node_modules/to-regex/node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "license": "MIT", "dependencies": { @@ -17099,8 +16586,6 @@ }, "node_modules/to-regex/node_modules/safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "license": "MIT", "dependencies": { @@ -17244,22 +16729,8 @@ "turbo-windows-arm64": "1.13.3" } }, - "node_modules/turbo-darwin-64": { - "version": "1.13.3", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/turbo-darwin-arm64": { + "node_modules/turbo/node_modules/turbo-darwin-arm64": { "version": "1.13.3", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.3.tgz", - "integrity": "sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==", "cpu": [ "arm64" ], @@ -17270,62 +16741,6 @@ "darwin" ] }, - "node_modules/turbo-linux-64": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.3.tgz", - "integrity": "sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/turbo-linux-arm64": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.3.tgz", - "integrity": "sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/turbo-windows-64": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.3.tgz", - "integrity": "sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/turbo-windows-arm64": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.3.tgz", - "integrity": "sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/type-check": { "version": "0.3.2", "dev": true, @@ -17553,8 +16968,6 @@ }, "node_modules/union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "license": "MIT", "dependencies": { @@ -17619,8 +17032,6 @@ }, "node_modules/unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17633,8 +17044,6 @@ }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17648,8 +17057,6 @@ }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "license": "MIT", "dependencies": { @@ -17661,8 +17068,6 @@ }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, "license": "MIT", "engines": { @@ -17671,8 +17076,6 @@ }, "node_modules/unset-value/node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -17742,9 +17145,6 @@ }, "node_modules/urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true, "license": "MIT" }, @@ -17759,8 +17159,6 @@ }, "node_modules/use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, "license": "MIT", "engines": { @@ -18013,8 +17411,6 @@ }, "node_modules/which-module": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true, "license": "ISC" }, @@ -18324,12 +17720,6 @@ "version": "3.1.1", "license": "ISC" }, - "node_modules/yaml-ast-parser": { - "version": "0.0.43", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", - "dev": true - }, "node_modules/yargs": { "version": "17.7.2", "license": "MIT", From a5d681015c6dcdcc38f1a15e5a1f4ccdf9ff0e56 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 10:32:12 +0100 Subject: [PATCH 06/14] Update jest.config.js --- apps/generator/jest.config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/generator/jest.config.js b/apps/generator/jest.config.js index 334e238445..e54caa87a1 100644 --- a/apps/generator/jest.config.js +++ b/apps/generator/jest.config.js @@ -1,4 +1,3 @@ -const path = require('path'); module.exports = { clearMocks: true, moduleNameMapper: { From 2e7a4037300271ae22894d9788de16962894e034 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 19 Nov 2025 12:38:51 +0100 Subject: [PATCH 07/14] Update apps/generator/docs/typescript-support.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- apps/generator/docs/typescript-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/generator/docs/typescript-support.md b/apps/generator/docs/typescript-support.md index a34e335c8e..ed23f67ee9 100644 --- a/apps/generator/docs/typescript-support.md +++ b/apps/generator/docs/typescript-support.md @@ -5,7 +5,7 @@ weight: 150 The AsyncAPI generator has TypeScript support for [hooks](#hooks). Assumptions: -- Installing the `typescript` package and creating the` tsconfig.json` file isn't necessary. +- Installing the `typescript` package and creating the `tsconfig.json` file isn't necessary. - Source code of the hook/filter must have `.ts` extension. - Each package related to the typings for TypeScript like `@types/node` must be installed in the template under `dependencies` array. This is because the Generator transpiles the TypeScript code on-the-fly while rendering the template, and cannot use packages under `devDependencies`. - Each template should have `@types/node` package installed to enable support for typings for Node. \ No newline at end of file From 0c4d036d5a3de3d6b098886c344c5f71801a43e3 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Sat, 22 Nov 2025 20:38:33 +0100 Subject: [PATCH 08/14] remove cli --- Development.md | 2 +- apps/generator/package.json | 4 ---- apps/generator/{ => test}/cli.js | 8 ++++++++ .../templates/clients/kafka/java/quarkus/.ageneratorrc | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) rename apps/generator/{ => test}/cli.js (96%) diff --git a/Development.md b/Development.md index 9f20fc5033..7fb6c75b0e 100644 --- a/Development.md +++ b/Development.md @@ -70,7 +70,7 @@ cd apps/generator 3. Run the generator with the react-template: ```bash -node ./cli ./test/docs/dummy.yml ./test/test-templates/react-template -o ./test/output --force-write +node ./test/cli ./test/docs/dummy.yml ./test/test-templates/react-template -o ./test/output --force-write ``` 4. Check the output in the `./test/output` directory to verify the output that you desired. diff --git a/apps/generator/package.json b/apps/generator/package.json index b247e92504..03c279ea1d 100644 --- a/apps/generator/package.json +++ b/apps/generator/package.json @@ -3,10 +3,6 @@ "version": "2.8.4", "description": "The AsyncAPI generator. It can generate documentation, code, anything!", "main": "./lib/generator.js", - "bin": { - "asyncapi-generator": "./cli.js", - "ag": "./cli.js" - }, "engines": { "node": ">=18.12.0", "npm": ">=8.19.0" diff --git a/apps/generator/cli.js b/apps/generator/test/cli.js similarity index 96% rename from apps/generator/cli.js rename to apps/generator/test/cli.js index ffae4b0f8e..4e3e49b876 100755 --- a/apps/generator/cli.js +++ b/apps/generator/test/cli.js @@ -1,5 +1,13 @@ #!/usr/bin/env node +/** + * DEPRECATED CLI - FOR TESTING PURPOSES ONLY + * + * This CLI is deprecated and should NOT be used in production. + * It is kept in the test folder solely for testing the generator functionality during development. + * Use the AsyncAPI CLI instead for production use cases: https://github.com/asyncapi/cli/ + */ + const path = require('path'); const os = require('os'); const program = require('commander'); diff --git a/packages/templates/clients/kafka/java/quarkus/.ageneratorrc b/packages/templates/clients/kafka/java/quarkus/.ageneratorrc index 237ba8b9cf..73bcc84ed8 100644 --- a/packages/templates/clients/kafka/java/quarkus/.ageneratorrc +++ b/packages/templates/clients/kafka/java/quarkus/.ageneratorrc @@ -12,11 +12,11 @@ parameters: description: The custom name for the generated client class required: false env: - description: 'The environment for the generated client, e.g., dev, prod' + description: The environment for the generated client, e.g., dev, prod required: false default: dev version: - description: 'The version for the generated client, e.g., V1, V2' + description: The version for the generated client, e.g., V1, V2 required: false default: V1 nonRenderableFiles: From 886bc204092f5fe04ce458b94720d1efc4e0f40d Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Sat, 22 Nov 2025 20:39:34 +0100 Subject: [PATCH 09/14] Delete migration-cli.md --- apps/generator/docs/migration-cli.md | 70 ---------------------------- 1 file changed, 70 deletions(-) delete mode 100644 apps/generator/docs/migration-cli.md diff --git a/apps/generator/docs/migration-cli.md b/apps/generator/docs/migration-cli.md deleted file mode 100644 index c51c5f1d7f..0000000000 --- a/apps/generator/docs/migration-cli.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "Migrating from `ag` CLI to AsyncAPI CLI" -weight: 260 ---- - -This guide provides detailed instructions on how to transition from the old `ag` Generator CLI to the new AsyncAPI CLI. - -## Options Overview - -Here is a list of `ag` options and their equivalents in the AsyncAPI CLI: - -- **-d, --disable-hook [hooks...]** - - **AsyncAPI CLI equivalent:** `asyncapi generate fromTemplate